#page-home{position:relative;overflow-x:hidden;display:flex;flex-direction:column;align-items:stretch;padding:0 0 32px;min-height:calc(100svh - var(--nav-h) - 1px)}@media(min-width:1440px){#page-home{min-height:calc(100svh / 1.3 - var(--nav-h))}}.home-neck-frame{display:none;pointer-events:none;overflow:visible;flex-shrink:0;animation:hNeckFade 2s ease-out both}@media(min-width:640px){.home-neck-frame{display:block;width:clamp(160px,22vw,280px)}}@media(min-width:1024px){.home-neck-frame{width:clamp(240px,28vw,380px)}}.home-neck{width:100%;display:block;height:auto}@keyframes hNeckFade{0%{opacity:0}to{opacity:1}}@keyframes hFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hShimmer{0%{background-position:-200% center}to{background-position:200% center}}.home-hero-block{overflow:hidden;max-height:900px;opacity:1;transition:max-height .55s cubic-bezier(.4,0,.2,1),opacity .28s ease-out}.ob-revealed .home-hero-block{max-height:0;opacity:0;pointer-events:none}.ob-revealed .home-ob-section{animation:hFadeUp .45s cubic-bezier(.2,0,0,1) .28s both}.home-landing-hero{position:relative;z-index:1;overflow:hidden;padding:clamp(44px,7vw,88px) var(--pg-pad) clamp(36px,5vw,56px);max-width:1400px;animation:hFadeUp .55s ease-out .08s both}.home-landing-hero-cols{display:flex;flex-direction:column;gap:0}.home-landing-hero-left,.home-landing-hero-right{position:relative;z-index:1}@media(min-width:860px){.home-landing-hero-cols{flex-direction:row;align-items:center;gap:clamp(28px,4vw,56px)}.home-landing-hero-left{flex:1;min-width:0}.home-landing-hero-right{flex-shrink:0;width:clamp(340px,40vw,560px)}.home-landing-hero-right .hero-fb{margin:0;max-width:none;width:100%}}.home-landing-eyebrow,.home-landing-headline,.home-landing-copy{position:relative;z-index:1}.home-landing-eyebrow{font-family:DM Mono,monospace;font-size:clamp(8px,.8vw,11px);letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(18px,3vw,28px);display:flex;align-items:center;gap:clamp(10px,1.2vw,14px)}.home-landing-eyebrow:before{content:"";display:block;width:clamp(20px,2.5vw,32px);height:1px;background:var(--accent);flex-shrink:0}.home-landing-eyebrow-sep{color:var(--border-bright);margin:0 .15em}.home-landing-eyebrow-sub{color:var(--text-dim);letter-spacing:.18em}.home-landing-headline{font-family:Cormorant Garamond,serif;font-size:clamp(46px,7.5vw,86px);font-weight:300;line-height:.92;letter-spacing:-.03em;color:var(--text);margin-bottom:clamp(24px,3.5vw,40px)}.home-landing-headline em{font-style:italic;color:var(--accent)}.home-landing-headline-sub{display:block;font-size:clamp(18px,2.2vw,26px);font-weight:300;font-style:italic;line-height:1.4;letter-spacing:-.005em;color:var(--text-mid);margin-top:clamp(14px,2vw,22px)}.home-landing-headline-sub em{font-style:italic;color:var(--accent)}.home-landing-copy{font-family:Cormorant Garamond,serif;font-size:clamp(16px,1.7vw,20px);font-weight:300;line-height:1.7;color:var(--text);max-width:40ch;letter-spacing:.005em}.home-landing-copy-em{font-style:normal;color:var(--text);border-bottom:1px solid var(--accent-glow)}.home-micro-proof{font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,10px);letter-spacing:.08em;color:var(--text-mid);margin-top:clamp(14px,1.8vw,20px);position:relative;z-index:1}.hero-fb{position:relative;z-index:1;margin:clamp(20px,3vw,32px) 0;max-width:560px;animation:hFadeUp .5s ease-out .35s both}.hero-fb-bar{display:flex;align-items:center;justify-content:space-between;padding:0 4px 5px}.hero-fb-key{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;color:var(--text-mid);opacity:.7}.hero-fb-play{background:none;border:1px solid var(--border-bright);border-radius:4px;color:var(--accent);font-family:DM Mono,monospace;font-size:10px;padding:3px 10px;cursor:pointer;letter-spacing:.04em;transition:background .15s,border-color .15s;margin-left:auto}.hero-fb-play:hover{background:#c4903a14;border-color:var(--accent)}.hero-fb-neck{padding:0}.hero-fb-svg{display:block;width:100%;height:auto}.hero-fb-svg g[data-si]{transition:filter .15s;cursor:pointer}.hero-fb-svg g[data-si]:hover{filter:drop-shadow(0 0 8px rgba(255,255,255,.7)) drop-shadow(0 0 3px rgba(255,255,255,.4))}.home-features{position:relative;z-index:1;margin-top:30px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-features::-webkit-scrollbar{display:none}.home-feature{display:flex;flex-direction:column;gap:3px;padding:16px 20px;flex-shrink:0;min-width:108px;border-right:1px solid var(--border)}.home-feature:last-child{border-right:none}.home-feature-glyph{font-size:17px;color:var(--accent);line-height:1;margin-bottom:8px}.home-feature-name{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--text)}.home-feature-desc{font-family:DM Mono,monospace;font-size:7.5px;color:var(--text-dim);line-height:1.5;letter-spacing:.02em;margin-top:2px}.home-ob-section{position:relative;z-index:1;padding:0 var(--pg-pad);margin-top:30px;animation:hFadeUp .55s ease-out .38s both}.home-ob-header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.home-ob-step-label{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.1em;white-space:nowrap;flex-shrink:0}.home-ob-progress-bar{flex:1;height:1px;background:var(--border);overflow:hidden}.home-ob-progress-fill{height:100%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transition:width .45s cubic-bezier(.4,0,.2,1)}.home-ob-question{font-family:Cormorant Garamond,serif;font-size:21px;font-weight:400;color:var(--text);margin-bottom:18px;line-height:1.3}.ob-step{display:none}.ob-step.active{display:block}.ob-choices{display:flex;flex-direction:column;gap:8px}.ob-choice{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:2px;cursor:pointer;text-align:left;transition:border-color .14s,background .14s,transform .12s}.ob-choice:hover{border-color:var(--border-bright);background:var(--bg)}.ob-choice.selected{border-color:var(--accent);background:var(--accent-dim);transform:translate(3px)}.ob-choice-icon{width:34px;height:34px;border-radius:50%;border:1px solid var(--border-bright);display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:12px;color:var(--text-dim);flex-shrink:0;transition:border-color .14s,color .14s,background .14s}.ob-choice.selected .ob-choice-icon{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ob-choice-body{flex:1}.ob-choice-title{font-size:13.5px;color:var(--text);display:block;margin-bottom:3px}.ob-choice.selected .ob-choice-title{color:var(--accent)}.ob-choice-hint{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase}.home-ob-launch-card{padding:22px 18px;margin-bottom:18px;border:1px solid var(--border-bright);border-left:2px solid var(--accent);border-radius:2px;background:var(--surface)}.home-ob-launch-title{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:300;color:var(--text);margin-bottom:10px}.home-ob-launch-body{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.03em;line-height:1.88}.home-cta-primary{display:inline-flex;align-items:center;gap:clamp(14px,1.5vw,18px);width:auto;padding:clamp(14px,1.4vw,18px) clamp(24px,2.5vw,36px);background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:2px;font-family:DM Mono,monospace;font-size:clamp(10px,.85vw,12px);font-weight:500;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:opacity .18s,transform .12s}.home-cta-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.22) 50%,transparent 100%);background-size:200% 100%;animation:hShimmer 2.4s ease-in-out 1.8s 1}.home-cta-arrow{font-size:clamp(15px,1.4vw,18px);letter-spacing:0;font-weight:300;transition:transform .2s}.home-cta-primary:hover{opacity:.88}.home-cta-primary:hover .home-cta-arrow{transform:translate(5px)}.home-cta-primary:active{transform:scale(.985)}.home-cta-hero{position:relative;z-index:1;margin-top:clamp(22px,3vw,36px);padding:clamp(14px,1.4vw,18px) clamp(28px,2.8vw,40px);min-width:200px;transition:opacity .14s ease-out,transform .14s ease-out,box-shadow .14s ease-out}.home-cta-hero:hover{opacity:1;transform:translateY(-3px);box-shadow:0 0 22px var(--accent-glow),0 6px 16px var(--accent-glow)}.home-cta-hero:active{transform:scale(.98)}.home-cta-hero:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px var(--accent-glow)}@media(prefers-reduced-motion:reduce){.home-cta-hero{transition:none}}.home-cta-train{align-items:center;padding:16px 22px;width:100%;display:flex;justify-content:space-between}.home-cta-train-body{display:flex;flex-direction:column;gap:4px;text-align:left}.home-cta-label{font-size:10px;letter-spacing:.26em;line-height:1}.home-cta-sub{font-size:7px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;line-height:1}.home-dash-hero{position:relative;z-index:1;overflow:hidden;padding:clamp(20px,3vw,28px) var(--pg-pad) clamp(16px,2.5vw,22px);animation:hFadeUp .48s ease-out both;border-bottom:1px solid var(--border)}.home-hero-top{display:flex;align-items:center;gap:clamp(16px,3vw,28px);position:relative;z-index:1}.home-hero-text{flex:1;min-width:0}.home-dash-eyebrow{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:flex;align-items:center;gap:8px}.home-dash-eyebrow:before{content:"";display:block;width:14px;height:1px;background:var(--accent);flex-shrink:0}.home-dash-headline{font-family:Cormorant Garamond,serif;font-size:clamp(34px,10vw,52px);font-weight:300;line-height:.92;letter-spacing:-.025em;color:var(--text);margin-bottom:10px}.home-dash-headline em{font-style:italic;color:var(--accent)}.home-dash-subline{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-dim);line-height:1.65;max-width:36ch}.home-hero-ring{position:relative;flex-shrink:0;width:clamp(64px,10vw,80px);height:clamp(64px,10vw,80px)}.home-hero-ring-svg{width:100%;height:100%;display:block}.home-hero-ring-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px}.home-hero-ring-pct{font-family:Cormorant Garamond,serif;font-size:clamp(22px,3.5vw,28px);font-weight:300;color:var(--text);line-height:1;letter-spacing:-.02em}.home-hero-ring-label{font-family:DM Mono,monospace;font-size:8px;color:var(--text-faint);margin-top:6px}.home-focus{position:relative;z-index:1;padding:14px var(--pg-pad) 14px;border-bottom:1px solid var(--border);animation:hFadeUp .48s ease-out both}.home-focus-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:10px}.home-focus-desc{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;color:var(--text-dim);line-height:1.5}.home-recap-inline{display:flex;align-items:baseline;flex-wrap:wrap;margin-top:10px;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;line-height:1.6}.home-recap-inline-accent{color:var(--accent);font-weight:500}.home-recap-inline-sep{color:var(--text-faint);margin:0 6px}.home-recap-inline-item{color:var(--text-dim)}.home-drill-inline{display:inline;background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.06em;color:var(--accent);padding:0;opacity:.7;transition:opacity .15s}.home-drill-inline:hover{opacity:1}.home-course{position:relative;z-index:1;padding:14px var(--pg-pad) 8px;animation:hFadeUp .48s ease-out both}.home-course-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.home-course-eyebrow{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);opacity:.75;flex-shrink:0}.home-course-insight{font-family:Cormorant Garamond,serif;font-size:13px;font-weight:300;font-style:italic;color:var(--text-dim);line-height:1.4;text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-course-grid{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:3px;overflow:hidden}.home-sec-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg);transition:background .15s}.home-sec-card--current{cursor:pointer}.home-sec-card--current:hover{background:var(--surface)}.home-sec-card--locked{opacity:.4;cursor:pointer}.home-sec-card--locked:hover{opacity:.55;background:var(--surface)}.home-sec-card--done{opacity:.65}.home-sec-ring-wrap{position:relative;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.home-sec-ring{position:absolute;inset:0;width:100%;height:100%}.home-sec-ring-num{position:relative;z-index:1;font-family:Cormorant Garamond,serif;font-size:14px;font-weight:400;color:var(--text-dim);line-height:1}.home-sec-card--current .home-sec-ring-num{color:var(--accent)}.home-sec-ring-check,.home-sec-ring-lock{position:relative;z-index:1}.home-sec-ring-lock{color:var(--text-faint)}.home-sec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-sec-title{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400;color:var(--text);line-height:1.2;letter-spacing:-.005em}.home-sec-card--done .home-sec-title{color:var(--text-dim)}.home-sec-meta{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.home-sec-card--current .home-sec-meta{color:var(--text-dim)}.home-sec-current-tag{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);padding:3px 8px;border-radius:2px;flex-shrink:0}.home-stats-panel{position:relative;z-index:1;padding:14px var(--pg-pad) 8px;border-top:1px solid var(--border);animation:hFadeUp .48s ease-out both}.home-stats-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.home-stats-eyebrow{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);opacity:.75}.home-stats-meta{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.06em;color:var(--text-faint)}.home-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:3px;overflow:hidden}.home-skill-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;background:var(--bg)}.home-skill-card-top{position:relative;width:44px;height:44px}.home-skill-ring{position:absolute;inset:0;width:100%;height:100%}.home-skill-card-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400;color:var(--text);line-height:1}.home-skill-card-pct-sign{font-family:DM Mono,monospace;font-size:7px;color:var(--text-faint);margin-top:3px}.home-skill-card-label{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mid);text-align:center}.home-skill-card-detail{display:flex;align-items:center;gap:6px}.home-skill-card-count{font-family:DM Mono,monospace;font-size:8px;color:var(--text-faint);letter-spacing:.02em}.home-skill-card-rt{font-family:DM Mono,monospace;font-size:8px;color:var(--accent);letter-spacing:.02em;opacity:.7}.home-bottom-row{position:relative;z-index:1;padding:10px var(--pg-pad) 4px;animation:hFadeUp .48s ease-out both}.home-momentum{margin-bottom:14px}.home-momentum-label{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;opacity:.7}.home-momentum-list{display:flex;flex-direction:column;gap:4px}.home-momentum-item{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.03em;color:var(--text-mid);line-height:1.5;padding-left:12px;position:relative}.home-momentum-item:before{content:"";position:absolute;left:0;top:5px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.45}.home-spark{border:1px solid var(--border);border-radius:3px;overflow:hidden;max-width:420px}.home-spark-top{padding:10px 14px 6px}.home-spark-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.home-spark-title{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400;color:var(--text);letter-spacing:-.005em}.home-spark-period{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.home-spark-value-row{display:flex;align-items:baseline;gap:8px}.home-spark-value{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:300;color:var(--text);line-height:1;letter-spacing:-.02em}.home-spark-trend{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;padding:2px 5px;border-radius:2px}.home-spark-trend.up{color:#5a9a6a;background:#5a9a6a1f}.home-spark-trend.down{color:#b06050;background:#b060501f}.home-spark-caption{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.06em;color:var(--text-faint)}.home-spark-svg{width:100%;height:auto;display:block;padding:0 2px 2px}.home-projection{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-dim);text-align:center;padding:12px var(--pg-pad) 4px;opacity:.6;line-height:1.6;animation:hFadeUp .48s ease-out both}@media(min-width:600px){.home-course-grid{display:grid;grid-template-columns:repeat(2,1fr)}.home-skills-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.home-skills-grid{grid-template-columns:repeat(6,1fr)}}.ob-progress-label{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.1em;white-space:nowrap;flex-shrink:0}.lp-section{position:relative;z-index:1;padding:clamp(48px,8vw,96px) var(--pg-pad);max-width:1200px;margin:0 auto;width:100%;opacity:0;transform:translateY(20px);transition:opacity .55s ease-out,transform .55s cubic-bezier(.2,0,0,1)}.lp-section.lp-visible{opacity:1;transform:translateY(0)}.lp-visible .lp-plateau-card,.lp-visible .lp-outcome,.lp-visible .lp-method-step,.lp-visible .lp-contrast-pair,.lp-visible .lp-faq-item,.lp-visible .lp-whatis-card,.lp-visible .lp-proof-point{animation:hFadeUp .45s cubic-bezier(.2,0,0,1) both}.lp-visible .lp-plateau-card:nth-child(1),.lp-visible .lp-outcome:nth-child(1),.lp-visible .lp-method-step:nth-child(1),.lp-visible .lp-contrast-pair:nth-child(1),.lp-visible .lp-faq-item:nth-child(1),.lp-visible .lp-whatis-card:nth-child(1),.lp-visible .lp-proof-point:nth-child(1){animation-delay:0ms}.lp-visible .lp-plateau-card:nth-child(2),.lp-visible .lp-outcome:nth-child(2),.lp-visible .lp-method-step:nth-child(2),.lp-visible .lp-contrast-pair:nth-child(2),.lp-visible .lp-faq-item:nth-child(2),.lp-visible .lp-whatis-card:nth-child(2),.lp-visible .lp-proof-point:nth-child(2){animation-delay:60ms}.lp-visible .lp-plateau-card:nth-child(3),.lp-visible .lp-outcome:nth-child(3),.lp-visible .lp-method-step:nth-child(3),.lp-visible .lp-contrast-pair:nth-child(3),.lp-visible .lp-faq-item:nth-child(3),.lp-visible .lp-whatis-card:nth-child(3),.lp-visible .lp-proof-point:nth-child(3){animation-delay:.12s}.lp-visible .lp-outcome:nth-child(4),.lp-visible .lp-contrast-pair:nth-child(4),.lp-visible .lp-faq-item:nth-child(4),.lp-visible .lp-method-step:nth-child(4),.lp-visible .lp-whatis-card:nth-child(4){animation-delay:.18s}.lp-visible .lp-outcome:nth-child(5),.lp-visible .lp-faq-item:nth-child(5){animation-delay:.24s}.lp-visible .lp-outcome:nth-child(6){animation-delay:.3s}.lp-eyebrow{font-family:DM Mono,monospace;font-size:clamp(8px,.75vw,10px);letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(14px,2vw,24px);display:flex;align-items:center;gap:clamp(10px,1.2vw,14px)}.lp-eyebrow:before{content:"";display:block;width:clamp(16px,2vw,28px);height:1px;background:var(--accent);flex-shrink:0}.lp-h2{font-family:Cormorant Garamond,serif;font-size:clamp(28px,4.5vw,46px);font-weight:300;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin-bottom:clamp(24px,3.5vw,44px)}.lp-h2 em{font-style:italic;color:var(--accent)}.home-landing-qualifier{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.4vw,17px);font-weight:300;line-height:1.65;color:var(--text);max-width:46ch;letter-spacing:.005em;margin-top:clamp(10px,1.2vw,16px);position:relative;z-index:1;opacity:.85}.lp-whatis{border-top:1px solid var(--border)}.lp-whatis-grid{display:grid;grid-template-columns:1fr;gap:clamp(12px,1.5vw,18px)}@media(min-width:768px){.lp-whatis-grid{grid-template-columns:1fr 1fr}}.lp-whatis-card{padding:clamp(20px,2.2vw,28px);border:1px solid var(--border);border-radius:3px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(6px,.8vw,10px);transition:border-color .3s ease,box-shadow .2s ease,transform .14s ease}.lp-whatis-card:hover{border-color:var(--border-bright);box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.lp-whatis-card-glyph{font-size:18px;color:var(--accent);line-height:1;filter:drop-shadow(0 0 6px var(--accent-glow))}.lp-whatis-card-title{font-family:DM Mono,monospace;font-size:clamp(10px,1vw,13px);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-weight:500}.lp-whatis-card-desc{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.5vw,18px);font-weight:300;line-height:1.6;color:var(--text-mid)}.lp-mid-cta{border-top:none!important;text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:0!important;padding-bottom:clamp(16px,2vw,28px)!important}.lp-proof{border-top:1px solid var(--border)}.lp-proof-points{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,22px);margin-bottom:clamp(28px,4vw,44px)}.lp-proof-point{display:flex;align-items:flex-start;gap:clamp(12px,1.5vw,20px)}.lp-proof-point-marker{flex-shrink:0;margin-top:clamp(6px,.8vw,10px);width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.lp-proof-point-text{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.6vw,20px);font-weight:300;line-height:1.55;color:var(--text)}.lp-plateau{border-top:1px solid var(--border)}.lp-plateau-grid{display:grid;grid-template-columns:1fr;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(24px,4vw,40px)}.lp-plateau-card{padding:clamp(18px,2vw,28px);border:1px solid var(--border);border-radius:3px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(8px,1vw,12px);transition:border-color .3s ease,box-shadow .2s ease,transform .14s ease}.lp-plateau-card:hover{border-color:var(--border-bright);box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.lp-plateau-years{font-family:DM Mono,monospace;font-size:clamp(10px,.9vw,12px);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}.lp-plateau-desc{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.6vw,19px);font-weight:300;line-height:1.55;color:var(--text);letter-spacing:.005em}.lp-plateau-kicker{font-family:Cormorant Garamond,serif;font-size:clamp(17px,2vw,24px);font-weight:300;font-style:italic;line-height:1.55;color:var(--text);max-width:48ch}.lp-plateau-kicker em{font-style:italic;color:var(--accent)}.lp-outcomes{border-top:1px solid var(--border)}.lp-outcome-list{display:flex;flex-direction:column}.lp-outcome{display:flex;align-items:flex-start;gap:clamp(14px,1.8vw,24px);padding:clamp(18px,2.5vw,28px) 0;border-bottom:1px solid var(--border)}.lp-outcome:last-child{border-bottom:none}.lp-outcome-marker{flex-shrink:0;margin-top:clamp(6px,.8vw,10px);width:clamp(7px,.6vw,9px);height:clamp(7px,.6vw,9px);border-radius:50%;background:var(--accent);box-shadow:0 0 clamp(6px,.8vw,10px) var(--accent-glow);transition:box-shadow .3s ease}.lp-outcome:hover .lp-outcome-marker{box-shadow:0 0 14px var(--accent-glow),0 0 4px var(--accent)}.lp-outcome-content{display:flex;flex-direction:column;gap:clamp(3px,.5vw,6px)}.lp-outcome-title{font-family:Cormorant Garamond,serif;font-size:clamp(19px,2.4vw,28px);font-weight:400;line-height:1.2;color:var(--text);letter-spacing:-.01em}.lp-outcome-desc{font-family:DM Mono,monospace;font-size:clamp(10px,1vw,13px);color:var(--text-dim);line-height:1.7;letter-spacing:.015em;max-width:54ch}.lp-outcome-desc em{font-style:italic;color:var(--text)}.lp-outcome-statement{font-family:Cormorant Garamond,serif;font-size:clamp(18px,2.2vw,26px);font-weight:300;line-height:1.35;color:var(--text);letter-spacing:-.005em}.lp-outcome-statement em{font-style:italic;color:var(--accent)}.lp-outcome-list--statements .lp-outcome{padding:clamp(18px,2.4vw,28px) 0;align-items:center}.lp-outcome-list--statements .lp-outcome-marker{margin-top:0}.lp-method{border-top:1px solid var(--border)}.lp-method-lead{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.6vw,20px);font-weight:300;line-height:1.65;color:var(--text);max-width:50ch;margin-bottom:clamp(8px,1vw,14px)}.lp-method-relief{font-family:DM Mono,monospace;font-size:clamp(9px,.8vw,11px);font-style:italic;letter-spacing:.04em;color:var(--text-dim);margin-bottom:clamp(28px,4vw,44px)}.lp-method-steps{display:flex;flex-direction:column;gap:0}.lp-method-step{display:flex;align-items:flex-start;gap:clamp(16px,2.5vw,32px);padding:clamp(22px,3vw,36px) 0;border-top:1px solid var(--border)}.lp-method-num{font-family:Cormorant Garamond,serif;font-size:clamp(32px,4vw,48px);font-weight:300;line-height:.85;color:var(--accent);flex-shrink:0;min-width:clamp(36px,4vw,52px);opacity:.55}.lp-method-step-body{display:flex;flex-direction:column;gap:clamp(4px,.6vw,8px);padding-top:clamp(2px,.4vw,4px)}.lp-method-step-title{font-family:DM Mono,monospace;font-size:clamp(11px,1.1vw,14px);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-weight:500}.lp-method-step-desc{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.6vw,19px);font-weight:300;line-height:1.6;color:var(--text);max-width:46ch}.lp-contrast{border-top:1px solid var(--border)}.lp-contrast-list{display:flex;flex-direction:column}.lp-contrast-pair{padding:clamp(20px,2.8vw,32px) 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}.lp-contrast-pair:last-child{border-bottom:none}.lp-contrast-old{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.6vw,20px);font-weight:300;line-height:1.45;color:var(--text-faint);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text-faint) 40%,transparent);text-decoration-thickness:1px}.lp-contrast-new{font-family:Cormorant Garamond,serif;font-size:clamp(17px,2vw,24px);font-weight:300;font-style:italic;line-height:1.4;color:var(--accent);padding-left:clamp(16px,2vw,24px);border-left:2px solid var(--accent)}.lp-faq{border-top:1px solid var(--border)}.lp-faq-list{display:flex;flex-direction:column;gap:0;max-width:800px}.lp-faq-item{border-bottom:1px solid var(--border)}.lp-faq-item[open]{padding-bottom:clamp(16px,2vw,22px)}.lp-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:clamp(16px,2vw,24px) 0;font-family:Cormorant Garamond,serif;font-size:clamp(16px,1.8vw,22px);font-weight:400;line-height:1.35;color:var(--text);list-style:none;transition:color .2s ease}.lp-faq-q:hover{color:var(--accent)}.lp-faq-q::-webkit-details-marker{display:none}.lp-faq-q::marker{display:none;content:""}.lp-faq-q:after{content:"+";flex-shrink:0;font-family:Cormorant Garamond,serif;font-size:clamp(20px,2vw,26px);font-weight:300;color:var(--accent);transition:transform .3s cubic-bezier(.2,0,0,1);line-height:1}.lp-faq-item[open] .lp-faq-q:after{transform:rotate(45deg)}.lp-faq-a{font-family:DM Mono,monospace;font-size:clamp(10px,1vw,13px);color:var(--text-mid);line-height:1.75;letter-spacing:.015em;max-width:56ch;padding-top:0}.lp-closing{border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}.lp-closing .lp-h2{font-size:clamp(26px,3.5vw,38px);margin-bottom:clamp(10px,1.5vw,18px)}.lp-closing-copy{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.6vw,20px);font-weight:300;line-height:1.6;color:var(--text);margin-bottom:clamp(20px,3vw,32px);max-width:48ch}.lp-reassurance{font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,10px);letter-spacing:.08em;color:var(--text-mid);margin-top:clamp(14px,2vw,20px)}.lp-micro-demo{position:relative;z-index:1;margin-top:clamp(16px,2.2vw,26px);max-width:320px;cursor:default}.lp-md-prompt{font-family:DM Mono,monospace;font-size:clamp(9px,.85vw,12px);letter-spacing:.04em;color:var(--text-dim);height:20px;opacity:0;transition:opacity .35s ease}.lp-md-prompt--visible{opacity:1}.lp-md-correct-label{font-family:DM Mono,monospace;font-size:clamp(9px,.85vw,12px);letter-spacing:.04em;color:var(--success-color, var(--success));font-weight:500;height:0;overflow:visible;opacity:0;transition:opacity .3s ease}.lp-md-correct-label--visible{opacity:1}.lp-md-svg{width:100%;height:auto;display:block;margin-top:4px}.lp-md-ghost{cursor:pointer;transition:opacity .2s ease}.lp-md-ghost:hover,.lp-md-ghost:focus-visible{opacity:.4!important}.lp-md-ghost:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.lp-md-dot{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,transform .3s ease}.lp-md-dot--visible{opacity:1}.lp-md-ripple{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .4s ease,r .6s ease}.lp-md-ripple--active{opacity:.35}.lp-md-active-group{transition:opacity .3s ease}.lp-visible.lp-proof .lp-h2 em{text-shadow:0 0 20px var(--accent-glow),0 0 40px rgba(196,144,58,.1);animation:lpHeadingBreath 3.5s ease-in-out 1s infinite}@keyframes lpHeadingBreath{0%,to{text-shadow:0 0 20px var(--accent-glow),0 0 40px rgba(196,144,58,.1)}50%{text-shadow:0 0 28px var(--accent-glow),0 0 56px rgba(196,144,58,.18)}}.lp-progress-wrap{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.5vw,20px);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:4px;padding:clamp(16px,2vw,28px)}.lp-progress-svg{width:100%;max-width:580px;height:auto}.lp-progress-caption{font-family:DM Mono,monospace;font-size:clamp(9px,.8vw,11px);letter-spacing:.08em;color:var(--text-dim);text-align:center}.lp-progress-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;opacity:0}.lp-visible.lp-proof .lp-progress-chips{animation:hFadeUp .4s ease-out 2.3s both}.lp-progress-chip{font-family:DM Mono,monospace;font-size:clamp(7px,.65vw,9px);letter-spacing:.06em;color:var(--text-mid);background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:4px 12px;white-space:nowrap}.lp-progress-legend{display:flex;gap:clamp(16px,2vw,28px);justify-content:center}.lp-progress-legend-item{font-family:DM Mono,monospace;font-size:clamp(7px,.65vw,9px);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;gap:6px}.lp-progress-legend-item:before{content:"";display:block;width:8px;height:8px;border-radius:50%}.lp-progress-legend--mastered:before{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.lp-progress-legend--improving:before{background:none;border:1.2px solid var(--accent);opacity:.5}.lp-progress-legend--weak:before{background:none;border:1.2px solid var(--accent);opacity:.2}.lp-pd-mastered>g{opacity:0}.lp-pd-improving>circle{opacity:0}.lp-pd-weak>circle{opacity:0}.lp-proof .lp-progress-legend,.lp-proof .lp-progress-caption{opacity:0}.lp-visible .lp-pd-mastered>g{animation:lpDotMastered .5s ease-out calc(.35s + var(--d) * 65ms) both}.lp-visible .lp-pd-improving>circle{animation:lpDotImproving .4s ease-out calc(1.4s + var(--d) * 40ms) both}.lp-visible .lp-pd-weak>circle{animation:lpDotWeak .35s ease-out calc(2s + var(--d) * 35ms) both}.lp-visible .lp-pd-mastered{animation:lpMasteredBreath 4s ease-in-out 2.8s infinite}.lp-visible.lp-proof .lp-progress-legend{animation:hFadeUp .4s ease-out 2.5s both}.lp-visible.lp-proof .lp-progress-caption{animation:hFadeUp .4s ease-out 2.8s both}@keyframes lpDotMastered{0%{opacity:0;filter:drop-shadow(0 0 10px rgba(196,144,58,.8))}50%{opacity:1;filter:drop-shadow(0 0 6px rgba(196,144,58,.4))}to{opacity:1;filter:none}}@keyframes lpDotImproving{0%{opacity:0}to{opacity:.55}}@keyframes lpDotWeak{0%{opacity:0}to{opacity:.18}}@keyframes lpMasteredBreath{0%,to{filter:none}50%{filter:drop-shadow(0 0 4px rgba(196,144,58,.2))}}.lp-testimonial{border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center}.lp-testimonial-quote{font-family:Cormorant Garamond,serif;font-size:clamp(18px,2.4vw,28px);font-weight:300;font-style:italic;line-height:1.5;color:var(--text-mid);max-width:42ch;margin:0;padding:0;quotes:none}.lp-testimonial-cite{display:block;font-family:DM Mono,monospace;font-size:clamp(8px,.75vw,10px);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:clamp(12px,1.5vw,18px)}.lp-micro-reassurance{font-family:DM Mono,monospace;font-size:clamp(8px,.65vw,9px);letter-spacing:.06em;color:var(--text-mid);margin-top:clamp(10px,1.2vw,14px)}.lp-closing-qualifier{font-family:DM Mono,monospace;font-size:clamp(8px,.75vw,10px);letter-spacing:.06em;color:var(--text-mid);margin-bottom:clamp(12px,1.5vw,18px)}@media(prefers-reduced-motion:reduce){.home-dash-hero,.home-focus,.home-course,.home-stats-panel,.home-bottom-row,.home-projection{animation:none!important;opacity:1;transform:none}.lp-section{opacity:1;transform:none;transition:none}.lp-visible .lp-plateau-card,.lp-visible .lp-outcome,.lp-visible .lp-method-step,.lp-visible .lp-contrast-pair,.lp-visible .lp-faq-item,.lp-visible .lp-whatis-card,.lp-visible .lp-proof-point{animation:none}.lp-plateau-card,.lp-whatis-card,.lp-md-prompt,.lp-md-correct-label,.lp-md-dot,.lp-md-ripple,.lp-md-active-group{transition:none}.lp-pd-mastered>g{opacity:1}.lp-pd-improving>circle{opacity:.55}.lp-pd-weak>circle{opacity:.18}.lp-visible .lp-pd-mastered>g,.lp-visible .lp-pd-improving>circle,.lp-visible .lp-pd-weak>circle,.lp-visible .lp-pd-mastered,.lp-visible.lp-proof .lp-progress-legend,.lp-visible.lp-proof .lp-progress-caption,.lp-visible.lp-proof .lp-progress-chips{animation:none}.lp-proof .lp-progress-legend,.lp-proof .lp-progress-caption,.lp-progress-chips{opacity:1}.lp-visible.lp-proof .lp-h2 em{animation:none;text-shadow:none}.lp-plateau-card:hover,.home-cta-hero:hover{transform:none}}@media(min-width:768px){.lp-plateau-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.lp-outcome-list:not(.lp-outcome-list--statements){display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,3vw,48px)}.lp-outcome-list:not(.lp-outcome-list--statements) .lp-outcome{border-bottom:none;border-top:1px solid var(--border)}.lp-outcome-list:not(.lp-outcome-list--statements) .lp-outcome:nth-child(-n+2){border-top:none}}@media(max-width:600px){.home-landing-copy{font-size:16px;line-height:1.75}.home-landing-qualifier{font-size:14px}.lp-plateau-desc{font-size:16px;line-height:1.65}.lp-outcome-statement{font-size:18px}.lp-method-step-desc{font-size:15px}.lp-proof-point-text{font-size:16px}.lp-whatis-card-desc{font-size:15px}.lp-faq-a{font-size:11px;line-height:1.8}}#page-practice{display:flex;flex-direction:column;padding:20px var(--pg-pad) 80px}#page-practice.session-active{padding-bottom:80px}.pr-opt-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border)}.pr-opt-row:last-of-type{border-bottom:none}.pr-opt-label{font-size:10px;letter-spacing:.07em;color:var(--text-dim)}.pr-opt-label--mic,.pr-opt-label--ramp{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--accent);cursor:pointer}.pr-opt-label--mic:hover,.pr-opt-label--ramp:hover{opacity:.8}.pr-feat-icon{width:11px;height:13px;flex-shrink:0}.pr-record-val{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;color:var(--accent);letter-spacing:.05em;min-height:28px}.pr-status-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);margin-bottom:4px;min-height:30px;flex-shrink:0}.pr-status-left{display:flex;align-items:center;gap:5px;min-width:0;flex-shrink:1}.pr-status-mode{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);flex-shrink:0}.pr-status-sep{color:var(--text-faint);font-size:8px}.pr-status-pass{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0}.pr-status-playing-note{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;line-height:1;color:var(--text);letter-spacing:.02em;transition:color .1s}.pr-status-playing-note.pr-root{color:var(--accent)}.pr-status-playing-degree{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-left:2px}.pr-status-right{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1}.pr-status-dots{display:flex;gap:3px;align-items:center}.pr-sdot{width:4px;height:4px;border-radius:50%;border:1px solid var(--border-bright);background:transparent}.pr-sdot.done{background:var(--accent-dim);border-color:var(--accent)}.pr-sdot.current{background:var(--accent);border-color:var(--accent);box-shadow:0 0 4px var(--accent-glow)}.pr-status-progress{display:flex;align-items:center;gap:6px}.pr-status-track{width:60px;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.pr-status-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .15s ease-out;box-shadow:0 0 4px var(--accent-glow)}.pr-status-count{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-dim);white-space:nowrap}.pr-status-info{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.pr-focus-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;color:var(--text-faint);transition:opacity .15s,border-color .15s,color .15s}.pr-focus-btn:hover{opacity:1;border-color:var(--border-bright);color:var(--text)}.pr-focus-btn.active{opacity:.7;color:var(--accent);border-color:var(--accent-dim)}.pr-focus-btn svg{width:13px;height:13px}.pr-start-row{display:flex;justify-content:center;margin-top:20px}.pr-start-col{display:flex;flex-direction:column;align-items:center;gap:0}.pr-hint-text{margin-top:10px;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-dim);text-align:center;line-height:1.7;animation:hFadeUp .3s ease-out both}.pr-mode-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;margin-top:4px}.pr-mode-header-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.pr-mode-header:after{content:"";flex:1;height:1px;background:var(--border)}.pr-mode-toggle{display:flex;gap:4px;margin-bottom:14px}.pr-mode-btn{flex:1;padding:8px 0 7px;font-family:DM Mono,monospace;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);cursor:pointer;border-radius:2px;transition:all .15s;touch-action:manipulation;user-select:none;-webkit-user-select:none;display:flex;flex-direction:column;align-items:center;gap:3px}.pr-mode-btn-title{font-size:9px;letter-spacing:.12em;text-transform:uppercase;display:block;color:inherit}.pr-mode-btn-sub{font-size:7px;letter-spacing:.06em;text-transform:uppercase;display:block;color:inherit}.pr-mode-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.quiz-prompt{text-align:center;padding:10px 0 8px;border-bottom:1px solid var(--border);margin-bottom:8px;position:relative}.quiz-prompt-label{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.quiz-prompt-text{font-family:Cormorant Garamond,serif;font-size:clamp(30px,8vw,48px);font-weight:300;color:var(--text);letter-spacing:.02em;line-height:1.1}.quiz-prompt-text.prompt-enter{animation:promptEnter .3s ease-out both}@keyframes promptEnter{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.prompt-start-cue{animation:promptStartCue .45s ease-out forwards}@keyframes promptStartCue{0%{filter:brightness(1)}28%{filter:brightness(1.22) drop-shadow(0 0 10px var(--accent-glow))}to{filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.prompt-start-cue{animation:none}}@keyframes feedbackPopA{0%{transform:scale(.75) translateY(4px);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes feedbackPopB{0%{transform:scale(.75) translateY(4px);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.quiz-feedback{text-align:center;min-height:20px;margin-bottom:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.quiz-feedback.correct{color:var(--success)}.quiz-feedback.wrong{color:var(--beat1)}.quiz-feedback.feedback-pop-a{animation:feedbackPopA .22s ease-out both}.quiz-feedback.feedback-pop-b{animation:feedbackPopB .22s ease-out both}.sess-motion-feedback{font-size:9px;letter-spacing:.12em;text-transform:none;color:var(--accent);opacity:.8;margin-top:4px;animation:feedbackPopA .3s ease-out both}.sess-improv-stats{font-family:DM Mono,monospace;font-size:clamp(9px,.7vw,11px);letter-spacing:.08em;color:var(--text-dim);margin-top:6px;animation:feedbackPopA .3s ease-out both}.quiz-stats-row{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 0 4px;border-top:1px solid var(--border);margin-top:4px;max-width:480px;margin-left:auto;margin-right:auto}.quiz-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.quiz-stat-val{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;color:var(--text);letter-spacing:.03em}.quiz-stat-lbl{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.quiz-streak-val{color:var(--accent)}.sr-panel{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);margin-top:6px}.sr-panel-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);flex:1}.sr-due-badge{min-width:20px;height:18px;padding:0 5px;background:var(--beat1);color:#1a0800;font-family:DM Mono,monospace;font-size:9px;letter-spacing:0;border-radius:9px;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.sr-due-badge:empty{display:none}#prFretboard{overflow:hidden}#prFretboard g.pr-current>circle:first-child{stroke:var(--beat1)!important;stroke-width:4;filter:drop-shadow(0 0 8px rgba(224,90,40,.8))}@keyframes wrongFade{0%{filter:drop-shadow(0 0 5px rgba(224,90,40,.9));opacity:1}35%{filter:drop-shadow(0 0 5px rgba(224,90,40,.9));opacity:1}to{filter:drop-shadow(0 0 2px rgba(224,90,40,.25));opacity:.38}}#prFretboard g.pr-wrong{opacity:1!important}#prFretboard g.pr-wrong>circle:first-child{stroke:#e05a28!important;stroke-width:3.5;fill:#e05a2838!important;animation:wrongFade 1.4s ease-out .25s forwards;filter:drop-shadow(0 0 5px rgba(224,90,40,.9))}@keyframes correctGlow{0%{filter:brightness(1.6) drop-shadow(0 0 14px rgba(76,175,122,1))}15%{filter:brightness(1.1) drop-shadow(0 0 10px rgba(76,175,122,.75))}to{filter:brightness(1) drop-shadow(0 0 4px rgba(76,175,122,.4))}}#prFretboard g.pr-correct{opacity:1!important}#prFretboard g.pr-correct>circle:first-child{stroke:var(--success)!important;stroke-width:3.5;fill:#4caf7a47!important;animation:correctGlow .65s ease-out forwards}@keyframes trailFade{0%{opacity:.45}to{opacity:0}}.pr-trail{fill:none;stroke:var(--success);stroke-width:1.5;animation:trailFade 1.5s ease-out forwards}@media(prefers-reduced-motion:reduce){#prFretboard g.pr-wrong>circle:first-child{animation:none}#prFretboard g.pr-correct>circle:first-child{animation:none}}.quiz-grade-row{display:flex;gap:8px;justify-content:center;padding:10px 0}.quiz-grade-btn{padding:9px 14px 7px;border-radius:4px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--surface);cursor:pointer;border:1px solid var(--border-bright);color:var(--text-dim);touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .15s,color .15s,transform .08s;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:64px}.quiz-grade-btn:active{transform:scale(.96)}.quiz-grade-btn .grade-sub{font-size:7px;letter-spacing:.08em;font-family:DM Mono,monospace;text-transform:uppercase;display:block}.quiz-grade-btn[data-grade="0"]{border-color:var(--beat1);color:var(--beat1)}.quiz-grade-btn[data-grade="1"]{border-color:var(--accent);color:var(--accent)}.quiz-grade-btn[data-grade="2"]{border-color:var(--success);color:var(--success)}#quizCountdownOverlay{position:absolute;inset:0;background:var(--bg);z-index:20;display:none;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}#quizCountdownOverlay.active{display:flex}.quiz-countdown-num{font-family:Cormorant Garamond,serif;font-size:96px;font-weight:300;color:var(--accent);line-height:1;opacity:0;animation:cdPulse .45s ease-out forwards}.quiz-countdown-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin-top:8px;opacity:0;animation:cdPulse .45s ease-out .06s forwards}@keyframes cdPulse{0%{opacity:0;transform:scale(1.25)}55%{opacity:1;transform:scale(.98)}to{opacity:.9;transform:scale(1)}}.quiz-countdown-num.tuning{animation:cdTuning 1.6s ease-in-out infinite;font-size:72px}@keyframes cdTuning{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.quiz-countdown-num,.quiz-countdown-label{animation:cdPulseReduced .15s ease-out forwards}.quiz-countdown-num.tuning{animation:none;opacity:.6}@keyframes cdPulseReduced{0%{opacity:0}to{opacity:.9}}}.pr-timed-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0 10px;letter-spacing:.06em}.pr-timed-count{font-size:22px;font-family:Cormorant Garamond,serif;font-weight:300;color:var(--accent)}.pr-timed-clock{font-size:14px;font-family:DM Mono,monospace;color:var(--text-mid)}body:not(.practice-quiz-active) #prFretboard g.pr-heat-master>circle:first-child{fill:#c4903a80}body:not(.practice-quiz-active) #prFretboard g.pr-heat-good>circle:first-child{fill:#44aa6661}body:not(.practice-quiz-active) #prFretboard g.pr-heat-bad>circle:first-child{fill:#e05a2861}#sessionHUD{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:12px 14px;margin-bottom:12px}.sess-hud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pr-page-desc{padding:0 0 18px;border-bottom:1px solid var(--border);margin-bottom:16px}.session-active .pr-page-desc{display:none}.pr-page-desc-eyebrow{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.pr-page-desc-copy{font-family:DM Mono,monospace;font-size:9px;line-height:1.88;letter-spacing:.025em;color:var(--text-mid);margin-bottom:10px}.pr-page-desc-link{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;color:var(--accent);text-decoration:none;display:block}.pr-page-desc-link:hover{text-decoration:underline}.pr-mic-area{margin-bottom:8px}.pr-guitar-hero{display:flex;flex-direction:column;align-items:center;padding:20px 16px 14px;border:1px solid var(--border-bright);border-radius:4px;background:#ffffff05;text-align:center}.pr-guitar-hero-icon{color:var(--accent);margin-bottom:10px;opacity:.8}.pr-guitar-hero-content{max-width:300px}.pr-guitar-hero-title{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;line-height:1.2;color:var(--text);margin:0 0 8px;letter-spacing:.02em}.pr-guitar-hero-desc{font-family:DM Mono,monospace;font-size:9px;line-height:1.7;letter-spacing:.04em;color:var(--text-dim);margin:0 0 14px}.pr-guitar-hero-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 24px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1.5px solid var(--accent);background:var(--accent-dim);color:var(--accent);border-radius:2px;cursor:pointer;transition:background .15s,opacity .15s;touch-action:manipulation}.pr-guitar-hero-btn:hover{background:#c4903a40}.pr-guitar-hero-btn:active{transform:scale(.98)}.pr-guitar-hero-pro{font-size:7px;font-weight:600;letter-spacing:.12em;padding:1px 5px;border:1px solid rgba(196,144,58,.4);border-radius:2px;color:var(--accent)}.pr-guitar-hero-tap-hint{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-faint);margin:12px 0 0;opacity:.6}.pr-mic-strip{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;min-height:36px}.pr-mic-strip-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint);flex-shrink:0;transition:background .2s}.pr-mic-strip-dot.on{background:var(--success);box-shadow:0 0 6px #4caf7a80}.pr-mic-strip-note{font-size:14px;font-weight:400;letter-spacing:.04em;color:var(--text-dim);transition:color .15s}.pr-mic-strip-note.in-scale{color:var(--accent)}.pr-mic-strip-degree{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.pr-mic-strip-spacer{flex:1}.pr-mic-strip-device{font-family:DM Mono,monospace;font-size:8px;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:2px;padding:2px 4px;max-width:120px}.pr-mic-strip-exit{width:22px;height:22px;border-radius:2px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-faint);cursor:pointer;font-size:12px;transition:border-color .15s,color .15s}.pr-mic-strip-exit:hover{border-color:var(--beat1);color:var(--beat1)}.mic-setup{padding:0}.mic-setup-denied{display:flex;align-items:center;gap:8px;padding:8px 0}.mic-setup-denied-text{font-family:DM Mono,monospace;font-size:8px;color:var(--text-dim);letter-spacing:.02em;flex:1}.mic-setup-denied-btn{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-dim);background:none;border:1px solid var(--border-bright);border-radius:2px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all .15s}.mic-setup-denied-btn:hover{border-color:var(--text-dim);color:var(--text)}@keyframes micPendingPulse{0%,to{opacity:.3}50%{opacity:1}}.mic-setup-pending{display:flex;align-items:center;gap:8px;padding:8px 0}.mic-setup-pending-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:micPendingPulse 1.5s ease-in-out infinite}.mic-setup-pending-text{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.04em}.mic-live{padding:0}.mic-live-hero{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0 6px;height:56px;overflow:hidden}.mic-live-note{display:flex;align-items:baseline;gap:5px;font-family:Cormorant Garamond,serif;font-size:42px;font-weight:300;color:var(--accent);letter-spacing:-.01em;line-height:1;transition:color .15s}.mic-live-note--in{color:var(--success)}.mic-live-degree{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.06em}.mic-live-idle{display:flex;align-items:center;gap:8px}.mic-live-icon{flex-shrink:0;color:var(--accent);opacity:.5;transition:color .2s,filter .2s,opacity .2s}.mic-live-icon.mic-sig--good{color:var(--success);opacity:1;filter:drop-shadow(0 0 6px rgba(76,175,122,.5))}.mic-live-icon.mic-sig--weak{color:var(--accent);opacity:.7}.mic-live-icon.mic-sig--noisy{color:#e05a28;opacity:.9}.mic-live-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap;transition:color .15s}.mic-live-label--detected{color:var(--success)}.mic-live-label--noisy{color:#e05a28}.mic-live-strip{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 0}.mic-live-left{display:flex;align-items:center;gap:6px;min-width:0}.mic-live-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.mic-live-warn{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.02em;color:#e05a28bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mic-live-device{padding:3px 6px;border-radius:2px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-family:DM Mono,monospace;font-size:7px;max-width:130px;cursor:pointer;-webkit-appearance:none;appearance:none}.mic-live-device:focus{outline:none;border-color:var(--accent)}.mic-live-device-label{font-family:DM Mono,monospace;font-size:6px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);flex-shrink:0}.mic-live-io-group{display:flex;align-items:center;gap:4px}.mic-live-exit{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:1px solid var(--border);border-radius:2px;cursor:pointer;color:var(--text-faint);transition:all .15s}.mic-live-exit:hover{color:var(--text-dim);border-color:var(--border-bright)}.mic-waveform-canvas{width:100%;height:36px;background:#0f0f1080;border-radius:2px;margin-top:2px;display:block}@media(prefers-reduced-motion:reduce){.mic-setup-pending-dot{animation:none;opacity:.7}.mic-live-icon.mic-sig--good{filter:none}.mic-waveform-canvas{display:none}}@media(min-width:768px){#page-practice{flex-direction:row;align-items:flex-start;max-width:100%;width:100%;padding:0;gap:0;align-self:stretch}#page-practice .sc-left{flex:0 0 auto;width:300px;position:sticky;top:var(--nav-h);max-height:calc(100svh - var(--nav-h));overflow-x:hidden;overflow-y:auto;padding:16px 24px 60px;border-right:1px solid var(--border);align-self:flex-start;transition:width .32s cubic-bezier(.4,0,.2,1),padding-left .32s cubic-bezier(.4,0,.2,1),padding-right .32s cubic-bezier(.4,0,.2,1)}#page-practice .sc-left--collapsed{width:50px;padding-left:11px;padding-right:11px;overflow-y:hidden}#page-practice .sc-left::-webkit-scrollbar{width:4px}#page-practice .sc-left::-webkit-scrollbar-track{background:transparent}#page-practice .sc-left::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}#page-practice .sc-right{flex:1;min-width:0;padding:20px 32px 40px}}@media(min-width:1024px){#page-practice .sc-left:not(.sc-left--collapsed){width:320px}}@media(min-width:1440px){#page-practice .sc-left{max-height:calc(100svh / 1.3 - var(--nav-h))}}.sc-sidebar-hint{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.07em;line-height:1.65;color:var(--text-faint);padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--border)}.sc-section{margin-bottom:14px}.sc-label{display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.sc-key-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:2px}.sc-key-btn{padding:8px 2px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:10px;cursor:pointer;border-radius:2px;transition:all .15s;text-align:center;touch-action:manipulation}.sc-key-btn:hover{border-color:var(--accent);color:var(--accent)}.sc-key-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-scale-grid{display:flex;flex-wrap:wrap;gap:4px}.sc-scale-btn{padding:5px 9px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;cursor:pointer;border-radius:2px;transition:all .15s;white-space:nowrap;touch-action:manipulation}.sc-scale-btn:hover{border-color:var(--accent);color:var(--accent)}.sc-scale-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-scale-desc{font-size:9px;letter-spacing:.05em;color:var(--text-dim);margin-top:6px;min-height:14px;line-height:1.5}.sc-lock-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 6px 1px 4px;font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.7;border:1px solid var(--accent-dim);border-radius:2px;cursor:pointer;vertical-align:middle;transition:opacity .15s,border-color .15s}.sc-lock-badge:hover{opacity:1;border-color:var(--accent)}.sc-lock-badge svg{flex-shrink:0}.sc-key-btn--locked,.sc-scale-btn--locked{opacity:.22;cursor:pointer;pointer-events:auto}.sc-key-btn--locked:hover,.sc-scale-btn--locked:hover{opacity:.35;border-color:var(--accent-dim);color:var(--text-dim)}.sc-lock-hint{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-faint);margin-top:6px}.sc-lock-hint-link{color:var(--accent);cursor:pointer;text-decoration:none;transition:opacity .15s}.sc-lock-hint-link:hover{opacity:.8;text-decoration:underline}.sc-pos-row{display:flex;gap:3px}.sc-pos-btn{width:30px;height:26px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;cursor:pointer;border-radius:2px;transition:all .15s;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.sc-pos-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-pos-btn:hover:not(.active){color:var(--text-mid)}.sc-pos-btn:disabled{color:var(--text-faint);cursor:default}.sc-pos-label{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:5px;display:block}.sc-pos-frets{color:var(--text-faint)}.sc-label-hint{font-size:7px;letter-spacing:.05em;text-transform:none;color:var(--text-faint);margin-left:4px}.sc-scope-row{display:flex;gap:4px}.sc-scope-btn{padding:5px 9px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;cursor:pointer;border-radius:2px;transition:all .15s;touch-action:manipulation}.sc-scope-btn:hover{border-color:var(--accent);color:var(--accent)}.sc-scope-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-slider{width:100%;margin-top:6px;display:block;-webkit-appearance:none;appearance:none;height:3px;border-radius:2px;background:var(--border-bright);outline:none;cursor:pointer}.sc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.sc-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.sc-slider::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--border-bright)}.sc-slider::-moz-range-track{height:3px;border-radius:2px;background:var(--border-bright)}.sc-mini-btn{padding:5px 10px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;cursor:pointer;border-radius:2px;transition:all .15s;white-space:nowrap;touch-action:manipulation}.sc-mini-btn:hover{border-color:var(--accent);color:var(--accent)}.sc-mini-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-toggle{padding:4px 9px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;cursor:pointer;border-radius:2px;transition:all .15s;touch-action:manipulation;white-space:nowrap}.sc-toggle:hover{border-color:var(--accent);color:var(--accent)}.sc-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sc-btn{height:44px;padding:0 24px;border:1.5px solid var(--accent);background:var(--accent-dim);color:var(--accent);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;touch-action:manipulation}.sc-btn:hover{background:#c4903a40}.sc-btn.active{border-color:var(--beat1);color:var(--beat1);background:#e05a281a}.sc-btn:active{transform:scale(.98)}.sc-btn.loading{opacity:.6;cursor:wait}.sc-collapse-rail{display:none}@media(min-width:768px){.sc-collapse-rail{display:flex;justify-content:flex-end;margin-bottom:10px;flex-shrink:0;min-width:28px}.sc-left--collapsed .sc-collapse-rail{justify-content:center}.sc-sidebar-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);cursor:pointer;border-radius:2px;flex-shrink:0;transition:border-color .15s,color .15s}.sc-sidebar-toggle:hover{border-color:var(--accent);color:var(--accent)}.sc-sidebar-toggle svg{display:block;transition:transform .32s cubic-bezier(.4,0,.2,1)}.sc-left--collapsed .sc-sidebar-toggle svg{transform:rotate(180deg)}#page-practice .sc-left .ss{transition:opacity .2s ease;opacity:1}#page-practice .sc-left--collapsed .ss{opacity:0;pointer-events:none}}.sc-advanced{margin-top:6px;margin-bottom:8px}.sc-advanced summary{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;padding:8px 0;list-style:none;display:flex;align-items:center;gap:6px;user-select:none;-webkit-user-select:none}.sc-advanced summary::-webkit-details-marker{display:none}.sc-advanced summary:before{content:"▸";font-size:8px}.sc-advanced[open] summary:before{content:"▾"}.sc-advanced .sc-section{margin-top:0}.sc-select{background:var(--surface);border:1px solid var(--border-bright);color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;padding:4px 8px;border-radius:2px;outline:none;cursor:pointer;transition:border-color .15s}.sc-select:focus{border-color:var(--accent)}body.focus-mode .sc-left,body.focus-mode .pr-page-desc{display:none}body.focus-mode #page-practice{padding:0;height:100svh;overflow:hidden}body.focus-mode .sc-right{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 3vw;width:100%;max-width:none;gap:0}body.focus-mode #prFretboard{width:100%}body.focus-mode #prFretboard svg{display:block;width:100%;height:auto}body.focus-mode .pr-start-row{margin-top:14px}body.focus-mode .pr-focus-btn{color:var(--text-faint)}body.focus-mode .pr-focus-btn:hover{color:var(--text)}.pr-train-bridge{display:flex;align-items:center;justify-content:space-between;padding:8px var(--pg-pad);border-top:1px solid var(--border);animation:hFadeUp .3s ease-out both}.pr-train-bridge-label{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.06em}.pr-train-bridge-btn{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);background:none;border:none;cursor:pointer;padding:6px 0}.pr-drill-nudge{display:flex;align-items:center;justify-content:space-between;padding:8px var(--pg-pad);border-top:1px solid var(--border)}.pr-drill-nudge-text{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim)}.pr-drill-nudge-btn{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:none;border:none;cursor:pointer;padding:6px 0}.pr-discovery-prompt{display:flex;align-items:center;gap:10px;padding:10px var(--pg-pad);background:var(--surface);border-top:1px solid var(--border);animation:hFadeUp .3s ease-out both}.pr-prompt-text{flex:1;font-family:DM Mono,monospace;font-size:9px;color:var(--text-mid);line-height:1.5}.pr-prompt-action{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:none;border:none;cursor:pointer;flex-shrink:0}.pr-prompt-dismiss{font-size:14px;color:var(--text-dim);background:none;border:none;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.pr-session-drill-link{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);background:none;border:none;cursor:pointer;flex-shrink:0;margin-left:auto}.pr-session-drill-link:hover{color:var(--accent)}@media(orientation:landscape)and (max-height:500px){.nav-tabs{display:none!important}.app{padding-top:0}#page-practice{padding:0;height:100dvh;overflow:hidden}.sc-left{display:none!important}.sc-right{padding:0!important;width:100%!important;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.pr-heatmap-row,.sc-advanced{display:none}#prFretboard{flex:1;display:flex;align-items:center;padding:0 max(4px,env(safe-area-inset-left)) 0 max(4px,env(safe-area-inset-right))}#prFretboard svg{display:block;width:100%;height:auto;max-height:100%}.pr-focus-btn{position:absolute;top:max(4px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:10}}.la-container{width:100%;max-width:420px;margin:0 auto}.la-svg{width:100%;height:auto;display:block}.la-str-label{font-size:10px;font-family:var(--font-mono, monospace);fill:var(--str-label, #6A6560)}.la-fret-num{font-size:9px;fill:var(--text-faint, #7A7570)}.la-note{fill:var(--accent, #C4903A);opacity:.9}.la-note--triad{fill:var(--accent, #C4903A);filter:drop-shadow(0 0 3px var(--accent-glow, rgba(196,144,58,.35)))}.la-note--degree{fill:var(--success, #4CAF7A);opacity:.85}.la-note-label{font-size:9px;font-weight:600;fill:var(--bg, #09090A);text-anchor:middle;pointer-events:none}.la-region{fill:var(--accent-dim, rgba(196,144,58,.1));stroke:var(--accent, #C4903A);stroke-width:1;stroke-opacity:.4}.la-arrow{stroke:var(--accent, #C4903A);stroke-width:1.5;fill:none;stroke-dasharray:4 3}.la-arrowhead-path{fill:var(--accent, #C4903A)}.la-interval-label{font-size:11px;font-weight:600;fill:var(--text, #E4DDD0)}.la-octave-path{stroke:var(--accent, #C4903A);stroke-width:1.5;stroke-dasharray:4 3;fill:none}.la-connect-line{stroke:var(--accent, #C4903A);stroke-width:1;stroke-dasharray:3 3;opacity:.5}.la-description{font-size:13px;color:var(--text-dim, #8A8580);text-align:center;padding:12px 16px;margin:0;font-style:italic;line-height:1.4}.la-fade-in{animation:laFadeIn .4s ease-out both}@keyframes laFadeIn{0%{opacity:0}to{opacity:1}}.la-stagger-0{animation-delay:0s}.la-stagger-1{animation-delay:.08s}.la-stagger-2{animation-delay:.16s}.la-stagger-3{animation-delay:.24s}.la-stagger-4{animation-delay:.32s}.la-stagger-5{animation-delay:.4s}.la-note-group{animation:laFadeIn .3s ease-out both}@media(prefers-reduced-motion:reduce){.la-fade-in,.la-note-group{animation:none}}.nar-player{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.nar-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-dim);cursor:pointer;transition:border-color .15s,color .15s}.nar-btn:hover{border-color:var(--accent);color:var(--accent)}.nar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nar-btn:disabled{opacity:.5;cursor:default}.nar-btn--playing{border-color:var(--accent);color:var(--accent)}.nar-icon{width:18px;height:18px}.nar-spinner{width:16px;height:16px;border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;animation:nar-spin .6s linear infinite}@keyframes nar-spin{to{transform:rotate(360deg)}}.nar-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.nar-label{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nar-time{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.nar-bar{flex:1;height:4px;background:var(--border);border-radius:2px;cursor:pointer;overflow:hidden;min-width:60px}.nar-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .15s linear}.nar-unavailable{font-size:12px;color:var(--text-faint);padding:4px 0}.lo-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.lo-card{max-width:980px;width:100%;margin:0 auto;padding:48px 40px 40px;animation:lo-fade-in .3s ease-out}.lo-close{position:fixed;top:20px;right:24px;z-index:201;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:50%;color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s}.lo-close:hover{color:var(--text);border-color:var(--text-dim)}@keyframes lo-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lo-header{margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--border)}.lo-eyebrow{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}.lo-title{font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300;color:var(--text);line-height:1.15;margin:0 0 16px}.lo-objective{font-family:DM Mono,monospace;font-size:12px;color:var(--text-dim);line-height:1.6;max-width:600px;margin:0}.lo-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}.lo-main,.lo-aside{min-width:0}.lo-section-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.lo-why{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);line-height:1.7;margin-bottom:28px}.lo-insight{background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:2px;padding:18px 20px;margin-bottom:24px}.lo-insight-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.lo-insight-text{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;color:var(--text);line-height:1.45}.lo-animation{margin-bottom:24px;border:1px solid var(--border);border-radius:3px;overflow:hidden}.lo-drill-desc{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);line-height:1.7;margin-bottom:28px}.lo-mistakes{background:var(--beat1-dim);border-left:3px solid var(--beat1);border-radius:2px;padding:16px 18px;margin-bottom:24px}.lo-mistakes-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--beat1);margin-bottom:8px}.lo-mistakes-list{list-style:none;padding:0;margin:0}.lo-mistakes-list li{font-family:DM Mono,monospace;font-size:10px;color:var(--text-dim);line-height:1.6;padding-left:16px;position:relative;margin-bottom:6px}.lo-mistakes-list li:before{content:"—";position:absolute;left:0;color:var(--beat1)}.lo-connection{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);line-height:1.7;padding-left:14px;border-left:2px solid var(--success);margin-bottom:28px}.lo-footer{margin-top:12px;padding-top:24px;border-top:1px solid var(--border)}.lo-narration{margin-bottom:20px}.lo-actions{display:flex;align-items:center;gap:16px}.lo-cta{padding:13px 36px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:var(--accent);color:var(--bg);border:none;border-radius:2px;cursor:pointer;transition:opacity .15s}.lo-cta:hover{opacity:.88}.lo-skip{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;color:var(--text-faint);background:none;border:none;border-bottom:1px solid transparent;cursor:pointer;padding:4px 0;transition:color .15s,border-color .15s}.lo-skip:hover{color:var(--text-dim);border-bottom-color:var(--text-faint)}@media(max-width:900px){.lo-grid{grid-template-columns:1fr;gap:24px}.lo-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lo-aside>:first-child{grid-column:1 / -1}}@media(max-width:600px){.lo-card{padding:28px 20px 24px}.lo-header{margin-bottom:24px;padding-bottom:20px}.lo-title{font-size:28px}.lo-objective{font-size:11px}.lo-grid{gap:20px}.lo-aside{grid-template-columns:1fr}.lo-actions{flex-direction:column;align-items:stretch}.lo-cta{width:100%;text-align:center}}.blp-strip{background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:0 3px 3px 0;padding:14px 18px 12px;margin:0 0 6px;animation:lo-fade-in .2s ease-out}.blp-strip-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.blp-strip-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.blp-strip-dismiss-row{display:flex;align-items:center;gap:12px}.blp-back{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-faint);background:none;border:none;border-bottom:1px solid transparent;cursor:pointer;padding:2px 0;white-space:nowrap;transition:color .15s,border-color .15s}.blp-back:hover{color:var(--text-dim);border-bottom-color:var(--text-faint)}.blp-dismiss{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid var(--border);border-radius:50%;color:var(--text-faint);cursor:pointer;padding:0;transition:color .15s,border-color .15s}.blp-dismiss:hover{color:var(--text-dim);border-color:var(--text-dim)}.blp-strip-hint{font-family:DM Mono,monospace;font-size:10px;color:var(--text);line-height:1.6;margin:0}.blp-toggle{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-faint);background:none;border:none;cursor:pointer;padding:6px 0 0;transition:color .15s}.blp-toggle:hover{color:var(--text-dim)}.blp-strip-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.blp-strip-explanation{font-family:DM Mono,monospace;font-size:10px;color:var(--text-dim);line-height:1.65;margin:0 0 6px}.blp-strip-mistake{font-family:DM Mono,monospace;font-size:9px;color:var(--text-faint);line-height:1.55;margin:0}.blp-strip-mistake-label{color:var(--beat1);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.rp-panel{background:var(--bg);border:1px solid var(--beat1);border-left:3px solid var(--beat1);border-radius:4px;padding:20px 18px 16px;max-width:500px;width:100%;margin:12px auto;animation:lo-fade-in .25s ease-out}.rp-header{margin-bottom:12px}.rp-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--beat1)}.rp-title{font-family:Cormorant Garamond,serif;font-size:17px;font-weight:400;color:var(--text);line-height:1.3;margin:6px 0 0}.rp-explanation{font-family:DM Mono,monospace;font-size:10px;color:var(--text-dim);line-height:1.65;margin:0 0 12px}.rp-tip{background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:2px;padding:10px 14px;margin-bottom:12px}.rp-tip-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.rp-tip-text{font-family:DM Mono,monospace;font-size:10px;color:var(--text);line-height:1.55;margin:0}.rp-animation{margin-bottom:12px;border:1px solid var(--border);border-radius:3px;overflow:hidden}.rp-actions{display:flex;justify-content:center}.rp-dismiss{padding:10px 24px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--beat1);color:var(--bg);border:none;border-radius:2px;cursor:pointer;transition:opacity .15s}.rp-dismiss:hover{opacity:.88}@media(max-width:480px){.rp-panel{padding:16px 14px 14px}.rp-title{font-size:15px}}#sessFloatingBar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--bg);border-top:1px solid var(--border);padding:10px 16px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}#sessFloatingBar.active{display:flex;gap:8px;align-items:center}.sfb-info{flex:1;min-width:0}.sfb-block{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfb-time{font-family:DM Mono,monospace;font-size:10px;color:var(--accent)}.sfb-end-btn{padding:9px 16px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--beat1);color:var(--beat1);background:transparent;border-radius:3px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;flex-shrink:0;transition:background .15s,color .15s}.sfb-end-btn:hover{background:var(--beat1);color:#fff}.sfb-pause-btn{padding:9px 14px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--border-bright);color:var(--text-dim);background:transparent;border-radius:3px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;flex-shrink:0;transition:border-color .15s,color .15s}.sfb-pause-btn.paused{border-color:var(--accent);color:var(--accent)}#sessPauseOverlay{display:none;position:fixed;inset:0;z-index:100;background:#000000f5;flex-direction:column;align-items:center;justify-content:center;gap:0}#sessPauseOverlay.active{display:flex}.spo-icon{font-size:32px;color:var(--text-faint);margin-bottom:24px;font-family:DM Mono,monospace;letter-spacing:4px}.spo-title{font-family:Cormorant Garamond,serif;font-size:38px;font-weight:300;color:var(--text);margin-bottom:6px;letter-spacing:.04em}.spo-sub{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:40px}.spo-resume-btn{padding:14px 48px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;border:1.5px solid var(--accent);color:var(--accent);background:transparent;border-radius:3px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .2s,color .2s;margin-bottom:16px}.spo-resume-btn:hover{background:var(--accent);color:var(--bg)}.spo-end-link{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--beat1);background:none;border:none;cursor:pointer;padding:8px;opacity:.7}.pr-mode-toggle.session-locked,.pr-mode-header.session-locked{display:none}.sess-start-btn{width:100%;padding:13px 10px;margin-bottom:10px;border-radius:3px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;border:1.5px solid var(--accent);color:var(--accent);background:var(--accent-dim);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .2s,color .2s}.sess-start-btn:hover:not(.active){background:var(--accent);color:var(--bg)}.sess-start-btn.active{background:var(--beat1-dim);border-color:var(--beat1);color:var(--beat1)}#sessionHUD{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--bg);border-top:1px solid var(--border);padding:10px 16px max(12px,env(safe-area-inset-bottom))}.sess-hud-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.sess-block-name{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.sess-hud-meta{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;color:var(--text-dim);display:flex;align-items:center;gap:2px}.sess-hud-clock{width:9px;height:9px;opacity:.45;vertical-align:middle;flex-shrink:0}.sess-progress-wrap{height:3px;background:var(--border);border-radius:2px;margin-bottom:8px}.sess-progress-fill{height:100%;background:var(--accent);border-radius:2px;width:0%;transition:width 1s linear}.sess-btn-row{display:flex;gap:6px}.sess-btn{flex:1;padding:7px 0;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);cursor:pointer;border-radius:2px;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sess-btn-end{border-color:var(--beat1);color:var(--beat1)}.sess-btn-toggle--on{border-color:var(--accent);color:var(--accent)}.quiz-wrong-cue{text-align:center;font-family:DM Mono,monospace;font-size:13px;letter-spacing:.05em;color:var(--text-mid);padding:5px var(--pg-pad) 2px;opacity:1;animation:hFadeUp .35s ease-out both}.quiz-wrong-cue.quiz-area-hidden{animation:none}.quiz-continue-row{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px var(--pg-pad) 4px}.quiz-continue-btn{width:100%;padding:14px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:var(--accent);color:var(--bg);border:none;border-radius:2px;cursor:pointer;touch-action:manipulation;transition:opacity .15s}.quiz-continue-btn:active{opacity:.82}.quiz-knew-it-link{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:4px 8px;touch-action:manipulation;transition:opacity .15s}.quiz-knew-it-link:hover{opacity:1}.sess-finishing{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);animation:sessFinishIn .5s ease both}@keyframes sessFinishIn{0%{opacity:0}to{opacity:1}}.sess-finishing-ring{width:56px;height:56px;animation:sessCheckPop .35s .2s ease both}@keyframes sessCheckPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.sess-finishing-arc{animation:sessArcDraw .8s .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes sessArcDraw{to{stroke-dashoffset:0}}.sess-finishing-text{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-top:18px;animation:sessFinishTextIn .35s .4s ease both}@keyframes sessFinishTextIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}#sessionSummary{max-width:540px;margin:0 auto;padding:40px 28px 28px}@keyframes sumFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sum-section{opacity:0;animation:sumFadeUp .5s ease-out forwards}.sum-completion{text-align:center;padding-bottom:28px;animation-delay:.08s}.sum-comp-eyebrow{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.sum-comp-headline{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:300;color:var(--text);margin:0 0 10px;letter-spacing:.02em;line-height:1.2}.sum-comp-context{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--text-dim);line-height:1.5}.sum-comp-divider{width:48px;height:1.5px;margin:24px auto 0;background:var(--border-bright);border-radius:1px;transition:background .6s,box-shadow .6s}#sessionSummary.ring-ready .sum-comp-divider{background:var(--accent);box-shadow:0 0 12px var(--accent-glow),0 0 4px var(--accent);animation:sumDividerPulse 1.2s ease-out .3s 1}.sum-ring-wrap{margin-top:28px}.sum-ring-svg{width:120px;height:120px}.sum-ring-progress{transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}#sessionSummary.ring-ready .sum-ring-progress{stroke-dashoffset:var(--ring-target)!important}@keyframes sumDividerPulse{0%{box-shadow:0 0 0 transparent}40%{box-shadow:0 0 18px var(--accent-glow),0 0 6px var(--accent)}to{box-shadow:0 0 12px var(--accent-glow),0 0 4px var(--accent)}}.sum-improved{animation-delay:.18s;padding:20px 0}.sum-section-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px}.sum-improved-blocks{display:flex;flex-direction:column;gap:12px}.sum-iblock{display:flex;flex-direction:column;gap:6px}.sum-iblock-head{display:flex;justify-content:space-between;align-items:baseline}.sum-iblock-name{font-family:DM Mono,monospace;font-size:10px;color:var(--text-mid);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sum-iblock-pct{font-family:DM Mono,monospace;font-size:11px;font-weight:500;color:var(--text-mid);flex-shrink:0}.sum-iblock-pct.good{color:var(--success)}.sum-iblock-pct.weak{color:#e05a28}.sum-iblock-track{height:3px;background:var(--border-bright);border-radius:2px;overflow:hidden}.sum-iblock-fill{height:100%;border-radius:2px;background:var(--accent);width:0%;transition:width .7s cubic-bezier(.4,0,.2,1)}#sessionSummary.ring-ready .sum-iblock-fill{width:var(--fill-target, 0%)}.sum-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.sum-chip{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.1em;padding:4px 10px;border-radius:2px;border:1px solid var(--border-bright);color:var(--text-dim);text-transform:uppercase}.sum-chip--accent{border-color:var(--accent);color:var(--accent)}.sum-insight{animation-delay:.38s;padding:18px 16px;border-left:2px solid var(--accent);background:#c4903a0a;border-radius:0 2px 2px 0;margin:8px 0 20px}.sum-insight-text{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:300;color:var(--text-mid);line-height:1.65;font-style:italic;letter-spacing:.01em}.sum-next{animation-delay:.48s;text-align:center;padding:20px 0}.sum-next-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;color:var(--text-dim);margin-bottom:14px;text-transform:uppercase}.sum-next-cta{display:inline-flex;align-items:center;gap:14px;padding:14px 32px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:2px;font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:opacity .18s,transform .12s;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sum-next-cta:hover{opacity:.88}.sum-next-cta:active{transform:scale(.985)}.sum-next-arrow{font-size:16px;letter-spacing:0;font-weight:300;transition:transform .2s}.sum-next-cta:hover .sum-next-arrow{transform:translate(5px)}.sum-next-micro{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-faint);margin-top:10px}.sum-practice-link{display:block;margin:14px auto 0;padding:8px 18px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:1px solid var(--border-bright);color:var(--text-dim);border-radius:3px;cursor:pointer;transition:border-color .15s,color .15s}.sum-practice-link:hover{border-color:var(--accent);color:var(--accent)}.sum-metrics{animation-delay:.58s;display:flex;justify-content:center;gap:24px;padding:20px 0;margin-top:8px;border-top:1px solid var(--border)}.sum-metric{text-align:center}.sum-metric-val{font-family:DM Mono,monospace;font-size:13px;font-weight:500;color:var(--text-dim);line-height:1}.sum-metric-delta{font-size:9px;font-weight:400}.sum-metric-delta.up{color:var(--success)}.sum-metric-delta.down{color:#e05a28}.sum-metric-lbl{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-top:5px}.sum-footer{animation-delay:.66s;text-align:center;padding:16px 0 8px}.sum-mastery-line{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--text-dim);margin-bottom:16px}.sum-done-link{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);background:none;border:none;cursor:pointer;padding:8px 12px;transition:color .15s}.sum-done-link:hover{color:var(--text-dim)}@media(max-width:400px){.sum-comp-headline{font-size:26px}.sum-metrics{gap:16px;flex-wrap:wrap}.sum-fretmap-grid{gap:1px}}@media(prefers-reduced-motion:reduce){.sum-section{opacity:1;animation:none}#sessionSummary.ring-ready .sum-comp-divider{animation:none}.sum-iblock-fill,.sum-ring-progress{transition:none}}.quiz-tutorial-overlay{position:fixed;inset:0;z-index:200;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px}.quiz-tutorial-card{background:var(--bg);border:1px solid var(--border-bright);border-radius:4px;padding:32px 28px;max-width:360px;width:100%;text-align:center}.quiz-tutorial-title{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:300;color:var(--text);margin-bottom:22px}.quiz-tutorial-step{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;color:var(--text-mid);line-height:1.9;margin-bottom:4px;text-align:left}.quiz-tutorial-btn{margin-top:24px;padding:13px 32px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:var(--accent);color:var(--bg);border:none;border-radius:2px;cursor:pointer;width:100%;transition:opacity .15s}.quiz-tutorial-btn:hover{opacity:.88}.sess-briefing-overlay{position:fixed;inset:0;z-index:200;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px}.sess-briefing-card{background:var(--bg);border:1px solid var(--border-bright);border-radius:4px;padding:32px 28px;max-width:380px;width:100%}.sess-briefing-eyebrow{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px}.sess-briefing-goal{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:300;color:var(--text);line-height:1.3;margin-bottom:14px}.sess-briefing-why{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.06em;color:var(--text-dim);line-height:1.6;margin-bottom:12px}.sess-briefing-label{color:var(--accent)}.sess-briefing-tip{font-family:DM Mono,monospace;font-size:10px;color:var(--accent);padding-left:10px;border-left:2px solid var(--accent);margin-bottom:12px;line-height:1.5}.sess-briefing-diagram{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:10px 14px;margin-bottom:16px;white-space:pre}.sess-briefing-start{margin-top:8px;padding:13px 32px;width:100%;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:var(--accent);color:var(--bg);border:none;border-radius:2px;cursor:pointer;transition:opacity .15s}.sess-briefing-start:hover{opacity:.88}.sess-briefing-check{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;color:var(--text-dim);cursor:pointer;justify-content:center}.sess-briefing-check input{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin:0;border:1px solid var(--border-bright);border-radius:2px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:border-color .15s,background .15s}.sess-briefing-check input:checked{background:var(--accent);border-color:var(--accent)}.sess-briefing-check input:checked:after{content:"";position:absolute;left:3px;top:1px;width:5px;height:8px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.sess-block-header{padding:10px var(--pg-pad) 8px;border-bottom:1px solid var(--border)}.sess-block-header-name{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600;color:var(--text);line-height:1.1;letter-spacing:.01em}.sess-block-header-instr{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;color:var(--text-dim);margin-top:4px;text-transform:uppercase}.sess-block-tip{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);opacity:.55;margin-top:3px;padding-left:8px;border-left:2px solid var(--border);transition:opacity .3s,color .3s,border-color .3s}.sess-block-tip--emphasis{opacity:1;color:var(--accent);border-left-color:var(--accent)}.sess-input-mode-inline{display:flex;gap:3px;margin-left:auto;flex-shrink:0}.sess-input-btn{padding:4px 8px;display:flex;align-items:center;justify-content:center;gap:4px;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:transparent;color:var(--text-faint);cursor:pointer;border-radius:2px;transition:all .15s;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sess-input-btn:hover{border-color:var(--border-bright);color:var(--text-dim)}.sess-input-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sess-input-btn svg{flex-shrink:0;width:10px;height:10px}.sess-context-strip{padding:6px var(--pg-pad) 5px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.sess-context-key{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;color:var(--text)}.sess-foundation-lock{color:var(--text-dim);opacity:.35;cursor:pointer;position:relative;align-self:center;display:inline-flex;align-items:center;padding:2px 4px}.sess-lock-tip{position:absolute;left:0;top:calc(100% + 6px);white-space:nowrap;font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:5px 10px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}.sess-lock-tip.show{opacity:1}.sess-context-pos{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.1em;color:var(--text-dim)}@media(min-width:768px){.sess-context-pos{margin-left:auto}}.quiz-above-board{min-height:140px;display:flex;flex-direction:column}.quiz-area-hidden{visibility:hidden;pointer-events:none}.quiz-hint{text-align:center;font-family:DM Mono,monospace;font-size:13px;letter-spacing:.08em;color:var(--accent);padding:4px 0 2px;opacity:1;animation:hFadeUp .3s ease-out both}.quiz-hint.quiz-area-hidden{animation:none}@keyframes advanceSweep{0%{width:0%}to{width:100%}}.quiz-advance-bar{position:absolute;bottom:0;left:0;height:2px;background:var(--border-bright);animation:advanceSweep linear both}.sess-milestone{min-height:calc(100vh - 52px);min-height:calc(100dvh - 52px);padding:0 var(--pg-pad);display:flex;flex-direction:column;animation:hFadeUp .4s ease-out both}.sess-milestone-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,5vw,48px) 0 clamp(24px,3vw,32px)}.sess-milestone-title{font-family:Cormorant Garamond,serif;font-size:clamp(42px,11vw,58px);font-weight:300;line-height:.92;letter-spacing:-.02em;color:var(--text);margin-bottom:20px}.sess-milestone-epigraph{font-family:Cormorant Garamond,serif;font-size:clamp(18px,5vw,22px);font-weight:300;font-style:italic;color:var(--accent);letter-spacing:.01em;line-height:1.3;margin-bottom:22px}.sess-milestone-body{font-family:DM Mono,monospace;font-size:9.5px;line-height:1.85;letter-spacing:.02em;color:var(--text-mid);margin-bottom:12px;max-width:340px}.sess-milestone-actions{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:4px}.sess-milestone-actions .home-cta-hero{margin-top:0!important;padding-left:clamp(14px,1.4vw,18px);padding-right:clamp(14px,1.4vw,18px)}.sess-milestone-maybe{display:inline-block;margin-top:12px;padding:4px 0;background:transparent;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);touch-action:manipulation;transition:color .15s}.sess-milestone-maybe:hover{color:var(--text-mid)}.sess-milestone-footer{flex-shrink:0;border-top:1px solid var(--border);padding:clamp(14px,1.5vw,20px) 0 clamp(20px,2.5vw,28px);display:flex;align-items:baseline;gap:clamp(16px,2vw,28px);flex-wrap:wrap}.sess-milestone-note{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;color:var(--text-dim)}.sess-milestone-restart-warning{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;color:var(--text-mid);margin-bottom:10px;width:100%}.sess-milestone-restart-row{display:flex;gap:20px;align-items:center}.sess-milestone-restart-btn{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:0;touch-action:manipulation;transition:color .15s}.sess-milestone-restart-btn:hover{color:var(--text-mid)}.sess-milestone-restart-btn--do{color:var(--text-mid);text-decoration:underline;text-underline-offset:3px}.sess-milestone-restart-btn--do:hover{color:var(--text)}#page-session{display:flex;flex-direction:column;align-items:stretch;padding-bottom:32px}.sess-page-hero{padding:40px var(--pg-pad) 32px;border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out both}.sess-page-eyebrow{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:10px}.sess-page-eyebrow:before{content:"";display:block;width:18px;height:1px;background:var(--accent);flex-shrink:0}.sess-page-title{font-family:Cormorant Garamond,serif;font-size:clamp(38px,11vw,56px);font-weight:300;line-height:.92;letter-spacing:-.02em;color:var(--text);margin-bottom:18px}.sess-page-title em{font-style:italic;color:var(--accent)}.sess-page-copy{font-family:DM Mono,monospace;font-size:9px;line-height:1.7;letter-spacing:.02em;color:var(--text-dim);max-width:46ch}.sess-page-stats{display:flex;border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out both}.sess-page-stat{flex:1;padding:18px var(--pg-pad);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.sess-page-stat:last-child{border-right:none}.sess-page-stat-val{font-family:Cormorant Garamond,serif;font-size:30px;font-weight:300;color:var(--text);line-height:1}.sess-page-stat-lbl{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}.sess-page-stat-sub{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.06em;color:var(--accent);text-transform:uppercase;opacity:.8}.sess-preview{margin:20px var(--pg-pad) 0;padding:14px 16px;border:1px solid var(--border);border-left:2px solid var(--border-bright);border-radius:2px;background:var(--surface);animation:hFadeUp .4s ease-out .18s both}.sess-preview-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px}.sess-preview-label{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.sess-preview-time{font-family:DM Mono,monospace;font-size:11px;letter-spacing:-.01em;color:var(--accent)}.sess-preview-list{list-style:none;display:flex;flex-direction:column;gap:8px}.sess-preview-item{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;color:var(--text-mid);line-height:1.4;display:flex;align-items:center;gap:10px}.sess-preview-item:before{content:"";display:block;flex-shrink:0;width:4px;height:4px;border-radius:50%;border:1px solid var(--border-bright)}.sess-page-launch{padding:16px var(--pg-pad) 0;animation:hFadeUp .4s ease-out .22s both}.sess-page-in-progress{margin:20px var(--pg-pad);padding:20px 18px;border:1px solid var(--beat1);border-left:3px solid var(--beat1);border-radius:2px;background:var(--beat1-dim);display:none}.sess-page-in-progress.active{display:block}.sess-page-ip-label{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:var(--beat1);margin-bottom:8px}.sess-page-ip-title{font-family:Cormorant Garamond,serif;font-size:19px;font-weight:300;color:var(--text);margin-bottom:14px;line-height:1.2}.sess-page-ip-btns{display:flex;gap:8px}.sess-page-ip-btn{padding:9px 14px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;cursor:pointer;touch-action:manipulation;transition:opacity .15s}.sess-page-ip-btn:hover{opacity:.82}.sess-page-ip-btn--continue{background:var(--beat1);color:var(--bg);border:none}.sess-page-ip-btn--end{background:transparent;color:var(--text-dim);border:1px solid var(--border-bright)}.sess-unauth-sub{font-family:DM Mono,monospace;font-size:9px;line-height:1.75;letter-spacing:.02em;color:var(--text-mid);margin-top:14px;max-width:44ch}.sess-unauth-curriculum{display:flex;flex-direction:column;animation:hFadeUp .4s ease-out .1s both}.sess-unauth-section{padding:18px var(--pg-pad) 16px;border-bottom:1px solid var(--border)}.sess-unauth-section--free{border-left:2px solid var(--accent);padding-left:calc(var(--pg-pad) - 2px)}.sess-unauth-section-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sess-unauth-section-hd-body{display:flex;flex-direction:column;gap:3px}.sess-unauth-section-name{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--text)}.sess-unauth-section-subtitle{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.02em;color:var(--text-dim);line-height:1.5}.sess-unauth-badge{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.18em;text-transform:uppercase;padding:3px 7px;border-radius:2px;flex-shrink:0;border:1px solid var(--border-bright);color:var(--text-dim);margin-top:1px}.sess-unauth-badge--free{border-color:var(--accent);color:var(--accent)}.sess-unauth-chapters{display:flex;flex-direction:column}.sess-unauth-chapter{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--border)}.sess-unauth-chapters .sess-unauth-chapter:first-child{border-top:none}.sess-unauth-chapter-idx{font-family:DM Mono,monospace;font-size:8.5px;color:var(--accent);flex-shrink:0;width:14px;text-align:center}.sess-unauth-chapter--pro .sess-unauth-chapter-idx{color:var(--text-faint)}.sess-unauth-chapter-body{flex:1;display:flex;flex-direction:column;gap:2px}.sess-unauth-chapter-name{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.02em;color:var(--text)}.sess-unauth-chapter--pro .sess-unauth-chapter-name{color:var(--text-dim)}.sess-unauth-chapter-tag{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.01em;color:var(--text-dim);line-height:1.55}.sess-unauth-chapter-count{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.04em;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.sess-unauth-pro-row{margin-top:12px}.sess-unauth-footer{padding:20px var(--pg-pad) 8px;animation:hFadeUp .4s ease-out .16s both}.sess-unauth-free-note{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-dim);margin-bottom:14px;line-height:1.6}.sess-chapter-hero{padding:28px var(--pg-pad) 20px;border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out .08s both}.sess-chapter-eyebrow{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:10px}.sess-chapter-eyebrow:before{content:"";display:block;width:18px;height:1px;background:var(--accent);flex-shrink:0}.sess-chapter-title{font-family:Cormorant Garamond,serif;font-size:clamp(30px,9vw,44px);font-weight:300;line-height:1;letter-spacing:-.015em;color:var(--text);margin-bottom:10px}.sess-chapter-tagline{font-family:DM Mono,monospace;font-size:9.5px;letter-spacing:.03em;color:var(--text-mid);margin-bottom:12px;line-height:1.6}.sess-chapter-why{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.02em;color:var(--text-dim);line-height:1.75;margin-bottom:0;padding-left:10px;border-left:1px solid var(--border-bright);font-style:italic}.sess-roadmap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out .12s both}.sess-roadmap-header{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);padding:14px var(--pg-pad) 10px}.sess-roadmap-body{padding:0 var(--pg-pad) 16px;display:flex;flex-direction:column;gap:18px}.sess-roadmap-section{display:flex;flex-direction:column;gap:4px}.sess-roadmap-section-title{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;align-items:center;gap:8px}.sess-roadmap-lock{font-size:7px;letter-spacing:.14em;color:var(--text-dim);background:var(--surface);border:1px solid var(--border-bright);padding:1px 5px;border-radius:2px}.sess-roadmap-chapter{display:flex;align-items:flex-start;gap:10px;padding:5px 0}.sess-roadmap-chapter-icon{font-size:9px;width:14px;text-align:center;flex-shrink:0;color:var(--text-dim);margin-top:1px}.sess-roadmap-chapter-body{flex:1;display:flex;flex-direction:column;gap:5px}.sess-roadmap-chapter-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sess-roadmap-chapter-name{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.02em;color:var(--text)}.sess-roadmap-chapter-count{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-dim);flex-shrink:0}.sess-roadmap-chapter-bar{height:2px;background:var(--border);border-radius:1px;overflow:hidden}.sess-roadmap-chapter-bar-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .4s ease}.sess-roadmap-chapter--complete .sess-roadmap-chapter-icon{color:var(--accent)}.sess-roadmap-chapter--complete .sess-roadmap-chapter-name{color:var(--text-dim)}.sess-roadmap-chapter--current .sess-roadmap-chapter-icon{color:var(--accent)}.sess-roadmap-chapter--current .sess-roadmap-chapter-name{color:var(--text);font-weight:500}.sess-roadmap-chapter--locked .sess-roadmap-chapter-name,.sess-roadmap-chapter--locked .sess-roadmap-chapter-icon{color:var(--text-faint)}.sess-roadmap-pro-gate{margin-top:8px;padding:12px 14px;background:var(--surface);border:1px solid var(--border-bright);border-top:2px solid var(--accent);border-radius:2px}.sess-roadmap-pro-gate-desc{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.02em;color:var(--text-mid);line-height:1.7;margin-bottom:12px}.sess-roadmap-pro-gate-btn{padding:9px 16px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;touch-action:manipulation;transition:background .15s,color .15s;user-select:none;-webkit-user-select:none}.sess-roadmap-pro-gate-btn:hover{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.sess-roadmap-pro-gate-btn:active{opacity:.82}.sum-chapter-progress{margin:16px 0 4px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:2px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.05em;color:var(--text-mid);line-height:1.5}.sum-chapter-complete{color:var(--accent)}.sess-journey-hero{padding:40px var(--pg-pad) 28px;border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out both}.sess-journey-eyebrow{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:10px}.sess-journey-eyebrow:before{content:"";display:block;width:18px;height:1px;background:var(--accent);flex-shrink:0}.sess-journey-title{font-family:Cormorant Garamond,serif;font-size:clamp(38px,11vw,56px);font-weight:300;line-height:.92;letter-spacing:-.02em;color:var(--text);margin-bottom:16px}.sess-journey-title em{font-style:italic;color:var(--accent)}.sess-journey-sub{font-family:DM Mono,monospace;font-size:9px;line-height:1.75;letter-spacing:.02em;color:var(--text-mid);max-width:44ch}.sess-journey-path{padding:12px var(--pg-pad) 4px;animation:hFadeUp .4s ease-out .08s both}.sess-journey-section{margin-bottom:8px}.sess-journey-section--pro{color:var(--text-faint)}.sess-journey-section-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 0 8px;border-bottom:1px solid var(--border);margin-bottom:2px}.sess-journey-section-name{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.sess-journey-section-badge{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.16em;text-transform:uppercase;padding:2px 6px;border-radius:2px;border:1px solid var(--border-bright);color:var(--text-dim)}.sess-journey-section-badge--free{border-color:var(--accent);color:var(--accent)}.sess-journey-chapter{display:flex;align-items:flex-start;gap:12px}.sess-journey-chapter--locked{color:var(--text-faint)}.sess-journey-chapter-spine{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:14px;padding-top:3px}.sess-journey-chapter-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border-bright);background:transparent;flex-shrink:0;position:relative;z-index:1}.sess-journey-chapter--start .sess-journey-chapter-dot{border-color:var(--accent);box-shadow:0 0 0 3px #c4903a1f}.sess-journey-chapter-line{flex:1;width:1px;background:var(--border);min-height:12px;margin-top:2px}.sess-journey-chapter-body{flex:1;display:flex;flex-direction:column;gap:3px;padding-bottom:10px}.sess-journey-chapter-title-row{display:flex;align-items:center;gap:8px}.sess-journey-chapter-name{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.02em;color:var(--text-dim);line-height:1}.sess-journey-chapter--start .sess-journey-chapter-name{color:var(--text)}.sess-journey-start-badge{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:2px 6px;border:1px solid var(--accent);border-radius:2px;flex-shrink:0}.sess-journey-chapter-tag{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.01em;color:var(--text-dim);line-height:1.5;opacity:.7}.sess-journey-footer{padding:16px var(--pg-pad) 12px;border-top:1px solid var(--border);animation:hFadeUp .4s ease-out .14s both}.sess-journey-free-note{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-dim);margin-bottom:14px;line-height:1.6}.sess-mission{padding:clamp(28px,4vw,48px) var(--pg-pad) clamp(24px,3.5vw,40px);border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out both}.sess-mission-header{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(12px,1.5vw,18px);margin-bottom:clamp(18px,2.5vw,28px)}.sess-mission-eyebrow{display:flex;align-items:center;gap:clamp(8px,1vw,12px);font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,11px);letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.sess-mission-eyebrow:before{content:"";display:block;width:clamp(14px,1.8vw,24px);height:1px;background:var(--accent);flex-shrink:0}.sess-mission-sep{opacity:.4}.sess-mission-streak-pill{font-family:DM Mono,monospace;font-size:clamp(7.5px,.65vw,10px);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;flex-shrink:0;padding-top:1px}.sess-mission-title{font-family:Cormorant Garamond,serif;font-size:clamp(36px,5.5vw,68px);font-weight:300;line-height:.95;letter-spacing:-.025em;color:var(--text);margin-bottom:clamp(10px,1.5vw,18px)}.sess-mission-title em{font-style:italic;color:var(--accent)}.sess-mission-tagline{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.4vw,19px);font-weight:300;letter-spacing:.005em;color:var(--text-mid);line-height:1.6;margin-bottom:8px;max-width:42ch}.sess-mission-why{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;color:var(--text-dim);line-height:1.5;margin-bottom:8px;max-width:42ch}.sess-mission-tip{font-family:DM Mono,monospace;font-size:10px;color:var(--accent);padding-left:10px;border-left:2px solid var(--accent);margin-bottom:8px;line-height:1.5}.sess-mission-diagram{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:10px 14px;margin-bottom:8px;white-space:pre;line-height:1.6}.sess-mission-tip+.sess-mission-meta,.sess-mission-diagram+.sess-mission-meta,.sess-mission-why:last-of-type+.sess-mission-meta{margin-top:clamp(8px,2vw,16px)}.sess-mission-meta{display:flex;align-items:center;gap:clamp(12px,1.5vw,20px);margin-bottom:clamp(20px,3vw,32px)}.sess-mission-pips{display:flex;align-items:center;gap:clamp(6px,.6vw,9px)}.sess-mission-pip{width:clamp(9px,.7vw,12px);height:clamp(9px,.7vw,12px);border-radius:50%;border:1.5px solid var(--border-bright);background:transparent;transition:background .25s,border-color .25s}.sess-mission-pip--done{background:var(--accent);border-color:var(--accent)}.sess-mission-pip--active{border-color:var(--accent);box-shadow:0 0 0 3px #c4903a24}.sess-mission-dur{font-family:DM Mono,monospace;font-size:clamp(8.5px,.7vw,11px);letter-spacing:.1em;color:var(--text-dim)}.sess-mission-btn{display:inline-flex;align-items:center;gap:clamp(14px,1.4vw,20px);width:auto;padding:clamp(14px,1.3vw,20px) clamp(22px,2.2vw,34px);background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:2px;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(10px,.8vw,13px);letter-spacing:.22em;text-transform:uppercase;touch-action:manipulation;transition:opacity .15s;user-select:none;-webkit-user-select:none}.sess-mission-btn:hover{opacity:.88}.sess-mission-btn:active{opacity:.78}.sess-mission--locked{border-color:var(--border)}.sess-mission-btn--unlock{background:transparent;color:var(--accent);border:1px solid var(--accent)}.sess-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:48;display:flex;align-items:center;gap:12px;padding:10px var(--pg-pad) 12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);animation:stickyCtaIn .22s ease-out both}@keyframes stickyCtaIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.sess-sticky-cta-info{flex:1;min-width:0;overflow:hidden}.sess-sticky-cta-chapter{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sess-sticky-cta-btn{flex-shrink:0;padding:10px 20px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;touch-action:manipulation;transition:opacity .15s;user-select:none;-webkit-user-select:none}.sess-sticky-cta-btn:hover{opacity:.88}.sess-sticky-cta-btn:active{opacity:.78}.sess-restart-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;cursor:pointer;color:var(--text-dim);transition:color .15s,transform .2s}.sess-restart-btn:hover{color:var(--text-mid)}.sess-restart-btn.active{color:var(--accent);transform:rotate(-30deg)}.sess-restart-btn svg{width:12px;height:12px}.sess-restart-confirm-row{display:flex;align-items:center;gap:20px}.sess-restart-cancel{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(8.5px,.7vw,11px);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:0;touch-action:manipulation;transition:color .15s}.sess-restart-cancel:hover{color:var(--text-mid)}.lo-hero{padding:clamp(40px,6vw,72px) var(--pg-pad) clamp(32px,4.5vw,52px);animation:hFadeUp .5s ease-out both}.lo-hero-kicker{font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,11px);letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(18px,2.5vw,28px)}.lo-hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(40px,5.5vw,68px);font-weight:300;line-height:.92;letter-spacing:-.025em;color:var(--text);margin-bottom:clamp(14px,2vw,22px)}.lo-hero-sub{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.4vw,19px);font-weight:300;line-height:1.6;letter-spacing:.005em;color:var(--text-mid);max-width:42ch;margin-bottom:clamp(24px,3vw,36px)}.lo-how{border-top:1px solid var(--border);animation:hFadeUp .5s ease-out .11s both}.lo-section-kicker{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);padding:14px var(--pg-pad) 10px;border-bottom:1px solid var(--border)}.lo-steps{list-style:none;margin:0;padding:0}.lo-step{display:flex;align-items:baseline;gap:18px;padding:20px var(--pg-pad);border-bottom:1px solid var(--border)}.lo-step-n{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.12em;color:var(--accent);flex-shrink:0;min-width:22px}.lo-step-body{display:flex;flex-direction:column;gap:5px}.lo-step-title{font-family:DM Mono,monospace;font-size:9.5px;letter-spacing:.06em;font-weight:500;color:var(--text);display:block}.lo-step-desc{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.02em;line-height:1.72;color:var(--text-dim)}.lo-path{border-top:1px solid var(--border);animation:hFadeUp .5s ease-out .15s both}.lo-phases{display:flex;align-items:flex-start;gap:0;padding:16px var(--pg-pad) 20px}.lo-phase{flex:1;display:flex;flex-direction:column;gap:6px}.lo-phase-name{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.lo-phase-out{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.02em;color:var(--text-mid);line-height:1.4}.lo-phase--active .lo-phase-name{color:var(--accent)}.lo-phase--active .lo-phase-out{color:var(--text)}.lo-phase-arrow{font-family:DM Mono,monospace;font-size:10px;color:var(--border-bright);flex-shrink:0;padding:13px 6px 0;align-self:flex-start}.lo-trust{border-top:1px solid var(--border);padding:18px var(--pg-pad);animation:hFadeUp .5s ease-out .19s both}.lo-trust-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.lo-trust-list li{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;color:var(--text-dim);display:flex;align-items:center;gap:11px}.lo-trust-list li:before{content:"✓";color:var(--accent);flex-shrink:0;font-size:11px;line-height:1}.lo-cta-final{border-top:1px solid var(--border);padding:26px var(--pg-pad) 44px;animation:hFadeUp .5s ease-out .22s both}.sess-next-up{display:flex;align-items:flex-start;gap:clamp(14px,1.5vw,22px);padding:clamp(13px,1.6vw,22px) var(--pg-pad);border-bottom:1px solid var(--border);animation:hFadeUp .4s ease-out .06s both}.sess-next-up-label{font-family:DM Mono,monospace;font-size:clamp(7.5px,.65vw,10px);letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0;padding-top:2px}.sess-next-up-body{display:flex;flex-direction:column;gap:clamp(3px,.4vw,6px)}.sess-next-up-name{font-family:Cormorant Garamond,serif;font-size:clamp(15px,1.4vw,20px);font-weight:400;letter-spacing:-.005em;color:var(--text-mid)}.sess-next-up-tag{font-family:DM Mono,monospace;font-size:clamp(8px,.65vw,10px);letter-spacing:.02em;color:var(--text-faint);line-height:1.5}.sess-path{padding:0 var(--pg-pad) 0;animation:hFadeUp .4s ease-out .1s both}.sess-path-label{font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,11px);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);padding:clamp(18px,2.5vw,32px) 0 clamp(12px,1.5vw,20px)}.sess-path-section-group{margin-bottom:clamp(20px,2.5vw,32px)}.sess-path-section-group:last-child{margin-bottom:0}.sess-path-section-hd{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(12px,1.5vw,20px);padding-bottom:clamp(10px,1.2vw,16px);margin-bottom:clamp(10px,1.2vw,16px);border-bottom:1px solid var(--border)}.sess-path-section-name{font-family:DM Mono,monospace;font-size:clamp(7.5px,.65vw,10px);letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}.sess-path-section-cond{font-family:Cormorant Garamond,serif;font-size:clamp(11px,1vw,14px);font-weight:300;font-style:italic;letter-spacing:.005em;color:var(--text-faint);text-align:right}.sess-path-section-sub{font-family:Cormorant Garamond,serif;font-size:clamp(11px,1vw,14px);font-weight:300;font-style:italic;letter-spacing:.01em;color:var(--text-faint);line-height:1.5;margin:clamp(-6px,-.6vw,-10px) 0 clamp(10px,1.2vw,16px)}.sess-path-ch{display:flex;align-items:stretch;gap:clamp(12px,1.2vw,18px)}.sess-path-ch-spine{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:clamp(14px,1.2vw,18px);padding-top:clamp(3px,.4vw,5px)}.sess-path-ch-dot{width:clamp(8px,.6vw,10px);height:clamp(8px,.6vw,10px);border-radius:50%;border:1.5px solid var(--border-bright);background:transparent;flex-shrink:0;position:relative;z-index:1;transition:background .2s,border-color .2s,box-shadow .2s}.sess-path-ch-line{flex:1;width:1px;background:var(--border);min-height:clamp(16px,1.5vw,22px);margin-top:clamp(3px,.4vw,5px)}.sess-path-ch-content{flex:1;padding-bottom:clamp(12px,1.2vw,18px)}.sess-path-ch-name{font-family:Cormorant Garamond,serif;font-size:clamp(14px,1.3vw,18px);font-weight:400;letter-spacing:-.005em;color:var(--text-dim);display:block;line-height:1.2;padding-top:0}.sess-path-ch-bar{height:2px;background:var(--border);border-radius:1px;overflow:hidden;margin-top:clamp(6px,.7vw,10px)}.sess-path-ch-bar-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .4s ease}.sess-path-ch--done .sess-path-ch-dot{background:var(--accent);border-color:var(--accent)}.sess-path-ch--done .sess-path-ch-line{background:var(--accent)}.sess-path-ch--done .sess-path-ch-name{color:var(--text-faint)}.sess-path-ch--active .sess-path-ch-dot{border-color:var(--accent);box-shadow:0 0 0 3px #c4903a24}.sess-path-ch--active .sess-path-ch-name{color:var(--text)}.sess-path-ch--upcoming .sess-path-ch-name{color:var(--text-faint)}.sess-path-ch--upcoming .sess-path-ch-dot{border-color:var(--text-faint)}.sess-path-ch--locked .sess-path-ch-dot{border-color:var(--border-bright)}.sess-path-ch--locked .sess-path-ch-line{background:var(--border-bright)}.sess-path-ch--locked .sess-path-ch-name{color:var(--text-faint)}.sess-path-ch-name--tap{transition:color .15s}.sess-path-ch-row:hover .sess-path-ch-name--tap{color:var(--text)!important}.sess-path-ch-chevron{font-size:clamp(10px,.9vw,13px);color:var(--border-bright);transition:transform .25s ease,color .15s;flex-shrink:0;line-height:1;display:inline-block}.sess-path-ch-chevron--open{transform:rotate(90deg)}.sess-path-ch-row:hover .sess-path-ch-chevron{color:var(--text-dim)}.sess-path-ch-detail{padding-top:clamp(8px,.8vw,12px);animation:sessDetailIn .2s ease-out both}@keyframes sessDetailIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.sess-path-ch-context{padding:0 0 clamp(8px,.8vw,12px);margin-bottom:clamp(8px,.8vw,12px);border-bottom:1px solid var(--border)}.sess-path-ch-tagline{font-family:Cormorant Garamond,serif;font-size:clamp(13px,1.1vw,16px);font-weight:400;font-style:italic;letter-spacing:.005em;color:var(--text-dim);line-height:1.4;margin:0}.sess-path-ch-why{font-family:DM Mono,monospace;font-size:clamp(8px,.6vw,9.5px);letter-spacing:.02em;color:var(--text-faint);line-height:1.6;margin:clamp(5px,.5vw,8px) 0 0;opacity:.7}.sess-path-block{padding:clamp(5px,.5vw,8px) 0;border-bottom:1px solid rgba(255,255,255,.03);animation:sessDetailIn .2s ease-out both}.sess-path-block:last-child{border-bottom:none}.sess-path-block-main{display:flex;align-items:baseline;gap:clamp(8px,.8vw,12px)}.sess-path-block-name{font-family:DM Mono,monospace;font-size:clamp(8.5px,.65vw,10px);letter-spacing:.03em;color:var(--text-dim);flex:1;min-width:0}.sess-path-block-meta{display:flex;align-items:baseline;gap:clamp(6px,.5vw,8px);flex-shrink:0}.sess-path-block-dur{font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.03em;color:var(--text-faint)}.sess-path-block-diff{font-size:clamp(4px,.35vw,5.5px);letter-spacing:.5px;line-height:1}.sess-path-block-diff-dot{color:var(--border-bright)}.sess-path-block-diff-dot--on{color:var(--accent);opacity:.7}.sess-path-block-mode{font-family:DM Mono,monospace;font-size:clamp(7px,.5vw,8.5px);letter-spacing:.04em;padding:1px clamp(4px,.4vw,6px);border-radius:2px;background:#7b8ec914;color:#7b8ec9a6}.sess-path-block-params{display:flex;flex-wrap:wrap;gap:clamp(3px,.3vw,4px);padding-top:clamp(3px,.3vw,4px)}.sess-path-param-tag{font-family:DM Mono,monospace;font-size:clamp(6.5px,.48vw,8px);letter-spacing:.02em;padding:1px clamp(4px,.35vw,6px);border-radius:2px;background:var(--ptag-bg, #1a1a1a);color:var(--ptag-fg, #666)}.sess-path-ch-footer{display:flex;align-items:baseline;justify-content:space-between;padding-top:clamp(6px,.6vw,10px);margin-top:clamp(4px,.4vw,6px);border-top:1px solid var(--border)}.sess-path-ch-meta{font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.06em;color:var(--border-bright)}.sess-path-ch-check{font-size:clamp(9px,.8vw,12px);color:var(--accent);opacity:.5;flex-shrink:0;line-height:1}.sess-path-ch-skill{font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.03em;line-height:1.5;color:var(--success);opacity:.65;padding-top:clamp(4px,.4vw,6px)}.sess-path-pro-gate{margin:2px 0 clamp(8px,.8vw,12px) clamp(26px,2.4vw,36px)}.sess-path-ch-row{display:flex;align-items:baseline;gap:clamp(6px,.6vw,10px);cursor:pointer;transition:opacity .15s}.sess-path-ch-row:hover{opacity:.85}.sess-path-ch-progress{font-family:DM Mono,monospace;font-size:clamp(8px,.6vw,10px);letter-spacing:.06em;color:var(--text-faint);flex-shrink:0}.sess-path-ch-restart{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.06em;color:var(--text-faint);padding:0;touch-action:manipulation;transition:color .15s}.sess-path-ch-restart:hover{color:var(--text-dim)}.sess-path-ch-restart-confirm{display:flex;align-items:center;gap:clamp(8px,.8vw,10px);font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.06em;color:var(--text-dim)}.sess-path-ch-restart-yes,.sess-path-ch-restart-no{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.08em;text-transform:uppercase;touch-action:manipulation;transition:color .15s;padding:0}.sess-path-ch-restart-yes{color:var(--accent)}.sess-path-ch-restart-yes:hover{color:var(--text)}.sess-path-ch-restart-no{color:var(--text-faint)}.sess-path-ch-restart-no:hover{color:var(--text-dim)}.sess-path-ch-review{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(7.5px,.55vw,9px);letter-spacing:.06em;color:var(--text-faint);padding:0;touch-action:manipulation;transition:color .15s}.sess-path-ch-review:hover{color:var(--accent)}.sess-mission-review{display:block;background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(9px,.7vw,11px);letter-spacing:.06em;color:var(--text-faint);margin-top:14px;padding:0;touch-action:manipulation;transition:color .15s}.sess-mission-review:hover{color:var(--accent)}.sess-locked-cta-wrap{margin:clamp(28px,4vw,44px) 0 clamp(20px,2.5vw,28px)}.sess-locked-hero-btn{margin-top:0!important}.sess-locked-restart-link{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:clamp(8px,.65vw,10px);letter-spacing:.08em;color:var(--text-faint);padding:0;touch-action:manipulation;transition:color .15s}.sess-locked-restart-link:hover{color:var(--text-dim)}.sess-pulse{padding:clamp(20px,2.5vw,32px) var(--pg-pad) clamp(16px,2vw,24px);animation:hFadeUp .4s ease-out .08s both}@media(min-width:768px){.sess-pulse{padding:0;border-top:1px solid var(--border);padding-top:clamp(18px,2vw,24px)}}.sess-pulse-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(14px,1.5vw,20px)}.sess-pulse-label{font-family:DM Mono,monospace;font-size:clamp(8px,.7vw,11px);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}.sess-pulse-avg{font-family:DM Mono,monospace;font-size:clamp(8px,.65vw,10px);letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums}.sess-pulse-grid{display:flex;flex-direction:column;gap:0}.sess-pulse-cell{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(10px,1vw,16px);padding:clamp(6px,.5vw,9px) 0;border-bottom:1px solid var(--border)}.sess-pulse-cell:last-child{border-bottom:none}.sess-pulse-cell-title{font-family:DM Mono,monospace;font-size:clamp(8px,.6vw,10px);letter-spacing:.03em;color:var(--text-faint)}.sess-pulse-cell-val{font-family:DM Mono,monospace;font-size:clamp(8px,.6vw,10px);letter-spacing:.04em;color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0}.sess-pulse-cell--done .sess-pulse-cell-title{color:var(--text-dim)}.sess-pulse-cell--done .sess-pulse-cell-val{color:var(--accent)}.sess-path-layout{display:flex;flex-direction:column}@media(min-width:768px){.sess-path-layout{flex-direction:row;align-items:flex-start;gap:clamp(32px,4vw,56px)}.sess-path-layout>.sess-path{flex:1;min-width:0}.sess-path-layout>.sess-pulse{flex:0 0 clamp(200px,22vw,280px);position:sticky;top:64px}}.sess-end-confirm-backdrop{position:fixed;inset:0;z-index:200;background:#09090ab8;display:flex;align-items:center;justify-content:center;padding:20px;animation:hFadeUp .15s ease-out both}.sess-end-confirm{background:var(--surface);border:1px solid var(--border-bright);padding:28px 24px 24px;max-width:320px;width:100%}.sess-end-confirm-title{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600;color:var(--text);margin-bottom:10px}.sess-end-confirm-body{font-family:DM Mono,monospace;font-size:11px;line-height:1.6;color:var(--text-mid);margin:0 0 24px}.sess-end-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.sess-end-confirm-cancel{padding:10px 16px;background:transparent;border:1px solid var(--border-bright);color:var(--text-mid);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,color .15s}.sess-end-confirm-cancel:hover{border-color:var(--text-mid);color:var(--text)}.sess-end-confirm-end{padding:10px 16px;background:#c0392b22;border:1px solid #c0392b66;color:#e05a28;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.sess-end-confirm-end:hover{background:#c0392b44;border-color:#c0392b}.quiz-first-hint-banner{text-align:center;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);opacity:.72;padding:6px var(--pg-pad);min-height:28px;animation:hFadeUp .35s ease-out .4s both}.sum-setup{margin:20px 0 4px;padding:20px 18px;border:1px solid var(--border-bright);border-left:2px solid var(--accent);border-radius:2px;background:var(--surface)}.sum-setup-title{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;color:var(--text);margin-bottom:4px}.sum-setup-desc{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em;color:var(--text-dim);line-height:1.6;margin-bottom:16px}.sum-setup-label{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.sum-setup-row{display:flex;flex-direction:column;gap:6px}.sum-setup-row--budgets{flex-direction:row;gap:6px}.sum-setup-chip{display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;background:transparent;border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:border-color .14s,background .14s}.sum-setup-chip:hover{border-color:var(--border-bright);background:var(--bg)}.sum-setup-chip.active{border-color:var(--accent);background:var(--accent-dim)}.sum-setup-chip--sm{flex:1;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--text-mid);padding:9px 8px}.sum-setup-chip--sm.active{color:var(--accent)}.sum-setup-chip-title{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;color:var(--text-mid);display:block}.sum-setup-chip.active .sum-setup-chip-title{color:var(--accent)}.sum-setup-chip-hint{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase}.sum-save-nudge{margin-top:20px;padding:14px 16px;border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.sum-save-nudge-text{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.06em;color:var(--text-dim)}.sum-save-nudge-btn{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:9px 20px;border-radius:3px;cursor:pointer;border:1px solid var(--accent);color:var(--accent);background:transparent;transition:background .15s,color .15s;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sum-save-nudge-btn:hover{background:var(--accent);color:var(--bg)}.sess-hud-rt{color:var(--text-dim);display:inline-flex;align-items:center;gap:2px}.sess-hud-trend{font-size:8px;line-height:1}.sess-hud-trend--faster{color:var(--success)}.sess-hud-trend--slower{color:var(--beat1)}@keyframes statPulseA{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes statPulseB{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.stat-pulse-a{animation:statPulseA .3s ease-out both}.stat-pulse-b{animation:statPulseB .3s ease-out both}.quiz-block-end-nudge{position:absolute;left:0;right:0;top:0;z-index:2;text-align:center;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);padding:4px var(--pg-pad) 2px;pointer-events:none;animation:hFadeUp .3s ease-out both}#page-session{padding-bottom:max(80px,calc(72px + env(safe-area-inset-bottom)))}#sessionHUD .sess-btn{min-height:44px}.quiz-continue-btn{min-height:48px}.quiz-knew-it-link{min-height:36px;display:inline-flex;align-items:center;justify-content:center}#prFretboard{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}@media(prefers-reduced-motion:reduce){.stat-pulse-a,.stat-pulse-b,.quiz-block-end-nudge{animation:none}}.sess-foundation-handoff{position:absolute;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:40px var(--pg-pad) 40px;overflow-y:auto;animation:hFadeUp .4s ease-out both}.sess-fh-eyebrow{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.sess-fh-title{font-family:Cormorant Garamond,serif;font-size:clamp(36px,9vw,56px);font-weight:300;line-height:1.05;color:var(--text);margin:0 0 14px}.sess-fh-body{font-family:DM Mono,monospace;font-size:11px;line-height:1.7;color:var(--text-mid);max-width:360px;margin:0 0 28px}.sess-fh-path{width:100%;max-width:360px;margin-bottom:28px;border-left:1px solid var(--border-bright);padding-left:0}.sess-fh-path-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0 10px 16px;animation:hFadeUp .35s ease-out both}.sess-fh-path-item:nth-child(1){animation-delay:.15s}.sess-fh-path-item:nth-child(2){animation-delay:.25s}.sess-fh-path-item:nth-child(3){animation-delay:.35s}.sess-fh-path-num{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:9px;color:var(--accent);border:1px solid var(--accent);border-radius:50%}.sess-fh-path-info{display:flex;flex-direction:column;gap:2px}.sess-fh-path-name{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600;color:var(--text);line-height:1.2}.sess-fh-path-desc{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.06em;color:var(--text-dim);line-height:1.4}.sess-fh-path-fade{padding:6px 0 0 16px;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.1em;color:var(--text-dim);opacity:.5;animation:hFadeUp .35s ease-out both;animation-delay:.45s}.sess-fh-cta{padding:14px 28px;background:var(--accent);color:var(--bg);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity .15s;animation:hFadeUp .35s ease-out both;animation-delay:.5s}.sess-fh-cta:hover{opacity:.85}.sess-fh-links{display:flex;align-items:center;gap:8px;margin-top:14px;animation:hFadeUp .3s ease-out both;animation-delay:.6s}.sess-fh-links-sep{color:var(--border-bright);font-size:10px}.sess-fh-skip{background:none;border:none;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--text-dim);cursor:pointer;padding:4px 0;transition:color .15s}.sess-fh-skip:hover{color:var(--text-mid)}.quiz-prompt-string-name{color:var(--accent);display:inline-block}@keyframes psnSlideA{0%{opacity:.2;transform:translateY(6px);color:var(--text)}to{opacity:1;transform:translateY(0);color:var(--accent)}}@keyframes psnSlideB{0%{opacity:.2;transform:translateY(6px);color:var(--text)}to{opacity:1;transform:translateY(0);color:var(--accent)}}.psn-a{animation:psnSlideA .3s ease-out both}.psn-b{animation:psnSlideB .3s ease-out both}@media(prefers-reduced-motion:reduce){.psn-a,.psn-b{animation:none}}.quiz-tap-progress{text-align:center;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f59e0b;padding:4px var(--pg-pad) 2px;animation:hFadeUp .2s ease-out both}.quiz-classify-row{display:flex;gap:8px;padding:8px var(--pg-pad);justify-content:center}.quiz-classify-btn{flex:1;max-width:180px;padding:14px 12px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;background:var(--card-bg);color:var(--text);border:1.5px solid var(--border);border-radius:3px;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s}.quiz-classify-btn:active:not(:disabled){background:var(--accent);color:var(--bg);border-color:var(--accent)}.quiz-classify-btn:disabled{cursor:default;opacity:.6}.quiz-classify-btn.classify-correct{border-color:var(--success);color:var(--success);opacity:1}.quiz-classify-btn.classify-wrong{border-color:var(--border);color:var(--text-dim);opacity:.35}.sum-skill-statement{margin-top:8px;padding:10px 14px;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--success);background:#4caf7a14;border-left:3px solid var(--success);border-radius:0 3px 3px 0}.course-phase-list{display:flex;flex-direction:column;gap:6px}.course-phase-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:3px;background:var(--card-bg);border:1px solid var(--border);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--text-dim)}.course-phase-row.completed{color:var(--text-faint)}.course-phase-row.current{border-color:var(--accent);color:var(--text);background:#c4903a0f}.course-phase-row.locked{color:var(--text-faint)}.course-phase-check{color:var(--success);font-size:14px}.course-phase-lock{color:var(--text-dim);font-size:12px}.course-phase-label{flex:1}.course-phase-title{font-weight:500}.sess-focus-btn{flex:0 0 auto!important;width:36px;padding:7px 0;display:flex;align-items:center;justify-content:center}.sess-focus-btn svg{width:14px;height:14px}body.focus-mode .nav-tabs{display:none}body.focus-mode .app{padding-top:0}body.focus-mode #page-session{padding:0;height:100svh;overflow:hidden;display:flex;flex-direction:column}body.focus-mode .sess-block-header{padding:8px 3vw 0}body.focus-mode .sess-context-strip{padding:0 3vw 4px}body.focus-mode .quiz-above-board,body.focus-mode .quiz-first-hint-banner{padding:0 3vw}body.focus-mode #page-session #prFretboard{flex:1;width:100%;padding:0 1vw}body.focus-mode #page-session #prFretboard svg{display:block;width:100%;height:auto}body.focus-mode .quiz-stats-row{padding:0 3vw;margin-bottom:4px}body.focus-mode .quiz-continue-row,body.focus-mode .quiz-block-end-nudge{padding:0 3vw}body.focus-mode .sess-focus-btn{color:var(--text-faint)}body.focus-mode .sess-focus-btn:hover{color:var(--text)}@media(orientation:landscape)and (max-height:500px){#page-session{padding:0;height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column}.nav-tabs{display:none!important}.app{padding-top:0}.sess-block-header,.sess-context-strip{display:none}.quiz-first-hint-banner{display:none!important}.quiz-above-board{min-height:0;position:absolute;top:max(4px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:20;background:#09090ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:3px 14px 4px;border:1px solid var(--border);max-width:70vw;pointer-events:none;gap:0}.quiz-above-board .quiz-prompt{margin:0}.quiz-above-board .quiz-prompt-label{display:none}.quiz-above-board .quiz-prompt-text{font-size:13px}.quiz-above-board .quiz-hint{font-size:11px;padding:0}.quiz-above-board .quiz-feedback{font-size:12px;padding:0}.quiz-above-board .quiz-wrong-cue{font-size:11px;padding:2px 0 0}.quiz-classify-row{position:absolute;top:max(4px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:20;background:#09090ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:4px 10px;gap:6px;border:1px solid var(--border)}.quiz-classify-btn{padding:8px 10px;font-size:9px}.quiz-tap-progress{font-size:10px;padding:0}.sess-fretboard-wrap{flex:1;display:flex;align-items:center;min-height:0}#prFretboard{width:100%;display:flex;align-items:center;padding:0 max(4px,env(safe-area-inset-left)) 0 max(4px,env(safe-area-inset-right))}#prFretboard svg{display:block;width:100%;height:auto;max-height:100%}.quiz-stats-row{display:none}.quiz-continue-row{position:absolute;bottom:max(40px,calc(36px + env(safe-area-inset-bottom)));left:50%;transform:translate(-50%);z-index:20;flex-direction:row;gap:8px;padding:0}.quiz-continue-btn{min-height:36px;padding:8px 24px;font-size:9px;width:auto}.quiz-knew-it-link{font-size:9px}#sessionHUD{padding:0 max(8px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.sess-hud-header,.sess-btn-row{display:none}.sess-progress-wrap{margin-bottom:0}.sess-focus-btn{display:none}.quiz-block-end-nudge{position:absolute;top:max(28px,calc(24px + env(safe-area-inset-top)));left:50%;transform:translate(-50%);font-size:10px;padding:2px 12px;z-index:19}#sessionSummary{overflow-y:auto;padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));max-height:100dvh}.sess-page-hero{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.sess-finishing{padding:0 env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}}.pres-mode-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font:500 11px/1 DM Mono,monospace;background:#c4903a26;color:var(--accent);letter-spacing:.3px;vertical-align:middle}.pres-lightning-timer{font:600 22px/1 DM Mono,monospace;color:var(--text);text-align:center;padding:4px 0;transition:color .2s}.pres-urgent{color:var(--beat1);animation:pres-pulse .4s infinite alternate}@keyframes pres-pulse{0%{opacity:1}to{opacity:.5}}.pres-sprint-hud{font:500 13px/1 DM Mono,monospace;color:var(--text-dim);text-align:center;padding:4px 0}.pres-survival-hud{font:600 15px/1 DM Mono,monospace;color:var(--success);text-align:center;padding:4px 0}.recall-blank .pr-sdot,.recall-blank .pr-note-label{opacity:0!important;transition:opacity .3s}#page-chords{display:flex;flex-direction:column;padding:20px var(--pg-pad) 80px}#page-chords sup{font-size:.72em;vertical-align:baseline;position:relative;top:-.35em;font-weight:inherit}.cx-search{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-bright);color:var(--text);font-family:DM Mono,monospace;font-size:15px;padding:14px 0;outline:none;letter-spacing:.04em;transition:border-color .2s;min-width:0;margin-bottom:14px}.cx-search:focus{border-color:var(--accent)}.cx-search::placeholder{color:var(--text-dim);font-size:12px;letter-spacing:.03em}.cx-root-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.cx-root-btn{padding:8px 0;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.02em;cursor:pointer;border-radius:3px;transition:all .15s;text-align:center;touch-action:manipulation}.cx-root-btn:hover{border-color:var(--accent);color:var(--accent)}.cx-root-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.cx-quality-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0}.cx-quality-tabs::-webkit-scrollbar{display:none}.cx-q-tab{padding:6px 14px;border-radius:14px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:all .15s;touch-action:manipulation}.cx-q-tab:hover{border-color:var(--accent);color:var(--accent)}.cx-q-tab.active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.cx-status{display:flex;align-items:baseline;gap:10px;min-height:22px;padding:2px 0}.cx-status-name{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);letter-spacing:.08em}.cx-status-err{font-family:DM Mono,monospace;font-size:11px;color:var(--beat1);letter-spacing:.05em}.cx-status-clear{background:none;border:none;padding:0;cursor:pointer;font-family:DM Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:.08em}.cx-status-clear:hover{color:var(--accent)}.cx-fretboard-area{position:sticky;top:var(--nav-h, 52px);z-index:10;background:var(--bg);border-bottom:1px solid var(--border);padding:10px 0 6px}.cx-fretboard-label{font-family:Cormorant Garamond,Georgia,serif;font-size:20px;color:var(--text);margin-bottom:4px}.cx-fretboard svg{width:100%;height:auto;display:block}.cx-voicings-section{margin-top:14px;margin-bottom:6px}.cx-section-header{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.cx-card{border:1px solid var(--border-bright);border-radius:4px;background:var(--surface);padding:10px 8px 8px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;gap:4px;touch-action:manipulation;user-select:none;-webkit-user-select:none;animation:hFadeUp .25s ease both}.cx-card:hover{border-color:var(--accent);box-shadow:0 2px 10px #00000024}.cx-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cx-card-diagram{width:100%}.cx-card-diagram svg{width:100%;height:auto;display:block}.cx-card-name{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.06em;color:var(--text);text-align:center}.cx-card-shape{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);text-align:center}.cx-card-fret{font-family:DM Mono,monospace;font-size:7px;color:var(--text-faint);letter-spacing:.06em}.cx-progressions{display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-top:14px;border-top:1px solid var(--border)}.cx-prog-header-row{display:flex;align-items:center;gap:10px}.cx-prog-header{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.cx-numeral-help-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation;padding:0;line-height:1}.cx-numeral-help-btn:hover{border-color:var(--accent);color:var(--accent)}.cx-numeral-explainer{font-family:DM Mono,monospace;font-size:11px;color:var(--text-dim);line-height:1.7;letter-spacing:.02em;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:12px 14px;animation:hFadeUp .2s ease both}.cx-prog-list{display:flex;flex-direction:column;gap:10px}.cx-prog-card{border:1px solid var(--border-bright);border-radius:4px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:4px;animation:hFadeUp .3s ease both;transition:border-color .2s,box-shadow .2s;cursor:pointer}.cx-prog-card.cx-prog-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cx-prog-card.cx-prog-playing{border-color:var(--accent);box-shadow:0 0 12px #c4903a26}.cx-prog-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cx-prog-name{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:17px;color:var(--text)}.cx-prog-play{width:32px;height:32px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation}.cx-prog-play:hover{border-color:var(--accent);color:var(--accent)}.cx-prog-play.active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.cx-prog-numerals{font-family:DM Mono,monospace;font-size:10px;color:var(--text-dim);letter-spacing:.06em}.cx-prog-chords{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.cx-prog-chord{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border:1px solid var(--border-bright);border-radius:3px;background:transparent;font-family:DM Mono,monospace;font-size:11px;color:var(--text);cursor:pointer;transition:all .15s;touch-action:manipulation}.cx-prog-chord:hover{border-color:var(--accent);color:var(--accent)}.cx-prog-chord.playing{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);transition:all .08s}.cx-prog-chord.selected{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cx-prog-desc{font-family:DM Mono,monospace;font-size:9px;color:var(--text-dim);letter-spacing:.02em;line-height:1.6}@media(min-width:768px){#page-chords{flex-direction:row;align-items:flex-start;max-width:100%;width:100%;padding:0;gap:0;align-self:stretch}#page-chords .sc-left{flex:0 0 auto;width:280px;position:sticky;top:var(--nav-h);max-height:calc(100svh - var(--nav-h));overflow-x:hidden;overflow-y:auto;padding:16px 22px 60px}#page-chords .sc-left::-webkit-scrollbar{width:4px}#page-chords .sc-left::-webkit-scrollbar-track{background:transparent}#page-chords .sc-left::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}#page-chords .sc-left .cx-root-grid{grid-template-columns:repeat(6,1fr)}#page-chords .sc-left .cx-quality-tabs{flex-wrap:wrap;overflow-x:visible}#page-chords .sc-left .cx-search{font-size:13px;padding:10px 0}#page-chords .sc-right{flex:1;min-width:0;padding:16px 28px 40px}}@media(min-width:1024px){#page-chords .sc-left{width:300px}.cx-prog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}}@media(min-width:1440px){#page-chords .sc-left{max-height:calc(100svh / 1.3 - var(--nav-h))}.cx-prog-list{grid-template-columns:repeat(3,1fr)}}@media(min-width:2200px){.cx-prog-list{grid-template-columns:repeat(4,1fr)}}.acct-backdrop{position:fixed;inset:0;z-index:400;background:#09090ab8;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:auth-fade-in .18s ease}.acct-modal{width:100%;max-width:400px;max-height:90vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-bright);border-radius:14px;padding:20px;box-shadow:0 20px 56px #00000073;animation:auth-slide-up .2s cubic-bezier(.34,1.3,.64,1)}.acct-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.acct-modal-title{font-size:14px;font-weight:700;color:var(--text)}.acct-close-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s}.acct-close-btn:hover{color:var(--text);background:var(--border-bright)}.acct-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.acct-section--last{margin-bottom:0;padding-bottom:0;border-bottom:none}.acct-section-label{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border-bright)}.acct-field{margin-bottom:12px}.acct-field:last-child{margin-bottom:0}.acct-label{display:block;font-size:10px;font-weight:600;font-family:DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px}.acct-value-dim{font-size:12px;color:var(--text-dim)}.acct-row{display:flex;gap:8px;align-items:center}.acct-input{flex:1;padding:7px 10px;font-size:12px;background:var(--bg);border:1px solid var(--border-bright);border-radius:6px;color:var(--text);transition:border-color .15s;font-family:inherit}.acct-input:focus{outline:none;border-color:var(--accent)}.acct-input::placeholder{color:var(--text-faint);font-size:11px}.acct-save-btn{padding:7px 12px;font-size:11px;font-weight:600;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:DM Mono,monospace;letter-spacing:.06em;transition:opacity .15s}.acct-save-btn:disabled{opacity:.6;cursor:not-allowed}.acct-save-btn:hover:not(:disabled){opacity:.85}.acct-save-msg{display:block;margin-top:5px;font-size:11px;color:var(--accent)}.acct-save-msg--error{color:#e05a28}.acct-plan-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.acct-plan-badge{display:inline-block;padding:3px 10px;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:20px;background:var(--border-bright);color:var(--text-dim)}.acct-plan-badge--pro{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.acct-upgrade-btn{padding:5px 12px;font-size:11px;font-weight:600;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.acct-upgrade-btn:hover{background:var(--accent);color:var(--btn-primary-fg)}.acct-plan-renewal{font-size:11px;color:var(--text-dim)}.acct-manage-btn{padding:5px 10px;font-size:11px;font-weight:500;border:1px solid var(--border-bright);color:var(--text-dim);background:transparent;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s;margin-left:auto}.acct-manage-btn:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.acct-manage-btn:disabled{opacity:.6;cursor:not-allowed}.acct-oauth-note{font-size:12px;color:var(--text-dim);margin:0}.acct-signout-btn{padding:7px 14px;font-size:12px;font-weight:500;border:1px solid var(--border-bright);color:var(--text-dim);background:transparent;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s}.acct-signout-btn:hover{border-color:#e05a28;color:#e05a28}.acct-about-text{font-size:11px;line-height:1.5;color:var(--text-dim);margin:0 0 4px}.acct-about-text strong{color:var(--text-secondary);font-weight:500}.acct-about-text--dim{opacity:.5;font-size:10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #09090A;--surface: #0F0F10;--border: #1C1C1E;--border-bright: #454548;--text: #E4DDD0;--text-dim: #8A8580;--text-mid: #9A948A;--text-faint: #7A7570;--accent: #C4903A;--accent-dim: rgba(196,144,58,.1);--accent-glow: rgba(196,144,58,.35);--success: #4CAF7A;--success-dim: rgba(76,175,122,.1);--success-glow: rgba(76,175,122,.35);--beat1: #E05A28;--beat1-dim: rgba(224,90,40,.2);--swing: .5s;--pg-pad: 24px;--nav-h: 50px;--bob-bg: radial-gradient(circle at 35% 35%, #3A2A10, #1A1208);--fret-inlay: #252528;--fret-bar: #2C2C30;--str-line: #2A2A2E;--str-label: #6A6560;--note-hole: #18181A;--btn-primary-bg: var(--accent);--btn-primary-fg: #09090A}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html{width:100%;overflow-x:hidden}body{width:100%;background:var(--bg);color:var(--text);font-family:DM Mono,monospace;overflow-x:hidden;overflow-y:auto;min-height:100svh;-webkit-overflow-scrolling:touch}.nav-tab,.btn-bpm,.btn-sig,.btn-tap,.btn-start,.beat-dot,.p-btn,.btn-play,.key-btn,.scale-btn,.tun-btn,.cx-clear,.pt-toggle,.bpm-display,.pendulum-arm,.pr-sdot{user-select:none;-webkit-user-select:none}.audio-banner{display:none;width:100%;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--beat1);background:var(--beat1-dim);border:1px solid rgba(224,90,40,.3);border-radius:2px;padding:6px 12px;text-align:center;margin-bottom:10px}.sound-opts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.sound-label{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border-bright);border-radius:2px;cursor:pointer;font-size:10px;color:var(--text-dim);transition:all .15s;user-select:none;-webkit-user-select:none}.sound-label:has(input:checked){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.sound-label input{display:none}.tun-confidence{font-size:10px;letter-spacing:.12em;color:var(--beat1);min-height:16px;text-align:center}.tun-a4-row{width:100%}.tun-a4-row .sl{margin-bottom:8px;display:block}body.practice-active,body.chords-active,body.home-active{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.28;pointer-events:none;z-index:0}.app{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;min-height:100svh;padding-top:var(--nav-h)}.nav-tabs{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg);display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 var(--pg-pad);height:var(--nav-h)}.nav-logo-btn{display:flex;align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;padding:0;color:var(--text-dim);flex-shrink:0;margin-right:10px;transition:color .2s;touch-action:manipulation}.nav-logo-btn:hover{color:var(--accent)}.nav-logo-btn.active{color:var(--text)}.nav-wordmark{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:300;letter-spacing:.06em;color:var(--text);white-space:nowrap;line-height:1;padding-bottom:1px;border-bottom:1.5px solid transparent;transition:border-color .2s}.nav-logo-btn.active .nav-wordmark{border-color:var(--accent)}.nav-link-group{display:flex;align-items:center}.nav-secondary{display:none}.nav-tab{padding:0 4px;border:none;background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;white-space:nowrap;height:var(--nav-h);line-height:calc(var(--nav-h) + 3px);margin-right:20px;position:relative;transition:color .2s;touch-action:manipulation}.nav-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.5px;background:transparent;transition:background .2s}.nav-tab:last-child{margin-right:0}.nav-tab:hover:not(.active){color:var(--text-mid)}.nav-tab.active{color:var(--accent)}.nav-tab.active:after{background:var(--accent)}.nav-tab--upgrade{position:relative}.nav-tab-upgrade-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-left:4px;margin-bottom:3px;vertical-align:middle;opacity:.8}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-desktop-only{display:none!important}.nav-auth-btn{height:28px;padding:0 11px;border-radius:14px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);cursor:pointer;font-size:11px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;touch-action:manipulation;transition:color .2s,border-color .2s,background .2s}.nav-auth-btn:hover{color:var(--accent);border-color:var(--accent)}.nav-account-menu-wrapper{position:relative}.nav-avatar-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 6px;border-radius:14px;border:1px solid var(--border-bright);background:var(--surface);color:var(--text-dim);cursor:pointer;flex-shrink:0;touch-action:manipulation;transition:border-color .18s,background .18s,color .18s;position:relative}.nav-avatar-btn:hover,.nav-avatar-btn.open{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--text)}.nav-avatar-icon{flex-shrink:0;opacity:.7;transition:opacity .18s}.nav-avatar-btn:hover .nav-avatar-icon,.nav-avatar-btn.open .nav-avatar-icon{opacity:1}.nav-avatar-caret{opacity:.45;flex-shrink:0;transition:transform .2s ease,opacity .18s}.nav-avatar-btn.open .nav-avatar-caret{transform:rotate(180deg);opacity:.7}@keyframes navDropIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:300;background:var(--surface);border:1px solid var(--border-bright);border-radius:10px;padding:5px;min-width:210px;max-width:min(260px,calc(100vw - 16px));width:max-content;box-shadow:0 12px 32px #00000059,0 2px 8px #0003;display:flex;flex-direction:column;gap:1px;animation:navDropIn .18s cubic-bezier(.2,0,0,1) both;transform-origin:top right}.nav-account-header{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 8px}.nav-account-avatar-lg{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center}.nav-account-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nav-account-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.nav-account-email{font-size:10px;font-family:DM Mono,monospace;color:var(--text-dim);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.nav-account-tier-badge{flex-shrink:0;font-size:9px;font-family:DM Mono,monospace;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:10px;background:var(--border-bright);color:var(--text-dim)}.nav-account-tier-badge.pro{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.nav-account-upgrade{display:flex;align-items:center;gap:7px;width:100%;padding:8px 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);cursor:pointer;font-size:11px;font-family:DM Mono,monospace;font-weight:600;letter-spacing:.04em;transition:background .15s,border-color .15s;text-align:left}.nav-account-upgrade:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.nav-upgrade-arrow{margin-left:auto;font-size:13px;font-weight:300}.nav-account-divider{height:1px;background:var(--border-bright);margin:3px 0}.nav-account-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-mid);cursor:pointer;font-size:12px;transition:background .13s,color .13s}.nav-account-item:hover{background:var(--border-bright);color:var(--text)}.nav-item-icon{flex-shrink:0;opacity:.55;transition:opacity .13s}.nav-account-item:hover .nav-item-icon{opacity:.85}.nav-signout{color:var(--text-dim)}.nav-signout:hover{background:color-mix(in srgb,#E05A28 10%,transparent)!important;color:#e05a28!important}.nav-signout:hover .nav-item-icon{opacity:1}.nav-sync-indicator{display:flex;align-items:center;color:var(--text-dim);animation:nav-spin 1s linear infinite}.nav-sync-indicator--error{color:#e05a28;animation:none}@keyframes nav-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-hamburger-wrap{position:relative}.nav-hamburger{width:28px;height:28px;border-radius:6px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;transition:color .2s,border-color .2s}.nav-hamburger:hover{color:var(--accent);border-color:var(--accent)}.nav-hamburger svg{pointer-events:none}.nav-mobile-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:300;background:var(--surface);border:1px solid var(--border-bright);border-radius:10px;padding:5px;min-width:150px;box-shadow:0 12px 32px #00000059;display:flex;flex-direction:column;gap:1px;animation:nav-menu-in .16s cubic-bezier(.34,1.3,.64,1)}@keyframes nav-menu-in{0%{opacity:0;margin-top:-4px}to{opacity:1;margin-top:0}}.nav-mobile-item{width:100%;text-align:left;padding:9px 12px;border-radius:6px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:8px;transition:background .12s,color .12s;touch-action:manipulation}.nav-mobile-item:hover{background:var(--border-bright);color:var(--text)}.nav-mobile-item.active{color:var(--accent)}.nav-mobile-divider{height:1px;background:var(--border);margin:3px 0}@media(min-width:600px){.nav-secondary{display:flex;margin-left:28px}.nav-hamburger-wrap{display:none}.nav-desktop-only{display:flex!important}.nav-logo-btn{margin-right:40px}}.auth-modal-backdrop{position:fixed;inset:0;z-index:500;background:#09090ad1;display:flex;align-items:center;justify-content:center;padding:16px;animation:auth-fade-in .18s ease}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal{position:relative;width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border-bright);border-radius:14px;padding:28px 28px 24px;box-shadow:0 24px 64px #0006;animation:auth-slide-up .22s cubic-bezier(.34,1.3,.64,1)}@keyframes auth-slide-up{0%{opacity:0;margin-top:14px}to{opacity:1;margin-top:0}}.auth-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.auth-modal-close:hover{color:var(--text);background:var(--border-bright)}.auth-tabs{display:flex;gap:0;margin-bottom:22px;border-bottom:1px solid var(--border-bright)}.auth-tab{flex:1;padding:0 0 10px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.auth-tab--active{color:var(--text);border-bottom-color:var(--accent)}.auth-social-group{display:flex;flex-direction:column;gap:8px}.auth-social-btn{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border-bright);border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font-size:13px;transition:background .15s,border-color .15s}.auth-social-btn:hover:not(:disabled){background:var(--border-bright)}.auth-social-btn:disabled{opacity:.5;cursor:not-allowed}.auth-social-btn span{display:flex;align-items:center;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--text-dim);font-size:11px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-bright)}.auth-field{margin-bottom:14px}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.auth-label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.auth-label-row .auth-label{margin-bottom:0}.auth-input-wrap{position:relative}.auth-input{width:100%;height:40px;padding:0 12px;background:var(--bg);border:1px solid var(--border-bright);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s;appearance:none}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-dim)}.auth-input-wrap .auth-input{padding-right:56px}.auth-show-pass{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:11px;padding:4px;transition:color .15s}.auth-show-pass:hover{color:var(--text)}.auth-error{padding:10px 12px;border-radius:7px;margin-bottom:14px;background:#e05a281f;border:1px solid rgba(224,90,40,.3);color:#e05a28;font-size:12px;line-height:1.4}.auth-submit{width:100%;height:42px;margin-top:4px;border:none;border-radius:8px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.auth-submit:hover:not(:disabled){opacity:.88}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.45;cursor:not-allowed}.auth-modal-footer{margin-top:16px;text-align:center}.auth-modal-link-btn{border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:3px;transition:color .15s;padding:0}.auth-modal-link-btn:hover{color:var(--accent)}.auth-modal-link-btn--sm{font-size:11px}.auth-modal-check-email{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px}.auth-modal-envelope{width:56px;height:56px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.auth-modal-title{font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:600;color:var(--text);margin-bottom:10px}.auth-modal-body-text{font-size:13px;color:var(--text-dim);line-height:1.5;margin-bottom:20px}.auth-modal-body-text strong{color:var(--text);font-weight:500}.page{width:100%;max-width:420px}.page.hidden{display:none!important}@keyframes bodyPulse{0%{opacity:1}15%{opacity:.85}to{opacity:1}}.flash-screen{animation:bodyPulse .08s ease-out}#fretboard g.fb-active>circle:first-child,#prFretboard g.fb-active>circle:first-child{stroke:#fff;stroke-width:3;opacity:1}#page-metro{display:flex;flex-direction:column;align-items:center;padding:0 var(--pg-pad);min-height:calc(100svh - var(--nav-h));justify-content:center}#page-scales{display:flex;flex-direction:column;padding:20px var(--pg-pad) 80px}.sc-left{display:flex;flex-direction:column}.sc-right{display:flex;flex-direction:column;position:relative}.session-context-strip{display:none;padding:16px var(--pg-pad) 12px}.sc-left.session-mode .session-context-strip{display:block}.sc-left.session-mode .ss{display:none}.scs-label{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.scs-key{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;color:var(--text);line-height:1}.scs-pos{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.1em;color:var(--text-dim);margin-top:5px}.header{width:100%;display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px}.logo{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim)}.tempo-label{font-family:Cormorant Garamond,serif;font-size:13px;font-style:italic;font-weight:300;color:var(--text-dim);letter-spacing:.05em;transition:color .3s;min-width:120px;text-align:right}.beat-dots{display:flex;gap:10px;margin-bottom:28px;align-items:center}.beat-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--border-bright);background:transparent;transition:background .06s,border-color .06s,box-shadow .06s}.beat-dot.active-1{background:var(--beat1);border-color:var(--beat1);box-shadow:0 0 8px var(--beat1-dim),0 0 16px var(--beat1-dim)}.beat-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow),0 0 16px var(--accent-glow)}.pendulum-area{width:100%;height:180px;display:flex;align-items:flex-start;justify-content:center;position:relative;margin-bottom:8px}.pendulum-area:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--border-bright);z-index:2}.pendulum-arm{position:absolute;top:3px;left:50%;transform-origin:top center;transform:translate(-50%) rotate(-28deg);transition:transform var(--swing) cubic-bezier(.37,0,.63,1);display:flex;flex-direction:column;align-items:center}.arm-line{width:1px;height:140px;background:linear-gradient(to bottom,var(--border-bright),var(--text-dim));position:relative}.arm-weight-track{position:absolute;top:30px;left:50%;transform:translate(-50%);width:16px;height:2px;background:var(--accent);opacity:.6}.arm-bob{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent);background:var(--bob-bg);box-shadow:0 0 12px var(--accent-glow),inset 0 1px #ffffff1a;flex-shrink:0;transition:box-shadow .06s;position:relative}.arm-bob:after{content:"";position:absolute;top:4px;left:4px;width:5px;height:3px;border-radius:50%;background:#fff3}.arm-bob.flash{box-shadow:0 0 24px var(--accent-glow),0 0 48px var(--accent-dim),inset 0 1px #ffffff1a}.arm-bob.flash-1{border-color:var(--beat1);box-shadow:0 0 24px #e05a2899,0 0 48px #e05a2833,inset 0 1px #ffffff1a}.arc-svg{position:absolute;top:0;left:50%;transform:translate(-50%);opacity:.15;pointer-events:none}.divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--border-bright),transparent);margin:16px 0 24px}.bpm-section{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:24px}.bpm-display{display:flex;align-items:baseline;gap:12px;cursor:ns-resize}.bpm-number{font-family:Cormorant Garamond,serif;font-size:clamp(72px,18vw,96px);font-weight:300;line-height:1;color:var(--text);letter-spacing:-.02em;transition:color .15s;cursor:text;outline:none;min-width:3ch;text-align:center}.bpm-number:focus{color:var(--accent)}.bpm-unit{font-size:11px;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;padding-bottom:8px}.bpm-controls{display:flex;align-items:center;gap:10px;margin-bottom:20px;width:100%}.btn-bpm{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-bright);background:var(--surface);color:var(--text-mid);font-family:DM Mono,monospace;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;touch-action:manipulation}.btn-bpm:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-bpm:active{transform:scale(.92)}.bpm-slider-wrap{flex:1;height:36px;display:flex;align-items:center;position:relative}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:transparent;cursor:pointer;outline:none;touch-action:pan-y}.bpm-slider-wrap input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0}.slider-track{position:absolute;left:0;right:0;height:2px;background:var(--border-bright);border-radius:1px;pointer-events:none}.slider-fill{position:absolute;left:0;height:2px;background:var(--accent);border-radius:1px;pointer-events:none;transition:width .1s}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 8px var(--accent-glow);cursor:pointer;transition:transform .15s,box-shadow .15s}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3);box-shadow:0 0 16px var(--accent-glow)}.time-sig-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;width:100%}.section-label{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim)}.time-sig-buttons{display:flex;gap:6px}.btn-sig{padding:6px 14px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.05em;cursor:pointer;border-radius:2px;transition:all .15s;touch-action:manipulation}.btn-sig:hover,.btn-sig.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.action-row{display:flex;gap:10px;width:100%}.btn-tap{flex:0 0 auto;height:52px;padding:0 20px;border:1px solid var(--border-bright);background:var(--surface);color:var(--text-mid);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .1s;white-space:nowrap;touch-action:manipulation}.btn-tap:hover{color:var(--text);background:var(--border)}.btn-tap:active{background:var(--border-bright);transform:scale(.97)}.btn-start{flex:1;height:52px;border:1.5px solid var(--accent);background:var(--accent-dim);color:var(--accent);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .15s;touch-action:manipulation}.btn-start:hover{background:#c4903a40}.btn-start.playing{border-color:var(--beat1);color:var(--beat1);background:#e05a281a}.btn-start.playing:hover{background:#e05a282e}.btn-start:active{transform:scale(.98)}.btn-icon{width:10px;height:12px;flex-shrink:0}.hint{display:none;margin-top:20px;font-size:9px;letter-spacing:.2em;color:var(--text-faint)}.hint kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border-bright);border-radius:2px;font-family:inherit;font-size:inherit}body.pt-open{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}body.pt-open #page-metro{justify-content:flex-start;padding-top:32px;padding-bottom:56px}.pt-toggle-row{width:100%;margin-top:20px;display:flex;justify-content:center}.pt-toggle{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 0;transition:color .2s;touch-action:manipulation}.pt-toggle:after{content:"▸";font-size:10px;transition:transform .22s;display:inline-block}body.pt-open .pt-toggle:after{transform:rotate(90deg)}.pt-toggle:hover{color:var(--text-mid)}.pt-panel{width:100%;overflow:hidden;max-height:0;transition:max-height .42s cubic-bezier(.4,0,.2,1),opacity .3s;opacity:0;pointer-events:none}body.pt-open .pt-panel{max-height:800px;opacity:1;pointer-events:auto}.pt-section{border-top:1px solid var(--border);padding:14px 0 8px}.pt-row-head{display:flex;align-items:center;justify-content:space-between}.pt-btns{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.pt-switch{position:relative;width:34px;height:20px;display:inline-block;cursor:pointer;flex-shrink:0}.pt-switch input{opacity:0;width:0;height:0;position:absolute}.pt-knob{position:absolute;inset:0;background:var(--border-bright);border-radius:10px;transition:background .2s,border-color .2s;border:1px solid transparent}.pt-knob:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:3px;top:3px;background:var(--text-dim);transition:transform .2s,background .2s}.pt-switch input:checked~.pt-knob{background:var(--accent-dim);border-color:var(--accent)}.pt-switch input:checked~.pt-knob:before{transform:translate(14px);background:var(--accent)}.pt-controls{display:flex;flex-direction:column;gap:8px;margin-top:10px}.pt-param-row{display:flex;align-items:center;gap:10px}.pt-param-label{font-size:10px;color:var(--text-mid);letter-spacing:.04em;flex-shrink:0;min-width:118px}.pt-param-label strong{color:var(--accent);font-weight:400}input.pt-param-slider{flex:1;height:28px;touch-action:pan-y}input.pt-param-slider::-webkit-slider-runnable-track{height:2px;background:var(--border-bright);border-radius:1px}input.pt-param-slider::-moz-range-track{height:2px;background:var(--border-bright);border-radius:1px;border:none}.pt-gap-progress{margin-top:10px;height:3px;border-radius:2px;background:var(--border-bright);overflow:hidden;display:none}.pt-gap-fill{height:100%;border-radius:2px;width:100%;transition:width .06s linear,background .25s;background:var(--accent)}.pt-gap-status{margin-top:6px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);min-height:13px;transition:color .2s}.pt-gap-status.gap-play{color:var(--accent)}.pt-gap-status.gap-silent{color:var(--beat1)}.pt-ramp-info{margin-top:7px;font-size:9px;letter-spacing:.1em;color:var(--text-dim);min-height:13px}.pt-ramp-info strong{color:var(--accent);font-weight:400}.ss{margin-bottom:20px}.sl{display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.key-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.key-btn{padding:9px 2px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:10px;cursor:pointer;border-radius:2px;transition:all .15s;text-align:center;touch-action:manipulation}.key-btn:hover{border-color:var(--accent);color:var(--accent)}.key-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.scale-grid{display:flex;flex-wrap:wrap;gap:5px}.scale-btn{padding:6px 10px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;cursor:pointer;border-radius:2px;transition:all .15s;white-space:nowrap;touch-action:manipulation}.scale-btn:hover{border-color:var(--accent);color:var(--accent)}.scale-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.scale-desc{margin-top:10px;font-family:Cormorant Garamond,serif;font-size:13px;font-style:italic;font-weight:300;color:var(--text-dim);letter-spacing:.03em;min-height:18px;line-height:1.5}.scales-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--border-bright),transparent);margin:0 0 20px}.fb-wrap{background:var(--surface);border:1px solid var(--border-bright);border-radius:3px;padding:6px 0 4px;overflow:hidden;line-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.fb-wrap svg{display:block;width:100%;height:auto;touch-action:manipulation}.tab-card{border:1px solid var(--border-bright);border-radius:3px;background:var(--surface);padding:16px;margin-bottom:16px}.tc-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:8px}.tc-title{display:flex;flex-direction:column;gap:4px}.sname{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;color:var(--text);letter-spacing:.03em}.srange{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.tc-ctrl{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.pb{display:flex;gap:3px}.p-btn{width:30px;height:26px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;cursor:pointer;border-radius:2px;transition:all .15s;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.p-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.p-btn:hover:not(.active){color:var(--text-mid)}.p-info{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.btn-play{height:26px;padding:0 10px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;cursor:pointer;border-radius:2px;transition:all .15s;display:flex;align-items:center;gap:5px;touch-action:manipulation;white-space:nowrap}.btn-play:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-play.active{border-color:var(--beat1);color:var(--beat1);background:#e05a281a}.tab-display{display:flex;flex-direction:column}.td-markers,.td-row,.td-fnums{display:flex;align-items:center}.td-sname{width:14px;font-size:9px;color:var(--text-dim);text-align:center;flex-shrink:0;margin-right:8px;letter-spacing:0}.td-cell{flex:1;min-width:0;height:42px;display:flex;align-items:center;justify-content:center;position:relative}.td-row .td-cell:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border-bright);pointer-events:none}.tn{position:relative;z-index:2;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:9px;letter-spacing:0;background:var(--surface);border:1.5px solid var(--border-bright);color:var(--text-dim);flex-shrink:0;transition:all .1s;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.tn.root{border-color:var(--accent);color:var(--bg);background:var(--accent);box-shadow:0 0 12px var(--accent-glow),0 0 0 4px var(--accent-dim)}.td-markers{height:16px;margin-bottom:2px}.dot-mark{font-size:5px;color:var(--text-faint);text-align:center}.td-fnums{height:20px;margin-top:6px}.fnum{font-size:9px;color:var(--text-dim);text-align:center;letter-spacing:0}.notes-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip-wrap{display:flex;flex-direction:column;align-items:center;gap:3px}.chip{padding:5px 11px;border:1px solid var(--border-bright);border-radius:20px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.05em;color:var(--text-dim);background:transparent}.chip.root{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 6px var(--accent-glow)}.chip-iv{font-size:8px;color:var(--text-dim);letter-spacing:.05em}.tn:hover:not(.root){border-color:var(--accent);color:var(--accent)}.tn.root:hover{box-shadow:0 0 18px var(--accent-glow),0 0 0 6px var(--accent-dim)}@keyframes pluck{0%{transform:scale(1.35)}60%{transform:scale(.94)}to{transform:scale(1)}}.tn.plucked{animation:pluck .22s cubic-bezier(.2,0,.4,1)}#page-tuner{display:flex;flex-direction:column;align-items:center;padding:0 var(--pg-pad);gap:24px;min-height:calc(100svh - var(--nav-h));justify-content:center}.tun-grid{display:flex;flex-wrap:wrap;gap:5px;width:100%;margin-bottom:4px}.tun-btn{padding:6px 11px;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;cursor:pointer;border-radius:2px;transition:all .15s;white-space:nowrap;touch-action:manipulation}.tun-btn:hover{border-color:var(--accent);color:var(--accent)}.tun-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.str-row{display:flex;justify-content:space-between;width:100%;gap:5px}.str-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 4px 7px;border:1px solid var(--border-bright);border-radius:3px;background:var(--surface);transition:all .18s}.str-cell.str-active{border-color:var(--accent);background:var(--accent-dim)}.str-cell.str-tuned{border-color:var(--success);background:var(--success-dim)}.str-cell-name{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;line-height:1;color:var(--text-dim);transition:color .18s}.str-cell.str-active .str-cell-name{color:var(--accent)}.str-cell.str-tuned .str-cell-name{color:var(--success)}.str-cell-freq{font-size:7px;letter-spacing:.03em;color:var(--text-dim);opacity:.7}.tun-note-big{font-family:Cormorant Garamond,serif;font-size:clamp(64px,16vw,88px);font-weight:300;line-height:1;color:var(--text);letter-spacing:-.02em;min-width:3ch;text-align:center;transition:color .12s}.tun-note-big.tun-in-tune{color:var(--success)}.tun-note-big.tun-close{color:var(--accent)}.tun-note-big.tun-off{color:var(--text-dim)}.tun-meter-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.tun-meter{width:100%;height:32px;position:relative;display:flex;align-items:center}.tun-meter-track{width:100%;height:2px;background:var(--border-bright);border-radius:1px;position:relative}.tun-meter-track:before{content:"";position:absolute;left:45%;width:10%;height:6px;top:-2px;background:var(--success-glow);border-radius:2px}.tun-needle{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);width:2px;height:28px;background:var(--accent);border-radius:1px;transition:left .08s ease-out,background .15s}.tun-needle.tun-in-tune{background:var(--success)}.tun-meter-labels{display:flex;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.06em;color:var(--text-dim)}.tun-info-line{font-size:11px;letter-spacing:.12em;color:var(--text-dim);min-height:16px;display:flex;gap:8px}@media(max-width:767px){body.pt-open{overflow-y:auto;-webkit-overflow-scrolling:touch}body.pt-open #page-metro{justify-content:flex-start;padding-top:24px}}@media(min-width:768px){:root{--pg-pad: 48px;--nav-h: 52px}.nav-tabs{max-width:100%;padding:0 var(--pg-pad);border-bottom:1px solid var(--border)}.nav-logo{display:flex}.nav-tab{margin-right:32px;font-size:9px}.page{max-width:100%}#page-metro{max-width:640px;padding:40px 48px 80px;align-self:center;justify-content:flex-start}.hint{display:block}.pendulum-area{height:220px}.arm-line{height:174px}.arm-bob{width:26px;height:26px}.bpm-number{font-size:clamp(96px,12vw,128px)}.btn-bpm{width:42px;height:42px;font-size:20px}.btn-start,.btn-tap{height:58px}#page-scales{flex-direction:row;align-items:flex-start;max-width:100%;width:100%;padding:0;gap:0;align-self:stretch}.sc-left{flex:0 0 300px;position:sticky;top:var(--nav-h);max-height:calc(100svh - var(--nav-h));overflow-y:auto;padding:36px var(--pg-pad) 60px;border-right:1px solid var(--border);align-self:flex-start}.sc-left::-webkit-scrollbar{width:4px}.sc-left::-webkit-scrollbar-track{background:transparent}.sc-left::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.sc-right{flex:1;min-width:0;padding:36px var(--pg-pad) 40px}.scales-divider{display:none}.key-btn{padding:10px 2px;font-size:11px}.scale-btn{padding:7px 12px;font-size:10px}.scale-desc{font-size:14px;margin-top:14px}.sname{font-size:28px}.tab-card{padding:20px 24px;margin-bottom:20px}.tn{width:32px;height:32px;font-size:10px}.td-cell{height:46px}.p-btn{width:34px;height:30px;font-size:10px}.btn-play{height:30px;padding:0 14px;font-size:10px}.chip{padding:6px 14px;font-size:11px}.chip-iv{font-size:9px}#page-tuner{max-width:640px;padding:40px 48px 80px;align-self:center;justify-content:flex-start}.tun-note-big{font-size:clamp(96px,12vw,128px)}.str-cell-name{font-size:22px}}@media(min-width:1024px){.sc-left{flex:0 0 340px}}@media(min-width:1280px){.sc-left{flex:0 0 380px}}@media(min-width:1440px){body{zoom:1.3;--app-zoom: 1.3}body,.app{min-height:calc(100svh / 1.3)}#page-home,#page-metro,#page-tuner{min-height:calc(100svh / 1.3 - var(--nav-h))}.sc-left{flex:0 0 420px;max-height:calc(100svh / 1.3 - var(--nav-h))}}.stripe-backdrop{position:fixed;inset:0;z-index:300;background:#09090ad9;display:flex;align-items:center;justify-content:center;padding:16px}.stripe-modal{position:relative;width:100%;max-width:520px;max-height:90dvh;overflow-y:auto;background:#fff;border-radius:12px;zoom:calc(1 / var(--app-zoom, 1))}.stripe-close{position:absolute;top:12px;right:12px;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#0000000f;color:#555;border:none;cursor:pointer;transition:background .15s}.stripe-close:hover{background:#0000001f}.stripe-container{width:100%}.paywall-backdrop{position:fixed;inset:0;z-index:200;background:#09090ac7;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:auth-fade-in .18s ease}.paywall-modal{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border-bright);border-radius:16px;padding:32px 28px 28px;box-shadow:0 24px 64px #00000080;animation:auth-slide-up .22s cubic-bezier(.34,1.3,.64,1)}.paywall-eyebrow{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.paywall-title{font-family:Cormorant Garamond,Georgia,serif;font-size:30px;font-weight:600;line-height:1.1;color:var(--text);margin-bottom:12px}.paywall-copy{font-size:13px;color:var(--text-dim);line-height:1.55;margin-bottom:18px}.paywall-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}.paywall-features li{font-size:12px;color:var(--text-mid);padding-left:16px;position:relative;line-height:1.4}.paywall-features li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-size:11px}.paywall-continuity{font-size:11px;color:var(--text-dim);text-align:center;letter-spacing:.02em;margin-bottom:20px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:none}.paywall-ctas{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.paywall-cta-primary{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 16px 12px;gap:2px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;position:relative;transition:opacity .15s,transform .1s}.paywall-cta-primary:hover{opacity:.88}.paywall-cta-primary:active{transform:scale(.98)}.paywall-cta-badge{position:absolute;top:-9px;right:14px;background:var(--bg);color:var(--accent);border:1px solid var(--accent);font-size:8px;font-weight:700;letter-spacing:.12em;padding:2px 8px;border-radius:4px;line-height:1.3}.paywall-cta-main{font-size:14px;font-weight:600}.paywall-cta-sub{font-size:11px;font-weight:400;opacity:.7}.paywall-cta-secondary{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--text);border:1px solid var(--border-bright);border-radius:8px;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.paywall-cta-secondary:hover{border-color:var(--accent);background:var(--accent-dim)}.paywall-cta-aside{font-size:11px;color:var(--text-dim);font-weight:400}.paywall-anchor{color:var(--btn-primary-fg);opacity:.55;font-weight:400;margin-right:4px}.paywall-anchor s{text-decoration:line-through}.paywall-dismiss{display:block;width:100%;padding:0;background:transparent;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;text-align:center;transition:color .15s}.paywall-dismiss:hover{color:var(--text)}.prefs-backdrop{position:fixed;inset:0;z-index:400;background:#09090ab8;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:auth-fade-in .18s ease}.prefs-modal{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--border-bright);border-radius:14px;padding:20px;box-shadow:0 20px 56px #00000073;animation:auth-slide-up .2s cubic-bezier(.34,1.3,.64,1)}.prefs-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.prefs-modal-title{font-size:14px;font-weight:700;color:var(--text)}.prefs-close-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s}.prefs-close-btn:hover{color:var(--text);background:var(--border-bright)}.prefs-section{margin-bottom:20px}.prefs-section:last-child{margin-bottom:0}.prefs-section-label{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border-bright)}.prefs-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.prefs-row:last-child{margin-bottom:0}.prefs-row-label{font-size:12px;font-weight:500;color:var(--text-dim)}.prefs-btn-group{display:flex;gap:5px;flex-wrap:wrap}.prefs-btn-opt{padding:6px 13px;font-size:12px;font-weight:500;border:1px solid var(--border-bright);background:transparent;color:var(--text-dim);border-radius:6px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.prefs-btn-opt:hover{border-color:var(--accent);color:var(--text)}.prefs-btn-opt.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.page-intent-sub{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.04em;line-height:1.7;color:var(--text-mid);margin-bottom:12px}.page-intent-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.page-intent-pill{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--border-bright);border-radius:20px;font-family:DM Mono,monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.intent-tooltip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border-bright);border-left:2px solid var(--accent);background:var(--surface);border-radius:2px;animation:hFadeUp .3s ease-out both}.intent-tooltip-text{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.04em;color:var(--text-mid);line-height:1.5;flex:1}.intent-tooltip-dismiss{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:0 2px;line-height:1;flex-shrink:0;opacity:.55;transition:opacity .15s}.intent-tooltip-dismiss:hover{opacity:1}.locked-toggle-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.locked-toggle{display:flex;align-items:center;gap:4px;opacity:.7}.locked-toggle-icon{font-size:10px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.nf-wrap{text-align:center;padding:80px 24px 40px;max-width:440px;margin:0 auto;animation:nf-fade-up .5s both}.nf-neck{display:block;margin:0 auto 36px}.nf-eyebrow{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.nf-code{font-family:Cormorant Garamond,serif;font-size:clamp(88px,22vw,128px);font-weight:300;line-height:.9;letter-spacing:-.02em;color:var(--accent)}.nf-title{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;font-style:italic;color:var(--text);margin:20px 0 10px}.nf-copy{font-size:11px;line-height:1.8;color:var(--text-dim);letter-spacing:.02em;margin-bottom:32px}.nf-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.nf-btn:hover{background:var(--accent);color:var(--bg)}@keyframes nf-fade-up{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
