:root{--paper-50: #FDFBF7;--paper-100: #F8F4EC;--paper-200: #F1EBE0;--paper-300: #E8E2D9;--paper-400: #D6CEC1;--ink-900: #1A1815;--ink-700: #3D3833;--ink-500: #6B6560;--ink-400: #8C857E;--ink-300: #ABA49C;--night-900: #0B0E12;--night-800: #0F1216;--night-700: #161A20;--night-600: #1D222A;--night-500: #262C34;--night-400: #333A44;--moon-100: #F0EDE8;--moon-300: #C9C4BC;--moon-500: #9A958E;--moon-600: #7A756E;--accent-teal: #2FA894;--accent-violet: #6B5BD8;--accent-rose: #D65A87;--accent-teal-dark: #4FD4BC;--accent-violet-dark: #9C8CFF;--accent-rose-dark: #FF8FB3;--aurora-gradient: linear-gradient( 100deg, var(--accent-teal) 0%, var(--accent-violet) 55%, var(--accent-rose) 100% );--domain-literacy: #2A6FB8;--domain-language: #3C63B5;--domain-logic: #6B5BD8;--domain-math: #8B45C4;--domain-fineMotor: #C24A76;--domain-grossMotor: #C25A20;--domain-socialEmotional: #A8791B;--domain-executiveFunction:#4F7A32;--domain-creative: #1D8E7B;--domain-time: #2C7F9E;--domain-science: #2C8F5C;--domain-secondLanguage: #9A4E90;--domain-selfCare: #6B7A3E;--signal-progress: #2C8F5C;--signal-steady: #6B6560;--signal-stalled: #B5761A;--signal-attention: #C4453C;--bg: var(--paper-50);--canvas: #FFFFFF;--surface: var(--paper-100);--surface-alt: var(--paper-200);--ink: var(--ink-900);--ink-muted: var(--ink-500);--ink-subtle: var(--ink-400);--line: var(--paper-300);--line-strong: var(--paper-400);--accent: var(--accent-violet);--accent-ink: #FFFFFF;--accent-wash: color-mix(in srgb, var(--accent-violet) 8%, transparent);--shadow-sm: 0 1px 2px rgba(26, 24, 21, .05);--shadow-md: 0 2px 8px rgba(26, 24, 21, .07), 0 1px 2px rgba(26, 24, 21, .04);--shadow-lg: 0 8px 28px rgba(26, 24, 21, .1), 0 2px 6px rgba(26, 24, 21, .05);--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-ui: "Geist", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base:.9375rem;--text-md: 1.0625rem;--text-lg: 1.3125rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-caps: .08em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 22px;--r-full: 999px;--dur-instant: 90ms;--dur-fast: .16s;--dur-base: .24s;--dur-slow: .42s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--nav-h: 56px;--top-h: 52px;--content-max: 720px;--tap-min: 44px}:root[data-theme=dark]{--bg: var(--night-800);--canvas: var(--night-700);--surface: var(--night-600);--surface-alt: var(--night-500);--ink: var(--moon-100);--ink-muted: var(--moon-500);--ink-subtle: var(--moon-600);--line: var(--night-500);--line-strong: var(--night-400);--accent: var(--accent-violet-dark);--accent-ink: var(--night-900);--accent-wash: color-mix(in srgb, var(--accent-violet-dark) 12%, transparent);--domain-literacy: #6BAEEE;--domain-language: #86A6F0;--domain-logic: #9C8CFF;--domain-math: #C48FEE;--domain-fineMotor: #F291B4;--domain-grossMotor: #F5A05C;--domain-socialEmotional: #E8C255;--domain-executiveFunction:#93C46B;--domain-creative: #4FD4BC;--domain-time: #6FC2E0;--domain-science: #63CE96;--domain-secondLanguage: #DE94D4;--domain-selfCare: #B5C47A;--signal-progress: #63CE96;--signal-steady: #9A958E;--signal-stalled: #E8B65C;--signal-attention: #F2756B;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 2px 10px rgba(0, 0, 0, .42), 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 34px rgba(0, 0, 0, .5), 0 3px 8px rgba(0, 0, 0, .35);--aurora-gradient: linear-gradient( 100deg, var(--accent-teal-dark) 0%, var(--accent-violet-dark) 55%, var(--accent-rose-dark) 100% )}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--night-800);--canvas: var(--night-700);--surface: var(--night-600);--surface-alt: var(--night-500);--ink: var(--moon-100);--ink-muted: var(--moon-500);--ink-subtle: var(--moon-600);--line: var(--night-500);--line-strong: var(--night-400);--accent: var(--accent-violet-dark);--accent-ink: var(--night-900);--accent-wash: color-mix(in srgb, var(--accent-violet-dark) 12%, transparent);--domain-literacy: #6BAEEE;--domain-language: #86A6F0;--domain-logic: #9C8CFF;--domain-math: #C48FEE;--domain-fineMotor: #F291B4;--domain-grossMotor: #F5A05C;--domain-socialEmotional: #E8C255;--domain-executiveFunction:#93C46B;--domain-creative: #4FD4BC;--domain-time: #6FC2E0;--domain-science: #63CE96;--domain-secondLanguage: #DE94D4;--domain-selfCare: #B5C47A;--signal-progress: #63CE96;--signal-steady: #9A958E;--signal-stalled: #E8B65C;--signal-attention: #F2756B;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 2px 10px rgba(0, 0, 0, .42), 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 34px rgba(0, 0, 0, .5), 0 3px 8px rgba(0, 0, 0, .35);--aurora-gradient: linear-gradient( 100deg, var(--accent-teal-dark) 0%, var(--accent-violet-dark) 55%, var(--accent-rose-dark) 100% )}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}svg{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-wash)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.shell{display:grid;grid-template-rows:auto 1fr auto;height:100%;max-width:100%}.shell-top{display:flex;align-items:center;gap:var(--s-3);height:var(--top-h);padding:0 var(--s-4);padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);position:sticky;top:0;z-index:20}.shell-brand{display:flex;align-items:center;gap:var(--s-2)}.shell-brand-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight)}.shell-child{margin-left:auto;padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-fast) var(--ease-out)}.shell-child:hover{background:var(--surface-alt)}.shell-top-right{display:flex;align-items:center;gap:var(--s-2)}.shell-offline{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--text-2xs);font-weight:500;color:var(--signal-stalled);padding:var(--s-1) var(--s-2);border-radius:var(--r-full);background:color-mix(in srgb,var(--signal-stalled) 12%,transparent)}.shell-main{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}.shell-nav{display:grid;grid-template-columns:repeat(5,1fr);height:var(--nav-h);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(12px);position:sticky;bottom:0;z-index:20}.shell-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-subtle);min-height:var(--tap-min);transition:color var(--dur-fast) var(--ease-out)}.shell-nav-item.is-active{color:var(--ink)}.shell-nav-item:hover{color:var(--ink-muted)}.shell-nav-item.is-active:hover{color:var(--ink)}.shell-nav-icon{position:relative}.shell-nav-item.is-active .shell-nav-icon:after{content:"";position:absolute;inset-inline:50%;bottom:-7px;width:4px;height:4px;margin-inline-start:-2px;border-radius:var(--r-full);background:var(--accent)}.shell-nav-badge{position:absolute;top:-5px;inset-inline-start:11px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--r-full);background:var(--accent);color:var(--accent-ink);font-size:9px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums}.shell-nav-label{font-size:var(--text-2xs);font-weight:500;letter-spacing:var(--tracking-wide)}.page{max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-8)}.page-head{margin-bottom:var(--s-5)}.page-eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-subtle);margin-bottom:var(--s-1)}.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.page-sub{color:var(--ink-muted);font-size:var(--text-sm);margin-top:var(--s-1)}.section{margin-top:var(--s-6)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.section-title{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-muted)}.card{background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--s-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:38px;padding:0 var(--s-4);border-radius:var(--r-full);font-size:var(--text-sm);font-weight:550;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:active{transform:scale(.975)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:color-mix(in srgb,var(--ink) 88%,var(--bg))}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:var(--surface);border-color:var(--line-strong)}.btn-quiet{background:transparent;color:var(--ink-muted)}.btn-quiet:hover{background:var(--surface);color:var(--ink)}.btn-sm{min-height:30px;padding:0 var(--s-3);font-size:var(--text-xs)}.pill{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.pill-domain{color:var(--domain-color, var(--ink-muted));background:color-mix(in srgb,var(--domain-color, var(--ink-muted)) 13%,transparent)}.trend-rising{color:var(--signal-progress)}.trend-steady{color:var(--signal-steady)}.trend-stalled{color:var(--signal-stalled)}.trend-regressing{color:var(--signal-attention)}.empty{text-align:center;padding:var(--s-7) var(--s-4);color:var(--ink-muted)}.empty-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--ink);margin-bottom:var(--s-2)}.empty-body{font-size:var(--text-sm);max-width:34ch;margin:0 auto}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-alt) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s var(--ease-in-out) infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.reveal{animation:reveal var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.stack{display:flex;flex-direction:column}.stack-2{gap:var(--s-2)}.stack-3{gap:var(--s-3)}.stack-4{gap:var(--s-4)}.row{display:flex;align-items:center}.row-2{gap:var(--s-2)}.row-3{gap:var(--s-3)}.grow{flex:1}.muted{color:var(--ink-muted)}.subtle{color:var(--ink-subtle)}.tnum{font-variant-numeric:tabular-nums}.display{font-family:var(--font-display)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.block{background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.block:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.block.is-settled{opacity:.62}.block.is-settled:hover{opacity:1}.block.is-open{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.block-head{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;padding:var(--s-4);text-align:start}.block-dot{flex:none;width:22px;height:22px;margin-top:2px;border-radius:var(--r-full);border:2px solid var(--domain-color, var(--line-strong));display:grid;place-items:center;color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.block-dot.is-settled{background:var(--domain-color, var(--ink-muted));border-color:var(--domain-color, var(--ink-muted));color:var(--canvas)}.block-head-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.block-meta{display:flex;align-items:center;gap:var(--s-2)}.block-time{font-size:var(--text-2xs);color:var(--ink-subtle);font-weight:500}.block-title{font-size:var(--text-md);font-weight:560;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.block-why{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.block-chevron{flex:none;color:var(--ink-subtle);margin-top:4px;transition:transform var(--dur-base) var(--ease-out)}.block.is-open .block-chevron{transform:rotate(180deg)}.block-body{padding:0 var(--s-4) var(--s-4) calc(var(--s-4) + 22px + var(--s-3));animation:block-open var(--dur-base) var(--ease-out) both}@keyframes block-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.block-instructions{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--ink);white-space:pre-wrap}.block-materials{margin-top:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.block-materials-head{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--s-2)}.block-materials-list{display:flex;flex-wrap:wrap;gap:var(--s-2)}.material-chip{padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:var(--canvas);border:1px solid var(--line-strong);font-size:var(--text-xs);font-weight:500;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.material-chip:hover{background:var(--accent-wash)}.material-chip:active{transform:scale(.97)}.block-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.thread{display:grid;grid-template-rows:auto 1fr auto;height:100%;position:relative}.thread-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}.thread-bar-title{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);font-weight:550;color:var(--ink-muted);padding:var(--s-1) var(--s-2);border-radius:var(--r-md);max-width:70%}.thread-bar-title:hover{background:var(--surface);color:var(--ink)}.thread-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-bar-new{margin-left:auto;color:var(--ink-subtle);width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center}.thread-bar-new:hover{background:var(--surface);color:var(--ink)}.thread-scroll{overflow-y:auto;overscroll-behavior-y:contain}.thread-inner{max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-6);display:flex;flex-direction:column;gap:var(--s-5)}.thread-jump{position:absolute;bottom:92px;left:50%;transform:translate(-50%);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:var(--ink);color:var(--bg);font-size:var(--text-xs);font-weight:550;box-shadow:var(--shadow-lg)}.msg-user{display:flex;justify-content:flex-end}.msg-user-bubble{max-width:82%;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg) var(--r-lg) var(--r-sm) var(--r-lg);background:var(--surface-alt);font-size:var(--text-base);line-height:var(--leading-snug);white-space:pre-wrap}.msg-agent{display:flex;flex-direction:column;gap:var(--s-3)}.msg-cursor{display:inline-block;width:7px;height:15px;background:var(--accent);border-radius:1px;animation:blink 1.05s steps(2,start) infinite;vertical-align:-2px}@keyframes blink{50%{opacity:0}}.msg-error{font-size:var(--text-sm);color:var(--signal-attention);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:color-mix(in srgb,var(--signal-attention) 10%,transparent)}.msg-attachments,.msg-artifacts{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.prose{font-size:var(--text-base);line-height:var(--leading-relaxed)}.prose>*+*{margin-top:var(--s-3)}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin-top:var(--s-5)}.prose h2{font-size:var(--text-lg)}.prose h3{font-size:var(--text-md)}.prose h4{font-size:var(--text-base)}.prose ul,.prose ol{padding-inline-start:1.35em}.prose li+li{margin-top:var(--s-1)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:1px 5px;border-radius:var(--r-sm)}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);overflow-x:auto}.prose pre code{background:none;padding:0}.prose blockquote{border-inline-start:3px solid var(--line-strong);padding-inline-start:var(--s-3);color:var(--ink-muted)}.prose a{color:var(--accent);text-underline-offset:2px}.tools{font-size:var(--text-xs)}.tools-head{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-subtle);padding:var(--s-1) 0}.tools-head:hover{color:var(--ink-muted)}.tools-dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--ink-subtle);flex:none}.tools.is-running .tools-dot{background:var(--accent);animation:pulse 1.3s var(--ease-in-out) infinite}@keyframes pulse{50%{opacity:.3;transform:scale(.8)}}.tools-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-detail{list-style:none;padding:var(--s-2) 0 0 14px;margin:0;display:flex;flex-direction:column;gap:var(--s-1);color:var(--ink-muted)}.tools-item.is-error{color:var(--signal-attention)}.artifact-chip{padding:var(--s-1) var(--s-3);border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--canvas);font-size:var(--text-xs);font-weight:500}.artifact-chip:hover{background:var(--accent-wash)}.artifact-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;width:100%;text-align:start;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);position:relative}.artifact-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.artifact-card-kind{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent)}.artifact-card-title{font-size:var(--text-md);font-weight:550;letter-spacing:var(--tracking-tight)}.artifact-card-summary{font-size:var(--text-sm);color:var(--ink-muted)}.artifact-card-version{position:absolute;top:var(--s-3);inset-inline-end:var(--s-3);font-size:var(--text-2xs);color:var(--ink-subtle);font-variant-numeric:tabular-nums}.composer{padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px)}.composer-inner{max-width:var(--content-max);margin:0 auto;display:flex;align-items:flex-end;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--canvas);transition:border-color var(--dur-fast) var(--ease-out)}.composer-inner:focus-within{border-color:var(--accent)}.composer-input{flex:1;border:none;outline:none;resize:none;background:none;font-size:var(--text-base);line-height:var(--leading-snug);max-height:200px;padding:6px 0}.composer-input::placeholder{color:var(--ink-subtle)}.composer-send{flex:none;width:34px;height:34px;border-radius:var(--r-full);background:var(--ink);color:var(--bg);display:grid;place-items:center;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.composer-send:disabled{opacity:.3;cursor:default}.composer-send:not(:disabled):active{transform:scale(.93)}.picker-scrim{position:fixed;inset:0;z-index:40}.picker{position:absolute;top:48px;inset-inline-start:var(--s-4);z-index:41;min-width:260px;max-width:340px;max-height:60vh;overflow-y:auto;padding:var(--s-2);background:var(--canvas);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.picker-empty{padding:var(--s-3);color:var(--ink-subtle);font-size:var(--text-sm)}.picker-item{display:flex;flex-direction:column;gap:2px;align-items:flex-start;width:100%;text-align:start;padding:var(--s-2) var(--s-3);border-radius:var(--r-md)}.picker-item:hover{background:var(--surface)}.picker-item.is-active{background:var(--accent-wash)}.picker-item-title{font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.picker-item-meta{font-size:var(--text-2xs);color:var(--ink-subtle)}.empty-thread{text-align:center;padding:var(--s-8) var(--s-4)}.empty-thread-mark{display:flex;justify-content:center;margin-bottom:var(--s-4)}.empty-thread-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight)}.empty-thread-body{color:var(--ink-muted);font-size:var(--text-sm);max-width:42ch;margin:var(--s-2) auto 0;line-height:var(--leading-relaxed)}.empty-thread-prompts{display:flex;flex-direction:column;gap:var(--s-2);max-width:380px;margin:var(--s-6) auto 0}.empty-thread-prompt{padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--canvas);font-size:var(--text-sm);text-align:start;color:var(--ink-muted);transition:all var(--dur-fast) var(--ease-out)}.empty-thread-prompt:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.capture-dock{position:fixed;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4));inset-inline-end:var(--s-4);z-index:60;display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.capture-btn{position:relative;width:64px;height:64px;border-radius:var(--r-full);background:var(--ink);color:var(--bg);display:grid;place-items:center;box-shadow:var(--shadow-lg);touch-action:none;user-select:none;-webkit-user-select:none;transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-out)}.capture-btn:active{transform:scale(.93)}.capture-btn.is-recording{background:var(--accent);color:var(--accent-ink);transform:scale(1.07)}.capture-btn.is-locked{background:var(--signal-attention);color:var(--canvas)}.capture-btn.is-textonly{background:var(--surface-alt);color:var(--ink)}.capture-btn-glyph{display:grid;place-items:center}.capture-btn-ring{position:absolute;inset:-5px;border-radius:var(--r-full);border:2px solid var(--accent);opacity:0}.capture-btn.is-recording .capture-btn-ring,.capture-btn.is-locked .capture-btn-ring{opacity:calc(.2 + var(--level, 0) * .8);transform:scale(calc(1 + var(--level, 0) * .22));transition:transform 80ms linear,opacity 80ms linear}.capture-btn.is-locked .capture-btn-ring{border-color:var(--signal-attention)}.capture-alt{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);background:var(--canvas);border:1px solid var(--line);color:var(--ink-muted);display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.capture-alt:hover{color:var(--ink);border-color:var(--line-strong)}.capture-alt:active{transform:scale(.94)}.capture-toast{padding:var(--s-2) var(--s-3);border-radius:var(--r-full);background:var(--ink);color:var(--bg);font-size:var(--text-2xs);font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);animation:rise var(--dur-fast) var(--ease-out)}.capture-scrim{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(10px);display:grid;place-items:end center;padding:var(--s-4) var(--s-4) calc(var(--nav-h) + var(--s-8) + env(safe-area-inset-bottom));animation:fade var(--dur-fast) var(--ease-out)}@keyframes fade{0%{opacity:0}to{opacity:1}}.capture-panel{width:100%;max-width:460px;padding:var(--s-5) var(--s-4) var(--s-4);border-radius:var(--r-xl);background:var(--canvas);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);animation:rise var(--dur-base) var(--ease-out)}@keyframes rise{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.capture-panel-title{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:var(--tracking-tight);margin-bottom:var(--s-3)}.waveform{--wave-bar: 3px;--wave-gap: 2px;--wave-step: calc(var(--wave-bar) + var(--wave-gap));display:flex;align-items:center;justify-content:center;gap:var(--wave-gap);height:56px;margin-bottom:var(--s-3)}.waveform-bar{width:var(--wave-bar);height:100%;border-radius:var(--r-full);background-image:var(--aurora-gradient);background-size:calc(44 * var(--wave-step)) 100%;background-position:calc(var(--i, 0) * var(--wave-step) * -1) center;background-repeat:no-repeat;transform:scaleY(var(--v, .045));transition:transform 70ms linear}.waveform:not(.is-live) .waveform-bar{opacity:.4}.capture-transcript{font-size:var(--text-base);line-height:var(--leading-snug);min-height:3.4em;max-height:8em;overflow-y:auto;text-align:center;text-wrap:pretty}.capture-interim{color:var(--ink-muted)}.capture-hint{color:var(--ink-subtle)}.capture-error{font-size:var(--text-sm);color:var(--signal-stalled);text-align:center;margin-top:var(--s-2);text-wrap:pretty}.capture-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-4)}.capture-cue{font-size:var(--text-xs);color:var(--ink-subtle)}.capture-textarea{width:100%;border:none;outline:none;resize:none;background:none;font-size:var(--text-base);line-height:var(--leading-snug)}.quick{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:var(--tap-min);padding:var(--s-3);text-align:start;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.quick-btn:hover{border-color:var(--tone);background:color-mix(in srgb,var(--tone) 8%,var(--canvas))}.quick-btn:active{transform:scale(.97)}.quick-mark{color:var(--tone)}.quick-label{font-size:var(--text-sm);font-weight:550}.quick-hint{font-size:var(--text-2xs);color:var(--ink-subtle);line-height:var(--leading-snug)}.quick-attention{--tone: var(--signal-attention)}.quick-steady{--tone: var(--signal-steady)}.quick-progress{--tone: var(--signal-progress)}.quick-milestone{--tone: var(--accent)}.extract{position:fixed;z-index:55;inset-inline:var(--s-4);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4) + 64px + var(--s-3));margin-inline:auto;max-width:460px;max-height:min(72vh,640px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--canvas);box-shadow:var(--shadow-lg);animation:rise var(--dur-base) var(--ease-out)}.extract-head{display:flex;align-items:center;gap:var(--s-2)}.extract-dot{width:7px;height:7px;border-radius:var(--r-full);background:var(--signal-progress);flex:none}.extract-dot.is-working{background:var(--accent);animation:pulse 1.4s var(--ease-in-out) infinite}.extract-label{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-muted)}.extract-close{margin-inline-start:auto;width:30px;height:30px;border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-subtle)}.extract-close:hover{background:var(--surface);color:var(--ink)}.extract-said{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug);text-wrap:pretty}.extract-summary{font-size:var(--text-md);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:pretty}.extract-waiting{display:flex;flex-direction:column;gap:var(--s-2)}.extract-skeleton{height:13px;border-radius:var(--r-full)}.extract-skeleton.is-short{width:62%}.extract-domains{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0}.extract-domain{padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:600;color:var(--domain-color);background:color-mix(in srgb,var(--domain-color) 12%,transparent)}.extract-skills{display:flex;flex-direction:column;gap:var(--s-1);list-style:none;padding:0}.extract-skill{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm)}.extract-skill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extract-signal{margin-inline-start:auto;font-size:var(--text-2xs);color:var(--ink-subtle)}.extract-move{margin-inline-start:auto;display:inline-flex;align-items:center;gap:3px;padding:1px var(--s-2);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:600;color:var(--signal-progress);background:color-mix(in srgb,var(--signal-progress) 12%,transparent)}.extract-quote{border-inline-start:3px solid var(--accent);padding-inline-start:var(--s-3)}.extract-quote-text{font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-snug);text-wrap:pretty}.extract-quote-note{font-size:var(--text-2xs);color:var(--ink-subtle);margin-top:2px}.extract-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.extract-edit{gap:var(--s-4)}.field{display:flex;flex-direction:column;gap:var(--s-2);border:none;padding:0;margin:0;min-width:0}.field-label{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-subtle);padding:0}.field-input{width:100%;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);color:var(--ink);font-size:var(--text-base);line-height:var(--leading-snug);resize:vertical;outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.field-input:focus{border-color:var(--accent)}.extract-picker{display:flex;flex-wrap:wrap;gap:var(--s-2)}.extract-pick{min-height:32px;padding:var(--s-1) var(--s-3);border:1px solid var(--line);border-radius:var(--r-full);background:var(--canvas);font-size:var(--text-xs);font-weight:500;color:var(--ink-muted);transition:all var(--dur-fast) var(--ease-out)}.extract-pick:hover{border-color:var(--domain-color);color:var(--ink)}.extract-pick.is-on{color:var(--domain-color);border-color:var(--domain-color);background:color-mix(in srgb,var(--domain-color) 12%,transparent)}.extract-level-row{display:flex;align-items:center;gap:var(--s-3)}.extract-level-name{font-size:var(--text-sm);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extract-levels{display:flex;gap:4px;flex:none}.extract-level{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--canvas);font-size:var(--text-xs);font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums;transition:all var(--dur-fast) var(--ease-out)}.extract-level:hover{border-color:var(--line-strong);color:var(--ink)}.extract-level.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media(min-width:640px){.capture-scrim{place-items:center;padding-bottom:var(--s-8)}.quick{grid-template-columns:repeat(4,1fr)}}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}.chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);border:1px solid var(--line);background:var(--canvas);font-size:var(--text-xs);font-weight:500;color:var(--ink-muted)}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-count{opacity:.55}.lib-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.lib-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:start;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.lib-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.lib-item:active{transform:scale(.99)}.lib-item-kind{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent)}.lib-item-title{font-size:var(--text-md);font-weight:550;letter-spacing:var(--tracking-tight)}.lib-item-summary{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.lib-item-meta{font-size:var(--text-2xs);color:var(--ink-subtle);margin-top:auto;padding-top:var(--s-2)}.studio-suggest{display:flex;flex-direction:column;gap:var(--s-2)}.studio-suggest-item{padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border:1px dashed var(--line-strong);background:transparent;font-size:var(--text-sm);text-align:start;color:var(--ink-muted);transition:all var(--dur-fast) var(--ease-out)}.studio-suggest-item:hover{color:var(--ink);border-style:solid;background:var(--surface)}.bars{display:flex;flex-direction:column;gap:var(--s-2)}.bar-row{display:grid;grid-template-columns:8.5rem 1fr 2.4rem;align-items:center;gap:var(--s-3)}.bar-label{font-size:var(--text-sm);color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:7px;border-radius:var(--r-full);background:var(--surface-alt);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:var(--r-full);animation:bar-grow var(--dur-slow) var(--ease-out) both}@keyframes bar-grow{0%{transform:scaleX(0);transform-origin:left}}.bar-value{font-size:var(--text-sm);font-weight:550;text-align:end}.bars-note{font-size:var(--text-xs);color:var(--ink-subtle);margin-top:var(--s-3)}.stall-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:start;width:100%;padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb,var(--signal-stalled) 40%,var(--line));border-radius:var(--r-lg);background:color-mix(in srgb,var(--signal-stalled) 7%,var(--canvas))}.stall-card:hover{border-color:var(--signal-stalled)}.stall-card-name{font-size:var(--text-md);font-weight:550}.stall-card-note{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.principle{display:flex;flex-direction:column;gap:2px;padding:var(--s-3) var(--s-4);border-inline-start:3px solid var(--accent);background:var(--surface);border-radius:0 var(--r-md) var(--r-md) 0}.principle-statement{font-size:var(--text-base);font-weight:550}.principle-detail{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.quote{margin:0}.quote-text{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin:0}.quote-when{font-size:var(--text-2xs);color:var(--ink-subtle);margin-top:var(--s-1)}.gallery{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.gallery-item{aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{font-size:var(--text-2xs);color:var(--ink-subtle);padding:var(--s-2);text-align:center}.today-foot{margin-top:var(--s-6);display:flex;justify-content:center}.rail{display:flex;gap:var(--s-3);list-style:none;padding:2px var(--s-4) var(--s-3);margin-inline:calc(var(--s-4) * -1);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail-item{flex:0 0 min(268px,82vw);scroll-snap-align:start}.rail-empty{padding:var(--s-4);border:1px dashed var(--line-strong);border-radius:var(--r-lg)}.rail-empty-body{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug);max-width:46ch}.mat-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr))}.mat-grid-count{font-size:var(--text-2xs);color:var(--ink-subtle);margin-bottom:var(--s-2)}.mat{position:relative;display:flex;flex-direction:column;height:100%;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.mat:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.mat.is-unplayable,.mat.is-failed{opacity:.78}.mat-face{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;padding:var(--s-4) var(--s-4) var(--s-3);text-align:start}.mat-face:disabled{cursor:default}.mat-thumb{flex:none;width:56px;height:56px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--domain-color, var(--ink-muted));background:color-mix(in srgb,var(--domain-color, var(--ink-muted)) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--domain-color, var(--line)) 22%,transparent)}.mat-body{display:flex;flex-direction:column;gap:3px;min-width:0}.mat-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.mat-difficulty{font-size:var(--text-2xs);color:var(--ink-subtle);font-weight:500}.mat-title{font-size:var(--text-md);font-weight:560;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.mat-summary,.mat-reason{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.mat-reason{color:var(--domain-color, var(--ink-muted));font-weight:500}.mat-skills{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;padding:0 var(--s-4) var(--s-2);margin:0}.mat-skill{font-size:var(--text-2xs);color:var(--ink-muted);padding:2px var(--s-2);border-radius:var(--r-full);background:var(--surface)}.mat-skill.is-more{color:var(--ink-subtle)}.mat-note{font-size:var(--text-xs);color:var(--signal-stalled);line-height:var(--leading-snug);padding:0 var(--s-4) var(--s-2)}.mat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-top:auto;padding:var(--s-2) var(--s-3) var(--s-3)}.mat-delete{margin-inline-start:auto;min-width:34px;padding:0 var(--s-2)}.mat-delete:hover{color:var(--signal-attention)}.mat-menu{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line);background:var(--surface);animation:block-open var(--dur-fast) var(--ease-out) both}.mat-menu-head{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--s-1)}.mat-menu-item{min-height:var(--tap-min);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);text-align:start;font-size:var(--text-sm);background:var(--canvas);border:1px solid var(--line)}.mat-menu-item:hover{border-color:var(--domain-color, var(--line-strong))}.mat-played{font-size:var(--text-2xs);color:var(--ink-subtle);padding:0 var(--s-4) var(--s-3)}.mat-skeleton{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.chip-quiet{border-style:dashed}.studio-dock{position:sticky;bottom:var(--s-4);display:flex;margin-top:var(--s-6);padding-inline-end:74px;pointer-events:none}.studio-create{pointer-events:auto;flex:1;min-height:var(--tap-min);box-shadow:var(--shadow-lg)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sheet-label{display:block;font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--s-2)}.sheet-input{width:100%;padding:var(--s-3);border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--bg);font-size:var(--text-base);line-height:var(--leading-snug);resize:vertical;outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.sheet-input:focus{border-color:var(--accent)}.sheet-input::placeholder{color:var(--ink-subtle)}.sheet-or{font-size:var(--text-xs);color:var(--ink-subtle);text-align:center;margin:var(--s-4) 0 var(--s-3)}.kind-grid{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(94px,1fr))}.kind-tile{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);min-height:84px;padding:var(--s-3) var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas);color:var(--ink-muted);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.kind-tile:hover{border-color:var(--line-strong);color:var(--ink)}.kind-tile.is-active{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.kind-tile-mark{color:var(--accent)}.kind-tile-label{font-size:var(--text-2xs);font-weight:550;text-align:center;line-height:var(--leading-tight)}.sample{margin:var(--s-4) 0 0}.sample-cap{font-size:var(--text-xs);color:var(--ink-subtle);line-height:var(--leading-snug);margin-bottom:var(--s-2)}.sample-stage{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);overflow:hidden;min-height:220px}.sheet-foot .btn{min-height:var(--tap-min)}.sheet-foot-note{margin-inline-end:auto;font-size:var(--text-xs);color:var(--ink-subtle)}.sheet-failed{padding:var(--s-2) 0}.sheet-failed-body{font-size:var(--text-base);line-height:var(--leading-snug)}.sheet-failed-hint{font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--s-2);line-height:var(--leading-snug)}.gen{padding:var(--s-2) 0}.gen-bar{height:3px;border-radius:var(--r-full);background:var(--surface-alt);overflow:hidden}.gen-bar-sweep{display:block;width:42%;height:100%;border-radius:var(--r-full);background:var(--aurora-gradient);animation:sweep 1.6s var(--ease-in-out) infinite}@keyframes sweep{0%{transform:translate(-110%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.gen-bar-sweep{width:100%;animation:none;opacity:.55}}.gen-prompt{font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-snug);margin-top:var(--s-4)}.gen-stages{list-style:none;padding:0;margin:var(--s-4) 0 0;display:flex;flex-direction:column;gap:var(--s-2)}.gen-stage{display:flex;align-items:center;gap:var(--s-3);font-size:var(--text-sm);color:var(--ink-subtle);transition:color var(--dur-base) var(--ease-out)}.gen-stage-dot{width:7px;height:7px;border-radius:var(--r-full);background:var(--line-strong);flex:none;transition:background var(--dur-base) var(--ease-out)}.gen-stage.is-done{color:var(--ink-muted)}.gen-stage.is-done .gen-stage-dot{background:var(--signal-progress)}.gen-stage.is-now{color:var(--ink);font-weight:500}.gen-stage.is-now .gen-stage-dot{background:var(--accent);animation:pulse 1.3s var(--ease-in-out) infinite}.gen-elapsed{font-size:var(--text-xs);color:var(--ink-subtle);margin-top:var(--s-4)}.gen-slow{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug);margin-top:var(--s-2);max-width:44ch}.preview{display:flex;flex-direction:column;gap:var(--s-3)}.preview-head{display:flex;align-items:center;gap:var(--s-3)}.preview-mark{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--accent);background:var(--accent-wash)}.preview-head-text{min-width:0}.preview-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight)}.preview-meta{font-size:var(--text-sm);color:var(--ink-muted)}.preview-skills{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;padding:0;margin:0}.preview-skill{font-size:var(--text-2xs);color:var(--ink-muted);padding:2px var(--s-2);border-radius:var(--r-full);background:var(--surface)}.preview-stage{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);overflow:hidden;min-height:260px}.preview-foot{display:flex;align-items:center;gap:var(--s-3)}.preview-hint{font-size:var(--text-sm);color:var(--ink-muted);flex:1}.preview-broken{padding:var(--s-4);border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--signal-stalled) 40%,var(--line));background:color-mix(in srgb,var(--signal-stalled) 7%,var(--canvas))}.preview-broken-title{font-size:var(--text-md);font-weight:560}.preview-broken-body{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug);margin-top:var(--s-2)}.preview-broken-list{margin:var(--s-3) 0 0;padding-inline-start:1.2em;font-size:var(--text-xs);color:var(--ink-subtle);font-family:var(--font-mono)}.print-sheet{position:fixed;inset-inline-start:-200vw;top:0;width:190mm}.print-sheet-title{font-family:var(--font-display);font-size:20pt;font-weight:600;margin-bottom:8mm}@media print{.shell,.capture-dock,.sheet-scrim,.studio-dock{display:none!important}.print-sheet{position:static;width:auto;color:#000;background:#fff}}.kid{position:fixed;inset:0;z-index:70;display:grid;grid-template-rows:auto 1fr;background:var(--bg);overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.kid-bar{display:flex;align-items:center;gap:var(--s-3);padding:calc(env(safe-area-inset-top) + var(--s-2)) var(--s-3) var(--s-2)}.kid-stage{position:relative;min-height:0;display:grid;padding:0 var(--s-3) calc(env(safe-area-inset-bottom) + var(--s-3))}.kid-exit{position:relative;flex:none;width:44px;height:44px;border-radius:var(--r-full);display:grid;place-items:center;opacity:.3;transition:opacity var(--dur-base) var(--ease-out);touch-action:none}.kid-exit:hover,.kid-exit:focus-visible{opacity:.85}.kid-exit-dot{width:9px;height:9px;border-radius:var(--r-full);background:var(--ink-muted)}.kid-exit-ring{position:absolute;inset:0;width:44px;height:44px;transform:rotate(-90deg)}.kid-exit-track{fill:none;stroke:var(--line-strong);stroke-width:2;opacity:.5}.kid-exit-fill{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:106.8;stroke-dashoffset:calc(106.8 - 106.8 * var(--held, 0))}.kid-exit-hint{font-size:var(--text-2xs);color:var(--ink-subtle);letter-spacing:var(--tracking-wide)}.kid-dots{display:flex;gap:var(--s-2);margin-inline:auto}.kid-dot{width:9px;height:9px;border-radius:var(--r-full);background:var(--line-strong);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-spring)}.kid-dot.is-done{background:var(--accent);transform:scale(1.18)}.kid-bar-track{flex:1;max-width:240px;height:6px;margin-inline:auto;border-radius:var(--r-full);background:var(--surface-alt);overflow:hidden}.kid-bar-fill{display:block;height:100%;border-radius:var(--r-full);background:var(--aurora-gradient);transform-origin:left;transform:scaleX(var(--p, 0));transition:transform var(--dur-base) var(--ease-out)}.kid-mute{flex:none;margin-inline-start:auto;width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-subtle);opacity:.5}.kid-mute:hover,.kid-mute:focus-visible{opacity:1;color:var(--ink-muted)}.kid-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);min-height:64px;min-width:64px;padding:0 var(--s-6);border-radius:var(--r-xl);background:var(--ink);color:var(--bg);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight);box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-spring)}.kid-btn:active{transform:scale(.96)}.kid-btn-quiet{background:transparent;color:var(--ink-muted);box-shadow:none;border:1px solid var(--line-strong)}.kid-refusal{place-self:center;max-width:40ch;text-align:center;padding:var(--s-5)}.kid-refusal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight)}.kid-refusal-body{font-size:var(--text-base);color:var(--ink-muted);line-height:var(--leading-relaxed);margin-top:var(--s-3)}.kid-refusal-detail{margin-top:var(--s-4);font-size:var(--text-xs);color:var(--ink-subtle);text-align:start}.kid-refusal-detail summary{cursor:pointer}.kid-refusal-detail ul{margin:var(--s-2) 0 0;padding-inline-start:1.2em;font-family:var(--font-mono)}.kid-refusal-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-6)}.celebrate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-6);text-align:center;padding:var(--s-5);background:var(--bg);animation:fade var(--dur-base) var(--ease-out)}.celebrate-bloom{position:relative;width:0;height:0;display:grid;place-items:center}.celebrate-core{position:absolute;width:46vmin;height:46vmin;margin:-23vmin;border-radius:var(--r-full);background:var(--aurora-gradient);filter:blur(28px);opacity:.42;animation:bloom 1.1s var(--ease-out) both}@keyframes bloom{0%{transform:scale(.25);opacity:0}60%{opacity:.55}to{transform:scale(1);opacity:.42}}.celebrate-particle{position:absolute;width:var(--size, 8px);height:var(--size, 8px);border-radius:var(--r-full);background:var(--aurora-gradient);animation:particle 1.5s var(--ease-out) both;animation-delay:var(--delay, 0ms)}@keyframes particle{0%{transform:rotate(var(--angle)) translateY(0) scale(.4);opacity:0}35%{opacity:1}to{transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scale(1);opacity:0}}.celebrate-text{position:relative}.celebrate-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);animation:reveal var(--dur-slow) var(--ease-out) .3s both}.celebrate-detail{font-size:var(--text-md);color:var(--ink-muted);margin-top:var(--s-2);animation:reveal var(--dur-slow) var(--ease-out) .45s both}.celebrate-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease-out)}.celebrate-actions.is-ready{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.celebrate-particle{display:none}.celebrate-core{animation:none;opacity:.42}.celebrate-actions{opacity:1;pointer-events:auto}}.welcome{min-height:100%;display:grid;place-items:center;padding:var(--s-5)}.welcome-inner{max-width:420px;text-align:center}.welcome-mark{display:flex;justify-content:center;margin-bottom:var(--s-4)}.welcome-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-tight)}.welcome-tagline{font-family:var(--font-display);font-size:var(--text-md);color:var(--ink-muted);margin-top:var(--s-2)}.welcome-body{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-relaxed);margin-top:var(--s-4)}.welcome-actions{margin-top:var(--s-6);display:flex;justify-content:center;gap:var(--s-3)}.welcome-error{margin-top:var(--s-4);font-size:var(--text-sm);color:var(--signal-attention)}.btn-lg{min-height:var(--tap-min);padding:0 var(--s-5);font-size:var(--text-base)}.welcome{position:relative;overflow:hidden}.welcome-sky{position:absolute;inset:-20% -30% auto;height:62vh;pointer-events:none}.welcome-band{position:absolute;inset-inline:0;height:46%;background:var(--aurora-gradient);filter:blur(64px);opacity:.18;border-radius:var(--r-full)}.welcome-band-1{top:8%;transform:rotate(-7deg)}.welcome-band-2{top:34%;transform:rotate(5deg);opacity:.1}.welcome-inner{position:relative;width:100%;max-width:460px}.welcome-inner.is-narrow{max-width:480px;text-align:start}.welcome-actions{flex-wrap:wrap}.welcome-note{margin-top:var(--s-4);font-size:var(--text-xs);color:var(--ink-subtle);max-width:36ch;margin-inline:auto;line-height:var(--leading-snug)}.welcome-step-head{margin-bottom:var(--s-5)}.welcome-step-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-top:var(--s-1)}.welcome-step-sub{margin-top:var(--s-2);font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-relaxed)}.form{display:flex;flex-direction:column;gap:var(--s-5)}.field{display:flex;flex-direction:column;gap:var(--s-2);border:none;padding:0}.field-label{font-size:var(--text-sm);font-weight:550;color:var(--ink);padding:0}.field-input{width:100%;min-height:var(--tap-min);padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);font-size:var(--text-base);line-height:var(--leading-snug);transition:border-color var(--dur-fast) var(--ease-out)}.field-input:focus{outline:none;border-color:var(--accent)}.field-input::placeholder{color:var(--ink-subtle)}textarea.field-input{resize:vertical;padding-top:var(--s-3)}.field-row{display:flex;gap:var(--s-2)}.field-row .field-input{min-width:0}.field-hint{font-size:var(--text-xs);color:var(--ink-subtle);line-height:var(--leading-snug)}.field-error{font-size:var(--text-sm);color:var(--signal-attention)}.field-danger{padding-top:var(--s-3);border-top:1px solid var(--line)}.form-actions{display:flex;gap:var(--s-3)}.form-actions .btn{flex:1}.segmented{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line)}.segment{flex:1 1 auto;min-height:36px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--text-sm);font-weight:500;color:var(--ink-muted);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segment:hover{color:var(--ink)}.segment.is-on{background:var(--canvas);color:var(--ink);font-weight:550;box-shadow:var(--shadow-sm)}.wizard{display:flex;flex-direction:column;gap:var(--s-4)}.wizard-progress{display:flex;gap:5px}.wizard-pip{flex:1;height:3px;border-radius:var(--r-full);background:var(--surface-alt);transition:background var(--dur-base) var(--ease-out)}.wizard-pip.is-on{background:var(--accent)}.wizard-ask{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.wizard-hint{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-relaxed);margin-top:calc(var(--s-2) * -1)}.wizard-options{display:flex;flex-direction:column;gap:var(--s-2)}.wizard-option{min-height:var(--tap-min);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);font-size:var(--text-base);text-align:start;line-height:var(--leading-snug);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.wizard-option:hover{border-color:var(--accent);background:var(--accent-wash)}.wizard-option:active{transform:scale(.99)}.wizard-option.is-unsure{color:var(--ink-muted);border-style:dashed}.wizard-actions{display:flex;justify-content:space-between;gap:var(--s-2)}.wizard-note{min-height:96px}.wizard-note{width:100%;padding:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);font-size:var(--text-base);line-height:var(--leading-snug);resize:vertical}.wizard-note:focus{outline:none;border-color:var(--accent)}.wizard-foot{font-size:var(--text-xs);color:var(--ink-subtle);line-height:var(--leading-snug)}.sheet-scrim{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:color-mix(in srgb,var(--ink-900) 38%,transparent);backdrop-filter:blur(3px);animation:fade var(--dur-fast) var(--ease-out)}.sheet{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:92vh;background:var(--bg);border:1px solid var(--line);border-bottom:none;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);animation:sheet-rise var(--dur-base) var(--ease-out)}.sheet.is-wide{max-width:760px}@keyframes sheet-rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet-head{position:relative;display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-4) var(--s-3);border-bottom:1px solid var(--line)}.sheet-grip{position:absolute;top:8px;inset-inline:50%;width:34px;margin-inline-start:-17px;height:4px;border-radius:var(--r-full);background:var(--line-strong)}.sheet-head-text{flex:1;min-width:0}.sheet-eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-subtle)}.sheet-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.sheet-close{flex:none;width:var(--tap-min);height:var(--tap-min);margin:-6px -8px 0 0;border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-muted)}.sheet-close:hover{background:var(--surface);color:var(--ink)}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--s-4);padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom))}.sheet-foot{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--canvas)}@media(min-width:640px){.sheet-scrim{align-items:center;padding:var(--s-5)}.sheet{border-radius:var(--r-xl);border-bottom:1px solid var(--line);max-height:86vh}.sheet-grip{display:none}.sheet-head{padding-top:var(--s-4)}}.toasts{position:fixed;inset-inline:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-3));z-index:70;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:0 var(--s-4);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--s-2);width:100%;max-width:440px;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border-radius:var(--r-full);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);animation:toast-in var(--dur-base) var(--ease-spring)}.toast.is-error{background:var(--signal-attention);color:var(--paper-50)}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.toast-message{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-action{flex:none;min-height:32px;padding:0 var(--s-3);border-radius:var(--r-full);background:color-mix(in srgb,var(--bg) 18%,transparent);color:inherit;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide)}.toast-action:hover{background:color-mix(in srgb,var(--bg) 30%,transparent)}.toast-dismiss{flex:none;width:32px;height:32px;border-radius:var(--r-full);display:grid;place-items:center;color:inherit;opacity:.6}.toast-dismiss:hover{opacity:1}.skeleton-text{display:flex;flex-direction:column;gap:var(--s-2)}.skeleton-block{display:flex;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas)}.skeleton-block-text{flex:1;display:flex;flex-direction:column;gap:var(--s-2)}.empty-icon{color:var(--ink-subtle);display:flex;justify-content:center;margin-bottom:var(--s-3)}.empty-action{display:flex;justify-content:center;margin-top:var(--s-4)}.error-detail{margin-top:var(--s-5);font-size:var(--text-xs);color:var(--ink-subtle)}.error-detail summary{cursor:pointer}.error-detail pre{margin-top:var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface);text-align:start;white-space:pre-wrap;font-family:var(--font-mono)}.page-eyebrow-btn{display:inline-flex;align-items:center;gap:var(--s-1);min-height:28px;color:var(--ink-subtle);transition:color var(--dur-fast) var(--ease-out)}.page-eyebrow-btn:hover{color:var(--ink-muted)}.rituals-count{font-size:var(--text-2xs);color:var(--ink-subtle)}.rituals-list{list-style:none;padding:0;margin:0}.ritual{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;min-height:var(--tap-min);padding:var(--s-2) var(--s-2) var(--s-2) 0;text-align:start;border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease-out)}.ritual:hover{background:var(--surface)}.ritual-box{flex:none;width:20px;height:20px;margin-top:2px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);display:grid;place-items:center;color:transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.ritual.is-done .ritual-box{background:var(--ink-muted);border-color:var(--ink-muted);color:var(--canvas)}.ritual-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ritual-title{font-size:var(--text-base);line-height:var(--leading-snug)}.ritual-desc{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.ritual.is-done .ritual-title{color:var(--ink-muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}.ritual.is-done .ritual-desc{color:var(--ink-subtle)}.day-done{position:relative;overflow:hidden;padding:var(--s-5) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas)}.day-done-glow{position:absolute;inset:-60% -20% auto;height:150px;background:var(--aurora-gradient);filter:blur(52px);opacity:.14;pointer-events:none}.day-done-title{position:relative;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight)}.day-done-list{position:relative;list-style:none;padding:0;margin:var(--s-3) 0 0;display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.day-done-list strong{color:var(--ink);font-weight:550}.day-done-quote{position:relative;margin:var(--s-4) 0 0;padding-inline-start:var(--s-3);border-inline-start:2px solid var(--accent)}.day-done-quote blockquote{font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-snug)}.day-done-quote figcaption{font-size:var(--text-2xs);color:var(--ink-subtle);margin-top:var(--s-1)}.day-done-actions{position:relative;margin-top:var(--s-4)}.cycle{display:flex;flex-direction:column;gap:var(--s-6)}.cycle-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.cycle-sub{font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--s-1)}.cycle-section{display:flex;flex-direction:column;gap:var(--s-3)}.cycle-note{font-size:var(--text-xs);color:var(--ink-subtle);line-height:var(--leading-relaxed)}.cycle-ceremony{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:72px;padding:var(--s-4);text-align:start;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--canvas);color:var(--ink);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.cycle-ceremony:hover{box-shadow:var(--shadow-md)}.cycle-ceremony:active{transform:scale(.995)}.cycle-ceremony-glow{position:absolute;inset:auto -10% -70%;height:130px;background:var(--aurora-gradient);filter:blur(44px);opacity:.22}.cycle-ceremony-text{position:relative;flex:1;display:flex;flex-direction:column;gap:2px}.cycle-ceremony-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight)}.cycle-ceremony-sub{font-size:var(--text-sm);color:var(--ink-muted)}.cycle-goals{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-3)}.cycle-goal{display:flex;flex-direction:column;gap:3px;padding-inline-start:var(--s-3);border-inline-start:3px solid var(--domain-color, var(--line-strong))}.cycle-goal-statement{font-size:var(--text-base);line-height:var(--leading-snug)}.cycle-goal-evidence{font-size:var(--text-2xs);color:var(--ink-subtle)}.cycle-priorities{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}.cycle-priorities li{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:550;color:var(--domain-color, var(--ink-muted));background:color-mix(in srgb,var(--domain-color, var(--ink-muted)) 12%,transparent)}.cycle-priority-rank{opacity:.55}.cycle-weeks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.cycle-week{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:56px;padding:var(--s-3) var(--s-4);text-align:start;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.cycle-week:hover{border-color:var(--line-strong)}.cycle-week.is-live{border-color:var(--accent);background:var(--accent-wash)}.cycle-week-n{flex:none;width:26px;height:26px;border-radius:var(--r-full);display:grid;place-items:center;background:var(--surface-alt);font-size:var(--text-xs);font-weight:600;color:var(--ink-muted)}.cycle-week.is-live .cycle-week-n{background:var(--accent);color:var(--accent-ink)}.cycle-week-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.cycle-week-theme{font-size:var(--text-base);font-weight:550;letter-spacing:var(--tracking-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cycle-week-meta{font-size:var(--text-2xs);color:var(--ink-subtle)}.cycle-week-dots{display:flex;gap:3px;flex:none}.cycle-dot{width:5px;height:5px;border-radius:var(--r-full);background:var(--line-strong)}.cycle-dot.is-on{background:var(--signal-progress)}.cycle-principles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.cycle-principles li{padding-inline-start:var(--s-3);border-inline-start:2px solid var(--line)}.cycle-foot{display:flex;justify-content:center}.week{display:flex;flex-direction:column;gap:var(--s-4)}.week-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2)}.week-back{display:inline-flex;align-items:center;gap:var(--s-1);min-height:32px;font-size:var(--text-sm);color:var(--ink-muted)}.week-back:hover{color:var(--ink)}.week-theme{display:flex;align-items:baseline;gap:var(--s-2);min-height:36px;text-align:start;color:var(--ink)}.week-theme:hover{color:var(--accent)}.week-number{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-subtle)}.week-theme-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight)}.week-rename{display:flex;gap:var(--s-2);width:100%}.week-focus{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.week-focus li{display:flex;flex-direction:column;gap:1px;padding-inline-start:var(--s-3);border-inline-start:2px solid var(--domain-color, var(--line-strong));font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.week-focus-domain{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--domain-color, var(--ink-subtle))}.week-materials{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--text-sm)}.week-materials summary{cursor:pointer;font-weight:550;min-height:24px}.week-materials ul{margin:var(--s-2) 0 0;padding-inline-start:1.2em;color:var(--ink-muted)}.week-materials li+li{margin-top:var(--s-1)}.week-days{display:flex;flex-direction:column;gap:var(--s-5)}.week-day{display:flex;flex-direction:column;gap:var(--s-2)}.week-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-1);border-bottom:1px solid var(--line)}.week-day-date{font-size:var(--text-sm);font-weight:600;color:var(--ink-muted);min-height:28px}.week-day-date:hover{color:var(--accent)}.week-day.is-today .week-day-date{color:var(--ink)}.week-day-total{font-size:var(--text-2xs);color:var(--ink-subtle)}.week-day-note{font-size:var(--text-sm);color:var(--ink-muted);font-style:italic}.week-blocks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.week-block{display:flex;align-items:center;gap:var(--s-2);min-height:var(--tap-min);transition:opacity var(--dur-base) var(--ease-out)}.week-block.is-settled{opacity:.55}.week-block.is-settled:hover{opacity:1}.week-block-check{flex:none;width:22px;height:22px;border-radius:var(--r-full);border:2px solid var(--domain-color, var(--line-strong));display:grid;place-items:center;color:transparent}.week-block.is-settled .week-block-check{background:var(--domain-color, var(--ink-muted));border-color:var(--domain-color, var(--ink-muted));color:var(--canvas)}.week-block-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;min-height:var(--tap-min);padding:var(--s-2) 0;text-align:start;border-radius:var(--r-sm)}.week-block-title{font-size:var(--text-base);line-height:var(--leading-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-block-main:hover .week-block-title{color:var(--accent)}.week-block-meta{font-size:var(--text-2xs);color:var(--ink-subtle)}.week-block-order{flex:none;display:flex;flex-direction:column}.week-block-order button{width:30px;height:22px;display:grid;place-items:center;color:var(--ink-subtle);border-radius:var(--r-sm)}.week-block-order button:hover:not(:disabled){color:var(--ink);background:var(--surface)}.week-block-order button:disabled{opacity:.25;cursor:default}.week-add{display:inline-flex;align-items:center;gap:var(--s-2);min-height:36px;align-self:flex-start;font-size:var(--text-sm);color:var(--ink-subtle)}.week-add:hover{color:var(--accent)}.chip-swatch{padding-inline-start:var(--s-2)}.chip-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--domain-color, var(--line-strong))}.chip.is-active .chip-dot{background:currentColor}.review{display:flex;flex-direction:column;gap:var(--s-6)}.review-head{position:relative;overflow:hidden;padding:var(--s-6) 0 var(--s-2);text-align:center}.review-sky{position:absolute;inset:-70% -20% auto;height:190px;background:var(--aurora-gradient);filter:blur(58px);opacity:.2;pointer-events:none}.review-eyebrow{position:relative;font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-subtle)}.review-title{position:relative;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-top:var(--s-2)}.review-span{position:relative;font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--s-2)}.review-quote{margin:0;text-align:center}.review-quote blockquote{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.review-quote figcaption{font-size:var(--text-xs);color:var(--ink-subtle);margin-top:var(--s-2)}.review-empty{font-size:var(--text-base);color:var(--ink-muted);line-height:var(--leading-relaxed);text-align:center;max-width:44ch;margin-inline:auto}.review-section{display:flex;flex-direction:column;gap:var(--s-3)}.review-note{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-relaxed)}.moves{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.move{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas)}.move-name{flex:1;font-size:var(--text-base);font-weight:550;min-width:0}.move-domain{font-size:var(--text-2xs);color:var(--ink-subtle);text-transform:uppercase;letter-spacing:var(--tracking-wide);display:none}.move-bar{display:flex;align-items:center;gap:var(--s-2);flex:none}.move-from{font-size:var(--text-sm);color:var(--ink-subtle)}.move-arrow{width:22px;height:2px;border-radius:var(--r-full);background:linear-gradient(90deg,var(--line-strong),var(--signal-progress))}.move-to{font-size:var(--text-md);font-weight:600;color:var(--signal-progress)}.move-level{font-size:var(--text-sm);color:var(--ink-muted)}.move-jump{flex:none;padding:1px var(--s-2);border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:700;color:var(--signal-progress);background:color-mix(in srgb,var(--signal-progress) 14%,transparent)}.move.is-new{border-style:dashed}@media(min-width:480px){.move-domain{display:inline}}.stuck{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.stuck li{display:flex;flex-direction:column;gap:2px;padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb,var(--signal-stalled) 40%,var(--line));border-radius:var(--r-lg);background:color-mix(in srgb,var(--signal-stalled) 7%,var(--canvas))}.stuck-name{font-size:var(--text-base);font-weight:550}.stuck-note{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.proposal{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--canvas)}.proposal.is-empty{border-style:dashed;align-items:flex-start}.proposal-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight)}.proposal-why{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-relaxed)}.proposal-reasons{margin:0;padding-inline-start:1.1em;font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.proposal-reasons li+li{margin-top:var(--s-1)}.review-foot{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding-top:var(--s-5);border-top:1px solid var(--line);text-align:center}.review-foot-note{font-size:var(--text-xs);color:var(--ink-subtle);max-width:40ch;line-height:var(--leading-snug)}.book-wrap{display:flex;flex-direction:column;gap:var(--s-5)}.book-empty{text-align:center;padding:var(--s-6) var(--s-3)}.book{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);overflow:hidden}.book-cover{position:relative;overflow:hidden;padding:var(--s-8) var(--s-5);text-align:center;border-bottom:1px solid var(--line)}.book-cover-sky{position:absolute;inset:-40% -20% auto;height:260px;background:var(--aurora-gradient);filter:blur(50px);opacity:.24}.book-cover-eyebrow{position:relative;font-family:var(--font-display);font-size:var(--text-md);font-style:italic;color:var(--ink-muted)}.book-cover-name{position:relative;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-top:var(--s-2)}.book-cover-date{position:relative;font-size:var(--text-xs);color:var(--ink-subtle);margin-top:var(--s-3)}.book-page{padding:var(--s-5) var(--s-5) var(--s-6);border-bottom:1px solid var(--line)}.book-page-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight);margin-bottom:var(--s-4)}.book-can{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}.book-can li{display:flex;flex-direction:column;gap:2px}.book-can-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-tight)}.book-can-note{font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-snug)}.book-can-moved{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--signal-progress);margin-top:2px}.book-quotes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-4)}.book-quotes blockquote{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);padding-inline-start:var(--s-4);border-inline-start:2px solid var(--accent)}.book-gallery{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.book-gallery figure{margin:0}.book-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line)}.book-gallery figcaption{font-size:var(--text-2xs);color:var(--ink-subtle);margin-top:var(--s-1)}.book-end{padding:var(--s-5);text-align:center;font-size:var(--text-2xs);color:var(--ink-subtle)}.book-actions{display:flex;gap:var(--s-3);justify-content:center;flex-wrap:wrap}@media(min-width:560px){.book-can{grid-template-columns:1fr 1fr;gap:var(--s-4)}}@media print{.shell-top,.shell-nav,.capture-dock,.toasts,.sheet-head,.sheet-foot,.book-actions{display:none!important}.sheet-scrim{position:static;background:none;backdrop-filter:none;padding:0}.sheet{max-width:none;max-height:none;border:none;box-shadow:none;animation:none}.sheet-body{overflow:visible;padding:0}.book{border:none;border-radius:0}.book-cover-sky{display:none}.book-page{break-inside:avoid;border-bottom:none}.book-quotes blockquote,.book-can li,.book-gallery figure{break-inside:avoid}}.auth-fields{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-5);text-align:start}.field{padding:var(--s-3) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);color:var(--ink);font-size:var(--text-base);outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.field:focus{border-color:var(--accent)}.field::placeholder{color:var(--ink-subtle)}.field-code{text-align:center;letter-spacing:.35em;font-family:var(--font-mono);font-size:var(--text-lg);text-transform:uppercase}.seg{display:flex;gap:var(--s-1)}.seg-item{flex:1;min-height:42px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);font-size:var(--text-sm);font-weight:550;color:var(--ink-muted)}.seg-item.is-active{border-color:var(--accent);color:var(--ink);background:var(--accent-wash)}.seg-input{flex:1;min-height:42px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);font-size:var(--text-sm);text-align:center;color:var(--ink);outline:none}.seg-input.is-active{border-color:var(--accent);background:var(--accent-wash)}.seg-input::placeholder{color:var(--ink-subtle)}.join-code{font-family:var(--font-mono);font-size:var(--text-2xl);letter-spacing:.3em;text-align:center;padding:var(--s-4);margin:var(--s-4) 0;border:2px dashed var(--line-strong);border-radius:var(--r-lg)}.datestrip{display:flex;gap:var(--s-1);overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--s-4)) var(--s-4);padding:0 var(--s-4)}.datestrip::-webkit-scrollbar{display:none}.datestrip-day{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:46px;padding:var(--s-2) var(--s-1);border-radius:var(--r-md);border:1px solid transparent;color:var(--ink-muted)}.datestrip-day:hover{background:var(--surface)}.datestrip-day.is-selected{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.datestrip-day.is-today .datestrip-num{color:var(--accent);font-weight:700}.datestrip-dow{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.datestrip-num{font-size:var(--text-md);font-weight:550;font-variant-numeric:tabular-nums}.datestrip-dots{display:flex;gap:2px;height:5px}.datestrip-dot{width:4px;height:4px;border-radius:999px;background:var(--ink-subtle)}.datestrip-dot.is-done{background:var(--signal-progress)}
