html{scroll-behavior:smooth}body{min-width:320px}a{color:inherit;text-decoration:none}:root{color:#163127;background:radial-gradient(circle at top left,rgba(211,223,196,.88),transparent 32%),radial-gradient(circle at 82% 12%,rgba(194,179,142,.32),transparent 22%),linear-gradient(160deg,#f5f0e4,#e7e2d2 46%,#d4dac7);font-family:"Noto Serif SC","Source Han Serif SC",STSong,serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{border:0}img{display:block;max-width:100%}#root{min-height:100vh}.app-shell{position:relative;overflow:hidden;min-height:100vh}.ambient{position:fixed;width:440px;height:440px;border-radius:999px;filter:blur(18px);opacity:.45;pointer-events:none}.ambient-left{top:-110px;left:-120px;background:#48755a61}.ambient-right{right:-140px;bottom:-120px;background:#b6854f47}.app-main{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:36px 0 calc(48px + env(safe-area-inset-bottom))}.app-main--auth{display:grid;min-height:100vh;align-items:center}.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:26px;padding:34px}.login-copy{display:grid;align-content:center;gap:18px;padding:12px 6px}.login-copy h1,.login-card h2{margin:0;color:#1c372c}.login-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.08}.login-lead{margin:0;max-width:34rem;color:#163127cc;font-size:1.04rem;line-height:1.85}.login-card{display:grid;gap:18px;align-content:start;border-radius:28px;padding:28px;background:linear-gradient(180deg,#faf7eef5,#e9efe3d6);border:1px solid rgba(34,63,50,.08)}.login-card__header{display:grid;gap:8px}.login-field{display:grid;gap:10px}.login-field span{color:#365443;font-size:.95rem}.login-field input{min-height:52px;border:1px solid rgba(54,84,67,.14);border-radius:18px;padding:0 16px;background:#ffffffd1;color:#20392f;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.login-field input:focus{border-color:#40654d73;box-shadow:0 0 0 4px #5d7b561f;background:#fffffffa}.login-submit-button,.hero-logout-button{width:100%}.login-error{padding:12px 14px;border-radius:16px;background:#b6564a14;border:1px solid rgba(182,86,74,.12)}.panel{border:1px solid rgba(34,63,50,.1);border-radius:28px;padding:28px;background:#fcfaf4c2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px #30433614,inset 0 1px #ffffff8c}.panel-compact{padding:22px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;margin-bottom:20px}.hero-copy{padding:12px 4px 8px}.eyebrow{margin:0 0 10px;color:#587a53;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}.hero h1,.panel h2{margin:0;font-weight:600;letter-spacing:.02em}.hero h1{font-size:clamp(2.1rem,4vw,4.3rem);line-height:1.08}.hero-lead{max-width:42rem;margin:18px 0 0;color:#163127cc;font-size:1.02rem}.hero-tags,.badge-group,.product-tags,.hero-actions,.inline-actions,.catalog-preview{display:flex;flex-wrap:wrap;gap:10px}.hero-tags{margin-top:18px}.hero-tags span,.status-badge,.product-tags span,.catalog-chip span{border-radius:999px;padding:8px 13px;background:#5d7b561f;color:#365443;font-size:.9rem}.hero-card{display:flex;flex-direction:column;justify-content:space-between}.hero-card--actions{justify-content:center;gap:18px}.hero-actions--stack{display:grid;gap:12px}.hero-action-button{width:100%}.hero-note{margin:0;color:#163127b8;font-size:.95rem}.hero-logout-button{margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-grid article{border-radius:20px;padding:18px;background:linear-gradient(180deg,#f6f4e9e6,#dbe3d094)}.metric-grid strong{display:block;margin-bottom:6px;font-size:1.45rem;color:#223b31}.metric-grid span,.signal-card p,.tendency-card p,.product-card p,.tip-card p,.plain-list{color:#163127c7}.hero-actions{margin-top:22px}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;padding:0 20px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,#40654d,#1f342a);color:#f8f5ea;box-shadow:0 12px 24px #1e31273d}.secondary-button{background:#4970541f;color:#223b31}.ghost-button{background:#ffffff8c;color:#2e4c3b;border:1px solid rgba(46,76,59,.14)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.file-trigger:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:22px}.flow-strip{margin-bottom:20px}.flow-pills{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.flow-pill{display:flex;gap:12px;align-items:center;border-radius:18px;padding:14px 16px;background:#36544314;color:#193429a8}.flow-pill span,.analysis-step span,.tendency-score{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;width:34px;height:34px;background:#ffffffb8;color:#2a4336}.flow-pill p,.analysis-step p{margin:0}.flow-pill.is-active,.analysis-step.is-active{background:linear-gradient(135deg,#45685133,#3848361a);color:#173328}.capture-panel,.preview-panel,.analysis-panel,.report-stack{margin-bottom:20px}.capture-subtitle{margin:10px 0 0;color:#163127c2;line-height:1.75}.capture-layout,.preview-layout,.analysis-layout,.report-overview,.report-grid,.strategy-grid{display:grid;gap:20px}.capture-layout,.analysis-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.capture-entry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);gap:20px}.preview-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.preview-gallery{display:grid;gap:16px}.report-overview{grid-template-columns:minmax(230px,280px) minmax(280px,1fr) minmax(260px,320px);align-items:center}.report-grid,.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.camera-shell,.preview-frame,.report-image{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#324c3cc7,#1b2721f5),#22372c;min-height:320px}.report-image-grid{display:grid;gap:12px;align-content:start}.report-image--compact{min-height:178px}.report-image__label{position:absolute;top:12px;left:12px;z-index:1;border-radius:999px;padding:6px 10px;background:#faf7ece6;color:#274638;font-size:.82rem}.report-image--placeholder{background:linear-gradient(180deg,#f3efe4f2,#e0e7d9eb)}.report-image__empty{display:grid;place-items:center;gap:8px;min-height:178px;padding:20px;text-align:center}.report-image__empty strong{color:#1f342a}.report-image__empty span{color:#163127b8;font-size:.92rem}.camera-video,.preview-frame img,.report-image img{width:100%;height:100%;object-fit:cover}.camera-shell{min-height:560px}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:24px}.camera-mask{flex:1;margin:42px auto 22px;width:min(68vw,340px);max-width:100%;border:2px solid rgba(250,247,236,.86);border-radius:44px;box-shadow:inset 0 0 0 999px #0b110d52}.camera-tip{align-self:center;max-width:360px;padding:12px 16px;border-radius:16px;background:#0f12108a;color:#f3eedf;text-align:center}.camera-empty,.tip-card,.report-summary,.signal-card,.tendency-card,.product-card,.preview-card,.catalog-card,.capture-status-card,.catalog-chip,.analysis-step{border-radius:24px;background:#f5f1e6c2}.camera-empty{display:grid;place-items:center;gap:14px;min-height:560px;padding:24px;background:linear-gradient(180deg,#2c4336e0,#16211cf5);color:#eef3eb;text-align:center}.pulse-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:#e4e0cc;box-shadow:0 0 #e4e0cc99;animation:pulse 1.6s infinite}.capture-side,.preview-side{display:grid;gap:16px}.capture-entry-card{display:grid;gap:18px;border-radius:24px;padding:24px;background:linear-gradient(180deg,#f8f5eceb,#e6ece0d1)}.capture-entry-card__header{display:grid;gap:10px}.capture-entry-card__header h3,.capture-placeholder-copy strong{margin:0;color:#20392f}.capture-entry-card__header p,.capture-helper-note,.capture-placeholder-copy p{margin:0;color:#163127c2;line-height:1.75}.capture-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-file-button{min-height:54px}.capture-placeholder-copy{display:grid;gap:10px}.tip-card{padding:18px}.tip-card h3,.report-summary h3,.product-card h3,.preview-card h3{margin:0 0 12px}.capture-status-card{padding:16px}.capture-mini-preview{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center}.capture-mini-preview__image{overflow:hidden;border-radius:18px;aspect-ratio:1 / 1}.capture-mini-preview__image img{width:100%;height:100%;object-fit:cover}.capture-mini-preview__copy{display:grid;gap:8px}.capture-mini-preview__copy strong,.preview-card__empty strong,.catalog-group__header strong{color:#20392f}.capture-mini-preview__copy p,.preview-card__empty p,.catalog-card p,.catalog-card small{margin:0;color:#163127c2}.preview-card{padding:18px;display:grid;gap:14px}.preview-card__header{display:flex;align-items:start;justify-content:space-between;gap:14px}.preview-card__header h3{margin:6px 0 0}.preview-card__image{overflow:hidden;border-radius:24px;min-height:260px;background:linear-gradient(180deg,#324c3cc7,#1b2721f5),#22372c}.preview-card__image img{width:100%;height:100%;object-fit:cover}.preview-card__empty{display:grid;place-items:center;gap:10px;min-height:260px;padding:28px;text-align:center;border-radius:24px;background:linear-gradient(180deg,#f5f1e6eb,#e6ece0eb)}.tip-card ul,.report-summary ul,.plain-list{margin:0;padding-left:18px}.tip-card li,.plain-list li{margin-bottom:10px}.file-trigger{position:relative;overflow:hidden}.file-trigger input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.primary-actions{display:flex;justify-content:center;margin-top:22px}.analysis-progress{padding:20px;border-radius:26px;background:linear-gradient(160deg,#223f321a,#4970540f)}.progress-bar{overflow:hidden;height:14px;border-radius:999px;background:#3654431f}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#476f58,#6f936d);transition:width .42s ease}.progress-meta{display:flex;justify-content:space-between;margin-top:14px}.analysis-checklist{display:grid;gap:12px}.analysis-step{display:flex;align-items:center;gap:14px;padding:16px}.report-hero{margin-bottom:20px}.report-topline{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:22px}.report-header{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:22px}.report-image{min-height:320px}.report-image--header{min-height:220px}.header-card-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:20px;align-items:stretch}.header-card-main{display:grid;gap:18px}.balance-pod{display:inline-grid;align-content:center;justify-items:start;gap:4px;border-radius:26px;padding:18px 20px;background:linear-gradient(160deg,#2847391a,#ba9a6014)}.balance-pod span,.feature-card span,.care-section h3,.advice-note-card span,.insight-line strong{color:#587a53}.balance-pod strong{font-size:2.4rem;color:#1c372c;line-height:1}.balance-pod small{color:#163127ad}.header-copy{display:grid;gap:10px}.header-copy h3{margin:0;font-size:clamp(1.75rem,3vw,2.5rem);color:#20392f}.header-copy p,.disclaimer-text,.empty-state-card,.feature-card strong,.care-section p,.advice-note-card p,.insight-line p{margin:0;color:#163127cc}.tag-list,.report-head-note,.quality-strip,.radar-values{display:flex;flex-wrap:wrap;gap:10px}.tag-list span,.report-head-note span,.quality-strip span,.radar-values span{border-radius:999px;padding:8px 12px;background:#5d7b561f;color:#365443;font-size:.9rem}.feature-grid,.constitution-grid,.care-plan-grid,.advice-note-grid{display:grid;gap:16px}.feature-grid,.constitution-grid,.care-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advice-note-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.care-section,.advice-note-card,.empty-state-card{border-radius:24px;padding:18px;background:#f5f1e6c2}.feature-card{display:grid;gap:10px}.feature-card strong{font-size:1rem;font-weight:600;line-height:1.7}.feature-card--wide{grid-column:1 / -1}.report-two-column{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);gap:20px;align-items:center}.radar-values{margin-top:14px}.radar-explainer{display:grid;gap:14px}.insight-line{border-radius:22px;padding:18px;background:#f5f1e6b8}.insight-line p{margin-top:8px;line-height:1.75}.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.priority-grid div{border-radius:20px;padding:16px;background:linear-gradient(180deg,#ffffffd9,#dee6d6ad)}.priority-grid span{display:block;margin-bottom:8px;color:#587a53;font-size:.9rem}.priority-grid strong{color:#20392f;line-height:1.6}.care-section,.advice-note-card{display:grid;gap:10px}.advice-note-card span{font-weight:600}.care-section h3{margin:0;font-size:1.08rem}.care-section p{line-height:1.75}.product-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:14px 0;border-radius:14px;background:linear-gradient(135deg,#40654d24,#ba9a602e);color:#1f342a;font-size:1.15rem;font-weight:700}.disclaimer-card{background:linear-gradient(180deg,#fbf7eeeb,#f0ede2d1)}.disclaimer-text{font-size:1.02rem;line-height:1.8}.radar-card{display:flex;justify-content:center}.radar-chart{width:min(100%,320px);height:auto}.radar-ring,.radar-axis{fill:none;stroke:#3654432e;stroke-width:1.2}.radar-fill{fill:var(--radar-fill, rgba(82, 118, 91, .24));stroke:var(--radar-stroke, rgba(42, 67, 54, .68));stroke-width:2}.radar-dot{fill:var(--radar-dot, #274638)}.radar-label{fill:#2e4c3b;font-size:12px}.radar-scale{fill:#2e4c3ba8;font-size:11px}.report-summary ul{list-style:none;padding:0}.report-summary li{display:grid;gap:4px;margin-bottom:14px}.provider-tip{margin:0;color:#5e6e58;font-size:.9rem}.signal-list,.tendency-list,.product-grid{display:grid;gap:14px}.signal-list,.tendency-list{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-card,.tendency-card,.product-card,.catalog-chip{padding:18px}.signal-top,.product-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.signal-top span,.product-top span{border-radius:999px;padding:6px 10px;background:#587a5324;color:#365443;font-size:.82rem}.tendency-card{display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:start}.tendency-score{width:60px;height:60px;background:linear-gradient(180deg,#3f654d29,#3f654d0f);font-size:1.1rem;font-weight:600}.product-top strong{font-size:.88rem;color:#2b4537}.product-notes{display:grid;gap:8px;margin-top:14px}.product-notes p,.product-notes small{margin:0}.catalog-preview{gap:12px}.catalog-matrix{display:grid;gap:18px}.catalog-group{display:grid;gap:14px}.catalog-group__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-group__meta{display:grid;gap:6px}.catalog-group__meta span{border-radius:999px;padding:6px 12px;background:#5d7b561f;color:#365443;font-size:.85rem;width:fit-content}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-toggle{min-height:40px;padding:0 16px;white-space:nowrap}.catalog-card{padding:16px;display:grid;gap:10px}.catalog-card__top{display:flex;align-items:start;justify-content:space-between;gap:10px}.catalog-card__top strong{font-size:1rem}.catalog-card__top span{flex-shrink:0;border-radius:999px;padding:6px 10px;background:#587a5324;color:#365443;font-size:.82rem}.catalog-chip{min-width:180px}.catalog-chip strong{display:block;margin-bottom:6px}.error-text{margin:0;color:#8d3a2f}.report-export-tip{margin:14px 0 0;color:#163127b3;font-size:.92rem;text-align:center}.plain-list{padding-left:20px}@keyframes pulse{0%{box-shadow:0 0 #e4e0cc94}70%{box-shadow:0 0 0 16px #e4e0cc00}to{box-shadow:0 0 #e4e0cc00}}@media (max-width: 1024px){.login-shell,.hero,.capture-layout,.capture-entry-grid,.preview-layout,.analysis-layout,.header-card-layout,.report-two-column,.report-overview,.report-grid,.strategy-grid,.flow-pills,.product-grid,.signal-list,.tendency-list,.catalog-grid,.feature-grid,.constitution-grid,.care-plan-grid,.advice-note-grid,.priority-grid{grid-template-columns:1fr}.camera-shell,.camera-empty{min-height:420px}}@media (max-width: 720px){.app-main{width:min(100% - 20px,100%);padding-top:16px}.app-main--auth{padding-top:20px;align-items:start}.panel{padding:22px 18px;border-radius:24px}.login-shell{padding:22px 18px}.hero h1{font-size:2.2rem}.metric-grid{grid-template-columns:1fr}.report-header,.report-topline,.panel-head{flex-direction:column}.camera-mask{width:min(72vw,300px)}.primary-button,.secondary-button,.ghost-button{width:100%}.hero-actions,.inline-actions,.capture-upload-actions{flex-direction:column}.preview-card__header,.catalog-card__top,.catalog-group__header{display:grid}.catalog-toggle{width:100%}.capture-upload-actions{grid-template-columns:1fr}}@page{size:A4;margin:12mm}@media print{:root{background:#fff}html,body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ambient,.hero,.flow-strip,.capture-panel,.preview-panel,.analysis-panel,.strategy-grid,.report-actions-panel{display:none!important}.app-main{width:100%;margin:0;padding:0}.panel,.report-hero,.feature-card,.care-section,.advice-note-card,.product-card,.insight-line{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.panel{background:#fff!important;border-color:#223f3229;-webkit-backdrop-filter:none;backdrop-filter:none}.report-stack{margin:0}}
