:root,[data-theme=studio]{color-scheme:light;--color-bg: #faf7f2;--color-surface: #ffffff;--color-surface-raised: #fffdf9;--color-ink: #1c1a17;--color-ink-muted: #6b655c;--color-ink-faint: #9a9488;--color-line: #e7e0d5;--color-line-strong: #d6cdbd;--color-accent: #7c1d2b;--color-accent-hover: #641622;--color-accent-contrast: #ffffff;--color-gold: #b08300;--color-active: #7c1d2b;--color-active-bg: #f6e7e0;--color-confidence-low: #b4540a;--color-confidence-low-bg: #fbeadb;--color-confidence-med: #8a6d00;--color-confidence-med-bg: #f7f0d8;--color-success: #2f6b3d;--color-warning: #8a6d00;--color-danger: #a3282b;--shadow-sm: 0 1px 2px rgba(28, 26, 23, .06);--shadow-md: 0 4px 16px rgba(28, 26, 23, .08);--shadow-lg: 0 16px 48px rgba(28, 26, 23, .12);--focus-ring: 0 0 0 3px rgba(124, 29, 43, .35)}[data-theme=sanctuary]{color-scheme:dark;--color-bg: #05070d;--color-surface: #0b0f18;--color-surface-raised: #121826;--color-ink: #f6f4ef;--color-ink-muted: #b8b2a6;--color-ink-faint: #7d7768;--color-line: #1c2431;--color-line-strong: #2b3546;--color-accent: #e8c26a;--color-accent-hover: #f2d488;--color-accent-contrast: #05070d;--color-gold: #e8c26a;--color-active: #ffd873;--color-active-bg: rgba(255, 216, 115, .12);--color-confidence-low: #f0a35a;--color-confidence-low-bg: rgba(240, 163, 90, .14);--color-confidence-med: #e8c26a;--color-confidence-med-bg: rgba(232, 194, 106, .12);--color-success: #7fce93;--color-warning: #e8c26a;--color-danger: #f0857f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 6px 20px rgba(0, 0, 0, .55);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 3px rgba(255, 216, 115, .5)}:root{--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5625rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-4xl: 3.052rem;--text-project-lyric: clamp(2.5rem, 7vw, 6rem);--text-project-next: clamp(1.25rem, 3vw, 2.5rem);--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.55;--tracking-tight: -.01em;--tracking-wide: .04em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.3, 0, 0, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--container-max: 72rem;--touch-target-min: 44px}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}h1,h2,h3{font-family:var(--font-serif);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-4)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin:0 0 var(--space-4)}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:2px}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}code,pre{font-family:var(--font-mono);font-size:.9em}.app{display:flex;flex-direction:column;min-height:100dvh}.app__bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-ink);text-decoration:none;letter-spacing:var(--tracking-tight)}.app__nav{display:flex;gap:var(--space-2);margin-inline-start:var(--space-3);margin-inline-end:auto}.navlink{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);color:var(--color-ink-muted);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.navlink:hover{color:var(--color-ink);background:color-mix(in srgb,var(--color-ink) 6%,transparent)}.navlink.active{color:var(--color-accent);background:var(--color-active-bg)}.theme-toggle{display:inline-flex;padding:3px;gap:3px;margin:0;border:0;min-inline-size:0;background:color-mix(in srgb,var(--color-ink) 6%,transparent);border-radius:var(--radius-full)}.theme-toggle__option{border:0;cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);color:var(--color-ink-muted);background:transparent;min-height:var(--touch-target-min);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.theme-toggle__option[aria-pressed=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-sm)}.app__main{flex:1;width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.page{display:flex;flex-direction:column;gap:var(--space-7)}.app__foot{padding:var(--space-5);text-align:center;color:var(--color-ink-faint);font-size:var(--text-sm);border-top:1px solid var(--color-line)}.hero{max-width:46rem}.hero--compact{max-width:40rem}.eyebrow{text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent);margin-bottom:var(--space-2)}.hero__title{font-size:var(--text-4xl);line-height:var(--leading-tight);margin-bottom:var(--space-4)}.hero__lede{font-size:var(--text-lg);color:var(--color-ink-muted);line-height:var(--leading-normal)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);border:1px solid transparent;font:inherit;font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.btn:active{transform:translateY(1px)}.btn--accent{background:var(--color-accent);color:var(--color-accent-contrast)}.btn--accent:hover{background:var(--color-accent-hover)}.btn--ghost{background:transparent;color:var(--color-ink);border-color:var(--color-line-strong)}.btn--ghost:hover{background:color-mix(in srgb,var(--color-ink) 5%,transparent)}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.demo__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.demo__head h2{margin:0}.demo__lyric{font-family:var(--font-serif);font-size:var(--text-3xl);line-height:var(--leading-snug);margin:var(--space-5) 0 var(--space-4)}.lyric-syl{border-radius:var(--radius-sm);padding:0 .06em;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.lyric-syl.is-active{color:var(--color-active);background:var(--color-active-bg)}.demo__notes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.note-pill{min-width:3.2em;text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-ink) 5%,transparent);color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-emphasized)}.note-pill.is-active{background:var(--color-accent);color:var(--color-accent-contrast);transform:translateY(-2px)}.demo__transport{display:flex;align-items:center;gap:var(--space-4)}.progress{flex:1;height:6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-ink) 10%,transparent);overflow:hidden}.progress__fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full)}.demo__time{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.demo__note{margin:var(--space-4) 0 0;color:var(--color-ink-faint);font-size:var(--text-sm);max-width:40rem}.scoreview{background:#fdfbf6;border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;overflow-x:auto;min-height:132px}.scoreview svg{max-width:100%;height:auto}.controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-line)}.control{display:flex;flex-direction:column;gap:var(--space-1)}.control__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-ink-muted);font-weight:var(--weight-medium)}.control__input{min-height:var(--touch-target-min);padding:0 var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.control__input[type=range]{padding:0;min-width:9rem;accent-color:var(--color-accent)}.control__action{margin-inline-start:auto}.stepper{display:inline-flex;gap:var(--space-2)}.stepper__btn{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-lg);cursor:pointer}.stepper__btn:disabled{opacity:.4;cursor:not-allowed}.section-title{font-size:var(--text-2xl)}.roadmap__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.roadmap__item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.roadmap__item.is-current{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.roadmap__badge{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-muted);white-space:nowrap}.roadmap__title{margin:0;font-size:var(--text-lg)}.roadmap__note{margin:0;color:var(--color-ink-muted);font-size:var(--text-sm)}.roadmap__status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-ink-faint)}.roadmap__item.is-current .roadmap__status{color:var(--color-accent)}.tokgroup__title{font-size:var(--text-lg);margin-bottom:var(--space-4)}.tokgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-4)}.tok{display:flex;flex-direction:column;gap:var(--space-2)}.tok__swatch{height:3rem;border-radius:var(--radius-md);border:1px solid var(--color-line)}.tok__type{height:3rem;display:flex;align-items:baseline;font-family:var(--font-serif);color:var(--color-ink);overflow:hidden}.tok__bar{height:12px;background:var(--color-accent);border-radius:var(--radius-full)}.tok__radius{height:3rem;background:color-mix(in srgb,var(--color-accent) 18%,transparent);border:1px solid var(--color-accent)}.tok__motion{height:3rem;display:flex;align-items:center;font-family:var(--font-mono);color:var(--color-ink)}.tok__meta{display:flex;flex-direction:column}.tok__label{font-weight:var(--weight-medium);font-size:var(--text-sm)}.tok__value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-faint);word-break:break-all}@media(max-width:640px){.app__nav{display:none}.hero__title{font-size:var(--text-3xl)}.demo__lyric{font-size:var(--text-2xl)}}
