@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,300;1,6..72,400;1,6..72,500&family=Spectral:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@300;400;500&display=swap";:root{--abyss-ink: #03060f;--abyss-deep: #060c1c;--abyss: #0a1730;--abyss-soft: #102245;--midnight: #1a2f5c;--twilight: #2c4a82;--shoal: #5b82b8;--mist: #b6c8df;--foam: #eef3fa;--surface: #f6f4ee;--vellum: #ece6d6;--lumen: #4afdc6;--lumen-bright: #c6ffe6;--lumen-core: #00ffc4;--lumen-deep: #1f7d62;--lumen-ink: #052a23;--lumen-wash: color-mix(in oklch, var(--lumen) 22%, transparent);--krill: #ffb472;--krill-deep: #c4793a;--coral: #ff6b54;--bg: var(--abyss-deep);--bg-raised: var(--abyss);--bg-card: var(--abyss-soft);--fg: var(--foam);--fg-muted: var(--mist);--fg-quiet: var(--shoal);--line: color-mix(in oklch, var(--foam) 12%, transparent);--line-strong: color-mix(in oklch, var(--foam) 22%, transparent);--accent: var(--lumen);--accent-ink: var(--lumen-ink);--font-display: "Newsreader", "Times New Roman", serif;--font-body: "Spectral", Georgia, "Times New Roman", serif;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Courier New", monospace;--t-hero: clamp(4rem, 9vw, 9.5rem);--t-display: clamp(3rem, 6vw, 5.5rem);--t-h1: clamp(2.25rem, 4vw, 3.5rem);--t-h2: clamp(1.75rem, 2.4vw, 2.25rem);--t-h3: 1.5rem;--t-lede: 1.375rem;--t-body: 1.0625rem;--t-small: .9375rem;--t-micro: .75rem;--lh-tight: 1.05;--lh-snug: 1.2;--lh-body: 1.55;--lh-loose: 1.7;--tr-tight: -.025em;--tr-display: -.018em;--tr-body: 0;--tr-label: .18em;--tr-wide: .32em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 144px;--space-11: 200px;--r-none: 0;--r-soft: 3px;--r-card: 6px;--r-lozenge: 999px;--b-hair: 1px solid var(--line);--b-rule: 1px solid var(--line-strong);--b-glow: 1px solid color-mix(in oklch, var(--lumen) 50%, transparent);--shadow-deep: 0 1px 0 color-mix(in oklch, var(--foam) 5%, transparent) inset, 0 24px 60px -20px rgba(0,0,0,.55), 0 6px 16px -8px rgba(0,0,0,.4);--shadow-card: 0 1px 0 color-mix(in oklch, var(--foam) 4%, transparent) inset, 0 8px 24px -12px rgba(0,0,0,.45);--shadow-lumen: 0 0 0 1px color-mix(in oklch, var(--lumen) 60%, transparent), 0 0 28px -2px color-mix(in oklch, var(--lumen) 65%, transparent), 0 0 80px -8px color-mix(in oklch, var(--lumen) 40%, transparent);--shadow-lumen-soft: 0 0 32px -8px color-mix(in oklch, var(--lumen) 55%, transparent);--glow-soft: drop-shadow(0 0 6px color-mix(in oklch, var(--lumen) 80%, transparent));--glow-strong: drop-shadow(0 0 12px var(--lumen-core)) drop-shadow(0 0 36px color-mix(in oklch, var(--lumen-core) 55%, transparent));--glow-text: 0 0 12px color-mix(in oklch, var(--lumen) 75%, transparent), 0 0 32px color-mix(in oklch, var(--lumen) 35%, transparent);--ease-glide: cubic-bezier(.22, .61, .36, 1);--ease-sound: cubic-bezier(.16, 1, .3, 1);--ease-current: cubic-bezier(.65, 0, .35, 1);--dur-quick: .24s;--dur-normal: .48s;--dur-slow: .9s;--dur-drift: 1.8s}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.eyebrow,.label{font-family:var(--font-sans);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:var(--tr-label);font-weight:500;color:var(--fg-quiet)}.eyebrow--lumen{color:var(--lumen);text-shadow:var(--glow-text)}.hl{background-image:linear-gradient(transparent 0%,transparent 55%,var(--lumen-wash) 55%,var(--lumen-wash) 92%,transparent 92%);background-repeat:no-repeat;padding:0 .12em;color:var(--foam);border-radius:1px}.hl-line{position:relative;color:var(--foam);white-space:nowrap}.hl-line:after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:.08em;background:var(--lumen);box-shadow:0 0 12px var(--lumen-core),0 0 28px color-mix(in oklch,var(--lumen-core) 60%,transparent);border-radius:1px}.glow{color:var(--lumen);text-shadow:var(--glow-text)}.glow-strong{color:var(--lumen-bright);text-shadow:0 0 8px var(--lumen-core),0 0 24px var(--lumen-core),0 0 64px color-mix(in oklch,var(--lumen-core) 60%,transparent)}.hero{font-family:var(--font-display);font-size:var(--t-hero);line-height:var(--lh-tight);letter-spacing:var(--tr-tight);font-weight:400;font-variation-settings:"opsz" 60;color:var(--fg);text-wrap:balance}.display{font-family:var(--font-display);font-size:var(--t-display);line-height:var(--lh-snug);letter-spacing:var(--tr-display);font-weight:400;font-variation-settings:"opsz" 48;text-wrap:balance}h1,.h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--lh-tight);letter-spacing:var(--tr-display);font-weight:400;font-variation-settings:"opsz" 36;text-wrap:balance;margin:0}h2,.h2{font-family:var(--font-display);font-size:var(--t-h2);line-height:var(--lh-snug);letter-spacing:-.012em;font-weight:400;margin:0}h3,.h3{font-family:var(--font-display);font-size:var(--t-h3);line-height:var(--lh-snug);font-weight:500;margin:0}.lede{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--t-lede);line-height:var(--lh-loose);color:var(--fg-muted);text-wrap:pretty}p,.p{font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);margin:0 0 1em;max-width:65ch;text-wrap:pretty}.small{font-size:var(--t-small);color:var(--fg-muted)}.caption{font-family:var(--font-sans);font-size:var(--t-small);color:var(--fg-muted);letter-spacing:.005em}code,.mono,.data{font-family:var(--font-mono);font-size:.95em;font-weight:400;letter-spacing:-.005em;font-feature-settings:"tnum"}.coord{font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.02em;color:var(--fg-muted);font-feature-settings:"tnum","zero"}.pullquote{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2rem,4vw,3.25rem);line-height:1.18;letter-spacing:-.012em;color:var(--fg);text-wrap:balance}.numeric{font-family:var(--font-display);font-size:clamp(3rem,7vw,7rem);font-weight:300;line-height:.95;letter-spacing:-.04em;font-variant-numeric:tabular-nums lining-nums;color:var(--lumen-bright);text-shadow:0 0 14px var(--lumen-core),0 0 48px color-mix(in oklch,var(--lumen-core) 60%,transparent),0 0 120px color-mix(in oklch,var(--lumen-core) 30%,transparent)}.numeric sup,.numeric .unit{font-family:var(--font-sans);font-size:.22em;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--fg-quiet);vertical-align:top;margin-left:.4em}em,.italic{font-style:italic}strong{font-weight:600;color:var(--fg)}.lumen{color:var(--lumen)}.krill{color:var(--krill)}.muted{color:var(--fg-muted)}.quiet{color:var(--fg-quiet)}.contour{border:0;border-top:1px solid var(--line);margin:var(--space-7) 0}.contour--strong{border-top-color:var(--line-strong)}.bracket:before{content:"[ ";color:var(--fg-quiet)}.bracket:after{content:" ]";color:var(--fg-quiet)}::selection{background:var(--lumen);color:var(--lumen-ink);text-shadow:none}:focus-visible{outline:2px solid var(--lumen);outline-offset:3px;border-radius:2px;box-shadow:var(--shadow-lumen-soft)}html,body,#root{background:var(--abyss-deep);color:var(--foam);margin:0;min-height:100vh}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:color-mix(in oklch,var(--abyss-ink) 90%,transparent);padding:28px 22px;display:flex;flex-direction:column;gap:28px}.side .brand{display:flex;align-items:center;gap:10px;color:var(--foam)}.side .brand .mark{width:132px;height:auto}.side .nav{display:flex;flex-direction:column;gap:2px}.side .nav-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal);padding:18px 10px 8px}.side .nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;color:var(--mist);font-family:var(--font-sans);font-size:14px;letter-spacing:.01em;cursor:pointer;transition:background var(--dur-quick) var(--ease-glide),color var(--dur-quick) var(--ease-glide);position:relative}.side .nav a:hover{color:var(--foam);background:color-mix(in oklch,var(--foam) 4%,transparent)}.side .nav a.active{color:var(--lumen);background:color-mix(in oklch,var(--lumen) 8%,transparent)}.side .nav a .ico{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:currentColor}.side .nav a .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--shoal);font-feature-settings:"tnum"}.side .nav a.active .count{color:var(--lumen)}.side .now{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.side .now .row{display:flex;justify-content:space-between}.side .now .row .v{color:var(--foam)}.side .now .streak{display:flex;align-items:baseline;gap:6px;margin-top:4px}.side .now .streak .n{font-family:var(--font-display);font-size:28px;color:var(--lumen-bright);text-shadow:var(--glow-text);letter-spacing:-.02em;font-weight:300}.side .now .streak .l{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--shoal)}.main{min-width:0;padding:32px 56px 96px;position:relative}.topbar{display:flex;align-items:center;gap:24px;padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid var(--line)}.topbar .crumb{font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);display:flex;gap:12px;align-items:center}.topbar .crumb .sep{opacity:.45}.topbar .crumb .here{color:var(--foam)}.topbar .right{margin-left:auto;display:flex;gap:12px;align-items:center}.topbar .date{font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em}.sonar-faint{position:absolute;top:40px;right:-120px;width:540px;height:540px;color:var(--lumen);opacity:.1;pointer-events:none;z-index:0}.sonar-faint img{width:100%;height:100%;display:block}.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:40px}.page-hero .eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--font-sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);margin-bottom:18px}.page-hero .eyebrow .rule{width:24px;height:1px;background:currentColor}.page-hero h1{font-family:var(--font-display);font-size:clamp(48px,5.6vw,76px);line-height:.98;letter-spacing:-.024em;font-weight:400;font-variation-settings:"opsz" 48;color:var(--foam);margin:0;text-wrap:balance;max-width:18ch}.page-hero h1 em{font-style:italic;color:var(--mist);font-weight:300}.page-hero .lede{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:20px;line-height:1.5;color:var(--mist);max-width:34ch;margin-top:16px}.page-hero .meta-col{display:flex;flex-direction:column;gap:12px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em;min-width:220px}.page-hero .meta-col .v{color:var(--foam)}.btn{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--foam);transition:all var(--dur-quick) var(--ease-glide)}.btn-primary{background:var(--lumen);color:var(--lumen-ink);box-shadow:var(--shadow-lumen-soft)}.btn-primary:hover{background:var(--lumen-bright)}.btn-ghost{border-color:var(--line-strong);color:var(--mist)}.btn-ghost:hover{color:var(--foam);border-color:var(--shoal)}.btn .arrow{display:inline-block;transition:transform var(--dur-quick) var(--ease-glide)}.btn:hover .arrow{transform:translate(3px)}.icon-btn{width:36px;height:36px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--mist);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--dur-quick) var(--ease-glide)}.icon-btn:hover{color:var(--foam);border-color:var(--shoal)}.icon-btn.lumen{color:var(--lumen);border-color:color-mix(in oklch,var(--lumen) 40%,transparent)}.icon-btn.lumen:hover{background:var(--lumen);color:var(--lumen-ink)}.card{background:var(--abyss);border:1px solid var(--line);border-radius:6px;padding:24px}.card .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.card .head h3{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:-.018em;color:var(--foam);margin:0}.card .head .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.surface{background:#5b82b8}.dot.shallow{background:#4afdc6;opacity:.65}.dot.deep{background:var(--lumen);box-shadow:0 0 8px var(--lumen-core)}.dot.struggle{background:var(--coral);box-shadow:0 0 8px color-mix(in oklch,var(--coral) 60%,transparent)}.dot.warm{background:var(--krill)}.lib-grid{display:grid;grid-template-columns:1fr 360px;gap:56px;margin-top:12px}.lib-rail{display:flex;flex-direction:column;gap:32px}.lib-filter-row{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.lib-filter-row .filter-chip{font-family:var(--font-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);color:var(--mist);background:transparent;cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.lib-filter-row .filter-chip.active{background:var(--lumen);color:var(--lumen-ink);border-color:var(--lumen)}.lib-filter-row .filter-chip:hover:not(.active){color:var(--foam);border-color:var(--shoal)}.lib-filter-row .spacer{flex:1}.lib-filter-row .sort{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.06em}.lib-filter-row .sort b{color:var(--foam);font-weight:400}.lib-group{margin-bottom:40px}.lib-group-head{display:flex;align-items:baseline;gap:16px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line)}.lib-group-head .name{font-family:var(--font-display);font-size:28px;font-weight:400;letter-spacing:-.02em;color:var(--foam)}.lib-group-head .latin{font-family:var(--font-body);font-style:italic;font-size:14px;color:var(--shoal)}.lib-group-head .count{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em}.piece-row{display:grid;grid-template-columns:36px 1.2fr 160px 130px 90px 130px 50px;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.piece-row:hover{background:color-mix(in oklch,var(--foam) 3%,transparent);padding-left:8px;padding-right:8px}.piece-row .play{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--mist);background:transparent;cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.piece-row:hover .play{background:var(--lumen);border-color:var(--lumen);color:var(--lumen-ink)}.piece-row .title{font-family:var(--font-display);font-size:22px;letter-spacing:-.014em;font-weight:400;color:var(--foam)}.piece-row .title em{font-style:italic;font-weight:300;color:var(--mist);font-size:.78em;margin-left:8px}.piece-row .composer{font-family:var(--font-body);font-style:italic;font-size:13px;color:var(--shoal);margin-top:4px}.piece-row .progress{display:flex;flex-direction:column;gap:6px}.piece-row .progress .bar{height:3px;background:color-mix(in oklch,var(--foam) 8%,transparent);border-radius:2px;overflow:hidden;position:relative}.piece-row .progress .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lumen);box-shadow:0 0 8px var(--lumen-core);transform-origin:left}.piece-row .progress .pct{font-family:var(--font-mono);font-size:11px;color:var(--mist);letter-spacing:.04em}.piece-row .depth{font-family:var(--font-mono);font-size:12px;color:var(--shoal);text-align:right;letter-spacing:.04em}.piece-row .depth .v{color:var(--foam)}.piece-row .last{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.piece-row .more{text-align:right;color:var(--shoal)}.score-thumb{width:160px;height:70px;overflow:hidden;position:relative;display:flex;align-items:center;border-left:1px solid color-mix(in oklch,var(--lumen) 20%,transparent);padding-left:12px;opacity:.78;transition:opacity var(--dur-quick) var(--ease-glide)}.piece-row:hover .score-thumb{opacity:1}.score-thumb svg{max-width:100%;max-height:100%;display:block}.score-thumb svg *{fill:var(--mist)!important;stroke:var(--mist)!important}.piece-row:hover .score-thumb svg *{fill:var(--lumen-bright)!important;stroke:var(--lumen-bright)!important}.score-thumb .loading{font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.12em}.score-big{width:100%;padding:24px;background:var(--abyss-soft);border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center}.score-big svg{max-width:100%;height:auto}.score-big svg *{fill:var(--foam)!important;stroke:var(--foam)!important}.today-panel{display:flex;flex-direction:column;gap:16px}.today-panel .head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}.today-panel .head .l{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.today-panel .head .date{font-family:var(--font-mono);font-size:12px;color:var(--foam);letter-spacing:.04em}.today-panel .quote{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:22px;line-height:1.35;color:var(--mist);border-left:1px solid var(--lumen);padding:8px 0 8px 20px;margin:0;text-wrap:balance}.today-panel .quote cite{display:block;font-style:normal;font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal);margin-top:10px}.queue-list{display:flex;flex-direction:column;gap:12px}.queue-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--abyss-soft);cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.queue-item:hover{border-color:color-mix(in oklch,var(--lumen) 30%,transparent)}.queue-item .ord{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;width:24px}.queue-item .what{flex:1;min-width:0}.queue-item .what .t{font-family:var(--font-display);font-size:16px;color:var(--foam);letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item .what .s{font-family:var(--font-sans);font-size:11px;color:var(--mist);margin-top:2px}.queue-item .min{font-family:var(--font-mono);font-size:12px;color:var(--mist);letter-spacing:.04em}.depth-strip{display:flex;flex-direction:column;gap:10px}.depth-strip .row{display:grid;grid-template-columns:60px 1fr 60px;gap:12px;align-items:center;font-family:var(--font-mono);font-size:11px;color:var(--shoal)}.depth-strip .row .name{color:var(--mist);text-transform:uppercase;letter-spacing:.16em;font-size:10px}.depth-strip .row .bar{height:4px;background:linear-gradient(to right,color-mix(in oklch,var(--coral) 18%,transparent),color-mix(in oklch,var(--krill) 18%,transparent) 30%,color-mix(in oklch,var(--lumen) 18%,transparent));border-radius:2px;position:relative}.depth-strip .row .pin{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--foam);border:1px solid var(--abyss-deep);transform:translate(-50%)}.depth-strip .row .num{color:var(--foam);text-align:right}.specimen-head{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:end;margin-bottom:40px}.specimen-head .eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--lumen);margin-bottom:18px}.specimen-head .eyebrow .rule{width:22px;height:1px;background:currentColor}.specimen-head h1{font-family:var(--font-display);font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.022em;font-weight:400;color:var(--foam);margin:0 0 12px;text-wrap:balance}.specimen-head h1 em{font-style:italic;font-weight:300;color:var(--mist);display:block;font-size:.55em;margin-top:8px;letter-spacing:-.012em}.specimen-head .composer{font-family:var(--font-body);font-style:italic;font-size:18px;color:var(--mist)}.specimen-head .coord-row{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:22px;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em}.specimen-head .coord-row .v{color:var(--foam);margin-left:6px}.specimen-head .stats-col{display:flex;flex-direction:column;gap:12px;padding-left:40px;border-left:1px solid var(--line)}.specimen-head .stats-col .stat{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--shoal)}.specimen-head .stats-col .stat .v{font-family:var(--font-display);font-size:28px;font-weight:300;color:var(--foam);letter-spacing:-.02em}.specimen-head .stats-col .stat .v.lumen{color:var(--lumen-bright);text-shadow:var(--glow-text)}.unit-sm{font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-left:6px;text-shadow:none}.specimen-head .stats-col .stat .v.lumen .unit-sm{color:var(--shoal)}.header-actions{display:flex;gap:12px;margin-top:28px;align-items:center}.piece-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;margin-top:12px}.piece-rail{display:flex;flex-direction:column;gap:28px}.score-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.score-toolbar .eyebrow{font-family:var(--font-sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.score-toolbar .spacer{flex:1}.tog-chip{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--shoal);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all var(--dur-quick) var(--ease-glide)}.tog-chip .tog-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in oklch,var(--foam) 14%,transparent);transition:all var(--dur-quick) var(--ease-glide)}.tog-chip:hover{color:var(--foam);border-color:var(--line-strong)}.tog-chip.on{color:var(--lumen);border-color:color-mix(in oklch,var(--lumen) 45%,transparent)}.tog-chip.on .tog-dot{background:var(--lumen);box-shadow:0 0 8px var(--lumen-core)}.sel-strip{margin-top:14px;padding:12px 18px;background:color-mix(in oklch,var(--lumen) 7%,transparent);border:1px solid color-mix(in oklch,var(--lumen) 35%,transparent);border-radius:4px;display:flex;align-items:center;gap:16px;font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lumen)}.sel-strip .meta{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;text-transform:none}.sel-strip .spacer{flex:1}.sel-strip .btn{padding:8px 14px}.sect-head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:14px}.sect-head .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.sect-head .title{font-family:var(--font-display);font-size:26px;font-weight:400;letter-spacing:-.018em;color:var(--foam)}.sect-head .right{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--shoal)}.cue-list{display:flex;flex-direction:column}.cue-row{display:grid;grid-template-columns:48px 100px 1fr 100px 90px 90px 28px;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding var(--dur-quick) var(--ease-glide)}.cue-row:hover{padding-left:8px;padding-right:8px;background:color-mix(in oklch,var(--foam) 2%,transparent)}.cue-row.active{background:color-mix(in oklch,var(--lumen) 6%,transparent);padding-left:8px;padding-right:8px}.cue-row .pin-num{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.cue-row .pin-num .marker{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:4px;vertical-align:middle}.cue-row .pin-num .marker.good{background:var(--lumen);box-shadow:0 0 8px var(--lumen-core)}.cue-row .pin-num .marker.warn{background:var(--krill)}.cue-row .pin-num .marker.bad{background:var(--coral);box-shadow:0 0 8px color-mix(in oklch,var(--coral) 60%,transparent)}.cue-row .measures{font-family:var(--font-mono);font-size:12px;color:var(--mist);letter-spacing:.04em}.cue-row .label{font-family:var(--font-display);font-size:17px;font-weight:400;color:var(--foam);letter-spacing:-.012em}.cue-row .label .sub{font-family:var(--font-body);font-style:italic;font-size:13px;color:var(--mist);display:block;margin-top:2px}.cue-row .tempo{font-family:var(--font-mono);font-size:12px;color:var(--shoal)}.cue-row .conf{display:flex;align-items:center;gap:6px}.cue-row .conf .pips{display:flex;gap:2px}.cue-row .conf .pip{width:7px;height:7px;border-radius:1px;background:color-mix(in oklch,var(--foam) 14%,transparent)}.cue-row .conf .pip.good{background:var(--lumen);box-shadow:0 0 6px var(--lumen-core)}.cue-row .conf .pip.warn{background:var(--krill);box-shadow:0 0 6px var(--krill)}.cue-row .conf .pip.bad{background:var(--coral)}.cue-row .reps{font-family:var(--font-mono);font-size:11px;color:var(--shoal);text-align:right;letter-spacing:.04em}.cue-row .more{color:var(--shoal);text-align:right}.pinned-section-card{background:var(--abyss);border:1px solid var(--line);border-top:1px solid color-mix(in oklch,var(--lumen) 60%,transparent);border-radius:6px;padding:22px 24px}.pinned-section-card .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);margin-bottom:8px}.pinned-section-card .title{font-family:var(--font-display);font-size:26px;font-weight:400;letter-spacing:-.018em;color:var(--foam);margin-bottom:4px}.pinned-section-card .sub{font-family:var(--font-body);font-style:italic;color:var(--mist);font-size:14px;margin-bottom:18px}.pinned-section-card .row-stats{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.pinned-section-card .row-stats b{color:var(--foam);font-weight:400}.pinned-section-card .acts{display:flex;gap:8px;margin-top:16px}.pinned-section-card .acts .btn{padding:8px 16px;font-size:10px}.card .step{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-family:var(--font-body);font-size:15px;color:var(--mist);line-height:1.45}.card .step:first-of-type{border-top:0;padding-top:0}.card .step .n{font-family:var(--font-mono);font-size:11px;color:var(--lumen);letter-spacing:.04em;flex-shrink:0;padding-top:3px}.card .step.done{color:var(--shoal);text-decoration:line-through;text-decoration-color:color-mix(in oklch,var(--lumen) 50%,transparent)}.card .step.done .n{color:var(--shoal)}.card .step.active .n{color:var(--lumen-bright);text-shadow:var(--glow-text)}.history-row{display:grid;grid-template-columns:90px 1fr 60px;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em;align-items:center}.history-row:first-of-type{border-top:0}.history-row .date{color:var(--mist)}.history-row .bar-wrap{position:relative;height:6px;background:color-mix(in oklch,var(--foam) 6%,transparent);border-radius:2px}.history-row .bar-wrap .fill{position:absolute;left:0;top:0;bottom:0;background:var(--lumen);border-radius:2px;box-shadow:0 0 6px var(--lumen-core)}.history-row .min{color:var(--foam);text-align:right}.history-foot{margin-top:12px;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.note-entry{padding:14px 0;border-top:1px solid var(--line);font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--mist)}.note-entry:first-of-type{border-top:0;padding-top:0}.note-entry .when{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;margin-bottom:4px;display:block}.note-entry .body{color:var(--foam)}.note-entry .body em{color:var(--lumen);font-style:italic}.score-big svg g.measure{cursor:pointer}.score-big svg g.measure:hover .heat-rect{opacity:.36!important}.recording-badge{font-family:var(--font-mono);font-size:11px;color:var(--lumen);letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.session-page{position:relative;min-height:calc(100vh - 200px)}.session-page .bio-bg{position:absolute;top:-40px;right:-56px;bottom:0;left:-56px;color:var(--lumen-core);opacity:.3;mix-blend-mode:screen;pointer-events:none;z-index:0}.session-page .bio-bg img{width:100%;height:100%;display:block;object-fit:cover}.session-page>.layer{position:relative;z-index:1}.session-grid{display:grid;grid-template-columns:1fr 360px;gap:56px;margin-top:20px}.session-stage{background:color-mix(in oklch,var(--abyss) 88%,transparent);border:1px solid var(--line);border-top:1px solid color-mix(in oklch,var(--lumen) 50%,transparent);border-radius:6px;padding:40px 44px;display:flex;flex-direction:column;gap:28px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.session-piece{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.session-piece .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);margin-bottom:8px}.session-piece h2{font-family:var(--font-display);font-size:38px;font-weight:400;letter-spacing:-.022em;line-height:1.04;color:var(--foam);margin:0}.session-piece h2 em{font-style:italic;color:var(--mist);font-weight:300;display:block;font-size:18px;margin-top:6px}.session-piece .right{display:flex;flex-direction:column;gap:6px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em}.session-piece .right .v{color:var(--foam)}.session-focus{text-align:center;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.session-focus .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal);margin-bottom:14px}.session-focus .title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:32px;line-height:1.2;color:var(--foam);margin:0 0 12px;text-wrap:balance}.session-focus .meas{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:var(--mist)}.session-timer{display:flex;justify-content:center;align-items:center;gap:48px}.session-timer .clock-col{width:320px;max-width:50%}.session-timer .clock{font-family:var(--font-display);font-size:96px;font-weight:300;line-height:1;color:var(--lumen-bright);font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-shadow:0 0 16px var(--lumen-core),0 0 56px var(--lumen-core),0 0 120px color-mix(in oklch,var(--lumen-core) 35%,transparent)}.session-timer .clock.paused{color:var(--mist);text-shadow:none}.session-timer .clock .sm{font-size:.32em;color:var(--shoal);text-shadow:none;margin-left:6px}.session-timer .goal-bar{height:3px;background:color-mix(in oklch,var(--foam) 8%,transparent);border-radius:2px;margin-top:8px;overflow:hidden;position:relative}.session-timer .goal-bar .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lumen);box-shadow:0 0 6px var(--lumen-core);transform-origin:left;transition:transform .4s var(--ease-glide)}.session-timer .goal-legend{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;margin-top:8px}.session-timer .controls{display:flex;flex-direction:column;gap:10px}.session-timer .controls .play-btn{width:84px;height:84px;border-radius:50%;background:var(--lumen);color:var(--lumen-ink);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lumen);transition:transform var(--dur-quick) var(--ease-glide)}.session-timer .controls .play-btn:hover{transform:scale(1.05)}.metro{display:flex;align-items:center;justify-content:center;gap:22px;padding:18px 0}.metro .pips{display:flex;gap:10px}.metro .pip{width:12px;height:12px;border-radius:50%;background:color-mix(in oklch,var(--foam) 12%,transparent);transition:all 80ms var(--ease-glide)}.metro .pip.active{background:var(--lumen);box-shadow:0 0 12px var(--lumen-core),0 0 28px color-mix(in oklch,var(--lumen-core) 60%,transparent)}.metro .pip.downbeat{width:14px;height:14px;background:var(--lumen-bright);box-shadow:0 0 16px var(--lumen-core),0 0 36px var(--lumen-core)}.metro .bpm{font-family:var(--font-display);font-size:36px;font-weight:300;color:var(--foam);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:8px}.metro .bpm .unit{font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal)}.metro .tempo-ctl{display:flex;gap:6px;align-items:center}.metro .tempo-ctl button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--mist);font-family:var(--font-mono);font-size:14px;cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.metro .tempo-ctl button:hover{color:var(--foam);border-color:var(--shoal)}.session-score-block{border-top:1px solid var(--line);padding-top:18px}.session-score-block .score-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-bottom:12px}.session-score-block .score-head .open-full{cursor:pointer;color:var(--mist)}.session-score-block .score-head .open-full:hover{color:var(--lumen)}.session-score{background:var(--abyss-deep);border-radius:4px;padding:12px;display:flex;align-items:center;justify-content:center;min-height:80px}.session-score svg{max-width:100%;height:auto}.session-score svg g.note,.session-score svg g.rest,.session-score svg .staff path,.session-score svg .barLine path{fill:var(--mist);stroke:var(--mist)}.session-score svg g.note.note-playing,.session-score svg g.note.note-playing *{fill:var(--lumen-bright)!important;stroke:var(--lumen-bright)!important;filter:drop-shadow(0 0 5px var(--lumen-core))}.session-score .loading{font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.12em}.session-score-block .score-pos{height:3px;margin-top:10px;background:color-mix(in oklch,var(--foam) 8%,transparent);border-radius:2px;overflow:hidden;position:relative}.session-score-block .score-pos .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lumen-core);box-shadow:0 0 8px var(--lumen-core);transform-origin:left}.session-rail{display:flex;flex-direction:column;gap:24px}.loop-card,.quick-notes,.session-prog{background:var(--abyss);border:1px solid var(--line);border-radius:6px;padding:22px 24px}.loop-card .eyebrow,.quick-notes .eyebrow,.session-prog .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal);margin-bottom:12px}.loop-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.loop-row:first-of-type{border-top:0}.loop-row .name{font-family:var(--font-body);font-size:14px;color:var(--foam);font-style:italic}.loop-row .meas{font-family:var(--font-mono);font-size:11px;color:var(--shoal)}.loop-row .pick{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);cursor:pointer;background:transparent;border:none;transition:color var(--dur-quick) var(--ease-glide)}.loop-row .pick:hover,.loop-row.active .name,.loop-row.active .pick{color:var(--lumen)}.quick-notes textarea{width:100%;background:var(--abyss-deep);border:1px solid var(--line);border-radius:4px;color:var(--foam);font-family:var(--font-body);font-size:14px;padding:12px;resize:vertical;min-height:100px;line-height:1.5}.quick-notes textarea:focus{outline:none;border-color:color-mix(in oklch,var(--lumen) 40%,transparent);box-shadow:var(--shadow-lumen-soft)}.quick-notes .saved{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--lumen);margin-top:8px;display:flex;align-items:center;gap:6px}.quick-notes .saved .pulse{width:6px;height:6px;border-radius:50%;background:var(--lumen);box-shadow:0 0 8px var(--lumen-core);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.log-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.session-prog .ring-wrap{display:flex;justify-content:center;align-items:center;padding:8px 0 16px;position:relative;height:180px}.session-prog .ring-wrap .center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.session-prog .ring-wrap .center .n{font-family:var(--font-display);font-size:38px;font-weight:300;color:var(--lumen-bright);text-shadow:var(--glow-text);letter-spacing:-.02em;line-height:1}.session-prog .ring-wrap .center .l{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-top:4px}.session-prog .sub-row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.session-prog .sub-row .v{color:var(--foam)}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--mist);background:transparent}.chip.lumen{color:var(--lumen);border-color:color-mix(in oklch,var(--lumen) 45%,transparent);background:color-mix(in oklch,var(--lumen) 8%,transparent)}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-summary .cell{padding:28px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.stats-summary .cell:last-child{border-right:0}.stats-summary .cell .lbl{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal)}.stats-summary .cell .n{font-family:var(--font-display);font-size:56px;font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--foam);font-variant-numeric:tabular-nums}.stats-summary .cell .n.lumen{color:var(--lumen-bright);text-shadow:var(--glow-text)}.stats-summary .cell .n .unit{font-family:var(--font-sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-left:6px;text-shadow:none}.stats-summary .cell .delta{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--shoal)}.stats-summary .cell .delta b{color:var(--foam);font-weight:400}.stats-summary .cell .delta.up b{color:var(--lumen)}.stats-summary .cell .delta.down b{color:var(--krill)}.stats-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;margin-bottom:56px}.stats-card{background:var(--abyss);border:1px solid var(--line);border-radius:6px;padding:28px}.stats-card .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}.stats-card .head .l{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.stats-card .head .t{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:-.018em;color:var(--foam);margin:0}.stats-card .head .r{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.stats-card .head .r.heat-legend-r{display:flex;align-items:center;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.stats-card .head .r.heat-legend-r .swatches{display:inline-flex;margin:0 8px}.year-heatmap{display:block;margin:8px 0 4px}.year-heatmap .month-label{font-family:var(--font-sans);font-size:9px;letter-spacing:.16em;text-transform:uppercase;fill:var(--shoal)}.bars{display:flex;flex-direction:column;gap:14px;padding:8px 0}.bars .row{display:grid;grid-template-columns:1fr 60px;gap:16px;align-items:center}.bars .row .lbl{display:flex;align-items:baseline;gap:12px}.bars .row .lbl .name{font-family:var(--font-body);font-size:14px;color:var(--foam);font-style:italic}.bars .row .lbl .who{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal)}.bars .row .v{grid-row:1;grid-column:2;font-family:var(--font-mono);font-size:12px;color:var(--foam);text-align:right;letter-spacing:.04em}.bars .row .bar-wrap{grid-column:1 / -1;height:6px;background:color-mix(in oklch,var(--foam) 5%,transparent);border-radius:2px;position:relative;overflow:hidden}.bars .row .bar{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,color-mix(in oklch,var(--lumen) 75%,transparent),var(--lumen));border-radius:2px;box-shadow:0 0 8px var(--lumen-core);transform-origin:left;transition:transform var(--dur-normal) var(--ease-glide)}.bars .row .bar.compose{background:linear-gradient(to right,color-mix(in oklch,var(--krill) 75%,transparent),var(--krill));box-shadow:0 0 8px color-mix(in oklch,var(--krill) 70%,transparent)}.week-stacked{width:100%}.week-stacked .gridline{stroke:color-mix(in oklch,var(--foam) 7%,transparent);stroke-width:1}.week-stacked .ytick{font-family:var(--font-mono);font-size:9px;fill:var(--shoal);letter-spacing:.04em}.week-stacked .seg.piano{fill:var(--lumen)}.week-stacked .seg.guitar{fill:color-mix(in oklch,var(--lumen) 55%,transparent)}.week-stacked .seg.compose{fill:color-mix(in oklch,var(--krill) 80%,transparent)}.week-stacked .day-name{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;fill:var(--shoal);text-anchor:middle}.week-stacked .day-date{font-family:var(--font-mono);font-size:11px;fill:var(--foam);text-anchor:middle}.week-stacked .day.today .day-date{fill:var(--lumen)}.legend{display:flex;gap:18px;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal)}.legend .item{display:flex;align-items:center;gap:6px}.legend .sw{width:10px;height:10px;border-radius:1px}.legend .sw.piano{background:var(--lumen)}.legend .sw.guitar{background:color-mix(in oklch,var(--lumen) 55%,transparent)}.legend .sw.compose{background:color-mix(in oklch,var(--krill) 80%,transparent)}.recent-list{display:flex;flex-direction:column}.recent-row{display:grid;grid-template-columns:110px 1fr 80px 70px;gap:16px;padding:14px 0;border-top:1px solid var(--line);align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em}.recent-row:first-of-type{border-top:0}.recent-row .when{color:var(--mist)}.recent-row .what{font-family:var(--font-body);font-size:14px;color:var(--foam);font-style:italic}.recent-row .what .sub{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal);margin-left:8px;font-style:normal}.recent-row .min{color:var(--foam);text-align:right}.recent-row .mood{display:flex;gap:2px;justify-content:flex-end}.recent-row .mood .pip{width:6px;height:6px;border-radius:50%;background:color-mix(in oklch,var(--foam) 12%,transparent)}.recent-row .mood .pip.on{background:var(--lumen);box-shadow:0 0 4px var(--lumen-core)}.sketch-grid{display:grid;grid-template-columns:320px 1fr 320px;gap:32px;margin-top:12px}.sketch-list .head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.sketch-list .head .l{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.sketch-list .head .c{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.sketch-item{padding:14px 12px;border-radius:4px;cursor:pointer;transition:background var(--dur-quick) var(--ease-glide);margin-bottom:2px;border:1px solid transparent}.sketch-item:hover{background:color-mix(in oklch,var(--foam) 3%,transparent)}.sketch-item.active{background:color-mix(in oklch,var(--lumen) 8%,transparent);border-color:color-mix(in oklch,var(--lumen) 30%,transparent)}.sketch-item .t{font-family:var(--font-display);font-size:18px;font-weight:400;letter-spacing:-.014em;color:var(--foam);margin-bottom:4px}.sketch-item .t em{font-style:italic;font-weight:300;color:var(--mist);font-size:.85em;display:block}.sketch-item .meta{display:flex;gap:12px;font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.04em;margin-top:6px}.sketch-item.active .t{color:var(--lumen)}.sketch-detail{background:var(--abyss);border:1px solid var(--line);border-radius:6px;padding:36px 40px;min-height:720px}.sketch-detail .top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.sketch-detail .top .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);margin-bottom:10px}.sketch-detail .top h2{font-family:var(--font-display);font-size:42px;line-height:1.05;font-weight:400;letter-spacing:-.022em;color:var(--foam);margin:0;text-wrap:balance}.sketch-detail .top h2 em{font-style:italic;color:var(--mist);font-weight:300;font-size:.55em;display:block;margin-top:6px}.sketch-detail .top .meta-block{text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--shoal);letter-spacing:.04em;white-space:nowrap;display:flex;flex-direction:column;gap:4px}.sketch-detail .top .meta-block span{color:var(--foam)}.sketch-detail .tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}.sketch-detail .tabs button{background:transparent;border:none;color:var(--mist);font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:10px 18px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-quick) var(--ease-glide)}.sketch-detail .tabs button:hover{color:var(--foam)}.sketch-detail .tabs button.active{color:var(--lumen);border-color:var(--lumen)}.lyric-block{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:20px;line-height:1.7;color:var(--foam);white-space:pre-line;text-wrap:pretty;max-width:36em}.lyric-block .marker{display:block;font-family:var(--font-sans);font-style:normal;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--lumen);margin:28px 0 10px}.lyric-block .marker:first-child{margin-top:0}.lyric-block .annot{display:block;font-family:var(--font-sans);font-style:normal;font-size:13px;color:var(--krill);letter-spacing:.02em;line-height:1.5}.harmony-eyebrow{font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--lumen);margin-bottom:18px}.harmony-eyebrow.muted{color:var(--shoal)}.chord-row{display:flex;gap:24px;flex-wrap:wrap;padding:20px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chord-row .chord{text-align:center;min-width:80px}.chord-row .chord .sym{font-family:var(--font-display);font-size:30px;color:var(--foam);font-style:italic;font-weight:300;letter-spacing:-.02em}.chord-row .chord .rom{font-family:var(--font-mono);font-size:11px;color:var(--lumen);letter-spacing:.06em;margin-top:6px}.harmony-score{margin-top:28px;background:var(--abyss-deep);border:1px solid var(--line);border-radius:6px;padding:20px 24px}.harmony-score-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-bottom:14px}.harmony-score svg{max-width:100%;height:auto;display:block}.harmony-score svg *{fill:var(--foam)!important;stroke:var(--foam)!important}.harmony-score .loading{font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.12em}.harmony-note{margin-top:28px;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--mist);max-width:52ch}.harmony-note em{color:var(--foam);font-family:var(--font-display);font-style:italic}.harmony-empty{padding:40px 0;font-family:var(--font-body);font-style:italic;color:var(--shoal);font-size:18px}.harmony-empty em{color:var(--mist)}.sketch-plan .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);margin-bottom:10px}.sketch-plan h3{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:-.018em;color:var(--foam);margin:0 0 22px}.sketch-plan .step{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-family:var(--font-body);font-size:16px;color:var(--mist);line-height:1.45}.sketch-plan .step:first-of-type{border-top:0}.sketch-plan .step .n{font-family:var(--font-mono);font-size:11px;color:var(--lumen);letter-spacing:.04em;flex-shrink:0;padding-top:3px}.sketch-plan .step.done{color:var(--shoal);text-decoration:line-through;text-decoration-color:color-mix(in oklch,var(--lumen) 50%,transparent)}.sketch-plan .step.done .n{color:var(--shoal)}.sketch-plan .step.active .n{color:var(--lumen-bright);text-shadow:var(--glow-text)}.memo-row{display:grid;grid-template-columns:36px 130px 1fr 80px 28px;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.memo-row .when{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em}.memo-row .label{font-family:var(--font-display);font-size:16px;color:var(--foam);font-style:italic;font-weight:300}.memo-row .len{font-family:var(--font-mono);font-size:12px;color:var(--mist);text-align:right}.memo-row .more{color:var(--shoal)}.idea-rail{display:flex;flex-direction:column;gap:18px}.idea-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:12px}.idea-head .l{font-family:var(--font-sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--shoal)}.idea-input{width:100%;min-height:90px;background:var(--abyss-soft);border:1px solid var(--line);border-radius:4px;color:var(--foam);font-family:var(--font-body);font-style:italic;font-size:15px;padding:14px;resize:vertical;line-height:1.5}.idea-input:focus{outline:none;border-color:color-mix(in oklch,var(--lumen) 40%,transparent);box-shadow:var(--shadow-lumen-soft)}.idea-card{background:var(--abyss-soft);border:1px solid var(--line);border-radius:4px;padding:16px;cursor:pointer}.idea-card .when{font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.04em;margin-bottom:6px}.idea-card .what{font-family:var(--font-body);font-size:14px;color:var(--foam);line-height:1.5}.idea-card .what em{color:var(--lumen);font-style:italic}.idea-card .tags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.idea-card .tags .t{font-family:var(--font-sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal);padding:3px 8px;border-radius:999px;border:1px solid var(--line)}.tech-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:32px 0 28px}.tech-tab{background:transparent;border:none;color:var(--mist);font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:12px 22px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:10px;transition:color var(--dur-quick) var(--ease-glide)}.tech-tab:hover:not([disabled]){color:var(--foam)}.tech-tab.active{color:var(--lumen);border-color:var(--lumen)}.tech-tab[disabled]{color:var(--shoal);cursor:not-allowed}.tech-tab .soon{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--shoal);text-transform:lowercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line)}.tech-layout{display:grid;grid-template-columns:1fr 340px;gap:48px}.tech-rail{display:flex;flex-direction:column;gap:28px}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.scale-card{background:var(--abyss);border:1px solid var(--line);border-top:1px solid color-mix(in oklch,var(--lumen) 25%,transparent);border-radius:6px;padding:18px 20px 14px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--dur-quick) var(--ease-glide),transform var(--dur-quick) var(--ease-glide)}.scale-card:hover{border-color:color-mix(in oklch,var(--lumen) 55%,transparent);transform:translateY(-1px)}.scale-card[data-comfort=struggle]{border-top-color:color-mix(in oklch,var(--coral) 60%,transparent)}.scale-card[data-comfort=warm]{border-top-color:color-mix(in oklch,var(--krill) 60%,transparent)}.scale-card header{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}.scale-card header .tonic{font-family:var(--font-display);font-size:38px;line-height:1;font-weight:300;letter-spacing:-.03em;color:var(--foam)}.scale-card header .name .n{font-family:var(--font-display);font-size:17px;letter-spacing:-.014em;color:var(--foam)}.scale-card header .name .s{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--shoal);margin-top:2px}.scale-card header .dot{width:10px;height:10px;margin-right:0}.scale-card .engraving{height:64px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--abyss-deep) 60%,transparent);border-radius:4px;padding:4px 8px;overflow:hidden}.scale-card .engraving svg{max-width:100%;max-height:100%;display:block}.scale-card .engraving svg *{fill:var(--mist)!important;stroke:var(--mist)!important}.scale-card:hover .engraving svg *{fill:var(--lumen-bright)!important;stroke:var(--lumen-bright)!important}.scale-card .engraving .loading{font-family:var(--font-mono);font-size:10px;color:var(--shoal);letter-spacing:.12em}.scale-card .meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;padding-top:4px;border-top:1px solid var(--line)}.scale-card .meta b{color:var(--foam);font-weight:400}.scale-card footer{display:flex;justify-content:flex-end}.scale-card footer .btn{padding:7px 14px;font-size:10px}.routine-list{display:flex;flex-direction:column;gap:8px}.routine-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--abyss-soft);cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.routine-item:hover{border-color:color-mix(in oklch,var(--lumen) 30%,transparent)}.routine-item .ord{font-family:var(--font-mono);font-size:11px;color:var(--shoal);letter-spacing:.04em;width:22px}.routine-item .what{flex:1;min-width:0}.routine-item .what .t{font-family:var(--font-display);font-size:15px;color:var(--foam);letter-spacing:-.012em}.routine-item .what .s{font-family:var(--font-mono);font-size:10px;color:var(--mist);margin-top:2px;letter-spacing:.04em}.routine-item .dot{margin-right:0}.tech-soon{padding:80px 0;display:flex;flex-direction:column;gap:18px;color:var(--shoal);font-family:var(--font-body);font-style:italic;font-size:18px;max-width:52ch}.tech-soon .label{font-family:var(--font-sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--lumen);font-style:normal}.tech-sub-toggle{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.tech-sub-toggle .sub-chip{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);color:var(--mist);background:transparent;cursor:pointer;transition:all var(--dur-quick) var(--ease-glide)}.tech-sub-toggle .sub-chip:hover:not(.active){color:var(--foam);border-color:var(--shoal)}.tech-sub-toggle .sub-chip.active{background:var(--lumen);color:var(--lumen-ink);border-color:var(--lumen)}.chord-type-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.chord-type-row{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:18px}.chord-type-row .cat-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);text-align:right}.chord-type-row .chord-pills{display:flex;flex-wrap:wrap;gap:8px}.voicing-toggle{align-items:center;margin-top:-10px}.voicing-toggle .cat-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--shoal);margin-right:10px}
