:root{--color-bg:#faf8f5;--color-surface:#fff;--color-text:#2c2926;--color-text-muted:#5c5854;--color-text-subtle:#736e69;--color-border:#e5e3df;--color-border-subtle:#f3f1ee;--color-accent:#2c2926;--color-accent-hover:#3d3833;--color-accent-subtle:#2c29260f;--color-disc-d:#e8614d;--color-disc-d-subtle:#e8614d1a;--color-disc-d-text:#c4402e;--color-disc-i:#d4a017;--color-disc-i-subtle:#d4a0171a;--color-disc-i-text:#a57c0f;--color-disc-s:#2d9f83;--color-disc-s-subtle:#2d9f831a;--color-disc-s-text:#1f7a63;--color-disc-c:#5b7fa6;--color-disc-c-subtle:#5b7fa61a;--color-disc-c-text:#456589;--color-outcome-1:#dc2626;--color-outcome-2:#ea580c;--color-outcome-3:#ca8a04;--color-outcome-4:#16a34a;--color-outcome-5:#059669;--color-success:#16a34a;--color-error:#dc2626;--font-display:"Fraunces", Georgia, serif;--font-ui:"Source Sans 3", -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.75rem;--line-height-tight:1.25;--line-height-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--max-width:480px;--padding-page:var(--space-4);--radius:8px;--radius-sm:4px;--radius-lg:12px;--radius-full:9999px;--nav-height:56px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--touch-min:44px;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-route:.18s ease-out}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#121210;--color-surface:#1c1b19;--color-text:#e8e4df;--color-text-muted:#a09b96;--color-text-subtle:#716c67;--color-border:#2a2a28;--color-border-subtle:#1f1f1d;--color-accent:#e8e4df;--color-accent-hover:#d4d0cb;--color-accent-subtle:#e8e4df14;--color-disc-d:#f0796a;--color-disc-d-subtle:#f0796a1f;--color-disc-d-text:#f0796a;--color-disc-i:#e4b433;--color-disc-i-subtle:#e4b4331f;--color-disc-i-text:#e4b433;--color-disc-s:#3db896;--color-disc-s-subtle:#3db8961f;--color-disc-s-text:#3db896;--color-disc-c:#7094b8;--color-disc-c-subtle:#7094b81f;--color-disc-c-text:#7094b8}}[data-theme=dark]{--color-bg:#121210;--color-surface:#1c1b19;--color-text:#e8e4df;--color-text-muted:#a09b96;--color-text-subtle:#716c67;--color-border:#2a2a28;--color-border-subtle:#1f1f1d;--color-accent:#e8e4df;--color-accent-hover:#d4d0cb;--color-accent-subtle:#e8e4df14;--color-disc-d:#f0796a;--color-disc-d-subtle:#f0796a1f;--color-disc-d-text:#f0796a;--color-disc-i:#e4b433;--color-disc-i-subtle:#e4b4331f;--color-disc-i-text:#e4b433;--color-disc-s:#3db896;--color-disc-s-subtle:#3db8961f;--color-disc-s-text:#3db896;--color-disc-c:#7094b8;--color-disc-c-subtle:#7094b81f;--color-disc-c-text:#7094b8}@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/source-sans-3-variable.woff2)format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/source-sans-3-variable-italic.woff2)format("woff2");font-weight:200 900;font-style:italic;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;overflow:hidden}html{font-family:var(--font-ui);font-size:var(--font-size-base);line-height:var(--line-height-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{overscroll-behavior:none}*{scrollbar-width:thin;scrollbar-color:#00000026 transparent}[data-theme=dark] *,:root:not([data-theme=light]) *{scrollbar-color:#ffffff1f transparent}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#00000026}::-webkit-scrollbar-thumb:hover{background:#00000040}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1f}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#fff3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) ::-webkit-scrollbar-thumb{background:#ffffff1f}:root:not([data-theme=light]) ::-webkit-scrollbar-thumb:hover{background:#fff3}}h1,h2,h3{font-family:var(--font-display);line-height:var(--line-height-tight);letter-spacing:-.01em}h1{font-size:var(--font-size-3xl);font-weight:600}h2{font-size:var(--font-size-xl);font-weight:600}h3{font-size:var(--font-size-lg);font-weight:600}a{color:var(--color-accent);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-size-sm);z-index:100;transition:top var(--transition-fast);position:absolute}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-state{color:var(--color-text-muted);font-size:var(--font-size-lg);text-align:center;padding:var(--space-12) var(--space-4)}.app-layout{height:100%;max-width:var(--max-width);flex-direction:column;margin:0 auto;display:flex}.app-content{min-height:0;padding:var(--padding-page);padding-bottom:var(--space-4);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.route-shell{gap:var(--space-4);flex-direction:column;display:flex}.route-shell h1{padding-top:var(--space-4)}.page-header{top:calc(-1 * var(--padding-page));z-index:10;background:var(--color-bg);padding:var(--padding-page) var(--padding-page) var(--space-3);margin:calc(-1 * var(--padding-page)) calc(-1 * var(--padding-page)) 0;flex-shrink:0;position:sticky}.page-header h1{padding-top:0}.route-page{padding-bottom:var(--space-6);flex-direction:column;flex:1;display:flex}.route-page-body{justify-content:safe center;gap:var(--space-4);flex-direction:column;flex:1;display:flex}.brand-header{align-items:center;gap:var(--space-3);padding-top:var(--space-4);display:flex}.brand-header h1{padding-top:0}.tab-bar{background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:var(--safe-area-bottom);flex-shrink:0;display:flex}.tab-item{align-items:center;gap:var(--space-1);padding:var(--space-2) 0;min-height:var(--nav-height);min-width:var(--touch-min);color:var(--color-text-muted);transition:color var(--transition-fast);flex-direction:column;flex:1;display:flex;position:relative}.tab-item:hover{color:var(--color-text)}.tab-active{color:var(--color-accent)}.tab-active .tab-label{font-weight:700}.tab-active:before{content:"";background:var(--color-accent);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:25%;right:25%}.tab-icon{width:22px;height:22px}.tab-label{font-size:var(--font-size-xs);font-weight:500}.welcome-block{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6) var(--space-6);flex-direction:column;display:flex}.welcome-text{font-family:var(--font-display);color:var(--color-text-muted);font-size:var(--font-size-xl);max-width:300px;font-weight:400;line-height:1.4}.welcome-motif{margin-bottom:var(--space-2)}.welcome-features{gap:var(--space-3);margin-top:var(--space-4);margin-bottom:var(--space-2);text-align:left;flex-direction:column;align-self:center;display:flex}.welcome-feature{align-items:center;gap:var(--space-3);display:flex}.welcome-feature-icon{width:18px;height:18px;color:var(--color-text-subtle);flex-shrink:0}.welcome-feature p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-body)}.welcome-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.preview-hint{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) 0;flex-direction:column;display:flex}.preview-card{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.preview-entry{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);width:100%;max-width:280px;display:flex}.preview-entry div{flex-direction:column;flex:1;gap:2px;display:flex}.preview-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.preview-type{font-size:var(--font-size-sm);color:var(--color-text-subtle)}.preview-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.preview-caption{font-size:var(--font-size-sm);color:var(--color-text-subtle);text-align:center}.btn-primary{min-height:var(--touch-min);padding:var(--space-3) var(--space-6);background:var(--color-accent);color:var(--color-bg);font-weight:600;font-size:var(--font-size-base);border-radius:var(--radius);transition:background var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{min-height:var(--touch-min);padding:var(--space-3) var(--space-6);background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-secondary:hover{background:var(--color-border-subtle);border-color:var(--color-accent)}.assessment-wizard,.quicktag-wizard{gap:var(--space-6);padding-top:var(--space-2);flex-direction:column;display:flex}.assessment-header{align-items:center;gap:var(--space-3);display:flex}.assessment-back{width:var(--touch-min);height:var(--touch-min);font-size:var(--font-size-xl);color:var(--color-text-muted);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;display:flex}.assessment-back:hover{background:var(--color-accent-subtle)}.assessment-progress{background:var(--color-border);border-radius:2px;flex:1;height:4px;overflow:hidden}.assessment-progress-bar{background:var(--color-accent);height:100%;transition:width var(--transition-normal);border-radius:2px}.assessment-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.assessment-question{gap:var(--space-4);padding:var(--space-4) 0;flex-direction:column;display:flex}.assessment-prompt{font-size:var(--font-size-lg);color:var(--color-text-muted)}.observation-question{font-size:var(--font-size-xl);font-weight:600;line-height:var(--line-height-tight)}.assessment-option{min-height:var(--touch-min);padding:var(--space-4);text-align:left;font-size:var(--font-size-base);line-height:var(--line-height-body);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), background var(--transition-fast);align-items:center;display:flex}.assessment-option:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.assessment-option:active{transform:scale(.98)}.assessment-option.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.quicktag-name-form{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.quicktag-name-input{min-height:var(--touch-min);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-lg)}.quicktag-name-input:focus{border-color:var(--color-accent);outline:none}.quicktag-confirm{align-items:center;gap:var(--space-4);padding:var(--space-8) 0;text-align:center;flex-direction:column;display:flex}.quicktag-confirm-name{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:600}.quicktag-confirm-type{font-size:var(--font-size-lg);color:var(--color-text-muted)}.quicktag-confirm-actions{gap:var(--space-3);width:100%;display:flex}.quicktag-confirm-actions .btn-primary,.quicktag-confirm-actions .btn-secondary{flex:1}.assessment-result{gap:var(--space-6);padding:var(--space-4) 0;flex-direction:column;display:flex}.assessment-result h2{text-align:center}.disc-wheel-container{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);flex-direction:column;display:flex}.disc-wheel-container svg{max-width:100%;height:auto}.disc-wheel-summary{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.type-summary{gap:var(--space-4);padding-top:var(--space-2);flex-direction:column;display:flex}.type-summary h3{color:var(--color-text)}.type-summary h4{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-2);font-weight:600}.type-summary ul{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.type-summary li{padding-left:var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text);position:relative}.type-summary li:before{content:"";background:var(--color-border);border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.type-default{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-body)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.coaching-card{gap:var(--space-5);flex-direction:column;display:flex}.coaching-card-header{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.type-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);border-radius:var(--radius-full);font-weight:600;display:inline-flex}.type-badge.disc-d{background:var(--color-disc-d-subtle);color:var(--color-disc-d-text)}.type-badge.disc-i{background:var(--color-disc-i-subtle);color:var(--color-disc-i-text)}.type-badge.disc-s{background:var(--color-disc-s-subtle);color:var(--color-disc-s-text)}.type-badge.disc-c{background:var(--color-disc-c-subtle);color:var(--color-disc-c-text)}.coaching-arrow{color:var(--color-text-subtle);font-size:var(--font-size-xl)}.coaching-section{gap:var(--space-2);flex-direction:column;display:flex}.coaching-section-title{font-family:var(--font-display);font-size:var(--font-size-sm);color:var(--color-text);letter-spacing:0;font-weight:600}.coaching-section-body{font-size:var(--font-size-base);line-height:var(--line-height-body)}.coaching-phrases{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.coaching-phrases li{padding:var(--space-3) var(--space-4);background:var(--color-accent-subtle);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm);font-style:italic;line-height:var(--line-height-body)}.coaching-warning .coaching-phrases li{background:var(--color-disc-d-subtle);border-left-color:var(--color-disc-d)}.share-btn{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);transition:color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-self:flex-start;align-items:center;display:inline-flex}.share-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.coaching-locked{opacity:.7}.coaching-locked-hint{font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-3) var(--space-4);background:var(--color-accent-subtle);border-radius:var(--radius);font-style:italic}.coach-log-bridge{align-items:center;gap:var(--space-3);padding:var(--space-6) 0 var(--space-2);border-top:1px solid var(--color-border);text-align:center;flex-direction:column;display:flex}.coach-log-prompt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.back-link{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);min-height:var(--touch-min);padding:var(--space-2) 0;display:inline-flex}.back-link:hover{color:var(--color-text)}.loading-text{color:var(--color-text-subtle);padding:var(--space-8) 0;text-align:center}.type-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.type-dot.disc-d{background:var(--color-disc-d)}.type-dot.disc-i{background:var(--color-disc-i)}.type-dot.disc-s{background:var(--color-disc-s)}.type-dot.disc-c{background:var(--color-disc-c)}.type-avatar{width:40px;height:40px;font-weight:700;font-size:var(--font-size-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.type-avatar.disc-d{background:var(--color-disc-d-subtle);color:var(--color-disc-d-text)}.type-avatar.disc-i{background:var(--color-disc-i-subtle);color:var(--color-disc-i-text)}.type-avatar.disc-s{background:var(--color-disc-s-subtle);color:var(--color-disc-s-text)}.type-avatar.disc-c{background:var(--color-disc-c-subtle);color:var(--color-disc-c-text)}.type-badge-sm{padding:1px var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-full);font-weight:600;display:inline-flex}.type-badge-sm.disc-d{background:var(--color-disc-d-subtle);color:var(--color-disc-d-text)}.type-badge-sm.disc-i{background:var(--color-disc-i-subtle);color:var(--color-disc-i-text)}.type-badge-sm.disc-s{background:var(--color-disc-s-subtle);color:var(--color-disc-s-text)}.type-badge-sm.disc-c{background:var(--color-disc-c-subtle);color:var(--color-disc-c-text)}.inline-badge{font-weight:600}.inline-badge.disc-d{color:var(--color-disc-d-text)}.inline-badge.disc-i{color:var(--color-disc-i-text)}.inline-badge.disc-s{color:var(--color-disc-s-text)}.inline-badge.disc-c{color:var(--color-disc-c-text)}.contact-pick-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.contact-pick-card{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-3);min-height:var(--touch-min);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:border-color var(--transition-fast);flex-direction:column;display:flex}.contact-pick-card:hover{border-color:var(--color-accent)}.contact-pick-add{border-style:dashed}.contact-pick-name{font-weight:600;font-size:var(--font-size-base)}.contact-pick-type{font-size:var(--font-size-xs);color:var(--color-text-muted)}.contact-pick-plus{font-size:var(--font-size-2xl);color:var(--color-text-muted);line-height:1}.coach-nudge{padding:var(--space-5) 0;text-align:center}.coach-nudge p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-body);max-width:300px;margin:0 auto}.link-btn{color:var(--color-accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.install-banner{gap:var(--space-3);padding:var(--space-4);background:var(--color-accent-subtle);border-radius:var(--radius);text-align:center;flex-direction:column;display:flex}.install-banner p{font-size:var(--font-size-sm);color:var(--color-text-muted)}.install-banner-actions{gap:var(--space-3);justify-content:center;display:flex}.coach-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm)}.situation-grid{gap:var(--space-3);flex-direction:column;display:flex}.situation-btn{align-items:center;gap:var(--space-4);min-height:var(--touch-min);padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;transition:border-color var(--transition-fast);display:flex}.situation-btn:hover{border-color:var(--color-accent)}.disc-accent-d .situation-btn{border-left:3px solid var(--color-disc-d)}.disc-accent-i .situation-btn{border-left:3px solid var(--color-disc-i)}.disc-accent-s .situation-btn{border-left:3px solid var(--color-disc-s)}.disc-accent-c .situation-btn{border-left:3px solid var(--color-disc-c)}.situation-icon{font-size:var(--font-size-xl);flex-shrink:0}.situation-label{font-family:var(--font-display);font-weight:600}.situation-grid.compact{flex-flow:wrap}.situation-btn-sm{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition-fast);font-weight:600}.situation-btn-sm:hover{border-color:var(--color-accent)}.people-header{justify-content:space-between;align-items:center;display:flex}.people-grid{gap:var(--space-3);flex-direction:column;display:flex}.people-card{gap:var(--space-2);padding:var(--space-4);min-height:var(--touch-min);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;transition:border-color var(--transition-fast);flex-direction:column;display:flex}.people-card:hover{border-color:var(--color-accent)}.people-card-top{align-items:center;gap:var(--space-3);display:flex}.people-card-name{font-weight:600}.people-card-meta{align-items:center;gap:var(--space-2);padding-left:calc(10px + var(--space-3));display:flex}.confidence-badge{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.btn-sm{min-height:var(--touch-min);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.person-name-row{align-items:baseline;gap:var(--space-3);display:flex}.btn-ghost{font-size:var(--font-size-sm);color:var(--color-text-muted);min-height:var(--touch-min)}.btn-ghost:hover{color:var(--color-accent)}.inline-edit{gap:var(--space-3);flex-direction:column;display:flex}.inline-edit-actions{gap:var(--space-2);display:flex}.how-it-works{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.how-steps{gap:var(--space-4);flex-direction:column;display:flex}.how-step{gap:var(--space-4);align-items:flex-start;display:flex}.how-step-num{background:var(--color-accent-subtle);width:32px;height:32px;font-family:var(--font-display);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.how-step h4{font-family:var(--font-display);font-size:var(--font-size-base);margin-bottom:2px;font-weight:600}.how-step p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-body)}.about-section{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.about-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-body)}.usp-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.usp-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex}.usp-icon{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0}.usp-item p{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-body)}.about-section a{color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline}.type-summary.compact{gap:var(--space-3)}.person-actions,.person-history{gap:var(--space-3);flex-direction:column;display:flex}.person-actions h3,.person-history h3{font-size:var(--font-size-base)}.journal-list{gap:var(--space-2);flex-direction:column;display:flex}.journal-entry{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.journal-entry:last-child{border-bottom:none}.outcome-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px;display:inline-block}.outcome-dot.outcome-1{background:var(--color-outcome-1)}.outcome-dot.outcome-2{background:var(--color-outcome-2)}.outcome-dot.outcome-3{background:var(--color-outcome-3)}.outcome-dot.outcome-4{background:var(--color-outcome-4)}.outcome-dot.outcome-5{background:var(--color-outcome-5)}.journal-entry-content{flex-direction:column;flex:1;gap:2px;display:flex}.journal-person{align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--font-size-sm);display:flex}.journal-situation{font-size:var(--font-size-sm);color:var(--color-text-muted)}.journal-note{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-body)}.journal-date{font-size:var(--font-size-xs);color:var(--color-text-subtle);white-space:nowrap;flex-shrink:0}.outcome-input{border:none}.outcome-legend{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);font-weight:600}.outcome-options{gap:var(--space-2);display:flex}.outcome-option{align-items:center;gap:var(--space-1);cursor:pointer;flex-direction:column;flex:1;display:flex}.outcome-circle{width:var(--touch-min);height:var(--touch-min);font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-muted);border:2px solid var(--color-border);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.outcome-option.selected .outcome-circle{border-color:#0000;transform:scale(1.08)}.outcome-option.selected .outcome-circle.outcome-1{background:var(--color-outcome-1);color:#fff}.outcome-option.selected .outcome-circle.outcome-2{background:var(--color-outcome-2);color:#fff}.outcome-option.selected .outcome-circle.outcome-3{background:var(--color-outcome-3);color:#1a1a1a}.outcome-option.selected .outcome-circle.outcome-4{background:var(--color-outcome-4);color:#fff}.outcome-option.selected .outcome-circle.outcome-5{background:var(--color-outcome-5);color:#fff}.outcome-label{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.error-inline{font-size:var(--font-size-sm);color:var(--color-error);padding:var(--space-3) var(--space-4);background:var(--color-disc-d-subtle);border-radius:var(--radius)}.log-form{gap:var(--space-5);padding:var(--space-4) 0;flex-direction:column;display:flex}.log-field{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.log-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.log-label .optional{color:var(--color-text-subtle);font-weight:400}.log-select,.log-textarea{min-height:var(--touch-min);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base)}.log-select:focus,.log-textarea:focus{border-color:var(--color-accent);outline:none}.log-textarea{resize:vertical;min-height:80px;padding-bottom:var(--space-6)}.log-char-count{right:var(--space-3);bottom:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-subtle);position:absolute}.log-history{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.retake-section{padding-top:var(--space-4);padding-bottom:var(--space-2)}.patterns-section{gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.patterns-empty{font-size:var(--font-size-sm);color:var(--color-text-muted)}.insights-content{gap:var(--space-5);flex-direction:column;display:flex}.insights-overview{gap:var(--space-6);display:flex}.insight-stat{flex-direction:column;gap:2px;display:flex}.insight-number{font-size:var(--font-size-2xl);font-variant-numeric:tabular-nums;font-weight:700}.insight-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.insights-by-type{gap:var(--space-2);flex-direction:column;display:flex}.insight-type-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.insight-type-name{font-weight:600;font-size:var(--font-size-sm);min-width:70px}.insight-type-avg{font-weight:700;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;min-width:24px}.insight-type-count{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:1}.insight-trend{font-size:var(--font-size-base);flex-shrink:0}.trend-improving{color:var(--color-outcome-5)}.trend-stable{color:var(--color-text-subtle)}.trend-declining{color:var(--color-outcome-1)}.insights-tips{gap:var(--space-3);flex-direction:column;display:flex}.insights-tips h4{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.insights-tips ul{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.insights-tips li{font-size:var(--font-size-sm);line-height:var(--line-height-body);padding:var(--space-3) var(--space-4);background:var(--color-accent-subtle);border-radius:var(--radius)}.profile-settings{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.setting-row-danger{padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.setting-label{font-size:var(--font-size-sm)}.setting-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:2px}.setting-status{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:0 var(--space-4)}.setting-toggle{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:var(--radius);font-weight:600}.setting-toggle:hover{border-color:var(--color-accent)}.danger-zone{padding-top:var(--space-8)}.btn-ghost-danger{min-height:var(--touch-min);padding:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-error);align-items:center;display:inline-flex}.btn-danger{min-height:var(--touch-min);padding:var(--space-3) var(--space-6);background:var(--color-error);color:#fff;font-weight:600;font-size:var(--font-size-base);border-radius:var(--radius);justify-content:center;align-items:center;display:inline-flex}.confirm-delete{gap:var(--space-3);padding:var(--space-4);background:var(--color-disc-d-subtle);border-radius:var(--radius);font-size:var(--font-size-sm);flex-direction:column;display:flex}.confirm-delete-actions{gap:var(--space-3);display:flex}.insight-page{gap:var(--space-6);max-width:var(--max-width);padding:var(--padding-page);height:100%;margin:0 auto;overflow-y:auto}.insight-brand{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);display:flex}.insight-brand-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600}.insight-header{gap:var(--space-3);flex-direction:column;display:flex}.insight-cta{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center;flex-direction:column;display:flex}.insight-cta-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.error-boundary{align-items:center;gap:var(--space-5);padding:var(--space-12) var(--space-4);text-align:center;max-width:var(--max-width);flex-direction:column;margin:0 auto;display:flex}.error-details{text-align:left;width:100%}.error-details summary{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.error-details pre{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;overflow-x:auto}::view-transition-old(root){animation:vt-slide-out var(--transition-route) ease-out}::view-transition-new(root){animation:vt-slide-in var(--transition-route) ease-out}@keyframes vt-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes vt-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.route-transition .app-content{opacity:.4;transition:opacity var(--transition-route), transform var(--transition-route);transform:translateY(-4px)}@media (width>=600px){:root{--max-width:600px;--padding-page:var(--space-6)}.contact-pick-grid{grid-template-columns:1fr 1fr 1fr}.coaching-card{gap:var(--space-6)}}@media (width>=768px){:root{--max-width:680px;--padding-page:var(--space-8)}.situation-grid{grid-template-columns:1fr 1fr;display:grid}.insights-overview{gap:var(--space-8)}.log-history .journal-list{max-width:560px}}@media (width>=1024px){:root{--max-width:720px}.coaching-card-header{padding:var(--space-5) var(--space-6)}.coaching-section-body{font-size:var(--font-size-lg);line-height:1.6}.welcome-text{font-size:var(--font-size-2xl);max-width:380px}}@media (height<=500px) and (orientation:landscape){.welcome-block{padding:var(--space-6) var(--space-6) var(--space-4);gap:var(--space-3)}.route-shell{gap:var(--space-3)}.tab-bar{padding-bottom:0}}
