@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,800;0,9..144,900;1,9..144,600;1,9..144,900&family=Shippori+Mincho:wght@500;600;700;800&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");:root{--stage-1:#131c2b;--stage-2:#0a0f18;--bg:#0d1420;--surface:#121b29;--raised:#1a2536;--ink:#e9e2d0;--ink-soft:#97a3b4;--line:rgb(233 226 208/14%);--accent:#c9a24b;--accent-soft:rgb(201 162 75/14%);--gold:#d4af5e;--success:#7dbb98;--danger:#d98177;--radius:14px;--font-display:"Fraunces","Shippori Mincho",serif;--font-sans:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;--jacket-filter:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:clip;color:var(--ink);font-family:var(--font-sans);background:radial-gradient(1000px 600px at 15% -10%,rgb(201 162 75/10%) 0,transparent 55%),linear-gradient(160deg,var(--stage-1) 0,var(--stage-2) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}main{max-width:760px;margin:1.5rem auto 3rem;padding:1rem 1.25rem 2.5rem}main.main-wide{max-width:1180px}@media (max-width:640px){main{margin:.75rem auto 2rem;padding:.5rem 1rem 2rem}}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgb(10 15 24/80%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.9rem 1.5rem}.app-header-inner :not(button):not(button *){color:var(--ink)!important}.app-header-inner{max-width:1180px;margin:0 auto}.app-header a:first-child{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.app-footer{max-width:760px;margin:0 auto;padding:2rem 1.25rem 3rem;text-align:center;font-size:.75rem;line-height:1.7;color:var(--ink-soft)}.app-footer p{margin:0}.app-footer-links{margin-top:.6rem;display:flex;justify-content:center;gap:1.2rem}.app-footer-links a{color:var(--ink-soft);text-decoration:none}.app-footer-links a:hover{color:var(--accent)}.legal{padding:.5rem 0 2rem}.legal-title{margin:0 0 .3rem;font-family:var(--font-display);font-size:1.6rem;color:var(--ink)}.legal-updated{margin:0 0 1.5rem;font-size:.78rem;color:var(--ink-soft)}.legal-body{font-size:.92rem;line-height:1.8;color:var(--ink)}.legal-dl{margin:0;display:flex;flex-direction:column}.legal-row{display:grid;grid-template-columns:9rem 1fr;grid-gap:.5rem;gap:.5rem;padding:.7rem 0;border-bottom:1px solid var(--line)}@media (max-width:640px){.legal-row{grid-template-columns:1fr;gap:.2rem}}.legal-row-label{font-weight:700;color:var(--ink-soft)}.legal-row-value{margin:0;color:var(--ink)}.legal-inline-canvas{display:inline-block;vertical-align:middle;margin:0 .2em}.legal-sections section{margin-bottom:1.6rem}.legal-sections h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.05rem;color:var(--ink)}.legal-sections p{margin:0}.legal-sections ul{margin:0;padding-left:1.3rem}.legal-sections li{margin-bottom:.3rem}.plain-link{text-decoration:none}.quiz-select{width:100%;font-size:1rem;font-family:var(--font-sans);padding:.85rem 1rem;border-radius:12px;border:1.5px solid var(--line);background:var(--raised);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.quiz-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.quiz-select:disabled{opacity:.5}.hero-band{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;width:100%;padding:2.5rem 2rem;border-radius:18px;background:linear-gradient(155deg,var(--accent-soft) 0,#eef4f8 60%,#f7fafc 100%);border:1px solid var(--line);box-shadow:0 18px 40px rgb(0 0 0/42%)}.hero-content>span{font-family:var(--font-display)}.hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;width:100%}.hero-band button{margin-top:.5rem}.hero-stats{display:flex;gap:1.75rem;margin-top:1.5rem}.hero-stat{display:flex;flex-direction:column}@media (min-width:860px){main.main-wide .hero-band{flex-direction:row;align-items:center;justify-content:space-between;gap:3rem;padding:3.5rem}main.main-wide .hero-content{max-width:480px}main.main-wide .hero-stats{flex-direction:column;gap:1.5rem;margin-top:0;flex-shrink:0;padding-left:2.5rem;border-left:1px solid var(--line)}main.main-wide .hero-stat-value{font-size:1.9rem}}.hero-stat-value{font-family:var(--font-sans);font-weight:800;font-size:1.4rem;color:var(--accent)}.hero-stat-label{font-size:.72rem;color:var(--ink-soft)}.steps{width:100%;gap:.85rem}.steps,.steps-list{display:flex;flex-direction:column}.steps-list{list-style:none;margin:0;padding:0;counter-reset:step;gap:.65rem}.steps-list li{counter-increment:step;position:relative;padding-left:2.4rem;font-size:.92rem;color:var(--ink-soft);min-height:1.75rem;display:flex;align-items:center}.steps-list li:before{content:counter(step);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}@media (min-width:860px){main.main-wide .steps-list{flex-direction:row;gap:1.25rem}main.main-wide .steps-list li{flex:1 1;flex-direction:column;align-items:flex-start;padding-left:0;padding-top:2.5rem;min-height:0}main.main-wide .steps-list li:before{position:absolute;top:0;left:0}}.course-section{display:flex;flex-direction:column;gap:1.25rem;width:100%;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}.course-section:first-of-type{margin-top:2.5rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem;width:100%}.course-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;cursor:pointer;padding:0;text-align:left;font:inherit;color:inherit;box-shadow:0 10px 24px rgb(0 0 0/35%);transition:transform .15s ease,box-shadow .15s ease}.course-card:hover{transform:translate(-2px,-2px);box-shadow:0 14px 30px rgb(0 0 0/45%),0 0 0 1px var(--accent)}.course-card-thumb{aspect-ratio:1/1;width:100%;position:relative;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.course-card-thumb img{width:100%;height:100%;object-fit:cover;filter:var(--jacket-filter)}.course-card-thumb-fallback{font-family:var(--font-display);font-size:2.25rem;color:var(--accent)}.course-card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem}.course-card-body>span:first-child{font-family:var(--font-display)}.course-card[data-locked=true] .course-card-thumb img{filter:grayscale(.5) brightness(.7)}.course-card-lock-badge{position:absolute;top:.5rem;right:.5rem}.diff-card-pro-badge{align-self:flex-end}.diff-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;width:100%}@media (max-width:420px){.diff-grid{grid-template-columns:1fr}}.diff-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem 1.1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;font-family:var(--font-sans);text-align:left;box-shadow:4px 4px 0 0 var(--card-accent);transition:transform .15s ease,box-shadow .15s ease;--card-accent:var(--accent)}.diff-card[data-level=easy]{--card-accent:#3f7d6e}.diff-card[data-level=normal]{--card-accent:#2f6690}.diff-card[data-level=hard]{--card-accent:var(--gold)}.diff-card[data-level=perfect]{--card-accent:#5b4a8a}.diff-card:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--card-accent)}.diff-card:disabled{opacity:.6;cursor:default}.diff-card[data-locked=true]{--card-accent:var(--ink-soft);opacity:.75}.detail-panel{position:relative}.detail-panel-locked table{filter:blur(4px);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.detail-panel-overlay{position:absolute;inset:0;flex-direction:column;gap:.75rem;background:color-mix(in srgb,var(--surface) 55%,transparent)}.detail-panel-overlay,.diff-card-icon{display:flex;align-items:center;justify-content:center}.diff-card-icon{width:2.25rem;height:2.25rem;border-radius:10px;background:var(--card-accent);color:#fff}.diff-card-icon,.diff-card-label{font-size:1.05rem;font-weight:700}.diff-card-label{font-family:var(--font-display);color:var(--ink)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;width:100%}@media (max-width:480px){.choice-grid{grid-template-columns:1fr}}.choice-card{display:flex;align-items:center;gap:.65rem;padding:.9rem 1rem;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-family:var(--font-sans);text-align:left;box-shadow:0 8px 18px rgb(0 0 0/30%);transition:transform .12s ease,box-shadow .12s ease}.choice-card:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 var(--accent)}.choice-card:disabled{opacity:.6;cursor:default}.choice-card-badge{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.85rem}.choice-card-label{display:flex;flex-direction:column;gap:.15rem;font-size:.92rem;line-height:1.35;color:var(--ink)}.choice-card-composer{font-size:.75rem;color:var(--ink-soft)}.choice-card-work{font-weight:600}.play-button-wrap.is-playing button{animation:gentlePulse 1.4s ease-in-out infinite}@keyframes gentlePulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 8px transparent}}.result-flash{animation-duration:.4s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.result-flash-correct{animation-name:correctPop}.result-flash-incorrect{animation-name:incorrectShake}.result-flash-passed{animation-name:correctPop}@keyframes correctPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes incorrectShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}.points-badge{display:inline-block;animation:pointsPop .3s ease-out;font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:1;color:var(--ink)}.score-card{display:flex;flex-direction:column;align-items:center;gap:.4rem}.score-card-value{display:flex;align-items:baseline;gap:.3rem}.score-card-unit{font-size:.9rem;font-weight:700;color:var(--ink-soft)}.score-card-formula{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.5rem;margin-top:.2rem;font-size:.78rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-card-term{display:flex;flex-direction:column;align-items:center;line-height:1.25;font-weight:700}.score-card-term small{font-size:.62rem;font-weight:400;opacity:.75;white-space:nowrap}.score-card-op{opacity:.45;padding-top:.05rem}@keyframes pointsPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th{color:var(--ink-soft);font-weight:600;font-size:.78rem}table.data td,table.data th{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line)}.transport{display:flex;flex-direction:column;align-items:center;gap:.85rem}.transport-dial{position:relative;width:132px;height:132px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);box-shadow:0 14px 30px rgb(0 0 0/45%);cursor:pointer;transition:transform .12s cubic-bezier(.22,1,.36,1),box-shadow .12s cubic-bezier(.22,1,.36,1),background .2s ease}.transport-dial:hover{background:var(--accent-soft)}.transport-dial:active{transform:scale(.97)}.transport-dial:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.transport-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.transport-ring circle{fill:none;stroke-width:7;stroke-linecap:round}.transport-ring-track{stroke:var(--accent-soft)}.transport-ring-value{stroke:var(--accent);transition:stroke .25s ease}.transport.is-playing .transport-ring-value{stroke:var(--gold)}.transport-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.transport-icon svg{width:40px;height:40px;fill:var(--ink);transform:translateX(2px)}.transport.is-playing .transport-icon svg{transform:none}.transport.is-playing .transport-dial{animation:transportPulse 1.6s ease-in-out infinite}@keyframes transportPulse{0%,to{box-shadow:5px 5px 0 0 var(--ink),0 0 0 0 rgba(181,133,44,.45)}70%{box-shadow:5px 5px 0 0 var(--ink),0 0 0 14px rgba(181,133,44,0)}}.transport-time{display:flex;align-items:baseline;gap:.35rem;font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft)}.transport-time-now{font-size:1.85rem;font-weight:800;line-height:1;color:var(--ink);text-align:right}.transport-time-max{font-size:.95rem;font-weight:600}.transport-restart{min-height:1.9rem;padding:.25rem .85rem;border:2px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-family:var(--font-sans);font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}.transport-restart:hover{border-color:var(--ink);color:var(--ink)}.transport-restart.is-placeholder{border-color:transparent;cursor:default;pointer-events:none}@media (prefers-reduced-motion:reduce){.transport.is-playing .transport-dial{animation:none}}.transport-head{position:absolute;inset:0;border-radius:50%;pointer-events:none}.transport-head:before{content:"";position:absolute;top:5px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--surface)}.transport-time-now .tick-digit{display:inline-block;width:.58em;text-align:center}.transport-time-now .tick-dot{display:inline-block;width:.26em;text-align:center}.quiz-select-sub{font-size:.85rem;color:var(--ink-soft);-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3 5 6.5 8.5 3' fill='none' stroke='%235c7488' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:10px 10px}.quiz-banner{display:flex;align-items:center;gap:1rem;width:100%;padding:0 0 .7rem;border-bottom:1px solid var(--line)}.quiz-banner-body{display:flex;flex-direction:column;gap:.45rem;min-width:0;flex:1 1}.quiz-banner-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1.2;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quiz-banner-pips{display:flex;gap:.3rem}.quiz-banner-pip{width:100%;max-width:22px;height:6px;border-radius:999px;background:var(--line);transition:background .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.quiz-banner-pip[data-state=correct]{background:var(--success)}.quiz-banner-pip[data-state=incorrect]{background:var(--danger)}.quiz-banner-pip[data-state=current]{background:var(--accent);transform:scaleY(1.6)}.quiz-banner-count{display:flex;align-items:baseline;gap:.15rem;flex-shrink:0;font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft)}.quiz-banner-count-current{font-size:1.6rem;font-weight:800;line-height:1;color:var(--ink)}.quiz-banner-count-total{font-size:.8rem;font-weight:600}@media (max-width:480px){.quiz-banner{gap:.7rem}.quiz-banner-title{font-size:.95rem}}.combobox{position:relative;width:100%}.combobox-input{padding-right:2.4rem;text-overflow:ellipsis}.combobox-input::placeholder{color:var(--ink-soft);opacity:.75}.combobox-caret{position:absolute;top:50%;right:1rem;width:.5rem;height:.5rem;margin-top:-.35rem;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(45deg);pointer-events:none}.combobox-list{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;max-height:15rem;margin:0;padding:.3rem;overflow-y:auto;overscroll-behavior:contain;list-style:none;border:1.5px solid var(--line);border-radius:12px;background:var(--raised);box-shadow:0 16px 36px rgb(0 0 0/55%)}.combobox-option{display:block;width:100%;padding:.55rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:.95rem;line-height:1.35;text-align:left;cursor:pointer}.combobox-option[data-active=true]{background:var(--accent-soft)}.combobox-option[data-selected=true]{font-weight:700;color:var(--accent)}.combobox-empty{padding:.7rem;color:var(--ink-soft);font-size:.88rem;text-align:center}.round-total{display:flex;align-items:baseline;gap:.3rem}.round-total-value{font-family:var(--font-display);font-size:3rem;font-weight:800;line-height:1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-total-unit{font-size:.9rem;font-weight:700;color:var(--ink-soft)}.round-best{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:100%;padding:.3rem 0}.round-compare{display:flex;justify-content:center;gap:.5rem;width:100%;padding:.7rem .5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.round-compare-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex:1 1}.round-compare-label{font-size:.7rem;color:var(--ink-soft)}.round-compare-value{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-breakdown{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.round-breakdown-row{display:grid;grid-template-columns:1.4rem 1fr auto auto;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.45rem .2rem;border-bottom:1px solid var(--line)}.round-breakdown-row:last-child{border-bottom:0}.round-breakdown-no{font-size:.72rem;font-weight:700;color:var(--ink-soft);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-breakdown-row[data-correct=true] .round-breakdown-no{color:var(--success)}.round-breakdown-row[data-correct=false] .round-breakdown-no{color:var(--danger)}.round-breakdown-title{display:flex;flex-direction:column;min-width:0}.round-breakdown-composer{font-size:.68rem;color:var(--ink-soft)}.round-breakdown-composer,.round-breakdown-work{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-breakdown-work{font-size:.85rem;color:var(--ink)}.round-breakdown-sec{font-size:.72rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-breakdown-points{min-width:3ch;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--ink);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-breakdown-row[data-correct=false] .round-breakdown-points{color:var(--ink-soft);opacity:.6}.locale-switch{padding:.25rem .6rem;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-family:var(--font-sans);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}.locale-switch:hover{border-color:var(--accent);color:var(--accent)}.give-up-button{align-self:center;padding:.4rem 1rem;border:0;background:transparent;color:var(--ink-soft);font-family:var(--font-sans);font-size:.85rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.give-up-button:hover{color:var(--ink)}.give-up-button:disabled{opacity:.4;cursor:default}.score-hero{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-hero-main{display:flex;align-items:baseline;gap:.4rem}.score-hero-value{font-family:var(--font-display);font-size:4.2rem;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.score-hero-value.is-landed{animation:scoreLand .45s cubic-bezier(.22,1.6,.36,1)}@keyframes scoreLand{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}.score-hero-value[data-tier=high]{color:var(--accent)}.score-hero-value[data-tier=gold]{background:linear-gradient(115deg,#8a5a10 15%,#e0a92e 40%,#fff2c4 50%,#e0a92e 60%,#8a5a10 85%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:scoreShine 1.8s ease-in-out .45s 2}@keyframes scoreShine{0%{background-position:120% 0}to{background-position:-120% 0}}.score-hero-unit{font-size:1rem;font-weight:700;color:var(--ink-soft)}.score-hero-formula{opacity:0;animation:fadeRise .5s ease-out .9s forwards}@keyframes fadeRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.result-stats{width:100%;display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;padding:1.3rem 0;border-top:1px solid var(--line)}.result-stat{display:flex;flex-direction:column;min-width:7rem}.result-stat-label{font-size:.7rem;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:.4rem}.result-stat-value{font-family:var(--font-display),serif;font-size:2rem;line-height:1;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-stat-value small{font-size:.85rem;margin-left:.1rem}.result-stat.is-mine .result-stat-value{color:var(--ink)}.result-stat-sub{margin-top:.4rem;font-size:.72rem;color:var(--ink-soft)}.result-confusions{flex:1 1 16rem;min-width:0;display:flex;flex-direction:column}.result-confusion-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem}.result-confusion-list li::marker{color:var(--gold);font-size:.8rem}.result-confusion-title{display:block;font-size:.86rem;line-height:1.4;color:var(--ink)}.result-confusion-composer{display:block;font-size:.72rem;color:var(--ink-soft)}.full-audio{display:flex;align-items:center;gap:.8rem;width:100%}.full-audio-toggle{flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:.8rem;line-height:1;cursor:pointer;transition:background .15s ease}.full-audio-toggle:hover{background:rgb(212 175 94/14%)}.full-audio-seek{flex:1 1 auto;min-width:0;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(to right,var(--gold) 0,var(--gold) var(--played,0),var(--line) var(--played,0),var(--line) 100%);cursor:pointer}.full-audio-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--gold);border:none}.full-audio-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--gold);border:none}.full-audio-time{flex:0 0 auto;font-size:.76rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.full-audio-time-sep{opacity:.6}.pro-blur-line{display:block;height:.62rem;border-radius:4px;background:linear-gradient(90deg,var(--line),var(--accent-soft));filter:blur(2.5px);opacity:.9}.brand-stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.8rem 1rem 1.2rem;text-align:center}.brand-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,8vw,5rem);line-height:1;letter-spacing:.01em;color:var(--ink)}.brand-title em{font-style:italic;font-weight:900;color:var(--gold);text-shadow:0 0 34px rgb(212 175 94/30%)}.brand-tagline-link{color:inherit;text-decoration:none}.brand-tagline-link:hover{color:var(--gold)}.brand-tagline{margin:0;font-family:var(--font-display);font-size:.98rem;letter-spacing:.14em;color:var(--ink-soft)}.catalog-note{margin:.4rem 0 0;font-size:.72rem;color:var(--ink-soft)}.app-header button{background:transparent!important;border:1px solid var(--line)!important;color:var(--ink)!important;box-shadow:none!important}.app-header button:hover{border-color:var(--accent)!important;color:var(--accent)!important}.course-row{display:flex;gap:.9rem;overflow-x:auto;padding:.3rem .2rem .9rem;scrollbar-width:thin;scrollbar-color:var(--accent-soft) transparent}.course-row .course-card{flex:0 0 168px;width:168px}.course-row .course-card-body{padding:.7rem .8rem .9rem}.course-era-block{display:flex;flex-direction:column;gap:.4rem}.course-era-heading{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--ink-soft)}.course-era-heading:before{content:"";width:1.4rem;height:1px;background:var(--accent)}.course-card[data-category=country] .course-card-thumb img{filter:saturate(.72) brightness(.88)}.course-card-glyph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:radial-gradient(70% 70% at 50% 42%,rgb(201 162 75/10%) 0,transparent 72%)}.course-card-glyph svg{width:64%;height:64%;filter:drop-shadow(0 0 10px rgb(201 162 75/25%))}.course-card-glyph svg[viewBox="0 0 256 256"]{width:52%;height:52%}.records-page{gap:2rem;width:100%}.records-head,.records-page{display:flex;flex-direction:column}.records-head{align-items:center;text-align:center;gap:.4rem;padding:1.2rem 0 .4rem}.records-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,2.8rem);color:var(--ink)}.records-lead{margin:0;font-size:.88rem;color:var(--ink-soft)}.records-totals{display:flex;gap:2.2rem;margin-top:1rem}.records-total{display:flex;flex-direction:column;align-items:center}.records-total-value{font-family:var(--font-display);font-weight:800;font-size:1.7rem;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.records-total-value small{font-size:.95rem;color:var(--ink-soft)}.records-total-stars{color:var(--gold)}.records-total-label{font-size:.7rem;letter-spacing:.1em;color:var(--ink-soft)}.records-empty{margin:1rem 0 0;font-size:.85rem;color:var(--ink-soft)}.records-era{display:flex;flex-direction:column;gap:.6rem}.records-shelf{display:flex;flex-wrap:wrap;gap:.8rem;padding:.3rem .2rem .8rem}.records-composer{position:relative;background:transparent;border:0;flex:0 0 auto;width:108px;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.7rem .4rem .6rem;cursor:pointer;font-family:var(--font-sans);color:var(--ink);transition:transform .12s ease,box-shadow .12s ease}.records-composer:hover{transform:translateY(-3px)}.records-composer:hover .records-composer-name{color:var(--gold)}.records-composer[data-untouched=true]{opacity:.45}.records-composer[data-complete=true] .records-composer-name{color:var(--gold)}.records-ring{position:relative;width:76px;height:76px}.records-ring svg{position:absolute;inset:0}.records-ring-track{fill:none;stroke:var(--line);stroke-width:3}.records-ring-bar{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round}.records-ring-inner{position:absolute;inset:8px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface)}.records-ring-inner img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.02) brightness(.94)}.records-ring-fallback{color:var(--accent);font-size:1.3rem}.records-laurel{position:absolute;top:.3rem;right:.4rem;color:var(--gold);font-size:.95rem}.records-composer-name{font-size:.74rem;font-weight:700;text-align:center;line-height:1.25}.records-composer-count{font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.records-composer-count small{color:var(--ink-soft);font-size:.7rem}.records-composer-head{display:flex;align-items:center;gap:1.2rem}.records-composer-portrait{width:84px;height:84px;border-radius:50%;object-fit:cover;border:1px solid var(--line);filter:grayscale(.2) brightness(.94)}.records-composer-headline{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.records-composer-actions{margin-top:.4rem}.records-program{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.records-program-row{display:flex;align-items:baseline;gap:.9rem;padding:.65rem .4rem;border-bottom:1px solid var(--line)}.records-program-row[data-state=untouched]{opacity:.45}.records-program-title{flex:1 1;min-width:0;font-size:.92rem;overflow-wrap:anywhere}.records-program-row[data-state=solved] .records-program-title{color:var(--ink)}.records-program-meta{display:flex;align-items:baseline;gap:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.records-program-sec{font-size:.8rem;color:var(--ink-soft)}.records-program-points{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--gold)}.records-program-missed,.records-program-unplayed{font-size:.74rem;color:var(--ink-soft)}.records-program-missed{color:var(--danger)}.records-stars{display:inline-flex;gap:.1rem;font-size:.85rem;width:3.2rem;color:color-mix(in srgb,var(--ink-soft) 40%,transparent)}.records-stars .is-lit{color:var(--gold);text-shadow:0 0 8px rgb(212 175 94/40%)}.records-program-mark{width:3.2rem;display:inline-flex}.records-program-x{color:var(--danger);font-weight:700}.app-header-bar{justify-content:space-between;gap:1rem}.app-header-bar,.app-nav{display:flex;align-items:center}.app-nav{gap:1.4rem;flex-wrap:wrap}.app-header-user{display:flex;align-items:center;gap:.6rem}.nav-burger{display:none;background:transparent!important;border:1px solid var(--line)!important;border-radius:10px;width:42px;height:38px;align-items:center;justify-content:center;cursor:pointer}.nav-burger-icon,.nav-burger-icon:after,.nav-burger-icon:before{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .18s ease,opacity .18s ease;position:relative}.nav-burger-icon:before{position:absolute;transform:translateY(-6px)}.nav-burger-icon:after{position:absolute;transform:translateY(6px)}.nav-burger-icon[data-open=true]{background:transparent}.nav-burger-icon[data-open=true]:before{transform:rotate(45deg)}.nav-burger-icon[data-open=true]:after{transform:rotate(-45deg)}.app-drawer{display:none}@media (max-width:860px){.app-nav{display:none}.nav-burger{display:flex}.app-drawer{display:block;overflow:hidden;max-height:0;transition:max-height .22s ease;background:rgb(10 15 24/96%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-drawer[data-open=true]{max-height:30rem;border-top:1px solid var(--line)}.app-drawer-nav{display:flex;flex-direction:column;padding:.6rem 1.5rem}.app-drawer-nav .plain-link{padding:.85rem 0;border-bottom:1px solid var(--line)}.app-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem 1.2rem;flex-wrap:wrap}}@media (max-width:640px){.records-totals{gap:1.4rem}.records-total-value{font-size:1.35rem}.records-program-row{flex-wrap:wrap;gap:.4rem .9rem}.records-program-meta{white-space:normal}.records-composer-head{flex-direction:column;align-items:flex-start}.brand-stage{padding:1.8rem .5rem .6rem}}.transport-dial:before{content:"";position:absolute;inset:9px;border-radius:50%;background:conic-gradient(from 20deg,rgb(255 255 255/7%) 0deg 26deg,transparent 26deg 168deg,rgb(255 255 255/5%) 168deg 200deg,transparent 200deg),repeating-radial-gradient(circle,#0b1018 0 1.7px,#161e2b 1.7px 3.6px);animation:vinyl-spin 2.4s linear infinite;animation-play-state:paused}.transport.is-playing .transport-dial:before{animation-play-state:running}@keyframes vinyl-spin{to{transform:rotate(1turn)}}.transport-head,.transport-icon{position:relative;z-index:1}.combobox-input,.quiz-select{color:var(--ink)!important}.combobox-input::placeholder{color:color-mix(in srgb,var(--ink-soft) 85%,var(--ink));opacity:1}.auto-stop{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:center}.auto-stop-label{font-size:.68rem;letter-spacing:.12em;color:var(--ink-soft);margin-right:.25rem}.auto-stop-pill{font-family:var(--font-sans);font-size:.74rem;font-weight:700;padding:.28rem .65rem;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auto-stop-pill:hover{border-color:var(--accent);color:var(--ink)}.auto-stop-pill[data-active=true]{border-color:#e05c4f;background:rgb(224 92 79/14%);color:#e0705f}.auto-stop-pill:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line);color:var(--ink-soft)}.transport-stop-mark{stroke:#e05c4f;stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 4px rgb(224 92 79/45%))}.transport-stop-mark[data-passed=true]{stroke:var(--ink-soft);opacity:.3;filter:none}.transport-play-head{stroke:#ffffff;stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 3px rgb(255 255 255/45%))}.locale-switch-mobile{display:none}@media (max-width:860px){.locale-switch-mobile{display:inline-flex;margin-left:auto}.app-header-bar{gap:.6rem}}.brand-stage{position:relative;isolation:isolate;overflow:hidden}.brand-art{position:absolute;inset:0;z-index:-1;pointer-events:none}.brand-art-jacket{position:absolute;width:clamp(84px,10vw,128px);aspect-ratio:1/1;object-fit:cover;border-radius:6px;border:1px solid rgb(233 226 208/18%);box-shadow:0 14px 30px rgb(0 0 0/55%);filter:brightness(.72) saturate(.9);transition:transform .25s ease,filter .25s ease}.brand-art-jacket:first-child{left:2%;top:6%;transform:rotate(-10deg)}.brand-art-jacket:nth-child(2){left:9%;top:44%;transform:rotate(6deg);width:clamp(70px,8vw,104px)}.brand-art-jacket:nth-child(3){left:20%;top:14%;transform:rotate(3deg);width:clamp(58px,6.5vw,86px);filter:brightness(.55) saturate(.85)}.brand-art-jacket:nth-child(4){right:2%;top:10%;transform:rotate(9deg)}.brand-art-jacket:nth-child(5){right:10%;top:48%;transform:rotate(-7deg);width:clamp(70px,8vw,104px)}.brand-art-jacket:nth-child(6){right:21%;top:6%;transform:rotate(-3deg);width:clamp(58px,6.5vw,86px);filter:brightness(.55) saturate(.85)}.brand-art-jacket:nth-child(7){left:-3%;top:66%;transform:rotate(14deg);width:clamp(50px,5.5vw,72px);filter:brightness(.45)}.brand-art-jacket:nth-child(8){right:-3%;top:70%;transform:rotate(-13deg);width:clamp(50px,5.5vw,72px);filter:brightness(.45)}.brand-stage:hover .brand-art-jacket{filter:brightness(.86) saturate(1)}@media (max-width:700px){.brand-art-jacket:nth-child(n+3){display:none}.brand-art-jacket:first-child{left:-4%;top:4%;width:72px}.brand-art-jacket:nth-child(2){left:auto;right:-4%;top:12%;width:72px;transform:rotate(8deg)}}.brand-art-jacket:nth-child(9){left:6%;top:78%;transform:rotate(-5deg);width:clamp(56px,6vw,80px);filter:brightness(.5)}.brand-art-jacket:nth-child(10){right:7%;top:82%;transform:rotate(6deg);width:clamp(56px,6vw,80px);filter:brightness(.5)}.brand-art-jacket:nth-child(11){left:15%;top:80%;transform:rotate(-8deg);width:clamp(48px,5vw,68px);filter:brightness(.4)}.brand-art-jacket:nth-child(12){right:16%;top:84%;transform:rotate(10deg);width:clamp(48px,5vw,68px);filter:brightness(.4)}@media (max-width:640px){.course-row .course-card{flex:0 0 124px;width:124px}.course-row .course-card-body{padding:.55rem .65rem .7rem}}.app-header .brand-mark{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--ink)!important;letter-spacing:.01em}.app-header .brand-mark em{font-style:italic;font-weight:900;color:var(--gold)!important}.course-row{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 3rem),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 3rem),transparent)}main.main-plain,main.main-wide{background:transparent;border:none;box-shadow:none}main.main-plain{padding:1.25rem 1rem 2.5rem}.records-mv-chips{display:flex;flex-wrap:wrap;gap:.3rem;flex-basis:100%;order:10;padding:.3rem 0 0 3.2rem}.records-mv-chip{display:inline-flex;align-items:baseline;gap:.22rem;font-size:.66rem;font-weight:700;padding:.14rem .45rem;border-radius:6px;border:1px solid var(--line);color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.records-mv-chip em{font-style:normal;letter-spacing:-.08em}.records-mv-chip[data-tier="1"],.records-mv-chip[data-tier="2"],.records-mv-chip[data-tier="3"]{border-color:color-mix(in srgb,var(--gold) 45%,transparent);color:var(--gold)}.records-mv-chip[data-tier="3"]{background:var(--accent-soft)}.records-mv-chip[data-missed=true]{border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}.records-program-row{flex-wrap:wrap}.records-program-item{border-bottom:1px solid var(--line)}.records-program-item .records-program-row{width:100%;background:transparent;border:none;font:inherit;color:inherit;text-align:left}.records-program-row[data-expandable=true]{cursor:pointer}.records-program-row[data-expandable=true]:hover .records-program-title{color:var(--gold)}.records-program-caret{color:var(--ink-soft);font-size:.75rem}.records-movements{list-style:none;margin:0;padding:0 0 .6rem 3.4rem;display:flex;flex-direction:column}.records-movement-row{display:flex;align-items:baseline;gap:.9rem;padding:.42rem .4rem;border-top:1px dashed color-mix(in srgb,var(--line) 60%,transparent)}.records-movement-row[data-state=untouched]{opacity:.45}.records-movement-title{flex:1 1;min-width:0;font-size:.85rem;color:var(--ink-soft);overflow-wrap:anywhere}.records-movement-row[data-state=solved] .records-movement-title{color:var(--ink)}@media (max-width:640px){.records-movements{padding-left:1.2rem}}.records-program-count{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.records-program-count[data-some=true]{color:var(--gold)}.records-program-count small{font-size:.72rem;color:var(--ink-soft)}.records-program-rate{margin-left:.35rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.records-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.records-controls-label{font-size:.68rem;letter-spacing:.12em;color:var(--ink-soft);margin-right:.2rem}.records-controls-divider{width:1px;height:1.1rem;background:var(--line);margin:0 .5rem}.records-pill{font-family:var(--font-sans);font-size:.74rem;font-weight:700;padding:.26rem .6rem;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer}.records-pill:hover{border-color:var(--accent);color:var(--ink)}.records-pill[data-active=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--gold)}.records-controls-center{justify-content:center}.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.breadcrumbs-link{color:var(--ink-soft);text-decoration:none}.breadcrumbs-link:hover{color:var(--accent)}.breadcrumbs-sep{color:color-mix(in srgb,var(--ink-soft) 55%,transparent)}.breadcrumbs-current{color:var(--ink);font-weight:700}.breadcrumbs-page{max-width:760px;margin:1.6rem auto -.5rem;padding:0 1.25rem}@media (max-width:640px){.breadcrumbs-page{margin:1rem 0 -.5rem;padding:0 1rem}}.cta-gold{position:relative;overflow:hidden;font-family:var(--font-sans);font-weight:700;font-size:.95rem;letter-spacing:.02em;color:#241a0d;padding:.72rem 1.9rem;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#ecd08d,#cfa552 55%,#b98f3e);box-shadow:inset 0 1px 0 rgb(255 255 255/55%),inset 0 -2px 0 rgb(0 0 0/18%),0 10px 24px rgb(201 162 75/24%);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.cta-gold:after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgb(255 255 255/45%) 50%,transparent);transform:skewX(-18deg);transition:left .45s ease}.cta-gold:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:inset 0 1px 0 rgb(255 255 255/55%),inset 0 -2px 0 rgb(0 0 0/18%),0 14px 30px rgb(201 162 75/32%)}.cta-gold:hover:after{left:120%}.cta-gold:active{transform:translateY(0);filter:brightness(.97)}.cta-gold-sm{font-size:.85rem;padding:.5rem 1.3rem}.pro-commentary-body{margin-top:.5rem;display:flex;flex-direction:column;gap:.6rem}.pro-commentary-body p{margin:0;font-size:.88rem;line-height:1.85;color:var(--ink)}.pro-commentary-loading{margin:.5rem 0 0;font-size:.8rem;color:var(--ink-soft)}.pro-commentary-request{padding:.5rem 1rem;border:1px solid var(--gold);border-radius:999px;background:transparent;color:var(--gold);font-size:.82rem;cursor:pointer;transition:background .15s ease}.pro-commentary-request:hover{background:rgba(212,175,94,.12)}.result-detail{width:100%;display:flex;flex-direction:column;gap:1.1rem}.result-hero{position:relative;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:radial-gradient(120% 90% at 50% 0,var(--accent-soft),transparent 70%),var(--surface);isolation:isolate}.result-hero-backdrop{position:absolute;inset:-20%;width:140%;height:140%;object-fit:cover;filter:blur(42px) saturate(1.3);opacity:.42;z-index:-2}.result-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(13 20 32/20%),rgb(13 20 32/72%))}.result-hero-body{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:2.4rem 1.4rem 2rem;text-align:center;overflow-wrap:anywhere}.result-hero-eyebrow{font-size:.7rem;letter-spacing:.32em;color:var(--ink-soft)}.result-hero-composer{font-size:1rem;font-weight:600;letter-spacing:.12em;color:var(--gold)}.result-hero-title{margin:0;font-size:clamp(1.5rem,4.2vw,2.1rem);font-weight:700;line-height:1.35;text-shadow:0 2px 18px rgb(0 0 0/45%)}.result-hero-movement,.result-hero-title{font-family:var(--font-display);color:var(--ink)}.result-hero-movement{font-size:.95rem;font-style:italic;opacity:.88}.result-hero-movement:after,.result-hero-movement:before{content:"—";margin:0 .6em;color:var(--gold);opacity:.7}.autoplay-switch{position:absolute;top:.8rem;right:.9rem;z-index:1;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .7rem;border:1px solid var(--line);border-radius:999px;background:rgb(8 12 20/45%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-soft);font-size:.72rem;cursor:pointer}.autoplay-switch-track{position:relative;width:30px;height:17px;border-radius:999px;background:var(--line);transition:background .2s ease}.autoplay-switch-thumb{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--ink-soft);transition:transform .2s ease,background .2s ease}.autoplay-switch[aria-checked=true]{color:var(--ink)}.autoplay-switch[aria-checked=true] .autoplay-switch-track{background:var(--accent)}.autoplay-switch[aria-checked=true] .autoplay-switch-thumb{transform:translateX(13px);background:#fff8e6}.result-hero-player{width:min(100%,520px);margin-top:.9rem;text-align:left;background:rgb(8 12 20/45%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.programme{width:100%}.prog-card,.programme{display:flex;flex-direction:column;gap:1.1rem}.prog-card{position:relative;padding:1.6rem 1.6rem 1.8rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface) 0,var(--bg) 100%);overflow:hidden}.prog-card:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.prog-head{display:flex;align-items:center;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.prog-numeral{flex:0 0 auto;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid var(--accent);border-radius:50%;font-family:Fraunces,serif;font-size:1.05rem;font-style:italic;font-weight:600;color:var(--gold);background:var(--accent-soft)}.prog-head-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.prog-eyebrow{font-family:Fraunces,serif;font-size:.68rem;font-style:italic;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.prog-title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink)}.prog-notes{display:flex;flex-direction:column;gap:1.1rem}.prog-note p{margin:0;font-size:.95rem;line-height:2;color:var(--ink)}.prog-notes>.prog-note:first-child p:first-letter{float:left;margin:.08em .14em 0 0;font-family:var(--font-display);font-size:2.9em;font-weight:700;line-height:.9;color:var(--gold)}.prog-note-head{display:flex;align-items:center;gap:.6rem;margin:0 0 .45rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;color:var(--gold)}.prog-note-head:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.5}.prog-loading{display:flex;flex-direction:column;gap:.6rem}.prog-loading-label{font-size:.78rem;letter-spacing:.08em;color:var(--ink-soft)}.prog-shimmer{display:block;height:.7rem;border-radius:999px;background:linear-gradient(90deg,var(--line) 0,rgb(212 175 94/38%) 45%,var(--line) 90%);background-size:250% 100%;animation:progShimmer 1.8s ease-in-out infinite}@keyframes progShimmer{0%{background-position:100% 0}to{background-position:-150% 0}}.prog-failed{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.85rem;color:var(--ink-soft)}.prog-locked{display:flex;flex-direction:column;gap:.5rem}.prog-locked-badge{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:.74rem;letter-spacing:.08em;color:var(--ink-soft)}.prog-upsell{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem 1.2rem;border:1px solid var(--accent);border-radius:14px;background:linear-gradient(135deg,rgb(212 175 94/12%),rgb(212 175 94/3%))}.prog-upsell p{margin:0;font-size:.85rem;line-height:1.8;color:var(--ink)}.prog-composer,.prog-recording{display:flex;align-items:center;gap:1.3rem;min-width:0}.prog-portrait{flex:0 0 auto;width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:top center;background:var(--raised);filter:grayscale(.15) brightness(.95);box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--gold),0 12px 28px rgb(0 0 0/45%)}.prog-portrait.is-empty{display:grid;place-items:center;font-size:2rem;color:var(--gold)}.prog-identity{display:flex;flex-direction:column;gap:.3rem;min-width:0;overflow-wrap:anywhere}.prog-name{font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.35;color:var(--ink)}.prog-name-sub{font-size:.82rem;color:var(--ink-soft)}.prog-years{font-family:Fraunces,serif;font-size:.95rem;font-style:italic;letter-spacing:.08em;color:var(--gold)}.prog-sleeve{position:relative;flex:0 0 auto;width:132px;height:132px;margin-right:2.2rem}.prog-sleeve img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:6px;filter:var(--jacket-filter);box-shadow:0 14px 30px rgb(0 0 0/50%)}.prog-vinyl{position:absolute;top:6%;left:36%;width:88%;height:88%;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 9%,#1b1b1f 10% 12%,transparent 13%),repeating-radial-gradient(circle,#16171c 0 2px,#2a2c33 2px 3px);box-shadow:0 8px 20px rgb(0 0 0/50%)}.prog-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.prog-chip{padding:.2rem .65rem;border:1px solid var(--line);border-radius:999px;font-size:.74rem;color:var(--ink-soft);background:rgb(255 255 255/3%)}.prog-player{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:rgb(0 0 0/18%)}.prog-player-label{font-size:.72rem;letter-spacing:.1em;color:var(--ink-soft)}.prog-part{display:flex;flex-direction:column;gap:.5rem;padding-top:.4rem}.prog-part .prog-note-head{margin:0}.trivia{gap:.8rem;padding-top:.4rem}.trivia,.trivia-head{display:flex;flex-direction:column}.trivia-head{gap:.35rem}.trivia-head .prog-note-head{margin:0}.trivia-list{display:flex;flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none}.trivia-item{display:grid;grid-template-columns:auto 1fr;grid-gap:.9rem;gap:.9rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--raised),var(--surface));transition:border-color .25s ease}.trivia-item[data-open=true]{border-color:var(--accent)}.trivia-no{font-family:Fraunces,serif;font-size:1.35rem;font-style:italic;font-weight:600;line-height:1.2;color:var(--gold)}.trivia-body{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;min-width:0;overflow-wrap:anywhere}.trivia-question{margin:0;font-size:.95rem;line-height:1.8;color:var(--ink)}.trivia-reveal{padding:.4rem 1rem;border:1px solid var(--gold);border-radius:999px;background:transparent;font-size:.8rem;color:var(--gold);cursor:pointer;transition:background .15s ease}.trivia-reveal:hover{background:rgb(212 175 94/12%)}.trivia-answer{display:flex;flex-direction:column;gap:.25rem;width:100%;padding-top:.6rem;border-top:1px dashed var(--line);animation:triviaReveal .35s ease-out}.trivia-answer-label{font-family:Fraunces,serif;font-size:.66rem;font-style:italic;letter-spacing:.14em;color:var(--ink-soft)}.trivia-answer-text{font-family:var(--font-display);font-size:1.15rem;font-weight:700;line-height:1.5;color:var(--gold)}.trivia-note{margin:.2rem 0 0;font-size:.84rem;line-height:1.8;color:var(--ink);opacity:.9}@keyframes triviaReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.trivia-answer{animation:none}}.prog-connections{padding-top:.4rem}.conn{display:grid;grid-template-columns:minmax(180px,34%) minmax(0,1fr);grid-gap:1.4rem;gap:1.4rem;align-items:start}.conn-index{gap:1rem;min-width:0;padding-right:1rem;border-right:1px solid var(--line)}.conn-index,.conn-index-group{display:flex;flex-direction:column}.conn-index-group{gap:.15rem}.conn-index-label{margin-bottom:.3rem;font-family:Fraunces,serif;font-size:.66rem;font-style:italic;letter-spacing:.14em;color:var(--gold)}.conn-row{display:flex;align-items:center;gap:.65rem;width:100%;min-width:0;padding:.45rem .5rem;border:0;border-left:2px solid transparent;border-radius:0 8px 8px 0;background:transparent;text-align:left;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.conn-row:hover{background:rgb(255 255 255/3%);color:var(--ink)}.conn-row[aria-current=true]{border-left-color:var(--gold);background:var(--accent-soft);color:var(--ink)}.conn-row-thumb{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border-radius:6px;background:var(--raised);color:rgb(212 175 94/60%)}.conn-row[data-kind=person] .conn-row-thumb{border-radius:50%}.conn-row-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.conn-row-thumb svg{width:20px;height:20px}.conn-row-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.conn-row-name{display:flex;align-items:center;gap:.25rem;overflow:hidden;font-size:.86rem;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.conn-row-pin{flex:0 0 auto;display:inline-flex;color:var(--gold)}.conn-row-pin svg{width:13px;height:13px}.conn-row-detail{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.conn-detail{display:flex;flex-direction:column;gap:.9rem;min-width:0;animation:fadeRise .35s ease-out}.conn-detail-media{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:var(--raised);box-shadow:0 14px 28px rgb(0 0 0/45%)}.conn-detail-media>img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.conn-detail[data-kind=work] .conn-detail-media>img{object-fit:contain;background:#0b0f17;filter:var(--jacket-filter)}.conn-detail-empty{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(90% 70% at 30% 20%,rgb(212 175 94/18%),transparent),linear-gradient(160deg,var(--raised),var(--bg));color:rgb(212 175 94/55%)}.conn-detail-empty svg{width:28%;height:28%}.conn-detail-year{position:absolute;top:.8rem;right:.9rem;z-index:2;font-family:Fraunces,serif;font-size:1.6rem;font-style:italic;font-weight:600;color:var(--gold);text-shadow:0 2px 10px rgb(0 0 0/70%)}.conn-detail-body{display:flex;flex-direction:column;gap:.6rem;overflow-wrap:anywhere}.conn-detail-name{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.4;color:var(--ink)}.conn-detail-sub{display:inline-flex;align-items:center;gap:.3rem;margin-top:-.3rem;font-size:.78rem;color:var(--gold)}.conn-detail-sub svg{width:13px;height:13px}.conn-detail-description{margin:0;font-size:.86rem;line-height:1.85;color:var(--ink-soft)}.conn-detail-relation{margin:0;font-size:.9rem;line-height:1.9;color:var(--ink)}.conn-relation-label{display:block;margin-bottom:.15rem;font-family:Fraunces,serif;font-size:.66rem;font-style:italic;letter-spacing:.12em;color:var(--gold)}.conn-detail-mapbox{position:relative}.conn-detail-maptabs{position:absolute;top:.55rem;left:.55rem;z-index:1;display:flex;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:rgb(8 12 20/80%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.conn-detail-maptabs button{padding:.3rem .8rem;border:0;background:transparent;font-size:.72rem;color:var(--ink-soft);cursor:pointer}.conn-detail-maptabs button[aria-pressed=true]{background:var(--accent-soft);color:var(--gold)}.conn-detail-map{width:100%;height:240px;border:0;border-radius:10px;filter:saturate(.85) brightness(.92)}.conn-detail-links{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.72rem}.conn-detail-links a{color:var(--gold);text-decoration:none}.conn-detail-links a:hover{text-decoration:underline}.conn-detail-credit{color:var(--ink-soft);opacity:.8}.photo-cycle,.photo-cycle img{position:absolute;inset:0}.photo-cycle img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.photo-cycle img[data-active=true]{opacity:1}.photo-cycle-credit{position:absolute;right:.6rem;bottom:.45rem;z-index:2;max-width:60%;overflow:hidden;font-size:.6rem;color:rgb(255 255 255/70%);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgb(0 0 0/80%)}.photo-cycle-dots{position:absolute;bottom:.8rem;left:50%;z-index:2;display:flex;gap:5px;transform:translateX(-50%)}.photo-cycle-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgb(255 255 255/45%);cursor:pointer}.photo-cycle-dots button[data-active=true]{background:var(--gold)}@media (max-width:640px){.conn{grid-template-columns:minmax(0,1fr)}.conn-index{padding-right:0;border-right:0}.conn-index .conn-detail{margin:.2rem 0 .8rem;padding:.2rem 0 .4rem .85rem;border-left:2px solid var(--gold)}.conn-row[aria-expanded=true]{border-radius:0 8px 0 0}}@media (max-width:520px){.prog-card{padding:1.3rem 1.1rem 1.4rem}.prog-composer,.prog-recording{gap:1rem}.prog-portrait{width:84px;height:84px}.prog-sleeve{width:96px;height:96px;margin-right:1.4rem}.prog-name{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){.prog-shimmer{animation:none}}.pro-commentary-section h4{margin:0 0 .25rem;font-size:.74rem;letter-spacing:.08em;color:var(--gold);font-weight:600}.course-detail{display:flex;flex-direction:column;gap:2rem;width:100%;max-width:52rem;margin:0 auto}.course-detail-head{display:flex;gap:1.4rem;align-items:flex-start}.course-detail-visual{flex:0 0 8.5rem;width:8.5rem;height:8.5rem;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--raised)}.course-detail-visual-fallback{display:grid;place-items:center;font-size:2.4rem;color:var(--ink-soft)}.course-detail-headline{display:flex;flex-direction:column;gap:.4rem;min-width:0}.course-detail-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1.2;color:var(--ink)}.course-detail-sub{margin:0;color:var(--ink-soft);font-size:.85rem}.course-detail-desc{margin:.2rem 0 0;color:var(--ink);font-size:.92rem;line-height:1.6}.course-detail-section{display:flex;flex-direction:column;gap:.9rem;padding:1.6rem 0 .4rem;border-top:1px solid var(--line)}.course-detail-h2{margin:0;font-size:.72rem;font-weight:500;letter-spacing:.14em;color:var(--ink-soft)}.course-detail-empty{margin:0;color:var(--ink-soft);font-size:.88rem}.course-detail-bar{width:100%;height:6px;border-radius:999px;background:var(--raised);overflow:hidden}.course-detail-bar span{display:block;height:100%;background:var(--gold)}@media (max-width:640px){.course-detail-head{flex-direction:column;align-items:center;text-align:center}}.course-detail-h2-sub{margin-left:.6rem;font-family:inherit;font-weight:400;font-size:.78rem;color:var(--ink-soft)}.course-catalog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.course-catalog-composer{border-top:1px solid var(--line)}.course-catalog-toggle{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .2rem;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.course-catalog-toggle:hover .course-catalog-name{color:var(--gold)}.course-catalog-name{flex:1 1;font-weight:600;font-size:.92rem}.course-catalog-count{font-size:.8rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-catalog-count em{font-style:normal;color:var(--gold);font-weight:700}.course-catalog-chevron{width:1.2rem;text-align:center;color:var(--ink-soft)}.course-catalog-works{list-style:none;margin:0 0 .6rem;padding:0 0 0 .4rem;display:flex;flex-direction:column;gap:.2rem}.course-catalog-works li{display:flex;gap:.4rem;font-size:.84rem;color:var(--ink-soft);line-height:1.4}.course-catalog-works li[data-correct=true]{color:var(--ink)}.course-catalog-works .records-stars{flex:0 0 auto;font-size:.72rem}.quiz-banner-review{display:inline-block;align-self:flex-start;margin-top:.2rem;padding:.1rem .45rem;border-radius:999px;font-size:.66rem;letter-spacing:.06em;border:1px solid var(--gold);color:var(--gold)}.btn-ghost,.result-replay{font:inherit;font-family:var(--font-sans);font-weight:500;font-size:.85rem;padding:.5rem 1.2rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-ghost:hover,.result-replay:disabled,.result-replay:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.result-replay:disabled{cursor:default}.course-detail-meta{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:var(--ink-soft)}.course-detail-actions{flex:0 0 9rem;display:flex;flex-direction:column;align-items:stretch;gap:.6rem;align-self:center}.course-detail-actions a{justify-content:center;text-align:center;text-decoration:none}.course-detail-actions .cta-gold{display:flex;align-items:center;justify-content:center}.course-detail-headline{flex:1 1 auto}.course-review-btn{display:inline-flex;align-items:center;gap:.45rem}.course-review-pro{padding:0 .35rem;border-radius:4px;background:var(--gold);color:var(--bg);font-size:.62rem;font-weight:700;letter-spacing:.04em}.course-record-board,.course-record-mine{display:flex;flex-direction:column;gap:.7rem;min-width:0}.course-record-best{display:flex;align-items:baseline;gap:.6rem}.course-record-best-value{font-family:var(--font-display);font-weight:800;font-size:2.6rem;line-height:1;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-record-best-label{font-size:.75rem;color:var(--ink-soft)}.course-record-line{margin:0;font-size:.8rem;color:var(--ink-soft)}.course-ranking{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.course-ranking li{display:flex;align-items:baseline;gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.course-ranking-no{width:1.4rem;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-ranking-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-ranking-points{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.course-detail-actions{flex-basis:auto;width:100%;align-self:stretch}}.status-page{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:5rem 1rem;text-align:center}.status-code{font-weight:800;font-size:3.4rem;line-height:1;color:var(--gold)}.status-code,.status-title{font-family:var(--font-display)}.status-title{margin:0;font-weight:700;font-size:1.3rem;color:var(--ink)}.status-body{margin:0;font-size:.9rem;color:var(--ink-soft)}.status-page .btn-ghost{margin-top:.6rem;text-decoration:none}.status-digest{margin:.6rem 0 0;font-size:.7rem;color:var(--ink-soft);opacity:.6}.status-spinner{width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:statusSpin .9s linear infinite}@keyframes statusSpin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.status-spinner{animation-duration:3s}}.billing{gap:1.8rem;max-width:34rem;margin:0 auto}.billing,.billing-head{display:flex;flex-direction:column}.billing-head{align-items:center;gap:.5rem;text-align:center}.billing-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--ink)}.billing-lead{margin:0;font-size:.9rem;color:var(--ink-soft)}.billing-plan{padding:.1rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.7rem;letter-spacing:.08em;color:var(--ink-soft)}.billing-plan[data-pro=true]{border-color:var(--gold);color:var(--gold)}.billing-price{display:flex;align-items:baseline;justify-content:center;gap:.3rem;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.billing-amount{font-family:var(--font-display);font-weight:800;font-size:2.6rem;line-height:1;color:var(--gold)}.billing-period{font-size:.85rem;color:var(--ink-soft)}.billing-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.billing-features li{display:flex;flex-direction:column;gap:.3rem}.billing-feature-name{font-weight:700;font-size:.95rem;color:var(--ink)}.billing-feature-name:before{content:"♪ ";color:var(--gold)}.billing-feature-body{font-size:.85rem;line-height:1.7;color:var(--ink-soft)}.billing-actions{display:flex;flex-direction:column;align-items:center;gap:.7rem}.billing-error{margin:0;font-size:.82rem;color:var(--danger)}.billing-note{margin:0;font-size:.75rem;color:var(--ink-soft)}.profile{gap:2rem}.profile,.profile-head{display:flex;flex-direction:column}.profile-head{align-items:center;gap:.25rem;text-align:center}.profile-rating-label{font-size:.7rem;letter-spacing:.14em;color:var(--ink-soft)}.profile-rating{font-family:var(--font-display);font-weight:800;font-size:3.2rem;line-height:1;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profile-sub{margin:.3rem 0 0;font-size:.85rem;color:var(--ink)}.profile-note{margin:0;font-size:.72rem;color:var(--ink-soft)}.profile-section{display:flex;flex-direction:column;gap:.8rem;padding-top:1.6rem;border-top:1px solid var(--line)}.profile-h2{font-size:.72rem;font-weight:500;letter-spacing:.14em}.profile-empty,.profile-h2{margin:0;color:var(--ink-soft)}.profile-empty{font-size:.85rem}.profile-more{align-self:flex-start}.profile-error{font-size:.78rem;color:var(--danger)}.profile-lock-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--ink)}.facet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.facet-row{display:grid;grid-template-columns:minmax(6rem,10rem) 1fr 3rem 3rem;align-items:center;grid-gap:.9rem;gap:.9rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.86rem}.facet-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facet-bar{height:4px;border-radius:999px;background:var(--raised);overflow:hidden}.facet-bar span{display:block;height:100%;background:var(--gold)}.facet-attempts,.facet-rate{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.facet-attempts{color:var(--ink-soft);font-size:.78rem}.profile-history td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.facet-row{grid-template-columns:minmax(5rem,1fr) 1fr 2.6rem}.facet-attempts{display:none}}.app-header-user{text-decoration:none}.app-header-right{display:flex;align-items:center;gap:.8rem}.app-header-right .locale-switch{display:inline-flex}.link-danger{padding:0;border:0;background:none;color:var(--danger);font:inherit;font-size:.82rem;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.link-danger:hover{opacity:.8}.settings{display:flex;flex-direction:column;gap:2.4rem}.settings-head{display:flex;align-items:center;gap:1rem}.settings-name{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.6rem;line-height:1.2;color:var(--ink)}.settings-email{margin:.15rem 0 0;font-size:.8rem;color:var(--ink-soft)}.settings-group{display:flex;flex-direction:column}.settings-group-title{margin:0 0 .4rem;font-size:.68rem;font-weight:500;letter-spacing:.14em;color:var(--ink-soft)}.settings-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.9rem 0;border-top:1px solid var(--line)}.settings-group .settings-row:last-of-type{border-bottom:1px solid var(--line)}.settings-label{font-size:.82rem;color:var(--ink-soft)}.settings-value{display:flex;align-items:center;gap:.7rem;min-width:0}.settings-text{font-size:.92rem;color:var(--ink)}.settings-input{width:100%;max-width:18rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink);font:inherit;font-size:.92rem}.settings-input:focus{outline:none;border-color:var(--gold)}.settings-hint{font-size:.75rem;white-space:nowrap}.settings-hint.is-ok{color:var(--success)}.settings-hint.is-error{color:var(--danger)}.settings-badge{padding:.1rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.7rem;letter-spacing:.08em;color:var(--ink-soft)}.settings-badge[data-pro=true]{border-color:var(--gold);color:var(--gold)}.settings-action .btn-ghost{text-decoration:none;white-space:nowrap}.settings-links{list-style:none;margin:0;padding:0}.settings-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .2rem;border-top:1px solid var(--line);text-decoration:none;color:inherit}.settings-links li:last-child .settings-link{border-bottom:1px solid var(--line)}.settings-link:hover .settings-link-caret,.settings-link:hover .settings-link-name{color:var(--gold)}.settings-link-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.settings-link-name{font-size:.95rem;font-weight:700;color:var(--ink)}.settings-link-body{font-size:.78rem;color:var(--ink-soft)}.settings-link-caret{font-size:1.2rem;color:var(--ink-soft)}@media (max-width:640px){.settings-row{grid-template-columns:1fr auto;row-gap:.5rem}.settings-label{grid-column:1/-1}}.course-ranking li[data-me=true]{color:var(--gold);font-weight:700}.home-foot-links{display:flex;justify-content:center;width:100%;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.home-foot-link{font-size:.85rem;color:var(--ink-soft);text-decoration:none}.home-foot-link:hover{color:var(--gold)}.settings-head .settings-hint{display:block;margin-top:.3rem}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line)}.tab{position:relative;display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:0 .9rem;border:0;background:none;color:var(--ink-soft);font:inherit;font-size:.9rem;cursor:pointer;transition:color .15s ease}.tab:hover{color:var(--ink)}.tab:focus-visible{outline:none;color:var(--ink)}.tab:focus-visible .tab-label{text-decoration:underline;text-underline-offset:.25em}.tab[aria-selected=true]{color:var(--gold)}.tab-underline{position:absolute;left:.6rem;right:.6rem;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .18s ease}.tab[aria-selected=true] .tab-underline{transform:scaleX(1)}.tab-badge{min-width:1.4rem;padding:.05rem .35rem;border-radius:999px;background:var(--raised);color:var(--ink-soft);font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.tab[aria-selected=true] .tab-badge{background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--gold)}.tab-panel{padding-top:1.1rem}@media (prefers-reduced-motion:reduce){.tab-underline{transition:none}}.course-history{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column}.course-history li{display:grid;grid-template-columns:9rem 1fr auto;align-items:baseline;grid-gap:.8rem;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.course-history-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.course-history-date,.course-history-score{color:var(--ink-soft)}.course-history-points{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.course-history li[data-best=true] .course-history-date,.course-history li[data-best=true] .course-history-points{color:var(--gold);font-weight:700}.course-catalog-portrait{flex:0 0 auto;width:28px;height:28px;border-radius:4px;object-fit:cover;object-position:top center;border:1px solid var(--line);background:var(--raised)}.course-catalog-portrait-empty{display:grid;place-items:center;font-size:.8rem;color:var(--ink-soft)}.brand-lead{margin:.5rem 0 0;max-width:34rem;font-size:.9rem;line-height:1.7;color:var(--ink-soft)}.info-tip{position:relative;display:inline-flex;margin-left:.3rem;vertical-align:middle}.info-tip-mark{width:1.05rem;height:1.05rem;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink-soft);font:inherit;font-size:.62rem;line-height:1;cursor:pointer}.info-tip-mark:hover{border-color:var(--gold);color:var(--gold)}.info-tip-body{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translateX(-50%);z-index:5;width:max-content;max-width:17rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink);font-size:.75rem;font-weight:400;line-height:1.6;letter-spacing:normal;text-align:left;box-shadow:0 10px 24px rgb(0 0 0/45%);opacity:0;visibility:hidden;transition:opacity .12s ease}.info-tip-body[data-open=true],.info-tip-mark:focus-visible+.info-tip-body,.info-tip:hover .info-tip-body{opacity:1;visibility:visible}@media (max-width:640px){.info-tip-body{left:auto;right:0;transform:none;max-width:14rem}}.lib{display:grid;grid-template-columns:230px 310px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow:hidden;min-height:70vh}.lib-pane{min-width:0;max-height:calc(100vh - 140px);overflow-y:auto;border-right:1px solid var(--line)}.lib-pane:last-of-type{border-right:0}.lib-pane-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.lib-pane-title{margin:0;font-family:var(--font-display);font-size:1.15rem}.lib-search{border:1px solid var(--line);border-radius:8px;background:var(--stage-2);color:var(--ink);padding:7px 10px;font:inherit;font-size:.82rem}.lib-era{margin:0;padding:12px 14px 4px;font-family:Fraunces,serif;font-style:italic;font-weight:500;font-size:.7rem;letter-spacing:.12em;color:var(--gold)}.lib-crow{display:flex;gap:10px;align-items:center;width:100%;padding:8px 14px;border:0;border-left:2px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.lib-crow:hover{background:rgb(255 255 255/3%)}.lib-crow[aria-current=true]{border-left-color:var(--gold);background:var(--accent-soft)}.lib-crow b{display:block;font-family:Shippori Mincho,serif;font-size:.88rem}.lib-crow small{display:block;color:var(--ink-soft);font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lib-portrait{flex:0 0 auto;border-radius:50%;object-fit:cover;object-position:center 20%;background:var(--raised)}.lib-jacket.is-empty,.lib-portrait.is-empty{display:grid;place-items:center;color:rgb(212 175 94/55%);background:linear-gradient(160deg,var(--raised),var(--stage-2))}.lib-eyebrow,.lib-label{font-family:Fraunces,serif;font-style:italic;font-size:.72rem;letter-spacing:.1em;color:var(--gold)}.lib-chips{display:flex;flex-wrap:wrap;gap:5px}.lib-chips button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);padding:4px 10px;font-size:.74rem;cursor:pointer}.lib-chips button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:var(--accent-soft)}.lib-wrow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;padding:11px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.lib-wrow:hover{background:rgb(255 255 255/2.5%)}.lib-wrow[aria-current=true]{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--gold)}.lib-wrow-title{display:block;font-family:Shippori Mincho,serif;font-weight:700;font-size:.9rem;line-height:1.5}.lib-wrow-meta{display:flex;gap:5px;margin-top:3px;flex-wrap:wrap}.lib-wrow-count{font-family:Fraunces,serif;color:var(--gold);font-size:.92rem}.lib-pill{display:inline-flex;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:.68rem;color:var(--ink-soft)}.lib-pill.is-gold{border-color:var(--accent);color:var(--gold);background:var(--accent-soft)}.lib-empty{padding:24px 16px;font-size:.88rem}.lib-empty,.lib-muted{margin:0;color:var(--ink-soft)}.lib-muted{font-size:.84rem}.lib-back{display:none;align-self:flex-start;border:0;background:transparent;color:var(--gold);padding:0;font-size:.82rem;cursor:pointer}.lib-detail{padding:18px 20px 28px;display:flex;flex-direction:column;gap:14px}.lib-detail>.lib-back,.lib-rd>.lib-back{display:block}@media (min-width:761px){.lib-detail>.lib-back{display:none}}.lib-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(120% 90% at 50% 0,var(--accent-soft),transparent 70%),var(--surface);text-align:center}.lib-hero h2,.lib-rd-head h2{margin:0;font-family:var(--font-display);font-size:1.4rem;line-height:1.35;text-wrap:balance}.lib-hero-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:4px}.lib-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.lib-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);padding:8px 14px;font-size:.86rem;cursor:pointer}.lib-tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.lib-about{display:flex;flex-direction:column;gap:10px}.lib-h3{margin:6px 0 0;font-family:Shippori Mincho,serif;font-size:.98rem}.lib-prose{margin:0;line-height:2;font-size:.92rem;white-space:pre-line}.lib-mv{border-bottom:1px solid var(--line)}.lib-mv-btn{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;padding:11px 2px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.lib-mv-no{font-family:Fraunces,serif;font-style:italic;color:var(--gold);font-size:1.05rem}.lib-mv-title{font-family:Shippori Mincho,serif;font-weight:700}.lib-mv-title small{display:block;font-family:Fraunces,serif;font-style:italic;font-weight:500;color:var(--ink-soft);font-size:.74rem}.lib-mv-body{padding:0 2px 14px 40px}.lib-rlist{display:flex;flex-direction:column}.lib-rrow{display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}.lib-rrow[data-open=true]{background:var(--accent-soft)}.lib-jacket{flex:0 0 auto;width:54px;height:54px;border-radius:4px;object-fit:cover;background:var(--raised);filter:var(--jacket-filter)}.lib-rrow-text b{display:block;font-family:Shippori Mincho,serif;font-size:.9rem}.lib-rrow-text small{color:var(--ink-soft);font-size:.72rem}.lib-rrow-actions{display:flex;align-items:center;gap:4px}.lib-link{border:0;font-size:.76rem;padding:4px 6px;white-space:nowrap}.lib-link,.lib-play{background:transparent;color:var(--gold);cursor:pointer}.lib-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);font-size:.75rem}.lib-tracks{grid-column:1/-1;display:flex;flex-direction:column;gap:2px}.lib-rrow .lib-tracks{padding-left:66px}.lib-tracks button{display:flex;gap:10px;align-items:center;border:0;background:transparent;color:var(--ink);padding:7px 6px;border-radius:6px;text-align:left;font-size:.85rem;cursor:pointer}.lib-tracks button:hover{background:rgb(255 255 255/4%)}.lib-tracks button[data-now=true]{color:var(--gold)}.lib-tracks button:disabled{opacity:.45;cursor:default}.lib-track-title{min-width:0}.lib-track-time{margin-left:auto;color:var(--ink-soft);font-size:.74rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lib-rd{display:flex;flex-direction:column;gap:12px}.lib-rd-hero{display:grid;grid-template-columns:140px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center}.lib-rd-hero .lib-jacket{width:140px;height:140px;border-radius:6px;box-shadow:0 16px 34px rgb(0 0 0/55%)}.lib-rd-head{display:flex;flex-direction:column;gap:4px;min-width:0}.lib-playall{margin-top:6px;align-self:flex-start;border:1px solid var(--gold);border-radius:999px;background:var(--accent-soft);color:var(--gold);padding:7px 16px;font-size:.84rem;cursor:pointer}.lib-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:12px;gap:12px}.lib-others button{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;color:var(--ink);padding:0;text-align:left;cursor:pointer}.lib-others .lib-jacket{width:100%;height:auto;aspect-ratio:1}.lib-others b{font-family:Shippori Mincho,serif;font-size:.76rem;line-height:1.4}.lib-others small{color:var(--ink-soft);font-size:.66rem}.lib-rd-nav{display:flex;justify-content:space-between;gap:10px;margin-top:6px}.lib-rd-nav button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);padding:6px 14px;font-size:.8rem;cursor:pointer}.lib-locked{position:relative;gap:8px;padding:6px 0}.lib-locked,.lib-locked-body{display:flex;flex-direction:column}.lib-locked-body{gap:6px;align-items:flex-start;padding:12px 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);font-size:.84rem;line-height:1.7}.lib-locked-body strong,.lib-locked-cta{color:var(--gold)}.lib-locked-cta{font-weight:700}.lib-player{grid-column:1/-1;position:-webkit-sticky;position:sticky;bottom:0;display:grid;grid-template-columns:44px minmax(0,220px) minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--accent);background:rgb(11 17 27/96%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lib-player .lib-jacket{width:44px;height:44px}.lib-player-text{min-width:0}.lib-player-text b,.lib-player-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-player-text b{font-family:Shippori Mincho,serif;font-size:.86rem}.lib-player-text small{color:var(--ink-soft);font-size:.72rem}@media (max-width:1000px){.lib{grid-template-columns:200px 260px minmax(0,1fr)}}@media (max-width:760px){.lib{display:block;border:0;background:transparent;min-height:0}.lib,.lib-pane{overflow:visible}.lib-pane{display:none;max-height:none;border-right:0}.lib[data-pane=composers] .lib-composers,.lib[data-pane=detail] .lib-detail,.lib[data-pane=works] .lib-works{display:flex;flex-direction:column}.lib-pane-head{top:0;border-radius:10px 10px 0 0}.lib-works .lib-back{display:block}.lib-detail{padding:4px 0 24px}.lib-rd-hero{grid-template-columns:104px minmax(0,1fr);gap:14px}.lib-rd-hero .lib-jacket{width:104px;height:104px}.lib-hero h2,.lib-rd-head h2{font-size:1.2rem}.lib-rrow .lib-tracks{padding-left:0}.lib-mv-body{padding-left:2px}.lib-player{position:fixed;left:0;right:0;bottom:0;z-index:20;grid-template-columns:40px minmax(0,1fr);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.lib-player .full-audio{grid-column:1/-1}.lib[data-pane]{padding-bottom:96px}}.app-header-nav{font-size:.84rem;color:var(--ink-soft)}.app-header-nav:hover,.app-header-nav[aria-current=page]{color:var(--gold)}.course-card-missed .course-card-thumb{display:grid;place-items:center;background:radial-gradient(90% 90% at 50% 30%,var(--accent-soft),transparent 70%),var(--raised)}.course-card-missed-mark{font-family:var(--font-display);font-size:3rem;font-weight:700;line-height:1;color:var(--gold)}