:root{color-scheme:light;font-family:Inter,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f4f7ff;--bg-strong: #eef2fb;--surface: rgba(255, 255, 255, .88);--surface-soft: rgba(255, 255, 255, .72);--surface-accent: rgba(87, 212, 209, .12);--line: rgba(18, 31, 90, .12);--line-strong: rgba(18, 31, 90, .2);--ink: #172033;--muted: #6f7b94;--accent: #57d4d1;--accent-strong: #0d153d;--gold: #c1955a;--danger: #8f4341;--danger-soft: rgba(143, 67, 65, .1);--success: #2f6a53;--success-soft: rgba(47, 106, 83, .1);--shadow: 0 20px 48px rgba(13, 21, 61, .08);--shadow-soft: 0 12px 28px rgba(13, 21, 61, .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 28px;--touch-target: 44px}*{box-sizing:border-box}html{line-height:1.5}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at top,rgba(87,212,209,.16),transparent 30%),linear-gradient(180deg,#f9fbff,#f4f7ff 48%,#eef2fb)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,input,select,textarea{width:100%;min-height:var(--touch-target);border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffffe6;padding:.875rem 1rem;color:var(--ink)}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(31,111,114,.2);outline-offset:2px}textarea{resize:vertical}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.03em}h2{font-size:clamp(1.5rem,3.5vw,2.1rem);line-height:1.1;letter-spacing:-.02em}h3{font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.2}h4{font-size:1rem;line-height:1.35}.muted{color:var(--muted)}.eyebrow{color:var(--gold);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.app-shell{width:100%;margin:0 auto;padding:clamp(.75rem,2vw,1.5rem)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.brand-lockup{display:flex;align-items:center;gap:.85rem}.brand-mark-wrap{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#ffffffc7;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.brand-tagline{margin-top:.05rem;color:var(--accent-strong);font-weight:600;font-size:.94rem}.nav-icon,.icon-heading,.auth-feature-list p,.celebration-note,.fallback-note,.subscription-badge,.status-banner,.button{display:inline-flex;align-items:center;gap:.6rem}.user-button-wrap{display:flex;justify-content:flex-end}.topbar-actions{display:flex;align-items:center;gap:.65rem}.settings-icon-button{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--line);background:#ffffffc7;color:var(--ink);box-shadow:var(--shadow-soft)}.page,.stack-sm,.stack-md,.stack-lg,.grid,.wizard-layout,.history-details,.field,.progress-wrap,.auth-shell,.auth-copy,.auth-card,.state-card{display:grid}.page{gap:var(--space-5);width:100%}.stack-sm{gap:var(--space-3)}.stack-md{gap:var(--space-4)}.stack-lg{gap:var(--space-5)}.grid{gap:var(--space-4)}.two-up,.channel-grid,.provider-grid,.problem-grid{grid-template-columns:1fr}.card{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-card{display:flex;flex-direction:column;gap:var(--space-5)}.home-hero,.home-control-panel{display:grid;gap:var(--space-5)}.home-control-split{display:grid;gap:var(--space-4)}.home-control-column{display:grid;place-items:center;min-height:200px}.home-option-grid{display:grid;gap:var(--space-3)}.home-option-card{display:grid;gap:.3rem;padding:1rem 1.05rem;border-radius:20px;border:1px solid var(--line);background:#ffffffa6;transition:transform .12s ease,border-color .12s ease}.home-option-card:hover{transform:translateY(-1px);border-color:#1720332e}.home-option-card span{color:var(--muted)}.section-head,.suggestion-head,.list-row,.dashboard-row,.button-row,.wizard-actions{display:flex;gap:var(--space-3)}.section-head,.suggestion-head{align-items:flex-start;justify-content:space-between}.list-row,.dashboard-row,.button-row,.wizard-actions{align-items:center;justify-content:space-between}.dashboard-row,.history-item{padding:.95rem 0;border-top:1px solid var(--line)}.dashboard-row:first-of-type,.history-item:first-child{border-top:0}.field-label{font-weight:700}.field-hint{font-size:.93rem;color:var(--muted)}.button{width:auto;justify-content:center;border:none;border-radius:999px;background:linear-gradient(135deg,#1d666f,#245878);color:#fff;font-weight:700;box-shadow:0 10px 24px #1d666f2e}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button-secondary{background:#ffffffbd;color:var(--ink);border:1px solid var(--line);box-shadow:none}.large-textarea{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge,.priority-pill{display:inline-flex;align-items:center;gap:.45rem;width:auto;padding:.45rem .8rem;border-radius:999px;background:#1f6f7217;color:var(--ink);font-size:.92rem}.priority-red{background:#8f43411f}.priority-yellow{background:#b8854524}.priority-green{background:#2f6a531f}.subscription-badge{flex-wrap:wrap;width:fit-content;padding:.75rem .95rem;border-radius:18px;background:var(--surface-accent)}.subscription-badge span{color:var(--muted)}.upgrade-card{background:linear-gradient(180deg,#1f6f7214,#fffffff2);border-color:#1f6f722e}.status-banner,.permission-panel,.privacy-note,.celebration-note,.empty-inline,.info-panel,.setup-path-card{border-radius:var(--radius-md);padding:.95rem 1rem;border:1px solid var(--line);background:#fff9}.status-banner{font-weight:600}.status-info{background:#1f6f7214}.status-success{background:var(--success-soft)}.status-error{background:var(--danger-soft);color:var(--danger)}.celebration-note{color:var(--accent-strong);font-weight:600}.state-card{justify-items:start;gap:var(--space-3)}.state-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#1f6f7214;color:var(--accent-strong)}.state-icon-loading .icon{animation:spin 1.1s linear infinite}.state-icon-error{background:var(--danger-soft);color:var(--danger)}.state-icon-empty{background:#b885451f;color:var(--gold)}.state-icon-success{background:var(--success-soft);color:var(--success)}.stat{font-size:clamp(2.6rem,8vw,3.4rem);line-height:1}.wizard-layout{gap:var(--space-4)}.wizard-sidebar,.wizard-content{min-height:100%}.progress-labels{display:flex;justify-content:space-between;font-size:.92rem;color:var(--muted)}.progress-track{height:10px;border-radius:999px;overflow:hidden;background:#17303314}.progress-bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#1d666f,#c1955a)}.wizard-steps{list-style:none;padding:0;margin:var(--space-5) 0 0;gap:var(--space-3)}.wizard-steps li{display:flex;gap:var(--space-3);padding:.95rem;border-radius:var(--radius-md);background:#ffffff94}.wizard-steps span:first-child{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:#1f6f721f;font-weight:700}.wizard-step-active{border:1px solid rgba(31,111,114,.22);background:#fffc}.provider-card,.problem-chip,.round-tab{text-align:left}.provider-card-active,.problem-chip-active,.round-tab-active,.feedback-active{border-color:#1f6f7247;background:#d7eeebd1}.round-nav{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2)}.round-tab{width:auto;min-height:var(--touch-target);white-space:nowrap;padding:.72rem 1rem}.feedback-button{min-width:120px}.history-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);cursor:pointer}.history-summary::-webkit-details-marker{display:none}.upload-value{font-size:.88rem;color:var(--muted);word-break:break-all}.auth-shell{min-height:100vh;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-5)}.auth-copy,.auth-card{max-width:440px}.auth-copy{gap:var(--space-4)}.auth-brand{margin-bottom:var(--space-2)}.auth-card{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffffed;box-shadow:var(--shadow)}.auth-feature-list{display:grid;gap:var(--space-3)}.auth-feature-list p{color:var(--muted)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--space-3)}.checkbox-row input{width:auto;min-height:auto;margin-top:.2rem}.compact-list{margin:0;padding-left:1.15rem}.suggestion-card details{margin-top:var(--space-3)}.waveform,.waveform-empty{min-height:140px;border-radius:var(--radius-md);background:linear-gradient(180deg,#1f6f7214,#1f6f7208);display:flex;align-items:end;gap:4px;padding:var(--space-4)}.waveform span{flex:1;border-radius:999px;background:linear-gradient(180deg,#1d666f,#c1955a)}.waveform-empty{align-items:center;justify-content:center;color:var(--muted);text-align:center}.privacy-note{color:var(--ink)}.record-hero{display:flex;justify-content:center}.record-home-wrap{display:grid;justify-items:center;gap:var(--space-3)}.record-icon-button{width:132px;min-height:132px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:999px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.2),transparent 45%),linear-gradient(145deg,#1d666f,#245878 55%,#153d52);box-shadow:0 18px 38px #1d666f38}.analyze-image-button{background:transparent;border:0;box-shadow:none}.analyze-button-image{width:132px;height:132px;object-fit:contain;border-radius:28px;box-shadow:0 18px 38px #0d153d24}.record-icon-label{font-weight:800;letter-spacing:-.01em}.analysis-ready,.analysis-placeholder{border-radius:var(--radius-md);padding:.95rem 1rem;border:1px solid var(--line);background:#ffffff8f}.home-lower-grid{display:grid;gap:var(--space-4)}.history-link,.history-open-link{width:auto;color:var(--accent-strong);font-weight:500}.history-link-bottom{display:inline-block;margin-top:var(--space-3)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.95rem 0;border-top:1px solid var(--line)}.history-row:first-of-type{border-top:0}.history-open-link{flex:0 0 auto;padding:.45rem .7rem;border-radius:999px;background:#ffffffa6;border:1px solid var(--line)}.history-actions{display:flex;flex-wrap:wrap;gap:.75rem}.history-action-button{display:inline-flex;align-items:center;gap:.55rem;width:auto;min-height:40px;padding:.7rem .95rem;border-radius:999px;border:1px solid var(--line);background:#ffffffb8;color:var(--ink);font-weight:600;box-shadow:none}.history-action-danger{color:var(--danger);background:#8f43410d}.placeholder-card{min-height:220px;align-content:start}.record-button{width:min(100%,420px);min-height:160px;display:grid;justify-items:center;gap:var(--space-4);padding:var(--space-6);border:0;border-radius:36px;background:radial-gradient(circle at top,rgba(255,255,255,.2),transparent 50%),linear-gradient(145deg,#1d666f,#245878 55%,#153d52);box-shadow:0 18px 38px #1d666f38}.record-button-core{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:999px;background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff2e}.record-button-label{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.button-row-secondary{justify-content:center;flex-wrap:wrap}.error-text{color:var(--danger);margin:0}.icon-heading{font-weight:700}.empty-inline{gap:var(--space-3)}.info-panel{display:grid;gap:var(--space-2)}.setup-path-grid{display:grid;gap:var(--space-3)}.setup-path-card{display:grid;gap:var(--space-2);transition:transform .12s ease,border-color .12s ease,background .12s ease}.setup-path-card:hover{transform:translateY(-1px);border-color:#1f6f7238;background:#ffffffe0}.optional-panel details{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffff6b}.modal-details{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffff6b}.modal-details summary{cursor:pointer;list-style:none;padding:.95rem 1rem;font-weight:700;color:var(--muted)}.modal-details summary::-webkit-details-marker{display:none}.optional-panel summary{cursor:pointer;list-style:none;padding:.95rem 1rem;font-weight:700;color:var(--muted)}.optional-panel summary::-webkit-details-marker{display:none}.optional-panel-body{padding:0 1rem 1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,2vw,1.5rem);background:#1720296b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.action-modal{width:min(96vw,52rem);max-height:92vh;border-radius:28px;border:1px solid rgba(23,48,51,.1);background:#fffdf9;box-shadow:0 28px 70px #0c182233;overflow:hidden}.action-modal-head,.action-modal-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:1.25rem 1.35rem}.action-modal-head{border-bottom:1px solid rgba(23,48,51,.08)}.action-modal-foot{border-top:1px solid rgba(23,48,51,.08);justify-content:flex-end;background:#f6f2eab3}.action-modal-body{display:grid;gap:var(--space-3);padding:1.35rem;overflow-y:auto}.modal-close{width:2rem;min-height:2rem;padding:0;border-radius:12px;border:1px solid rgba(23,48,51,.08);background:#ffffffe6;color:var(--muted);box-shadow:none}.action-choice{display:grid;gap:.45rem;justify-items:start;text-align:left;border-radius:22px;border:1px solid rgba(23,48,51,.08);background:#fff;padding:1.15rem 1.1rem;box-shadow:none;color:var(--ink)}.action-choice span{color:var(--muted);font-weight:500}.action-choice-primary{border-color:#1f6f7229;background:linear-gradient(180deg,#f2f9f8f5,#fff)}.action-choice-muted:disabled{opacity:.72}.manual-flow{display:grid;gap:var(--space-4)}.manual-flow-block{display:grid;gap:var(--space-3);padding:1rem;border:1px solid rgba(23,48,51,.08);border-radius:22px;background:#ffffffb8}.logo-mark{display:block}.icon{flex:0 0 auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:767px){.topbar{align-items:flex-start}.brand-lockup{min-width:0}.brand-lockup h1{overflow-wrap:anywhere}.button-row,.wizard-actions,.list-row,.dashboard-row,.history-row,.section-head,.suggestion-head{flex-direction:column;align-items:stretch}.button-row>.button,.button-row>.button-secondary,.wizard-actions>.button,.list-row>.button,.dashboard-row>.button{width:100%}.home-control-column{min-height:auto}.card{padding:1rem;border-radius:24px}.action-modal{width:100%;max-height:94vh;border-radius:22px}}@media(min-width:768px){.app-shell{padding:var(--space-6)}.wizard-layout,.hero-card,.home-hero{grid-template-columns:1.1fr 1fr;align-items:start}.home-control-split,.home-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.auth-shell{grid-template-columns:repeat(2,minmax(0,440px))}.two-up,.channel-grid,.provider-grid,.problem-grid,.setup-path-grid,.home-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
