:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--ink:#0a0a0f;--ink2:#3d4454;--muted:#868c9b;--hair:#0a0a0f12;--hair2:#0a0a0f21;--accent:#0a84ff;--violet:#7c5cff;--amber:#ff9f0a;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--r:16px;--sh:0 1px 2px #0a0a0f0d, 0 12px 40px -16px #0a0a0f24;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 24%, transparent) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:color-mix(in srgb, var(--ink) 22%, transparent);border:3px solid #0000;border-radius:999px;transition:background-color .2s}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--ink) 38%, transparent)}::-webkit-scrollbar-thumb:active{background-color:color-mix(in srgb, var(--accent) 60%, transparent)}::-webkit-scrollbar-corner{background:0 0}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--surface:#151823;--ink:#e9ecf4;--ink2:#a9b1c4;--muted:#6b7280;--hair:#ffffff14;--hair2:#ffffff26;--accent:#4a9bff;--violet:#9b7bff;--amber:#ffb340;--sh:0 1px 2px #00000073, 0 14px 44px -16px #000000a6}:root[data-theme=dark] body:before{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px)}:root[data-theme=dark] body:after{opacity:.35;background:radial-gradient(560px 560px at -8% -12%,#1c3560,#0000 65%),radial-gradient(480px 480px at 104% -6%,#2b2152,#0000 65%),radial-gradient(420px 420px at 32% -18%,#3d1f2e,#0000 60%)}:root[data-theme=dark] .topbar{background:#0b0d12a8}:root[data-theme=dark] .card-img,:root[data-theme=dark] .lesson-thumb{background:#1a1e2a}:root[data-theme=dark] .card-img-fallback,:root[data-theme=dark] .lesson-thumb-fallback{color:#3d4454}:root[data-theme=dark] .badge-lvl,:root[data-theme=dark] .lesson-num,:root[data-theme=dark] .tx-btn{color:var(--ink);background:#151823eb}:root[data-theme=dark] .close{color:var(--ink2);background:#ffffff14}:root[data-theme=dark] .close:hover{background:#ffffff24}:root[data-theme=dark] .watch-bar,:root[data-theme=dark] .course-progress-bar{background:#ffffff1a}.theme-btn{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);width:36px;height:36px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:border-color .15s,transform .15s;display:flex}.theme-btn:hover{border-color:var(--accent);transform:rotate(15deg)}*{box-sizing:border-box}html,body{overflow-x:clip}a,button,select,input,label{touch-action:manipulation}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"ss01", "cv11";margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#0a0a0f09 1px,#0000 1px),linear-gradient(90deg,#0a0a0f09 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 55%);mask-image:linear-gradient(#000,#0000 55%)}body:after{content:"";z-index:0;pointer-events:none;opacity:.5;background:radial-gradient(560px 560px at -8% -12%,#bcd9ff,#0000 65%),radial-gradient(480px 480px at 104% -6%,#e0ccff,#0000 65%),radial-gradient(420px 420px at 32% -18%,#ffe3e3,#0000 60%);position:fixed;inset:0}.appnav{z-index:40;-webkit-backdrop-filter:saturate(190%)blur(22px);border-bottom:1px solid var(--hair);background:#f5f6f8b3;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}:root[data-theme=dark] .appnav{background:#0b0d12b8}.appnav-tabs{gap:4px;display:flex}.appnav-tab{color:var(--ink2);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.appnav-tab:hover{color:var(--ink)}.appnav-tab.active{background:var(--ink);color:var(--bg)}.appnav-right{align-items:center;gap:8px;display:flex}.page{z-index:1;max-width:1280px;margin:0 auto;padding:52px 32px 80px;position:relative}.center-msg{min-height:60vh;color:var(--muted);font-size:16px;font-family:var(--mono);justify-content:center;align-items:center;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:saturate(190%)blur(22px);border-bottom:1px solid var(--hair);background:#f5f6f8a8;flex-wrap:wrap;align-items:center;gap:16px;margin:0 -32px;padding:14px 32px;display:flex;position:sticky;top:52px}.topbar h1{letter-spacing:-.02em;flex:1;min-width:160px;margin:0;font-size:19px;font-weight:640}.back{color:var(--accent);align-items:center;gap:4px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.back:hover{opacity:.75;text-decoration:none}.search,.sort{background:var(--surface);border:1px solid var(--hair2);color:var(--ink);border-radius:10px;outline:none;padding:9px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #0a0a0f0a}.search{width:240px}.search::placeholder{color:var(--muted)}.search:focus,.sort:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0a84ff2e}.sort{cursor:pointer;padding-right:32px;font-weight:500}.filters{flex-direction:column;gap:10px;margin:22px 0;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--mono);letter-spacing:.6px;cursor:pointer;border:1px solid var(--hair2);background:var(--surface);color:var(--ink2);border-radius:999px;padding:7px 15px;font-size:11px;font-weight:600;transition:all .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);color:var(--ink);box-shadow:var(--sh);text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s;overflow:hidden}.card:hover{border-color:var(--hair2);transform:translateY(-4px)}.card-img{aspect-ratio:16/10;background:#eceef2;position:relative}.card-img img{object-fit:cover;width:100%;height:100%;display:block}.card-img-fallback{color:#c3c9d4;justify-content:center;align-items:center;width:100%;height:100%;font-size:40px;display:flex}.badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--mono);letter-spacing:.8px;color:#fff;background:#0a0a0f9e;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600;position:absolute;bottom:8px;right:8px}.badge-lvl{color:var(--ink);border:1px solid var(--hair2);background:#ffffffe6;left:8px;right:auto}.card-title{letter-spacing:-.012em;padding:12px 14px 5px;font-size:14px;font-weight:620;line-height:1.4}.card-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.4px;flex-wrap:wrap;align-items:center;gap:10px;padding:0 14px 13px;font-size:10.5px;display:flex}.card-meta span:first-child{color:var(--amber);font-weight:700}.ap-card{cursor:pointer;font:inherit;text-align:left;width:100%;color:var(--ink);padding:0;display:block}.ap-doc-fallback svg{color:#c3c9d4}:root[data-theme=dark] .ap-doc-fallback svg{color:#4a5264}.ap-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c128c;padding:22px;animation:.15s both cfTipIn;display:flex;position:fixed;inset:0}.ap-viewer{background:var(--bg);border:1px solid var(--hair2);border-radius:18px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000073}.ap-bar{border-bottom:1px solid var(--hair);align-items:center;gap:6px;padding:10px 16px;display:flex}.ap-bar b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:650;overflow:hidden}.ap-act{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none}.ap-act:hover{background:var(--hair)}.ap-frame{background:#fff;border:none;flex:1}.section{margin-top:34px}.section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:2px;color:var(--accent);align-items:center;gap:12px;margin:0 0 14px;font-size:11px;font-weight:700;display:flex}.section-title:after{content:"";background:var(--hair);flex:1;height:1px}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.lesson-card{background:var(--surface);border:1px solid var(--hair);color:var(--ink);cursor:pointer;text-align:left;box-shadow:var(--sh);border-radius:14px;padding:0;font-size:14px;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s;overflow:hidden}.lesson-card:hover:not(.disabled){border-color:#0a84ff66;transform:translateY(-4px)}.lesson-card.disabled{opacity:.45;cursor:default;box-shadow:none}.lesson-thumb{aspect-ratio:16/9;background:#eceef2;position:relative}.lesson-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lesson-thumb-fallback{color:#c3c9d4;justify-content:center;align-items:center;width:100%;height:100%;font-size:30px;display:flex}.lesson-num{border:1px solid var(--hair2);min-width:28px;height:24px;color:var(--ink);font-family:var(--mono);background:#ffffffe6;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:600;display:flex;position:absolute;top:8px;left:8px}.play-ico{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;background:#0a0a0fb3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:10px;right:10px;transform:scale(.85)}.lesson-card:hover .play-ico{opacity:1;transform:scale(1)}.tx-btn{z-index:3;border:1px solid var(--hair2);min-width:24px;height:24px;color:var(--ink);font-family:var(--mono);letter-spacing:.6px;opacity:0;cursor:pointer;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:9.5px;font-weight:700;transition:opacity .2s,border-color .15s;display:flex;position:absolute;top:8px;right:8px}.lesson-card:hover .tx-btn,.tx-btn.run{opacity:1}.tx-btn.doc{right:46px}.lesson-card{position:relative}.watch-bar{background:#0d101512;height:3.5px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.watch-bar i{background:#0e9f6e;height:100%;transition:width .4s;display:block}.course-progress{flex-direction:column;gap:5px;min-width:180px;display:flex}.course-progress-txt{font-family:var(--mono);letter-spacing:.5px;color:var(--ink2,#4a5160);white-space:nowrap;font-size:10.5px;font-weight:700}.course-progress-bar{background:#0d101514;border-radius:999px;height:4px;overflow:hidden}.course-progress-bar i{background:#0e9f6e;border-radius:999px;height:100%;transition:width .4s;display:block}.tx-btn:hover{border-color:var(--accent);color:var(--accent)}.tx-btn.run{color:var(--accent);animation:1s infinite alternate txblink}.tx-btn.done{opacity:1;color:#1d9e50;border-color:#1d9e50}.tx-btn.err{opacity:1;color:var(--crit);border-color:var(--crit)}@keyframes txblink{to{opacity:.4}}.tx-overlay{z-index:60;-webkit-backdrop-filter:blur(10px);background:#0a0a0f73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tx-term{width:min(760px,100%);box-shadow:var(--sh);background:#0d1117;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;max-height:80vh;display:flex;overflow:hidden}.tx-bar{background:#ffffff0a;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:11px 16px;display:flex}.tx-dots{gap:7px;display:flex}.tx-dots i{border-radius:50%;width:11px;height:11px}.tx-dots i:first-child{background:#ff5f57}.tx-dots i:nth-child(2){background:#febc2e}.tx-dots i:nth-child(3){background:#28c840}.tx-title{font-family:var(--mono);color:#7687a1;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;flex:1;margin-left:8px;font-size:11.5px;overflow:hidden}.tx-close{color:#7687a1;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:13px}.tx-close:hover{color:#fff}.tx-log{min-height:220px;max-height:55vh;font-family:var(--mono);color:#b8c4d8;white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:16px 18px;font-size:12px;line-height:1.65;overflow-y:auto}.tx-log::-webkit-scrollbar{width:8px}.tx-log::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.tx-foot{font-family:var(--mono);color:#7687a1;letter-spacing:.4px;border-top:1px solid #ffffff12;padding:10px 18px;font-size:11px}.lesson-title{letter-spacing:-.01em;padding:10px 13px 12px;font-weight:560;line-height:1.4}.lesson-dur{color:var(--muted);font-size:11.5px;font-weight:400;font-family:var(--mono)}.overlay{z-index:50;-webkit-backdrop-filter:blur(14px);background:#0a0a0f80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.player{background:var(--surface);width:min(980px,100%);box-shadow:var(--sh);border:1px solid var(--hair);border-radius:20px;overflow:hidden}.player-head{letter-spacing:-.015em;border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;font-size:15px;font-weight:620;display:flex}.close{border:1px solid var(--hair);color:var(--ink2);cursor:pointer;background:#f1f3f7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:background .15s;display:flex}.close:hover{background:#e6e9ef}.parts{border-bottom:1px solid var(--hair);gap:8px;padding:12px 18px;display:flex}.part{font-family:var(--mono);letter-spacing:.6px;cursor:pointer;border:1px solid var(--hair2);background:var(--surface);color:var(--ink2);border-radius:999px;padding:6px 13px;font-size:11px;font-weight:600}.part.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.player-frame{aspect-ratio:16/9;background:#000;border:none;width:100%;display:block}.player-loading,.player-err{aspect-ratio:16/9;color:#8b93a7;font-family:var(--mono);background:#0d1117;justify-content:center;align-items:center;font-size:13px;display:flex}.player-err{color:#ff9f8f;text-align:center;padding:0 20px}.video-wrap{position:relative}.quality{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--mono);cursor:pointer;background:#0a0a0fa6;border:1px solid #ffffff2e;border-radius:999px;outline:none;padding:6px 12px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}@media (width<=720px){.page{padding:58px 18px 118px;padding:58px 18px calc(118px + env(safe-area-inset-bottom))}.topbar{margin:0 -18px;padding:12px 18px;top:50px}.search{order:3;width:100%}}.tuner{background:var(--bg);min-height:100dvh;color:var(--ink);flex-direction:column;align-items:center;gap:16px;padding:20px 20px 32px;display:flex}.tuner-head{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.tuner-head-l{align-items:center;gap:10px;min-width:0;display:flex}.tuner-back{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);width:34px;height:34px;color:var(--ink);border-radius:50%;flex:none;place-items:center;transition:border-color .15s,color .15s;display:grid}.tuner-back:hover{border-color:var(--accent);color:var(--accent)}.tuner-head h1{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.tuner-head .sort{margin:0}.tuner-strings{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tuner-string{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);min-width:52px;color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.tuner-string b{color:var(--muted);font-size:11px;font-weight:600}.tuner-string span{font-size:15px;font-weight:700}.tuner-string:hover{border-color:var(--violet)}.tuner-string.active{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 22%, transparent)}.tuner-gauge{width:min(92vw,380px)}.tg-arc{fill:none;stroke:var(--hair2);stroke-width:10px;stroke-linecap:round}.tg-zone{fill:none;stroke:#34c759;stroke-width:10px;stroke-linecap:round;opacity:.9}.tg-tick{stroke:var(--muted);stroke-width:1.4px;opacity:.45}.tg-tick.major{stroke-width:2.4px;opacity:.8}.tg-pivot{transform-box:view-box;transform-origin:190px 150px;transition:transform .28s cubic-bezier(.22,.8,.3,1)}.tg-needle{stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.tg-needle.ok{stroke:#34c759}.tg-hub{fill:var(--surface);stroke:var(--accent);stroke-width:3px}.tg-hub.ok{stroke:#34c759}.tg-lbl{fill:var(--muted);font-size:11px;font-family:var(--mono)}.tuner-note{letter-spacing:-.03em;font-size:72px;font-weight:800;line-height:1}.tuner-note sup{color:var(--muted);font-size:26px;font-weight:600}.tuner-note.ok{color:#34c759}.tuner-hz{font-family:var(--mono);color:var(--ink2);font-size:13px}.tuner-status{background:var(--surface);border:1px solid var(--hair2);color:var(--ink2);border-radius:999px;padding:7px 18px;font-size:14px;font-weight:700}.tuner-status.ok{color:#fff;background:#34c759;border-color:#34c759}.tuner-status.off{color:var(--amber);border-color:var(--amber)}.mic-meter{background:var(--hair);border-radius:999px;width:min(92vw,380px);height:5px;overflow:hidden}.mic-meter i{background:var(--violet);height:100%;transition:width 80ms linear;display:block}.tuner-err{color:#ff453a;text-align:center;max-width:380px;font-size:13px}.tuner>.chip{margin-top:4px}@keyframes cfxIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cfxPulse{50%{opacity:.35}}.cfx-hero{text-align:center;max-width:620px;margin:0 auto;padding:10vh 0 40px;transition:padding .4s cubic-bezier(.2,.7,.2,1)}.cfx-hero.up{padding:24px 0 28px}.cfx-hero.up h1{opacity:.9;font-size:22px}.cfx-hero h1{letter-spacing:-.04em;background:linear-gradient(100deg, var(--ink) 30%, var(--violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 26px;font-size:clamp(28px,4.5vw,44px);font-weight:800;transition:font-size .4s}.cfx-note{background:linear-gradient(135deg, var(--violet), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.cfx-search{background:var(--surface);border:1px solid var(--hair2);box-shadow:var(--sh);border-radius:999px;align-items:center;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.cfx-search:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px color-mix(in srgb, var(--violet) 18%, transparent), var(--sh);transform:translateY(-1px)}.cfx-search .cfx-ico{color:var(--muted);pointer-events:none;position:absolute;left:20px}.cfx-search input{color:var(--ink);background:0 0;border:0;border-radius:999px;outline:none;flex:1;padding:16px 52px 16px 50px;font-size:16px}.cfx-search input::placeholder{color:var(--muted)}.cfx-spin{border:2px solid var(--hair2);border-top-color:var(--violet);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite cfxRotate;position:absolute;right:20px}@keyframes cfxRotate{to{transform:rotate(360deg)}}.cfx-quick{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.cfx-chip{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);color:var(--ink2);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .18s;animation:.5s both cfxIn}.cfx-chip:nth-child(2){animation-delay:50ms}.cfx-chip:nth-child(3){animation-delay:.1s}.cfx-chip:nth-child(4){animation-delay:.15s}.cfx-chip:nth-child(5){animation-delay:.2s}.cfx-chip:nth-child(6){animation-delay:.25s}.cfx-chip:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-1px)}.cfx-sec{margin-top:8px}.cfx-sec h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 12px;font-size:12px;font-weight:700}.cfx-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.cfx-card{text-align:left;background:var(--surface);border:1px solid var(--hair);cursor:pointer;color:var(--ink);box-shadow:var(--sh);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s;animation:.45s both cfxIn;display:flex}.cfx-card:hover{border-color:var(--violet);box-shadow:0 4px 24px -8px color-mix(in srgb, var(--violet) 35%, transparent), var(--sh);transform:translateY(-3px)}.cfx-card:active{transform:translateY(-1px)scale(.99)}.cfx-card img{object-fit:cover;border-radius:12px;width:52px;height:52px}.cfx-thumb-fb{background:linear-gradient(135deg, var(--hair), transparent);width:52px;height:52px;color:var(--muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.cfx-card-meta{min-width:0}.cfx-card-meta b{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;display:block;overflow:hidden}.cfx-card-meta span{color:var(--muted);font-size:13px}.cfx-card-go{color:var(--muted);margin-left:auto;font-size:22px;transition:transform .2s,color .2s}.cfx-card:hover .cfx-card-go{color:var(--violet);transform:translate(3px)}.cfx-card.artist{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:22px 14px}.cfx-card.artist img{border-radius:50%;width:84px;height:84px;box-shadow:0 4px 18px -6px #0000004d}.cfx-av-fb{background:linear-gradient(135deg, var(--violet), var(--accent));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:30px;display:flex}.cfx-card.artist b{font-size:15px}.cfx-card.artist span{color:var(--muted);font-size:12px}.cfx-hero-band{background:linear-gradient(135deg,#2a2140,#141822);border-radius:22px;flex-direction:column;justify-content:flex-end;min-height:220px;margin-top:14px;padding:20px 24px;animation:.45s both cfxIn;display:flex;position:relative;overflow:hidden}.cfx-band-bg{filter:blur(28px)saturate(1.2);opacity:.65;background-position:50% 25%;background-size:cover;position:absolute;inset:-30px;transform:scale(1.05)}.cfx-band-fade{background:linear-gradient(#080a1026,#080a10d1);position:absolute;inset:0}.cfx-band-info{position:relative}.cfx-band-info h1{letter-spacing:-.03em;color:#fff;text-shadow:0 2px 16px #0006;margin:0;font-size:clamp(26px,4vw,40px);font-weight:800}.cfx-band-info span{color:#ffffffbf;font-size:14px;font-weight:500}.cfx-back{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:0;border-radius:999px;align-self:flex-start;margin-bottom:auto;padding:8px 16px;font-size:14px;font-weight:650;transition:background .15s;position:relative}.cfx-reader .cfx-back{background:var(--surface);color:var(--ink);border:1px solid var(--hair2);align-self:auto;margin:0}.cfx-back:hover{background:#ffffff38}.cfx-reader .cfx-back:hover{border-color:var(--violet);background:var(--surface)}.cfx-listhead{margin:18px 0 14px;display:flex}.cfx-filter{background:var(--surface);border:1px solid var(--hair2);max-width:340px;color:var(--ink);border-radius:999px;outline:none;flex:1;margin-left:auto;padding:10px 18px;font-size:14px;transition:border-color .15s,box-shadow .15s}.cfx-filter:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 18%, transparent)}.cfx-filter::placeholder{color:var(--muted)}.cfx-rows{flex-direction:column;gap:2px;display:flex}.cfx-row{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:12px;align-items:center;gap:16px;padding:12px 14px;font-size:15px;transition:background .15s;animation:.4s both cfxIn;display:flex}.cfx-row:hover{background:var(--surface)}.cfx-num{text-align:right;width:26px;font-family:var(--mono);color:var(--muted);font-size:12px}.cfx-row-title{letter-spacing:-.01em;font-weight:550}.cfx-row-go{color:var(--muted);opacity:0;margin-left:auto;font-size:20px;transition:opacity .15s,transform .15s}.cfx-row:hover .cfx-row-go{opacity:1;transform:translate(2px)}.cfx-toolbar{z-index:15;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(190%)blur(20px);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:999px;align-items:center;gap:14px;margin-top:14px;padding:8px 10px;animation:.35s both cfxIn;display:flex;position:sticky;top:62px}.cfx-songmeta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.cfx-songmeta b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.cfx-songmeta span{color:var(--muted);font-size:12px}.cfx-transpose{background:var(--hair);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.cfx-transpose button{cursor:pointer;width:32px;height:32px;color:var(--ink);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .15s;display:flex}.cfx-transpose button:hover{background:var(--surface)}.cfx-transpose span{font-family:var(--mono);text-align:center;min-width:30px;color:var(--muted);font-size:12px;font-weight:700}.cfx-transpose span.on{color:var(--violet)}.cf-paper{background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);font-family:var(--mono);border-radius:22px;margin-top:22px;padding:28px 32px;font-size:14.5px;line-height:1.6;animation:.45s 50ms both cfxIn;overflow-x:auto}.cf-line{white-space:pre;min-height:1em}.cf-c{color:var(--violet);cursor:default;border-radius:5px;margin:0 -3px;padding:0 3px;font-weight:700;transition:background .12s}.cf-c:hover{background:color-mix(in srgb, var(--violet) 15%, transparent)}.cf-src{color:var(--muted);margin:14px 6px 0;font-size:12px}.cf-src a{color:var(--accent)}.cf-chords{margin-top:18px;animation:.45s both cfxIn}.cf-chords-row{scrollbar-width:thin;gap:10px;padding:2px 2px 10px;display:flex;overflow-x:auto}.cf-chords-row .chd{flex:none;width:148px}.cf-chords-row .chd-label{font-family:var(--mono);color:var(--ink);font-weight:800}.cf-tip{z-index:70;pointer-events:none;filter:drop-shadow(0 16px 30px #0f122359);animation:.14s both cfTipIn;position:fixed;transform:translate(-50%,-100%)}.cf-tip.below{transform:translate(-50%)}.cf-tip .chd{width:156px;animation:none}.cf-tip .chd-label{font-family:var(--mono);color:var(--ink);font-weight:800}.cf-tip-empty{font-family:var(--mono);background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:10px 16px;font-weight:700}.cf-tip:after{content:"";background:var(--surface);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);border-bottom-right-radius:3px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.cf-tip.below:after{border:none;border-left:1px solid var(--hair);border-top:1px solid var(--hair);border-top-left-radius:3px;top:-6px;bottom:auto}@keyframes cfTipIn{0%{opacity:0}to{opacity:1}}@media (width<=720px){.cfx-hero{padding-top:6vh}.cfx-grid{grid-template-columns:1fr}.cfx-toolbar{border-radius:20px;flex-wrap:wrap}.cf-paper{padding:20px 18px}}.chd-roots{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.chd-root{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);min-width:52px;color:var(--ink);letter-spacing:-.01em;border-radius:12px;padding:10px 8px;font-size:14px;font-weight:700;transition:all .15s;animation:.4s both cfxIn}.chd-root:hover{border-color:var(--violet);transform:translateY(-1px)}.chd-root.active{background:linear-gradient(135deg, var(--violet), var(--accent));color:#fff;box-shadow:0 6px 18px -6px color-mix(in srgb, var(--violet) 60%, transparent);border-color:#0000}.chd-quals{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:16px;display:grid}.chd-qual{cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--hair);color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:all .15s;animation:.4s both cfxIn;display:flex}.chd-qual b{font-size:14px;font-weight:750}.chd-qual span{color:var(--muted);font-size:10.5px}.chd-qual:hover{border-color:var(--violet);transform:translateY(-1px)}.chd-qual.active{border-color:var(--violet);color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 16%, transparent)}.chd-qual.active span{color:var(--violet);opacity:.75}.chd-head{background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:20px;align-items:center;gap:20px;margin:26px 0 18px;padding:18px 22px;animation:.4s both cfxIn;display:flex}.chd-symbol{letter-spacing:-.04em;background:linear-gradient(135deg, var(--violet), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:800;line-height:1}.chd-meta{flex:1}.chd-qname{font-size:15px;font-weight:650}.chd-formula,.chd-notes{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chd-iv{font-family:var(--mono);background:var(--hair);color:var(--ink2);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.chd-note{font-family:var(--mono);background:color-mix(in srgb, var(--violet) 14%, transparent);color:var(--violet);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.chd-play{cursor:pointer;border:1px solid var(--hair2);background:var(--surface);color:var(--ink);border-radius:999px;flex-shrink:0;padding:10px 18px;font-size:14px;font-weight:650;transition:all .15s}.chd-play:hover{border-color:var(--violet);color:var(--violet)}.chd-neck{background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:20px;margin-bottom:24px;padding:18px 20px 14px;animation:.4s 50ms both cfxIn;overflow-x:clip}.neck-scroll{scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow:auto hidden}.neck-scroll::-webkit-scrollbar{display:none}.chd-neck-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.chd-neck-svg{width:100%;min-width:620px;display:block}.nk-fret{stroke:var(--hair2);stroke-width:2px}.nk-str{stroke:var(--hair2);stroke-width:1.4px}.nk-nut{fill:var(--ink2)}.nk-dot-inlay{fill:var(--hair2);opacity:.6}.nk-fret-lbl{fill:var(--muted);font-size:10px;font-family:var(--mono)}.nk-note{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.nk-note.root{fill:#0b0c0f;stroke:#0b0c0f}.nk-iv{fill:var(--ink);font-size:9px;font-weight:700;font-family:var(--mono);pointer-events:none}.nk-note.root+.nk-iv{fill:#fff}:root[data-theme=dark] .nk-note{fill:#232838}:root[data-theme=dark] .nk-note.root{fill:#0b0c0f;stroke:#0b0c0f}.cfx-sec-h{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:8px 0 14px;font-size:12px;font-weight:700}.chd-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding-bottom:40px;display:grid}.chd{cursor:pointer;background:var(--surface);border:1px solid var(--hair);color:var(--ink);box-shadow:var(--sh);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:14px 8px 12px;transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s;animation:.4s both cfxIn;display:flex}.chd:hover{border-color:var(--violet);transform:translateY(-3px)}.chd:active{transform:scale(.98)}.chd-label{color:var(--ink2);font-size:12px;font-weight:650}.chd-str,.chd-fret{stroke:var(--hair2);stroke-width:1.2px}.chd-nut{fill:var(--ink)}.chd-pos{fill:var(--muted);font-size:11px;font-weight:700;font-family:var(--mono)}.chd-x{fill:var(--muted);font-size:13px;font-weight:700}.chd-open{fill:none;stroke:var(--ink2);stroke-width:1.6px}.chd-dot{fill:var(--ink)}.chd-dot.root{fill:#0b0c0f}.chd-fnum{fill:var(--bg);font-size:8.5px;font-weight:800;font-family:var(--mono)}.d160-intro{max-width:760px;color:var(--ink2);margin:18px 0 4px;font-size:14px;line-height:1.55}.d160-intro b{color:var(--ink);font-weight:700}.cg-page .chd-root:hover{border-color:var(--hair2);transform:none}.cg-page .chd-root.active{background:var(--ink);border-color:var(--ink);color:var(--bg);box-shadow:none}.cg-page .chd-play{border-radius:12px}.cg-page .chd-play:hover{border-color:var(--accent);color:var(--accent)}.cg-symbol{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:44px;font-weight:750;line-height:1}.cg-seg{background:var(--hair);border-radius:13px;gap:2px;margin-top:16px;padding:3px;animation:.4s both cfxIn;display:flex}.cg-seg-btn{cursor:pointer;min-width:0;color:var(--ink2);text-align:center;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:7px 4px;transition:background .18s,color .18s,box-shadow .18s;display:flex}.cg-seg-btn b{font-size:14px;font-weight:700}.cg-seg-btn span{font-family:var(--mono);color:var(--muted);font-size:9.5px}.cg-seg-btn.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f,0 4px 12px -6px #0000002e}.cg-seg-btn.active span{color:var(--ink2)}.cg-roots{align-items:center}.chd-root.cg-filter{border-style:dashed;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.chd-root.cg-filter em{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-style:normal;font-weight:800;display:grid}.chd-root.cg-filter.on{border-style:solid;border-color:var(--accent);color:var(--accent)}.chd-root.cg-filter-clear{color:var(--muted);padding-left:11px;padding-right:11px}.cg-modal-bg{z-index:100;-webkit-backdrop-filter:blur(8px);background:#0a0a0f61;place-items:center;padding:20px;animation:.2s both cfxIn;display:grid;position:fixed;inset:0}.cg-modal{background:var(--surface);border:1px solid var(--hair2);border-radius:20px;width:min(560px,100%);max-height:calc(100dvh - 40px);padding:20px 22px 18px;overflow:auto;box-shadow:0 30px 80px -20px #00000073}.cg-modal-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cg-modal-head h3{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:700}.cg-modal-x{cursor:pointer;background:var(--hair);width:28px;height:28px;color:var(--ink2);border:0;border-radius:50%;font-size:12px}.cg-modal-x:hover{background:var(--hair2)}.cg-modal-sec{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;font-size:11px;font-weight:700}.cg-modal-grid{gap:6px;display:grid}.cg-modal-grid.notes{grid-template-columns:repeat(6,1fr)}.cg-modal-grid.types{grid-template-columns:repeat(5,1fr)}.cg-modal-grid button{cursor:pointer;background:var(--bg);border:1px solid var(--hair);color:var(--ink);border-radius:11px;padding:9px 4px;font-size:13px;font-weight:650;transition:border-color .15s,background .15s,color .15s}.cg-modal-grid button:hover:not(:disabled){border-color:var(--accent)}.cg-modal-grid button:disabled{opacity:.4;cursor:default}.cg-modal-grid button.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.cg-modal-grid.types button.active{background:var(--accent);border-color:var(--accent);color:#fff}.cg-modal-draft{background:var(--bg);border:1px dashed var(--hair2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:8px;display:flex}.cg-modal-draft .empty{color:var(--muted);padding:0 4px;font-size:12px}.cg-chip{background:var(--ink);color:var(--bg);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 11px;font-size:13px;font-weight:650;display:inline-flex}.cg-chip button{cursor:pointer;width:18px;height:18px;color:inherit;background:#ffffff2e;border:0;border-radius:50%;font-size:9px}.cg-modal-foot{justify-content:space-between;gap:10px;margin-top:16px;display:flex}.cg-apply{cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:650}.cg-apply:hover{filter:brightness(1.08)}.cg-modal-foot .chd-play:disabled{opacity:.35;cursor:default}@media (width<=520px){.cg-modal-grid.notes{grid-template-columns:repeat(4,1fr)}.cg-modal-grid.types{grid-template-columns:repeat(3,1fr)}}.cg-pos-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.cg-tabs-pos{flex-wrap:wrap}.cg-tabs-pos .cg-tab{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);letter-spacing:-.01em;padding:5px 15px}.cg-tabs-pos .cg-tab:hover:not(.active),.cg-tabs-pos .cg-tab.active{color:var(--ink)}.cg-grid-title{color:var(--ink2);flex-wrap:wrap;align-items:baseline;gap:10px;margin:16px 2px 10px;font-size:14px;display:flex}.cg-grid-title b{color:var(--ink);letter-spacing:-.01em;font-size:16px}.cg-grid-title span{color:var(--muted);font-size:12px}.cg-inv{margin:14px 0 18px}.cg-seg-inv{margin-top:0}.cg-inv-hint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.cg-region{margin-top:16px}.cg-region-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.cg-region-notes{color:var(--ink);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13px;font-weight:650;display:flex}.cg-region-notes span{font-family:var(--mono);color:var(--muted);white-space:pre;font-size:11px;font-weight:600}.cg-region-ctl{flex-shrink:0;align-items:center;gap:10px;display:flex}.cg-icon-btn{cursor:pointer;background:var(--surface);border:1px dashed var(--hair2);min-width:28px;height:28px;color:var(--ink2);border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 7px;transition:border-color .15s,color .15s;display:inline-flex;position:relative}.cg-icon-btn:hover,.cg-icon-btn.on{border-color:var(--accent);color:var(--accent)}.cg-icon-btn.on{border-style:solid}.cg-icon-btn em{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:10px;font-style:normal;font-weight:800;display:grid}.cg-opt-chips{flex-wrap:wrap;gap:6px;margin:2px 0 6px;display:flex}.cg-opt-chips button{cursor:pointer;background:var(--hair);color:var(--ink2);border:0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:650;transition:background .15s,color .15s}.cg-opt-chips button:hover{color:var(--ink)}.cg-opt-chips button.active{background:var(--ink);color:var(--bg)}.cg-opt-list{flex-direction:column;gap:6px;max-height:52vh;display:flex;overflow:auto}.cg-opt-row{cursor:pointer;text-align:left;background:var(--bg);border:1px solid var(--hair);color:var(--ink);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.cg-opt-row:hover{border-color:var(--accent)}.cg-opt-row.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.cg-opt-check{border:1.5px solid var(--hair2);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.cg-opt-row.on .cg-opt-check{background:var(--accent);border-color:var(--accent)}.cg-opt-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cg-opt-main b{font-size:14px;font-weight:650}.cg-opt-main small{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.cg-opt-tag{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.cg-step{gap:2px;display:flex}.cg-step button{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);width:28px;height:28px;color:var(--ink2);border-radius:8px;font-size:16px;line-height:1;transition:border-color .15s,color .15s}.cg-step button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cg-step button:disabled{opacity:.35;cursor:default}.cg-legend-hint{color:var(--muted);margin-left:auto;font-size:11px}.nr-hit{fill:#0000;cursor:grab;touch-action:none}.nr-hit:active{cursor:grabbing}.nr-edge{fill:#0000;cursor:ew-resize;touch-action:none}.nr-grip{fill:color-mix(in srgb, var(--accent) 55%, transparent);pointer-events:none}.nr-edge:hover+.nr-grip,.nr-grip{transition:fill .15s}.cg-tabs{background:var(--hair);border-radius:10px;flex-shrink:0;gap:2px;padding:3px;display:flex}.cg-tab{cursor:pointer;color:var(--ink2);background:0 0;border:0;border-radius:8px;padding:5px 16px;font-size:12px;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.cg-tab.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f,0 4px 12px -6px #0000002e}.nr-band{fill:color-mix(in srgb, var(--accent) 8%, transparent);stroke:color-mix(in srgb, var(--accent) 38%, transparent);stroke-width:1.5px}.nr-far{fill:var(--hair2)}.nr-fnum{fill:var(--muted);font-size:9px;font-weight:600;font-family:var(--mono);opacity:.7}.nr-fnum.in{fill:var(--accent);opacity:1;font-weight:800}.nr-tone{fill:var(--accent)}.nr-tone.root{fill:#0b0c0f}.nr-scale{fill:var(--surface);stroke:var(--hair2);stroke-width:1.5px}.nr-deg{fill:#fff;font-size:8px;font-weight:800;font-family:var(--mono);pointer-events:none}.nr-deg-out{fill:var(--ink2);font-size:8px;font-weight:700;font-family:var(--mono);pointer-events:none}.cg-legend{color:var(--muted);align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.cg-legend i{border:1.5px solid var(--hair2);background:var(--surface);border-radius:999px;width:9px;height:9px;margin-left:6px;display:inline-block}.cg-legend i.on{background:var(--accent);border-color:var(--accent);margin-left:0}.cg-legend i.root{background:#0b0c0f;border-color:#0b0c0f}.sc-group{font-family:var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);vertical-align:2px;margin-left:8px;font-size:10px;font-weight:700}.sc-desc{color:var(--ink2);margin-top:8px;font-size:12.5px}.sc-group-block{margin-top:18px}.sc-group-name{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.sc-neck .nr-band{opacity:.45}.nr-lit circle:not(.nr-ring),.nr-lit text{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.2,.8,.2,1) nrPop}.nr-lit .nr-tone,.nr-lit .nr-scale{filter:drop-shadow(0 0 5px var(--accent))}.nr-ring{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:.7s ease-out forwards nrRing}@keyframes nrPop{0%{transform:scale(1)}30%{transform:scale(1.5)}to{transform:scale(1.18)}}@keyframes nrRing{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.sc-hero{padding:34px 0 22px}.sc-hero h2{font-size:clamp(36px,5vw,54px)}.sc-roots{grid-template-columns:repeat(12,1fr);gap:6px;animation:.4s both cfxIn;display:grid}.sc-root{cursor:pointer;letter-spacing:-.01em;color:var(--ink2);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:12px;padding:11px 0;font-size:14px;font-weight:650;transition:all .18s}.sc-root:hover{color:var(--ink);border-color:var(--hair2)}.sc-root.on{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 6px 18px -8px color-mix(in srgb, var(--accent) 70%, transparent)}.sc-head{background:var(--surface);border:1px solid var(--hair);border-radius:20px;align-items:center;gap:22px;margin:18px 0;padding:18px 22px;animation:.4s both cfxIn;display:flex}.sc-sym{letter-spacing:-.04em;width:84px;height:84px;color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, transparent);border:1px solid var(--hair);border-radius:20px;flex:none;place-items:center;font-size:34px;font-weight:700;display:grid}.sc-info{flex:1;min-width:0}.sc-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.sc-title h3{letter-spacing:-.03em;font-size:22px;font-weight:660}.sc-title .sc-group{margin:0}.sc-info .sc-desc{margin-top:4px}.sc-tones{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.sc-tone{background:color-mix(in srgb, var(--ink) 4%, transparent);border:1px solid var(--hair);border-radius:10px;flex-direction:column;align-items:center;gap:1px;min-width:42px;padding:6px 9px 7px;display:flex}.sc-tone small{font-family:var(--mono);letter-spacing:.4px;color:var(--muted);font-size:9.5px;font-weight:600}.sc-tone b{letter-spacing:-.02em;font-size:14px;font-weight:680}.sc-tone.root{background:#0b0c0f;border-color:#0b0c0f}.sc-tone.root small{color:#fff9}.sc-tone.root b{color:#fff}:root[data-theme=dark] .sc-tone.root{border-color:#ffffff47}.sc-play{cursor:pointer;color:#fff;background:var(--accent);border:0;border-radius:12px;flex:none;align-items:center;gap:9px;padding:12px 22px;font-size:14px;font-weight:620;transition:transform .2s,filter .2s;display:inline-flex}.sc-play:hover{filter:brightness(1.08);transform:translateY(-1px)}.sc-play.sm{border-radius:10px;gap:7px;padding:7px 14px;font-size:12.5px}.sc-cards{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px;display:grid}.sc-card{cursor:pointer;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:15px;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px 12px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s;display:flex}.sc-card:hover{border-color:var(--hair2);transform:translateY(-2px)}.sc-card.on{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.sc-card b{letter-spacing:-.02em;font-size:14.5px;font-weight:660}.sc-card span{font-family:var(--mono);color:var(--muted);font-size:10px}.sc-card.on b{color:var(--accent)}.sc-mini{width:100%;height:auto;margin-bottom:9px;display:block}.sc-mini .fret{stroke:color-mix(in srgb, var(--ink) 14%, transparent);stroke-width:.7px}.sc-mini .nut{stroke:color-mix(in srgb, var(--ink) 55%, transparent);stroke-width:2px}.sc-mini .str{stroke:color-mix(in srgb, var(--ink) 26%, transparent);stroke-width:.6px}.sc-mini .dot{fill:var(--muted);transition:fill .2s}.sc-card.on .sc-mini .dot,.sc-card:hover .sc-mini .dot{fill:var(--accent)}.sc-mini .root{fill:#0b0c0f;stroke:#ffffff8c;stroke-width:.6px}@media (width<=760px){.sc-roots{grid-template-columns:repeat(6,1fr)}.sc-head{flex-wrap:wrap}}.sc-roots.cg-roots{grid-template-columns:repeat(12,minmax(0,1fr)) auto}.sc-roots.cg-roots.free{flex-wrap:wrap;align-items:center;display:flex}.sc-roots.free .sc-root{min-width:56px;padding-left:14px;padding-right:14px}.sc-root.cg-filter{border-style:dashed;justify-content:center;align-items:center;gap:6px;margin-left:6px;padding-left:14px;padding-right:14px;display:inline-flex}.sc-root.cg-filter em{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-style:normal;font-weight:800;display:grid}.sc-root.cg-filter.has{border-style:solid;border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.sc-roots.free .sc-root.cg-filter{margin-left:auto}.sc-root.cg-filter-clear{min-width:0;color:var(--muted);padding-left:12px;padding-right:12px}.sc-roots.cg-tys{grid-template-columns:repeat(15,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.sc-roots.cg-tys .sc-root{letter-spacing:0;padding:10px 4px;font-size:12px;font-weight:600}.d160-play{z-index:2;cursor:pointer;border:1px solid var(--hair2);width:24px;height:24px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;padding-left:1px;transition:all .15s;display:grid;position:absolute;top:8px;right:8px}.d160-play:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.cg-page .d160-check{background:0 0;left:8px;right:auto}.cg-sym{width:auto;min-width:84px;padding:0 18px;font-size:30px}.cg-head .cg-desc{margin-top:4px}.cg-head .d160-progress{align-items:flex-end}.cg-page .cg-seg{background:0 0;gap:8px;margin-top:16px;padding:0}.cg-page .cg-seg-btn{background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);color:var(--ink2);border-radius:14px;padding:11px 6px;transition:border-color .2s,background .2s,color .2s,transform .2s}.cg-page .cg-seg-btn:hover{border-color:var(--hair2);transform:translateY(-1px)}.cg-page .cg-seg-btn b{letter-spacing:-.02em;font-size:16px}.cg-page .cg-seg-btn.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:none}.cg-page .cg-seg-btn.active span{color:color-mix(in srgb, var(--accent) 70%, var(--muted))}.cg-page .cg-tabs{background:var(--surface);border:1px solid var(--hair)}.cg-page .cg-tab.active{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);box-shadow:none}.cg-page .cg-tabs-pos .cg-tab.active{color:var(--accent)}.cg-page .chd-neck{background:var(--surface);box-shadow:var(--sh);border-radius:20px}.cg-page .chd{background:var(--surface);box-shadow:var(--sh);border-radius:16px}.cg-page .chd:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.cg-page .d160-card.done .chd{border-color:color-mix(in srgb, var(--accent) 45%, var(--hair))}.cg-page .chd-play{border-color:var(--hair2);color:var(--ink2);background:0 0}.cg-page .cg-step button,.cg-page .cg-icon-btn{background:0 0}@media (width<=760px){.sc-roots.cg-roots:not(.free){grid-template-columns:repeat(6,1fr)}.sc-roots.cg-tys{grid-template-columns:repeat(10,1fr)}.sc-root.cg-filter{grid-column:span 3;margin-left:0}}.cg-pick{z-index:2;cursor:pointer;border:1px dashed var(--hair2);width:24px;height:24px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;padding:0;line-height:0;transition:background .2s,border-color .2s,color .2s,box-shadow .25s,transform .15s;display:grid;position:absolute;top:8px;left:8px}.cg-pick svg{display:block}.cg-pick path{stroke-dasharray:12;stroke-dashoffset:12px;transition:stroke-dashoffset .28s 50ms,opacity .2s}.cg-pick:hover{border-style:solid;border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.cg-pick:hover:not(.on) path{stroke-dashoffset:0;opacity:.45}.cg-pick.on{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent), 0 6px 14px -6px color-mix(in srgb, var(--accent) 80%, transparent);animation:.32s cgPickPop}.cg-pick.on path{stroke-dashoffset:0}@keyframes cgPickPop{0%{transform:scale(.8)}60%{transform:scale(1.18)}to{transform:scale(1)}}.d160-card.picked .chd{border-color:color-mix(in srgb, var(--accent) 45%, var(--hair))}.cg-picked{border:1px solid var(--hair);background:var(--surface);border-radius:20px;margin:4px 0 18px;padding:14px 16px 16px;animation:.35s both cfxIn}.cg-picked-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.cg-picked-head b{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.cg-picked-head span{color:var(--muted);font-size:12px}.cg-picked-head button{cursor:pointer;border:1px solid var(--hair2);color:var(--muted);background:0 0;border-radius:999px;margin-left:auto;padding:4px 12px;font-size:11.5px;transition:all .15s}.cg-picked-head button:hover{color:var(--ink);border-color:var(--ink2)}.cg-picked-head button+button{margin-left:0}.cg-picked-head .cg-picked-filter{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);align-items:center;gap:6px;display:inline-flex}.cg-picked-head .cg-picked-filter:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.cg-picked-head .cg-picked-filter.on{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 6px 14px -8px color-mix(in srgb, var(--accent) 80%, transparent)}.cg-picked-list{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.cg-pk{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:16px;transition:transform .15s,opacity .15s;position:relative}.cg-pk:active{cursor:grabbing}.cg-pk:hover{transform:translateY(-2px)}.cg-pk .chd{width:100%}.cg-pk.on .chd{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.cg-pk.drag{opacity:.35;transform:scale(.96)}.cg-pk-n{z-index:2;font-family:var(--mono);color:var(--muted);font-size:10px;font-weight:700;position:absolute;top:8px;left:9px}.cg-pk.on .cg-pk-n{color:var(--accent)}.cg-pk-x,.cg-pk-play{z-index:2;cursor:pointer;border:1px solid var(--hair2);width:20px;height:20px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;padding:0;font-size:9px;line-height:0;transition:all .15s;display:grid;position:absolute}.cg-pk-x{opacity:0;top:6px;right:6px}.cg-pk:hover .cg-pk-x{opacity:1}.cg-pk-x:hover{color:#fff;background:var(--ink2);border-color:var(--ink2)}.cg-pk-play{bottom:26px;right:6px}.cg-pk-play:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.cg-pk.has-var .cg-pk-play{bottom:52px}.cg-pk .cg-var{margin:0 0 4px}.cg-pk{animation:.35s both cgPkIn}@keyframes cgPkIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.cg-pk.dim{opacity:.45}.cg-pk.dim:hover{opacity:.85}.cg-pk.on .chd{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.cg-pk-focus{z-index:3;white-space:nowrap;font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:999px;padding:2px 8px;font-size:9px;font-weight:700;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.cg-picked-head .cg-picked-filter.part{background:color-mix(in srgb, var(--accent) 10%, transparent)}.cg-flabel{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin:14px 2px -8px;font-size:9.5px;display:flex}.cg-seg-inv.filtering{margin:16px 0 18px}.cg-page .cg-seg.filtering .cg-seg-btn{border-style:dashed}.cg-page .cg-seg.filtering .cg-seg-btn.empty{opacity:.35;cursor:not-allowed;transform:none}.cg-page .cg-seg.filtering .cg-seg-btn.active{color:#fff;background:var(--accent);border-style:solid;border-color:var(--accent)}.cg-page .cg-seg.filtering .cg-seg-btn.active span{color:#fffc}.cg-fbar{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--hair));background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px;padding:10px 14px;animation:.3s both cfxIn;display:flex}.cg-fbar-l{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-size:10px;display:inline-flex}.cg-fchip{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s;animation:.25s both cgPkIn;display:inline-flex}.cg-fchip i{opacity:.75;font-size:9px;font-style:normal}.cg-fchip:hover i{opacity:1}.cg-fchip:hover{filter:brightness(1.08)}.cg-fchip.all{cursor:default;color:var(--accent);background:0 0}.cg-fbar em{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:11px}.cg-fbar-hint{color:var(--ink2);margin-left:auto;font-size:11.5px}.cg-fbar-hint b{color:var(--accent);margin-right:3px}.cg-fempty{text-align:center;color:var(--muted);border:1px dashed var(--hair2);border-radius:16px;grid-column:1/-1;padding:28px;font-size:13px}.cg-fempty button{cursor:pointer;border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:999px;margin-left:8px;padding:4px 12px}.d160-card.swap{cursor:copy}.d160-card.swap:after{content:attr(data-swap);z-index:3;white-space:nowrap;color:#fff;background:var(--accent);opacity:0;pointer-events:none;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;bottom:6px;left:50%;transform:translate(-50%,4px)}.d160-card.swap:hover:after{opacity:1;transform:translate(-50%)}.d160-card.swap:hover .chd{border-style:dashed;border-color:var(--accent)}.cg-var{justify-content:center;align-items:center;gap:8px;margin:-2px 0 6px;display:flex}.cg-var button{cursor:pointer;border:1px solid var(--hair2);width:20px;height:20px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;padding:0;font-size:13px;line-height:0;transition:all .15s;display:grid}.cg-var button:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.cg-var span{gap:4px;display:flex}.cg-var i{cursor:pointer;background:var(--hair2);border-radius:999px;width:6px;height:6px;transition:all .2s}.cg-var i:hover{background:var(--muted)}.cg-var i.on{background:var(--accent);width:16px}.cg-pk-tag{text-align:center;color:var(--muted);margin-top:5px;font-size:10.5px}.cg-pk.on .cg-pk-tag{color:var(--accent)}.d160-card.sel .chd{border-color:var(--accent)}.d160-card.sel .d160-mv{color:var(--accent)}.cg-desc{color:var(--ink2);max-width:620px;margin-top:6px;font-size:12.5px;line-height:1.5}.cg-alt{text-align:center;color:var(--muted);background:var(--hair);border-radius:8px;margin:-4px 10px 10px;padding:5px 8px;font-size:10.5px;line-height:1.35}.cg-nav{justify-content:space-between;gap:10px;margin:0 0 20px;display:flex}.cg-nav .chd-play:disabled{opacity:.35;cursor:default}.d160-moves{flex-wrap:wrap;justify-content:center;gap:4px;min-height:30px;padding:6px 10px 10px;display:flex}.d160-mv{font-family:var(--mono);background:var(--hair);color:var(--ink2);border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.d160-mv.anchor{background:var(--ink);color:var(--bg)}.chd-dot.moved:not(.root){fill:var(--accent)}.chd-arrow{font-size:9px;font-weight:900}.chd-arrow.down,.chd-arrow.up{fill:var(--accent)}.d160-card{position:relative}.d160-card .chd{width:100%}.d160-card.anchor .chd{border-color:color-mix(in srgb, var(--ink) 35%, var(--hair))}.d160-check{z-index:2;cursor:pointer;border:1px solid var(--hair2);background:var(--surface);width:24px;height:24px;color:var(--muted);border-radius:999px;place-items:center;font-size:13px;font-weight:800;line-height:1;transition:all .15s;display:grid;position:absolute;top:8px;right:8px}.d160-check:hover{border-color:var(--accent);color:var(--accent)}.d160-card.done .d160-check{background:var(--accent);border-color:var(--accent);color:#fff}.d160-card.done .chd{border-color:color-mix(in srgb, var(--accent) 45%, var(--hair))}.d160-progress{color:var(--muted);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;font-size:13px;font-weight:650;display:flex}.d160-progress b{color:var(--ink);font-size:20px;font-weight:800}.d160-progress span{font-weight:500}.d160-bar{background:var(--hair);border-radius:999px;width:140px;height:5px;overflow:hidden}.d160-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.chd-fdeg{fill:var(--bg);font-size:7px;font-weight:800;font-family:var(--mono)}.chd-fdeg.barre{fill:#fff}.chd-deg-open{fill:none;stroke:var(--ink2);stroke-width:1.6px}.chd-fdeg-open{fill:var(--ink2);font-size:7px;font-weight:800;font-family:var(--mono)}.chd-strnum{fill:var(--muted);font-size:9px;font-weight:700;font-family:var(--mono);opacity:.55}.chd-strnum.on{fill:var(--accent);opacity:1;font-weight:800}.cg-page .chd-dot.root,:root[data-theme=dark] .cg-page .chd-dot.root{fill:#0b0c0f}.d160-tip{background:var(--surface);border:1px solid var(--hair);max-width:760px;color:var(--ink2);border-radius:14px;margin:-8px 0 20px;padding:14px 18px;font-size:13px;line-height:1.6}.d160-tip b{color:var(--ink)}@media (width<=720px){.chd-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.chd-head{flex-wrap:wrap}.d160-progress{align-items:flex-start}.cg-seg-btn span{display:none}}.mbx-page{--mbx-bg:#0d0f14;--mbx-surface:#161a23;--mbx-surface2:#1d2230;--mbx-hair:#262c3d;--mbx-hair2:#333b52;--mbx-ink:#e8eaf2;--mbx-ink2:#aab0c4;--mbx-muted:#6b7388;--mbx-accent:#6ea8ff;background:var(--mbx-bg);color:var(--mbx-ink);flex-direction:column;display:flex;position:absolute;inset:52px 0 0;overflow:hidden}.mbx-top{background:var(--mbx-surface);border-bottom:1px solid var(--mbx-hair);flex-shrink:0;align-items:stretch;gap:10px;padding:10px 14px;display:flex}.mbx-transport{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.mbx-tgroup{background:var(--mbx-surface2);border:1px solid var(--mbx-hair);border-radius:12px;align-items:center;gap:6px;padding:4px 10px;display:flex}.mbx-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--mbx-muted);font-size:10px;font-weight:700}.mbx-btn{cursor:pointer;background:var(--mbx-surface2);border:1px solid var(--mbx-hair2);min-width:34px;height:34px;color:var(--mbx-ink);border-radius:9px;justify-content:center;align-items:center;padding:0 10px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.mbx-btn:hover{border-color:var(--mbx-accent)}.mbx-btn.on{background:var(--mbx-accent);border-color:var(--mbx-accent);color:#fff}.mbx-btn.big{border-radius:12px;min-width:44px;height:44px;font-size:18px}.mbx-btn.big.playing{background:var(--mbx-accent);border-color:var(--mbx-accent);color:#fff}.mbx-btn.wide{flex:1;font-size:13px}.mbx-btn:disabled{opacity:.4;cursor:default}.mbx-btn.big.alt{background:var(--mbx-surface2)}.mbx-num{text-align:center;width:56px;font-family:var(--mono);background:var(--mbx-bg);color:var(--mbx-ink);border:1px solid var(--mbx-hair2);cursor:ns-resize;border-radius:8px;outline:none;padding:6px 4px;font-size:15px;font-weight:700}.mbx-num:focus{border-color:var(--mbx-accent)}.mbx-sel{background:var(--mbx-bg);color:var(--mbx-ink);border:1px solid var(--mbx-hair2);cursor:pointer;border-radius:8px;outline:none;padding:6px 8px;font-size:12.5px;font-weight:600}.mbx-bars{font-family:var(--mono);text-align:center;min-width:20px;font-weight:700}.mbx-vol{width:80px;accent-color:var(--mbx-accent)}.mbx-sig-info{color:var(--mbx-muted);font-size:11px;font-family:var(--mono);align-self:center}.mbx-proj{align-items:center;gap:6px;display:flex;position:relative}.mbx-pname{background:var(--mbx-surface2);border:1px solid var(--mbx-hair);width:150px;color:var(--mbx-ink);border-radius:10px;outline:none;padding:8px 12px;font-size:13px;font-weight:650}.mbx-pname:focus{border-color:var(--mbx-accent)}.mbx-pmenu{z-index:60;position:absolute;top:46px;right:0}.mbx-pitem{gap:4px;display:flex}.mbx-pitem .grow{text-align:left;flex:1}.mbx-scroll{overscroll-behavior:contain;flex:1;overflow:auto}.mbx-tl{min-height:100%;padding-bottom:30px;position:relative}.mbx-ruler{z-index:20;background:var(--mbx-bg);display:flex;position:sticky;top:0}.mbx-corner{z-index:21;background:var(--mbx-bg);flex-shrink:0;width:180px;position:sticky;left:0}.mbx-bar-head{cursor:pointer;background:var(--mbx-surface);border:0;border-right:2px solid var(--mbx-hair2);border-bottom:1px solid var(--mbx-hair);color:var(--mbx-ink);flex-shrink:0;justify-content:center;align-items:baseline;gap:6px;padding:8px 0;font-size:12px;transition:background .15s;display:flex}.mbx-bar-head:hover,.mbx-bar-head.on{background:var(--mbx-surface2)}.mbx-bar-head b{font-family:var(--mono);color:var(--mbx-accent);font-size:13px}.mbx-bar-head span{color:var(--mbx-muted);font-size:10px}.mbx-row{border-bottom:1px solid var(--mbx-hair);display:flex}.mbx-rowhead{z-index:15;background:var(--mbx-bg);border-right:1px solid var(--mbx-hair);flex-shrink:0;align-items:center;gap:6px;width:180px;padding:4px 10px;display:flex;position:sticky;left:0}.mbx-ic{text-align:center;width:20px;font-size:15px}.mbx-rname{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:650;overflow:hidden}.mbx-mini{cursor:pointer;background:var(--mbx-surface2);border:1px solid var(--mbx-hair2);width:20px;height:20px;color:var(--mbx-muted);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:800;display:inline-flex}.mbx-mini.on-m{color:#fff;background:#b04040;border-color:#b04040}.mbx-mini.on-s{color:#fff;background:#b08f10;border-color:#b08f10}.mbx-mini.del:hover{color:#ff5c5c;border-color:#ff5c5c}.mbx-rvol{width:44px;accent-color:var(--mbx-muted);height:3px}.mbx-addsel{cursor:pointer;background:var(--mbx-surface2);border:1px dashed var(--mbx-hair2);color:var(--mbx-muted);border-radius:8px;width:100%;padding:6px;font-size:12px}.mbx-cells{display:flex}.mbx-cell{cursor:pointer;box-sizing:border-box;border-right:1px solid var(--mbx-hair);flex-shrink:0;height:34px;padding:2px}.mbx-cell.beat{border-left:1px solid var(--mbx-hair2)}.mbx-cell i{background:var(--iv);width:100%;height:100%;box-shadow:0 0 10px -2px var(--iv);border-radius:4px;display:block}.mbx-cell:hover{background:var(--mbx-surface2)}.mbx-cell.lit i{filter:brightness(1.4);transform:scale(1.06)}.mbx-cell i{transition:transform 80ms,filter 80ms}.mbx-playhead{pointer-events:none;background:linear-gradient(var(--mbx-accent), transparent 130%);width:2px;box-shadow:0 0 8px var(--mbx-accent);z-index:14;position:absolute;top:34px;bottom:0}.mbx-hlane{border-top:2px solid var(--mbx-hair2);border-bottom:1px solid var(--mbx-hair);min-height:84px;margin-top:14px;display:flex;position:relative}.mbx-rowhead.h{background:var(--mbx-bg)}.mbx-hcells{flex:1;min-height:84px;position:relative}.mbx-hguide{border-left:1px dashed var(--mbx-hair2);position:absolute;top:0;bottom:0}.mbx-chord{cursor:grab;background:var(--mbx-surface2);border:1.5px solid var(--mbx-hair2);-webkit-user-select:none;user-select:none;touch-action:none;border-left-width:4px;border-radius:10px;align-items:center;gap:7px;padding:0 10px;transition:box-shadow .15s;animation:.3s both cfxIn;display:flex;position:absolute;top:10px;bottom:10px;overflow:hidden}.mbx-chord:hover{filter:brightness(1.15)}.mbx-chord.sel{box-shadow:0 0 0 2px var(--mbx-accent);z-index:5}.mbx-chord b{letter-spacing:-.02em;font-size:16px;font-weight:800}.mbx-roman{font-family:var(--mono);color:var(--mbx-muted);font-size:11px;font-weight:700}.mbx-fn{color:#0d0f14;border-radius:5px;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:800}.mbx-cdel{color:#fff;cursor:pointer;background:#00000059;border:0;border-radius:5px;width:18px;height:18px;font-size:11px;position:absolute;top:3px;right:4px}.mbx-chandle.r{cursor:ew-resize;border-radius:0 10px 10px 0;width:10px;position:absolute;top:0;bottom:0;right:0}.mbx-chandle.r:hover{background:#ffffff26}.mbx-cedit{z-index:40;background:var(--mbx-surface);border:1px solid var(--mbx-hair2);border-radius:14px;width:fit-content;margin:8px 12px;padding:10px 14px;position:sticky;bottom:8px;box-shadow:0 12px 40px #00000080}.mbx-cedit-row{gap:6px;display:flex}.mbx-cedit select{background:var(--mbx-surface2);color:var(--mbx-ink);border:1px solid var(--mbx-hair2);border-radius:8px;outline:none;padding:7px 10px;font-size:13px;font-weight:650}.mbx-overlay{z-index:49;position:fixed;inset:0}.mbx-menu{z-index:50;background:var(--mbx-surface);border:1px solid var(--mbx-hair2);border-radius:14px;min-width:230px;max-height:70vh;padding:8px;animation:.18s both cfxIn;position:fixed;overflow-y:auto;box-shadow:0 16px 50px #0000008c}.mbx-menu-sec{letter-spacing:.1em;text-transform:uppercase;color:var(--mbx-muted);padding:8px 6px 4px;font-size:10px;font-weight:700}.mbx-menu-row,.mbx-menu-acts{flex-wrap:wrap;gap:4px;display:flex}.mbx-mi{cursor:pointer;background:var(--mbx-surface2);border:1px solid var(--mbx-hair);color:var(--mbx-ink);border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:7px 12px;font-size:12.5px;font-weight:600;display:flex;position:relative}.mbx-mi:hover{border-color:var(--mbx-accent)}.mbx-mi.on{border-color:var(--mbx-accent);color:var(--mbx-accent)}.mbx-mi.sm{flex-direction:row;padding:6px 10px;font-size:12px}.mbx-mi.warn:hover{color:#ff5c5c;border-color:#ff5c5c}.mbx-mi.link{color:var(--mbx-accent);background:0 0;border:0;flex-direction:row;padding:2px 6px}.mbx-mi:disabled{opacity:.35;cursor:default}.mbx-mi-sub{color:var(--mbx-muted);font-size:9px;font-weight:500}.mbx-dot{background:var(--mbx-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:4px}.mbx-menu-presets{flex-direction:column;gap:3px;max-height:160px;display:flex;overflow-y:auto}.mbx-menu-presets .mbx-mi{flex-direction:row;justify-content:flex-start}.mbx-panel{z-index:45;background:var(--mbx-surface);border-left:1px solid var(--mbx-hair2);flex-direction:column;width:340px;animation:.25s cubic-bezier(.2,.7,.2,1) both mbxSlide;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 50px #0006}@keyframes mbxSlide{0%{opacity:0;transform:translate(60px)}}.mbx-panel-head{border-bottom:1px solid var(--mbx-hair);align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.mbx-panel-head b{font-size:16px}.mbx-panel-head .mbx-mini{margin-left:auto}.mbx-panel-sub{color:var(--mbx-muted);font-size:11px}.mbx-panel-scroll{flex:1;padding:10px 12px;overflow-y:auto}.mbx-sg h4{letter-spacing:.08em;text-transform:uppercase;color:var(--mbx-muted);margin:14px 2px 8px;font-size:11px;font-weight:700}.mbx-sg-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.mbx-sug{text-align:left;cursor:pointer;background:var(--mbx-surface2);border:1px solid var(--mbx-hair);color:var(--mbx-ink);border-radius:12px;flex-direction:column;gap:5px;padding:10px 11px;transition:all .15s;display:flex}.mbx-sug:hover{border-color:var(--mbx-accent);transform:translateY(-1px)}.mbx-sug-top{align-items:center;gap:7px;display:flex}.mbx-sug-top b{font-size:16px;font-weight:800}.mbx-sug-why{color:var(--mbx-muted);font-size:10.5px;line-height:1.35}.mbx-sug-foot{align-items:center;gap:6px;display:flex}.mbx-tag{background:var(--mbx-hair);color:var(--mbx-ink2);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;flex:1;padding:2px 6px;font-size:9px;font-weight:700;overflow:hidden}.mbx-bold{font-size:9px;font-weight:700}.mbx-bold.b1{color:#30d158}.mbx-bold.b2{color:#ffd60a}.mbx-bold.b3{color:#ff7ab8}.mbx-ctx{cursor:pointer;color:var(--mbx-muted);border-radius:4px;padding:1px 4px;font-size:13px}.mbx-ctx:hover{color:var(--mbx-accent);background:var(--mbx-hair)}.mbx-panel-foot{border-top:1px solid var(--mbx-hair);gap:6px;padding:10px 12px;display:flex}.mbx-panel-foot select{background:var(--mbx-surface2);color:var(--mbx-ink);border:1px solid var(--mbx-hair2);border-radius:8px;outline:none;padding:6px 8px;font-size:12px;font-weight:600}.mbx-hint{color:var(--mbx-muted);border-top:1px solid var(--mbx-hair);background:var(--mbx-surface);flex-shrink:0;padding:7px 16px;font-size:11px}.mbx-landing{flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 60px);display:flex}.mbx-landing h1{letter-spacing:-.04em;margin:0 0 10px;font-size:44px;font-weight:800}.mbx-landing-sub{color:var(--muted);margin-bottom:30px}.mbx-landing-acts{gap:12px;display:flex}.mbx-landing .mbx-btn{height:52px;padding:0 26px;font-size:15px}@media (width<=860px){.mbx-panel{border-left:0;border-top:1px solid var(--mbx-hair2);border-radius:18px 18px 0 0;width:auto;height:46vh;top:auto;left:0;right:0}.mbx-top{flex-wrap:wrap}.mbx-rowhead{width:120px}.mbx-tl{padding-left:0}.mbx-playhead{left:0}}.ex-page{max-width:880px}.ex-hub{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:22px;display:grid}.ex-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--sh);color:var(--ink);flex-direction:column;gap:4px;padding:18px 18px 16px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s;animation:.4s both cfxIn;display:flex}.ex-card:not(.locked):hover{border-color:var(--hair2);transform:translateY(-4px)}.ex-card.locked{opacity:.5;cursor:default}.ex-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ex-card-icon{background:var(--hair);width:38px;height:38px;color:var(--ink);border-radius:11px;place-items:center;display:grid}.ex-card-tag{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.ex-card h3{letter-spacing:-.02em;font-size:17px;font-weight:650}.ex-card p{color:var(--ink2);min-height:40px;font-size:13px;line-height:1.5}.ex-card-foot{justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;font-weight:650;display:flex}.ex-go{color:var(--accent)}.ex-card-foot em{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:11px}.ex-soon{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:10.5px}.ex-block{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--sh);margin-top:16px;padding:18px 20px;animation:.4s both cfxIn}.ex-block h3{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10.5px;font-weight:700}.ex-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ex-block-head h3{margin:0}.ex-presets{gap:6px;display:flex}.ex-pill{font-family:var(--mono);letter-spacing:.6px;cursor:pointer;border:1px solid var(--hair2);background:var(--surface);color:var(--ink2);border-radius:999px;padding:6px 13px;font-size:11px;font-weight:600;transition:all .2s}.ex-pill:hover{border-color:var(--accent);color:var(--accent)}.ex-ivgrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.ex-iv{cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--hair2);color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:all .15s;display:flex;position:relative}.ex-iv b{letter-spacing:-.02em;font-size:16px;font-weight:750}.ex-iv span{color:var(--muted);font-size:10.5px}.ex-iv em{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:10px;position:absolute;top:10px;right:11px}.ex-iv:hover{border-color:var(--accent);transform:translateY(-1px)}.ex-iv.on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.ex-iv.on span,.ex-iv.on em{color:var(--accent);opacity:.75}.ex-two{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.ex-two .ex-block{margin-top:0}.ex-seg{background:var(--hair);border-radius:10px;gap:2px;padding:3px;display:flex}.ex-seg button{white-space:nowrap;cursor:pointer;color:var(--ink2);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:12px;font-weight:650;transition:background .18s,color .18s,box-shadow .18s;display:flex}.ex-seg button i{font-size:13px;font-style:normal}.ex-seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f,0 4px 12px -6px #0000002e}.ex-startbar{flex-direction:column;align-items:center;gap:10px;margin-top:26px;animation:.4s both cfxIn;display:flex}.ex-startbar>span{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:10.5px}.ex-start{cursor:pointer;letter-spacing:-.01em;color:#fff;background:var(--accent);border:0;border-radius:14px;justify-content:center;align-items:center;min-width:240px;padding:15px 36px;font-size:17px;font-weight:600;transition:transform .15s,filter .15s;display:inline-flex}.ex-start:hover{filter:brightness(1.08)}.ex-start:active{filter:brightness(.94);transform:scale(.97)}.ex-start.slim{border-radius:12px;min-width:0;padding:11px 24px;font-size:14px}.ex-start kbd,.ex-ans kbd{font-family:var(--mono);background:color-mix(in srgb, currentColor 18%, transparent);color:inherit;border-radius:5px;padding:1px 6px;font-size:10px}.ex-ghost{cursor:pointer;background:var(--surface);border:1px solid var(--hair2);color:var(--ink2);border-radius:12px;padding:10px 18px;font-size:13px;font-weight:650;transition:all .15s}.ex-ghost:hover{border-color:var(--accent);color:var(--accent)}.ex-topline{align-items:center;gap:18px;margin-top:4px;display:flex}.ex-exit{cursor:pointer;background:0 0;border:0;font-family:inherit}.ex-prog{flex:1;align-items:center;gap:12px;display:flex}.ex-prog>div{background:var(--hair);border-radius:999px;flex:1;height:5px;overflow:hidden}.ex-prog i{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.ex-prog span{font-family:var(--mono);color:var(--muted);text-align:right;min-width:38px;font-size:11.5px}.ex-streak{color:var(--muted);font-size:12.5px;font-weight:500}.ex-streak b{color:var(--ink);margin-left:4px;font-weight:800}.ex-stage{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--sh);flex-direction:column;align-items:center;gap:16px;margin:18px 0 14px;padding:34px 20px 26px;animation:.4s both cfxIn;display:flex}.ex-dir{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.ex-orb{cursor:pointer;width:104px;height:104px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border:1.5px solid var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.2,.7,.2,1),background .25s,color .25s,border-color .25s;display:grid;position:relative}.ex-orb:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.ex-orb:active{transform:scale(.96)}.ex-orb svg{margin-left:4px}.ex-orb i{border:1.5px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:0}.ex-orb.playing i{animation:1.8s ease-out infinite exRing}.ex-orb.playing i:nth-child(2){animation-delay:.6s}.ex-orb.playing i:nth-child(3){animation-delay:1.2s}@keyframes exRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.ex-orb.ok{color:#fff;background:#30d158;border-color:#30d158;box-shadow:0 0 0 5px #30d15829}.ex-orb.bad{color:#fff;background:#ff453a;border-color:#ff453a;animation:.35s exShake;box-shadow:0 0 0 5px #ff453a29}@keyframes exShake{0%,to{translate:0}25%{translate:-6px}75%{translate:6px}}.ex-reveal{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;display:flex}.ex-ask{color:var(--ink2);letter-spacing:-.01em;font-size:16px;font-weight:600}.ex-reveal b{letter-spacing:-.02em;font-size:20px;font-weight:700;animation:.25s both cfxIn}.ex-reveal b.ok{color:#30d158}.ex-reveal b.bad{color:#ff453a}.ex-reveal span{color:var(--muted);font-size:12.5px}.ex-answers{grid-template-columns:repeat(var(--cols,4), 1fr);gap:8px;display:grid}.ex-ans{cursor:pointer;background:var(--surface);border:1px solid var(--hair);color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px 10px;transition:all .15s;display:flex;position:relative}.ex-ans b{letter-spacing:-.02em;font-size:17px;font-weight:750}.ex-ans span{color:var(--muted);font-size:10.5px}.ex-ans kbd{background:var(--hair);color:var(--muted);position:absolute;top:6px;right:7px}.ex-ans:not(:disabled):hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.ex-ans:not(:disabled):active{transform:scale(.97)}.ex-ans:disabled{cursor:default}.ex-ans.right{background:color-mix(in srgb, #30d158 14%, var(--surface));border-color:#30d158}.ex-ans.right b{color:#30d158}.ex-ans.wrong{background:color-mix(in srgb, #ff453a 12%, var(--surface));border-color:#ff453a}.ex-ans.wrong b{color:#ff453a}.ex-ans.dim{opacity:.4}.ex-foot{align-items:center;gap:14px;min-height:44px;margin-top:16px;display:flex}.ex-keys{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:10.5px}.ex-done{text-align:center;background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--sh);flex-direction:column;align-items:center;margin-top:22px;padding:32px 20px 28px;animation:.4s both cfxIn;display:flex}.ex-score{justify-content:center;align-items:baseline;line-height:1;display:flex}.ex-score b{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:76px;font-weight:800}.ex-score span{color:var(--muted);margin-left:2px;font-size:26px;font-weight:650}.ex-done h2{letter-spacing:-.02em;margin-top:10px;font-size:19px;font-weight:650}.ex-done>p{color:var(--muted);margin:4px 0 22px;font-size:13px}.ex-bars{text-align:left;flex-direction:column;gap:8px;width:100%;max-width:420px;display:flex}.ex-bar{grid-template-columns:30px 1fr 34px;align-items:center;gap:12px;display:grid}.ex-bar b{font-size:13px;font-weight:700}.ex-bar div{background:var(--hair);border-radius:999px;height:5px;overflow:hidden}.ex-bar i{background:var(--accent);border-radius:999px;height:100%;display:block}.ex-bar i.full{background:#30d158}.ex-bar span{font-family:var(--mono);color:var(--muted);text-align:right;font-size:11px}.ex-done-actions{gap:10px;margin-top:26px;display:flex}@media (width<=640px){.ex-two{grid-template-columns:1fr}.ex-answers{grid-template-columns:repeat(3,1fr)}}.vol{position:relative}.vol-pop{z-index:60;background:var(--surface);border:1px solid var(--hair2);box-shadow:var(--sh);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;animation:.2s both cfxIn;display:flex;position:absolute;top:calc(100% + 10px);right:0}.vol-mute{font-family:var(--mono);letter-spacing:.6px;white-space:nowrap;cursor:pointer;border:1px solid var(--hair2);background:var(--surface);color:var(--ink2);border-radius:999px;padding:5px 11px;font-size:10.5px;font-weight:600;transition:all .15s}.vol-mute:hover{border-color:var(--accent);color:var(--accent)}.vol-pct{font-family:var(--mono);color:var(--muted);text-align:right;min-width:34px;font-size:11px}.vol-pop input[type=range]{--p:80%;appearance:none;cursor:pointer;background:linear-gradient(90deg, var(--accent) var(--p), var(--hair2) var(--p));border-radius:999px;outline:none;width:130px;height:5px}.vol-pop input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--hair2);background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .12s;box-shadow:0 1px 4px #0000004d}.vol-pop input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.ex-bar-wide{grid-template-columns:44px 1fr 34px}.ex-opts{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.ex-slots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ex-slot{border:1.5px dashed var(--hair2);min-width:74px;height:60px;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 12px;transition:all .18s;display:flex}.ex-slot b{letter-spacing:-.02em;font-size:19px;font-weight:750}.ex-slot span{font-size:10px;font-weight:600}.ex-slot.cur{border-color:var(--accent);color:var(--accent)}.ex-slot.filled{border-style:solid;border-color:var(--hair2);background:var(--surface);color:var(--ink)}.ex-slot.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-3px)}.ex-slot.right{background:color-mix(in srgb, #30d158 14%, var(--surface));color:#30d158;border-style:solid;border-color:#30d158}.ex-slot.wrong{background:color-mix(in srgb, #ff453a 12%, var(--surface));color:#ff453a;border-style:solid;border-color:#ff453a}.ex-ghost:disabled{opacity:.4;cursor:default}.ex-ghost:disabled:hover{border-color:var(--hair2);color:var(--ink2)}.ex-slot.right{animation:.28s exPop}.ex-slot.wrong{animation:.35s exShake}@keyframes exPop{0%{transform:scale(.88)}60%{transform:scale(1.08)}to{transform:scale(1)}}.ex-long .ex-ivgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ex-long .ex-iv b,.ex-long .ex-ans b{letter-spacing:-.01em;text-align:left;font-size:14px;line-height:1.2}.ex-long .ex-ans b{text-align:center}.ex-long .ex-iv span,.ex-long .ex-ans span{font-family:var(--mono);letter-spacing:.2px;font-size:9.5px}.ex-long .ex-iv em{margin-top:3px;position:static}.ex-bar-xl{grid-template-columns:150px 1fr 34px}.ex-board{width:100%;max-width:560px;height:160px;margin:0 auto;position:relative}.ex-whites{gap:3px;height:100%;display:flex}.ex-key{cursor:pointer;flex-direction:column;justify-content:flex-end;align-items:center;gap:1px;transition:background .15s,border-color .15s,opacity .2s,transform .12s;display:flex}.ex-key b{letter-spacing:-.02em;font-size:15px;font-weight:750}.ex-key span{color:var(--muted);font-size:10px}.ex-key.white{color:var(--ink);background:var(--surface);border:1px solid var(--hair2);border-radius:0 0 12px 12px;flex:1;padding-bottom:12px}.ex-key.black{z-index:2;color:#fff;border:1px solid var(--hair2);background:#0b0c0f;border-radius:0 0 8px 8px;width:9%;height:62%;padding-bottom:9px;position:absolute;top:0;box-shadow:0 4px 10px -4px #00000080}.ex-key.black b{font-size:12px}.ex-key:not(:disabled):hover{border-color:var(--accent)}.ex-key.white:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.ex-key:not(:disabled):active{transform:translateY(2px)}.ex-key:disabled{cursor:default}.ex-key.off{opacity:.35}.ex-key.dim{opacity:.4}.ex-key.white.right{background:color-mix(in srgb, #30d158 20%, var(--surface));border-color:#30d158}.ex-key.white.right b{color:#30d158}.ex-key.white.wrong{background:color-mix(in srgb, #ff453a 16%, var(--surface));border-color:#ff453a}.ex-key.white.wrong b{color:#ff453a}.ex-key.black.right{background:#1f9d44;border-color:#30d158}.ex-key.black.wrong{background:#c4342b;border-color:#ff453a}.ex-reveal small{color:var(--muted);font-size:.62em;font-weight:600}.ex-key.black{box-shadow:0 0 0 3px var(--bg), 0 4px 10px -4px #00000080}.ex-key.black.off,.ex-key.black.dim{opacity:1;color:#6b7280;border-color:var(--hair);background:#1b1e27}.fq-stage{--h:200;z-index:500;color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(75% 65% at 50% 45%, hsla(var(--h), 80%, 34%, .28), transparent 72%), radial-gradient(50% 50% at 15% 105%, hsla(calc(var(--h) + 70), 80%, 40%, .16), transparent 70%), #04050a;font-family:inherit;position:fixed;inset:0;overflow:hidden}.fq-stage.play{cursor:ew-resize}.fq-stage canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fq-vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 42%,#000000b8);position:absolute;inset:0}.fq-stage.good:after,.fq-stage.bad:after{content:"";pointer-events:none;animation:.5s both cfxIn;position:absolute;inset:0}.fq-stage.good:after{background:radial-gradient(60% 50% at 50% 40%,#30d15829,#0000 70%)}.fq-stage.bad:after{background:radial-gradient(60% 50% at 50% 40%,#ff453a24,#0000 70%)}.fq-close,.fq-chip,.fq-nudge button,.fq-hold{color:#ffffffd9;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;transition:background .15s,border-color .15s,color .15s,opacity .15s}.fq-close:hover,.fq-chip:hover,.fq-nudge button:hover:not(:disabled){color:#fff;background:#ffffff29}.fq-close{z-index:3;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:22px;left:24px}.fq-dots{z-index:3;gap:9px;display:flex;position:absolute;top:36px;left:50%;transform:translate(-50%)}.fq-dots i{background:#ffffff38;border-radius:50%;width:7px;height:7px;transition:all .3s}.fq-dots i.cur{background:#fff;transform:scale(1.35)}.fq-dots i.ok{background:#30d158}.fq-dots i.bad{background:#ff453a}.fq-top-r{z-index:3;align-items:center;gap:14px;display:flex;position:absolute;top:24px;right:24px}.fq-chip{font-family:var(--mono);letter-spacing:.6px;border-radius:999px;padding:7px 14px;font-size:10.5px;font-weight:600}.fq-vol{--p:80%;appearance:none;cursor:pointer;background:linear-gradient(90deg, #ffffffd9 var(--p), #ffffff2e var(--p));border-radius:999px;outline:none;width:88px;height:4px}.fq-vol::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:13px;height:13px;box-shadow:0 1px 6px #00000080}.fq-btn{cursor:pointer;color:#000;letter-spacing:-.01em;background:#fff;border:1px solid #0000;border-radius:14px;padding:15px 40px;font-size:16px;font-weight:600;transition:transform .15s,background .15s}.fq-btn:hover{transform:scale(1.03)}.fq-btn:active{transform:scale(.97)}.fq-btn.ghost{color:#fff;background:0 0;border-color:#ffffff40}.fq-btn.ghost:hover{background:#ffffff14}.fq-eyebrow{font-family:var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:#ffffff8c;font-size:11px;font-weight:700}.fq-intro{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;display:flex;position:absolute;inset:0}.fq-intro>*{animation:.7s both cfxIn}.fq-intro>:nth-child(2){animation-delay:80ms}.fq-intro>:nth-child(3){animation-delay:.16s}.fq-intro>:nth-child(4){animation-delay:.24s}.fq-intro>:nth-child(5){animation-delay:.32s}.fq-intro>:nth-child(6){animation-delay:.4s}.fq-intro h1{letter-spacing:-.05em;max-width:900px;margin:0;font-size:clamp(42px,7.5vw,88px);font-weight:650;line-height:.98}.fq-intro h1 em{background:linear-gradient(90deg, hsl(var(--h), 90%, 70%), hsl(calc(var(--h) + 70), 90%, 74%));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.fq-intro p{color:#ffffffad;max-width:560px;margin:0;font-size:17px;line-height:1.6}.fq-intro p b{color:#fff;font-weight:600}.fq-steps{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.fq-steps li{color:#ffffffd9;background:#ffffff12;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:9px;padding:8px 16px 8px 9px;font-size:13px;font-weight:550;display:flex}.fq-steps b{background:#ffffff24;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.fq-intro small{font-family:var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:#fff6;font-size:10.5px}.fq-status{z-index:2;pointer-events:none;justify-content:center;display:flex;position:absolute;top:11%;left:0;right:0}.fq-hint{font-family:var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:#ffffff8c;font-size:11px;font-weight:600}.fq-reveal{text-shadow:0 0 22px #000,0 0 8px #000;flex-direction:column;align-items:center;gap:4px;animation:.35s both cfxIn;display:flex}.fq-reveal small{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:#fff9;font-size:10.5px}.fq-reveal b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(34px,5vw,54px);font-weight:600}.fq-reveal b i{margin-left:5px;font-size:.4em;font-style:normal}.fq-reveal span{font-size:15px;font-weight:650}.fq-reveal span.ok,.fq-rrow span.ok{color:#30d158}.fq-reveal span.bad,.fq-rrow span.bad{color:#ff453a}.fq-bottom{z-index:2;cursor:default;flex-direction:column;gap:24px;display:flex;position:absolute;bottom:26px;left:32px;right:32px}.fq-rail{height:30px;position:relative}.fq-rail:before{content:"";background:#ffffff26;border-radius:2px;height:2px;position:absolute;top:8px;left:0;right:0}.fq-rail-fill{background:hsl(var(--h), 85%, 62%);height:2px;box-shadow:0 0 12px hsl(var(--h), 85%, 55%);border-radius:2px;position:absolute;top:8px;left:0}.fq-tick{font-family:var(--mono);color:#fff6;font-size:9.5px;position:absolute;top:18px;transform:translate(-50%)}.fq-thumb{width:14px;height:14px;box-shadow:0 0 0 4px #ffffff24, 0 0 18px hsl(var(--h), 90%, 60%);background:#fff;border-radius:50%;margin-left:-7px;position:absolute;top:2px}.fq-target{background:#30d158;border-radius:2px;width:3px;height:18px;margin-left:-1.5px;position:absolute;top:0;box-shadow:0 0 10px #30d158}.fq-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.fq-hz{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(50px,9vw,104px);font-weight:600;line-height:.95}.fq-hz small{letter-spacing:0;margin-left:6px;font-size:.3em;font-weight:600}.fq-nudge{gap:6px;margin-top:14px;display:flex}.fq-nudge button{font-family:var(--mono);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600}.fq-nudge button:disabled{opacity:.35;cursor:default}.fq-holds{align-self:center;gap:10px;display:flex}.fq-hold{touch-action:none;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:12px 22px;display:flex}.fq-hold b{letter-spacing:-.01em;font-size:15px;font-weight:650}.fq-hold span{font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;opacity:.55;font-size:9.5px}.fq-hold.on{background:hsla(var(--h), 85%, 60%, .26);border-color:hsl(var(--h), 85%, 66%);color:#fff}.fq-go{cursor:pointer;color:#000;background:#fff;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:68px;height:68px;transition:transform .15s;display:grid}.fq-go:hover{transform:scale(1.08)}.fq-go:active{transform:scale(.93)}.fq-done{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 20px;animation:.5s both cfxIn;display:flex;position:absolute;inset:0;overflow-y:auto}.fq-score{letter-spacing:-.07em;background:linear-gradient(180deg, #fff, hsl(var(--h), 85%, 70%));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(96px,20vw,190px);font-weight:650;line-height:.9}.fq-score small{letter-spacing:0;margin-left:4px;font-size:.28em}.fq-done h2{letter-spacing:-.03em;margin-top:6px;font-size:24px;font-weight:650}.fq-done p{color:#fff9;margin:0 0 14px;font-size:14px}.fq-rows{text-align:left;flex-direction:column;gap:9px;width:min(640px,92vw);display:flex}.fq-rrow{grid-template-columns:124px 1fr 54px;align-items:center;gap:14px;display:grid}.fq-rrow b{font-family:var(--mono);color:#ffffffd9;font-size:12px;font-weight:600}.fq-rrow span{font-family:var(--mono);text-align:right;font-size:12px;font-weight:700}.fq-axis{height:18px;position:relative}.fq-axis:before{content:"";background:#ffffff29;height:1px;position:absolute;top:8px;left:0;right:0}.fq-link{border-radius:2px;height:2px;position:absolute;top:8px}.fq-link.ok{background:#30d158b3}.fq-link.bad{background:#ff453ab3}.fq-ring,.fq-dot{box-sizing:border-box;border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:3px}.fq-ring{background:#04050a;border:1.5px solid #fff}.fq-dot.ok{background:#30d158;box-shadow:0 0 10px #30d158}.fq-dot.bad{background:#ff453a;box-shadow:0 0 10px #ff453a}.fq-legend{font-family:var(--mono);letter-spacing:.8px;text-transform:uppercase;color:#ffffff73;justify-content:center;align-items:center;gap:8px;margin-top:6px;font-size:10px;display:flex}.fq-legend .fq-ring,.fq-legend .fq-dot{margin:0 0 0 8px;display:inline-block;position:static}.fq-actions{gap:10px;margin-top:22px;display:flex}@media (width<=720px){.fq-bottom{left:18px;right:18px}.fq-holds{order:3;justify-content:center;width:100%}.fq-hold{flex:1}}.xs-page{max-width:1080px}.xs-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 13%, transparent), transparent);filter:blur(40px);width:60%;height:340px;position:absolute;top:0;left:-8%}.xs-hero{padding:40px 0 30px;animation:.5s both cfxIn}.xs-eyebrow{font-family:var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:var(--accent);opacity:.9;font-size:10.5px;font-weight:600}.xs-hero h2{letter-spacing:-.05em;margin:12px 0 16px;font-size:clamp(40px,5.6vw,62px);font-weight:680;line-height:.98}.xs-hero p{max-width:560px;color:var(--ink2);font-size:16px;line-height:1.65}.xs-hero p b{color:var(--ink);font-weight:600}.xs-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.xs-side{position:sticky;top:124px}.xs-card{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--sh);border-radius:22px;padding:24px;animation:.5s both cfxIn}.xs-card-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:2px;display:flex}.xs-card-h h3{letter-spacing:-.02em;font-size:18px;font-weight:640}.xs-card-h small{color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.xs-pills{flex-wrap:wrap;gap:6px;display:flex}.xs-pill{cursor:pointer;color:var(--muted);background:var(--surface);border:1px solid var(--hair);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:550;transition:all .2s}.xs-pill:hover{color:var(--ink);border-color:var(--hair2)}.xs-pill.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.xs-gh{justify-content:space-between;align-items:center;margin:24px 2px 10px;display:flex}.xs-gh b{font-family:var(--mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.xs-gh button{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:12px;font-weight:550;transition:color .2s}.xs-gh button:hover{color:var(--accent)}.xs-ivgrid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;display:grid}.xs-iv,.xs-ans{--gc:var(--muted);text-align:left;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:15px;flex-direction:column;gap:12px;padding:13px 13px 12px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s;display:flex;position:relative}.xs-iv:hover{border-color:var(--hair2)}.xs-iv.on{--gc:var(--accent);border-color:color-mix(in srgb, var(--accent) 48%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.xs-glyph{width:100%;height:auto;display:block}.xs-glyph path{fill:none;stroke:var(--gc);stroke-width:1.3px;opacity:.85}.xs-glyph .d{fill:color-mix(in srgb, var(--ink) 18%, transparent)}.xs-glyph .r{fill:var(--ink2)}.xs-glyph .t{fill:var(--gc)}.xs-piano .w{fill:color-mix(in srgb, var(--ink) 6%, #f6f7fb);stroke:color-mix(in srgb, var(--ink) 22%, transparent);stroke-width:.6px;transition:fill .2s}.xs-piano .b{fill:color-mix(in srgb, var(--ink) 78%, #0d0f16);stroke:color-mix(in srgb, var(--ink) 15%, transparent);stroke-width:.5px;transition:fill .2s}.xs-piano .w.on{fill:color-mix(in srgb, var(--gc) 62%, #f6f7fb)}.xs-piano .b.on{fill:var(--gc)}.xs-piano .root{fill:var(--ink);stroke:#fff9;stroke-width:.5px}:root[data-theme=dark] .xs-piano .w{fill:color-mix(in srgb, var(--ink) 9%, var(--surface));stroke:none}:root[data-theme=dark] .xs-piano .b{fill:color-mix(in srgb, var(--ink) 58%, var(--surface));stroke:var(--surface);stroke-width:.9px}:root[data-theme=dark] .xs-piano .w.on{fill:color-mix(in srgb, var(--gc) 62%, var(--surface))}:root[data-theme=dark] .xs-piano .root{fill:#fffffff2;stroke:#00000059}.xp-glyph .xs-piano{--gc:hsl(var(--h), 70%, 60%);filter:drop-shadow(0 6px 22px hsla(var(--h), 70%, 50%, .28))}.xs-icrom{font-family:var(--mono);font-size:15px;font-weight:700}.xs-iv.lock{opacity:1;cursor:default}.xs-iv.lock .xs-check{display:none}.xs-iv-t b{letter-spacing:-.035em;font-size:20px;font-weight:680;line-height:1.05;display:block}.xs-iv-t span{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.xs-iv-pct{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:9.5px;position:absolute;top:12px;right:12px}.xs-check{background:var(--accent);color:#fff;opacity:0;border-radius:50%;place-items:center;width:17px;height:17px;transition:all .22s cubic-bezier(.3,1.4,.5,1);display:grid;position:absolute;bottom:11px;right:11px;transform:scale(.4)}.xs-iv.on .xs-check{opacity:1;transform:scale(1)}.xs-sidecard{flex-direction:column;display:flex}.xs-chart-wrap{padding-bottom:20px}.xs-chart-h{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.xs-chart-h b{font-size:13.5px;font-weight:600}.xs-chart-h small{color:var(--muted);font-size:11.5px}.xs-chart{align-items:flex-end;gap:5px;height:66px;display:flex}.xs-chart i{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:4px 4px 2px 2px;flex:1;transition:height .5s cubic-bezier(.2,.8,.2,1),background .2s}.xs-chart i.on{background:linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 22%, transparent))}.xs-chart i.empty{opacity:.7}.xs-chart-l{gap:5px;margin-top:7px;display:flex}.xs-chart-l span{text-align:center;font-family:var(--mono);color:var(--muted);flex:1;font-size:8.5px}.xs-row{border-top:1px solid var(--hair);flex-direction:column;gap:12px;padding:18px 0;display:flex}.xs-row-l{justify-content:space-between;align-items:baseline;display:flex}.xs-row-l b{font-size:13px;font-weight:600}.xs-row-l small{color:var(--muted);font-size:11.5px}.xs-seg{grid-template-columns:repeat(var(--n), 1fr);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:11px;padding:3px;display:grid;position:relative}.xs-seg-thumb{width:calc((100% - 6px) / var(--n));background:color-mix(in srgb, var(--ink) 13%, transparent);transform:translateX(calc(var(--i) * 100%));border-radius:8px;transition:transform .3s cubic-bezier(.3,.8,.2,1);position:absolute;top:3px;bottom:3px;left:3px}.xs-seg button{z-index:1;cursor:pointer;color:var(--muted);background:0 0;border:0;padding:8px 4px;font-size:12.5px;font-weight:600;transition:color .2s;position:relative}.xs-seg button.on{color:var(--ink)}.xs-togs{grid-template-columns:repeat(var(--n), 1fr);gap:6px;display:grid}.xs-tog{cursor:pointer;color:var(--muted);background:var(--surface);border:1px solid var(--hair);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;font-size:11px;font-weight:550;transition:all .2s;display:flex}.xs-tog:hover{border-color:var(--hair2);color:var(--ink)}.xs-tog.on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 48%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.xs-stats{border-top:1px solid var(--hair);grid-template-columns:1fr 1fr;padding:18px 0;display:grid}.xs-stat+.xs-stat{border-left:1px solid var(--hair);padding-left:20px}.xs-stat b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;display:block}.xs-stat span{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:9.5px}.xs-startwrap{flex-direction:column;align-items:center;gap:11px;padding-top:4px;display:flex}.xs-start{cursor:pointer;color:#fff;letter-spacing:-.01em;background:var(--accent);width:100%;box-shadow:0 8px 22px -12px color-mix(in srgb, var(--accent) 90%, transparent);border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:15.5px;font-weight:600;transition:transform .15s,filter .15s;display:flex}.xs-start:hover{filter:brightness(1.07)}.xs-start:active{transform:scale(.985)}.xs-startwrap span{font-family:var(--mono);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-size:9.5px}.xs-startwrap kbd{font-family:var(--mono);background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink2);border-radius:5px;padding:1px 6px}.xs-answers{grid-template-columns:repeat(var(--cols,4), 1fr);gap:10px;display:grid}.xs-ans{--gc:var(--ink2);background:var(--surface)}.xs-ans:not(:disabled):hover{--gc:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent);transform:translateY(-2px)}.xs-ans:not(:disabled):active{transform:scale(.97)}.xs-ans:disabled{cursor:default}.xs-ans kbd{font-family:var(--mono);background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--muted);border-radius:5px;padding:1px 6px;font-size:10px;position:absolute;top:11px;right:11px}.xs-ans.right{--gc:#30d158;background:#30d1581c;border-color:#30d158}.xs-ans.right .xs-iv-t b{color:#30d158}.xs-ans.wrong{--gc:#ff453a;background:#ff453a1a;border-color:#ff453a}.xs-ans.wrong .xs-iv-t b{color:#ff453a}.xs-ans.dim{opacity:.4}@media (width<=920px){.xs-grid{grid-template-columns:1fr}.xs-side{position:static}.xs-answers{grid-template-columns:repeat(3,1fr)}}.xh-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.xh-sum{grid-template-columns:auto auto;min-width:280px;padding:4px 0 6px;display:grid}.xh-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;animation:.5s 50ms both cfxIn;display:grid}.xh-card{--gc:var(--accent);color:var(--ink);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:18px;flex-direction:column;padding:14px 14px 16px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s,box-shadow .25s;display:flex}.xh-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 5%, var(--surface));box-shadow:var(--sh);transform:translateY(-4px)}.xh-art{background:color-mix(in srgb, var(--ink) 3.5%, transparent);border:1px solid var(--hair);border-radius:12px;place-items:center;height:96px;margin-bottom:16px;padding:18px 26px;display:grid;overflow:hidden}.xh-art .xs-glyph{width:100%;max-width:220px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.xh-card:hover .xh-art .xs-glyph,.xh-card:hover .xh-art .xh-wave,.xh-card:hover .xh-degs{transform:scale(1.06)}.xh-wave{width:100%;max-width:220px;color:var(--accent);transition:transform .35s cubic-bezier(.2,.7,.2,1)}.xh-degs{gap:8px;transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex}.xh-degs span{text-align:center;min-width:42px;color:var(--muted);background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--hair);border-radius:10px;padding:9px 0;font-size:15px;font-weight:650}.xh-degs span.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.xh-card h3{letter-spacing:-.025em;padding:0 4px;font-size:18px;font-weight:650}.xh-card p{min-height:42px;color:var(--ink2);margin-top:5px;padding:0 4px;font-size:13px;line-height:1.55}.xh-foot{align-items:center;gap:12px;margin-top:16px;padding:0 4px;display:flex}.xh-meter{background:var(--hair2);border-radius:3px;flex:1;height:3px;overflow:hidden}.xh-meter i{background:var(--accent);border-radius:3px;height:100%;display:block}.xh-foot em{font-style:normal;font-family:var(--mono);color:var(--muted);text-align:right;min-width:34px;font-size:11px}.xh-go{width:28px;height:28px;color:var(--muted);border:1px solid var(--hair2);border-radius:50%;place-items:center;transition:all .2s;display:grid}.xh-card:hover .xh-go{color:#fff;background:var(--accent);border-color:var(--accent)}.xh-soon{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:28px;margin-top:26px;padding:16px 4px 0;display:flex}.xh-soon-h{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:10px}.xh-soon-i{opacity:.6;flex-direction:column;gap:2px;display:flex}.xh-soon-i b{font-size:13.5px;font-weight:600}.xh-soon-i span{color:var(--muted);font-size:12px}:root[data-theme=dark] .xh-art{background:color-mix(in srgb, var(--ink) 4%, transparent)}.fq-stage.xg{flex-direction:column;padding-top:84px;display:flex}.xg-top{z-index:3;align-items:center;gap:14px;width:min(460px,52vw);display:flex;position:absolute;top:30px;left:50%;transform:translate(-50%)}.xg-bar{background:#ffffff24;border-radius:3px;flex:1;height:3px;overflow:hidden}.xg-bar i{background:hsl(var(--h), 85%, 65%);height:100%;box-shadow:0 0 10px hsl(var(--h), 85%, 55%);border-radius:3px;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block}.xg-count{font-family:var(--mono);color:#ffffffb3;white-space:nowrap;font-size:11px;font-weight:600}.xg-streak{color:#ffffff73;white-space:nowrap;font-size:11.5px}.xg-streak b{color:#fff;margin-right:2px;font-weight:650}.xg-center{z-index:2;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:0;padding:0 24px;display:flex;position:relative;overflow:hidden}.xg-dock{z-index:2;width:min(980px,100%);margin:0 auto;padding:0 28px 26px;position:relative}.xp-nextrow{align-items:center;gap:12px;margin-top:4px;display:flex}.xp-replay.round{border-radius:50%;justify-content:center;width:44px;height:44px;padding:0}@media (height<=700px){.xg-center{gap:12px}.xp-stack{display:none}.xp-glyph{width:min(210px,55vw)}}.xp-dir{font-family:var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:#ffffff80;font-size:10.5px;font-weight:600}.xp-notes{align-items:center;display:flex}.xp-note{width:54px;height:54px;font-family:var(--mono);color:#ffffff73;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:50%;place-items:center;font-size:14px;font-weight:600;transition:all .25s cubic-bezier(.2,.8,.2,1);display:grid}.xp-note.on{color:#fff;background:hsla(var(--h), 85%, 58%, .3);border-color:hsl(var(--h), 85%, 68%);box-shadow:0 0 0 7px hsla(var(--h), 85%, 60%, .12), 0 0 34px hsla(var(--h), 90%, 60%, .55);transform:scale(1.14)}.xp-line{background:#ffffff29;width:110px;height:1px;position:relative;overflow:hidden}.xp-line.go:after{content:"";background:linear-gradient(90deg, transparent, hsl(var(--h), 90%, 70%), transparent);width:38%;height:100%;animation:1.6s ease-in-out infinite xpRun;position:absolute;top:0;left:0}@keyframes xpRun{0%{transform:translate(-100%)}to{transform:translate(300%)}}.xp-ask{letter-spacing:-.035em;color:#ffffffeb;font-size:clamp(26px,3.6vw,40px);font-weight:600;animation:.4s both cfxIn}.xp-reveal{flex-direction:column;align-items:center;gap:8px;animation:.4s both cfxIn;display:flex}.xp-badge{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:10.5px;font-weight:700}.xp-badge.ok{color:#30d158;background:#30d15824}.xp-badge.bad{color:#ff453a;background:#ff453a24}.xp-glyph{--gc:hsl(var(--h), 90%, 70%);width:min(300px,70vw)}.fq-stage .xs-glyph .r{fill:#ffffffd9}.fq-stage .xs-glyph .d{fill:#fff3}.xp-glyph .xs-glyph path{stroke-width:1.6px;stroke-dasharray:240;stroke-dashoffset:240px;animation:.9s cubic-bezier(.3,.7,.2,1) .1s forwards xpDraw}.xp-glyph .xs-glyph .t{filter:drop-shadow(0 0 4px var(--gc))}@keyframes xpDraw{to{stroke-dashoffset:0}}.xp-reveal b{letter-spacing:-.04em;font-size:clamp(30px,4.4vw,48px);font-weight:620}.xp-song{color:#ffffff8c;font-size:13.5px}.xp-next{cursor:pointer;color:#ffffffb8;background:#ffffff0d;border:0;border-radius:50%;place-items:center;width:44px;height:44px;margin-top:8px;transition:background .2s,color .2s,transform .25s cubic-bezier(.2,.7,.2,1);display:grid;position:relative}.xp-next:hover{color:#fff;background:#ffffff1f;transform:scale(1.07)}.xp-next:active{transform:scale(.95)}.xp-next-ring{position:absolute;inset:0;transform:rotate(-90deg)}.xp-next-track{fill:none;stroke:#ffffff24;stroke-width:2px}.xp-next-fill{fill:none;stroke:hsl(var(--h), 85%, 66%);stroke-width:2px;stroke-linecap:round;animation:xpRing var(--ms,4.2s) linear forwards}@keyframes xpRing{to{stroke-dashoffset:0}}.xp-next-arrow{width:15px;height:15px}.xp-slots{gap:12px;display:flex}.xp-slot{-webkit-backdrop-filter:blur(18px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;flex-direction:column;align-items:center;gap:3px;min-width:78px;padding:13px 12px 11px;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s,box-shadow .2s;display:flex}.xp-slot b{color:#ffffff6b;font-size:20px;font-weight:650;transition:color .2s}.xp-slot span{font-family:var(--mono);letter-spacing:.4px;color:#ff453a;font-size:9.5px}.xp-slot.cur{border-color:hsla(var(--h), 85%, 65%, .85);box-shadow:0 0 0 3px hsla(var(--h), 85%, 60%, .14)}.xp-slot.cur b{color:#fff}.xp-slot.on{border-color:hsl(var(--h), 85%, 65%);background:hsla(var(--h), 85%, 60%, .15);transform:translateY(-4px)}.xp-slot.right{background:#30d1581f;border-color:#30d158}.xp-slot.right b{color:#30d158}.xp-slot.wrong{background:#ff453a1f;border-color:#ff453a}.xp-slot.wrong b{color:#ff453a}.xp-ladder{justify-content:center;align-items:center;gap:16px;min-height:20px;display:flex}.xp-ladder i{background:#05060c;border:1.5px solid #ffffff47;border-radius:50%;width:13px;height:13px}.xp-ladder.go i{animation:xpStackOn .55s cubic-bezier(.2, .7, .2, 1) var(--d1) both}.xp-ladder.both.go i{animation:xpStackOn .55s cubic-bezier(.2, .7, .2, 1) var(--d1) both, xpStackOn .55s cubic-bezier(.2, .7, .2, 1) var(--d2) both}.xp-stack{flex-direction:column-reverse;gap:13px;padding:4px 0;display:flex;position:relative}.xp-stack:before{content:"";background:#ffffff24;width:1px;position:absolute;top:10px;bottom:10px;left:50%}.xp-stack i{background:#05060c;border:1.5px solid #ffffff47;border-radius:50%;width:15px;height:15px;position:relative}.xp-stack.go i{animation:.6s cubic-bezier(.2,.7,.2,1) both xpStackOn}.xp-stack.arp.go i:nth-of-type(2){animation-delay:.5s}.xp-stack.arp.go i:nth-of-type(3){animation-delay:1s}.xp-stack.arp.go i:nth-of-type(4){animation-delay:1.5s}@keyframes xpStackOn{0%{transform:scale(1)}35%{border-color:hsl(var(--h), 90%, 70%);background:hsla(var(--h), 90%, 70%, .3);box-shadow:0 0 16px hsla(var(--h), 90%, 70%, .55);transform:scale(1.3)}to{border-color:hsl(var(--h), 85%, 62%);background:hsla(var(--h), 90%, 70%, .15);box-shadow:0 0 7px hsla(var(--h), 90%, 70%, .22);transform:scale(1)}}.xp-replay{cursor:pointer;color:#fffc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:9px;padding:10px 20px;font-size:13px;font-weight:550;transition:all .2s;display:inline-flex}.xp-replay:hover{color:#fff;background:#ffffff24}.xp-replay.on{border-color:hsl(var(--h), 85%, 65%);color:#fff}.xd-answers{grid-template-columns:repeat(var(--cols,4), 1fr);gap:10px;display:grid}.xd-ans{--gc:#ffffff80;text-align:left;cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(18px);background:#ffffff0b;border:1px solid #ffffff17;border-radius:16px;flex-direction:column;gap:12px;padding:13px 13px 12px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s,opacity .25s;display:flex;position:relative}.xd-ans .xs-iv-t span{color:#ffffff73}.xd-answers.fixed{grid-template-columns:repeat(auto-fit,216px);justify-content:center}.xd-ans.chord{--gc:hsl(var(--h), 70%, 60%);gap:9px;padding:11px 12px 10px}.xd-ans.chord .xs-glyph{opacity:.5;transition:opacity .2s}.xd-ans.chord:not(:disabled):hover .xs-glyph,.xd-ans.chord.right .xs-glyph,.xd-ans.chord.wrong .xs-glyph{opacity:1}.xd-ans.chord .xs-iv-t b{font-size:18px}.xd-ans:not(:disabled):hover{--gc:hsl(var(--h), 90%, 70%);border-color:hsla(var(--h), 85%, 65%, .7);background:hsla(var(--h), 85%, 60%, .1);transform:translateY(-3px)}.xd-ans:not(:disabled):active{transform:scale(.97)}.xd-ans:disabled{cursor:default}.xd-ans kbd{font-family:var(--mono);color:#ffffff73;background:#ffffff14;border-radius:5px;padding:1px 6px;font-size:10px;position:absolute;top:11px;right:11px}.xd-ans.right{--gc:#30d158;background:#30d15824;border-color:#30d158}.xd-ans.right .xs-iv-t b{color:#30d158}.xd-ans.wrong{--gc:#ff453a;background:#ff453a21;border-color:#ff453a}.xd-ans.wrong .xs-iv-t b{color:#ff453a}.xd-ans.dim{opacity:.32}.xd-foot{justify-content:space-between;align-items:center;gap:14px;min-height:42px;margin-top:16px;display:flex}.xd-ghost{cursor:pointer;color:#fff9;background:0 0;border:1px solid #ffffff1f;border-radius:12px;padding:9px 16px;font-size:13px;font-weight:550;transition:all .2s}.xd-ghost:hover{color:#fff;border-color:#ffffff4d}.xd-keys{font-family:var(--mono);letter-spacing:.8px;text-transform:uppercase;color:#ffffff52;font-size:10px}.xd-board{width:100%;max-width:620px;height:136px;margin:0 auto;position:relative}.xd-whites{gap:3px;height:100%;display:flex}.xd-key{cursor:pointer;flex-direction:column;justify-content:flex-end;align-items:center;gap:1px;transition:background .15s,border-color .15s,opacity .2s,transform .12s;display:flex}.xd-key b{letter-spacing:-.02em;font-size:14px;font-weight:750}.xd-key span{opacity:.65;font-size:9.5px}.xd-key.white{color:#ffffffe6;background:color-mix(in srgb, hsl(var(--h), 70%, 50%) 32%, var(--surface));border:1px solid hsla(var(--h), 85%, 65%, .35);border-radius:0 0 10px 10px;flex:1;padding-bottom:11px}.xd-key.black{z-index:2;background:hsl(var(--h), 55%, 34%);color:#ffffffe6;border:1px solid hsla(var(--h), 85%, 65%, .4);border-radius:0 0 8px 8px;width:9%;height:60%;padding-bottom:8px;position:absolute;top:0;box-shadow:0 0 0 3px #04050a,0 4px 10px -4px #0009}.xd-key.black b{font-size:11px}.xd-key:not(:disabled):hover{border-color:hsl(var(--h), 85%, 70%)}.xd-key.white:not(:disabled):hover{background:color-mix(in srgb, hsl(var(--h), 70%, 58%) 55%, var(--surface))}.xd-key.black:not(:disabled):hover{background:hsl(var(--h), 58%, 44%)}.xd-key:not(:disabled):active{transform:translateY(2px)}.xd-key:disabled{cursor:default}.xd-key.off{color:#ffffff38;background:color-mix(in srgb, var(--ink) 4%, var(--surface));border-color:#ffffff12}.xd-key.dim{opacity:.35}.xd-key.black.off,.xd-key.black.dim{opacity:1;background:color-mix(in srgb, var(--ink) 12%, var(--surface));color:#ffffff47;border-color:#ffffff12}.xd-board.all .xd-key.white{background:color-mix(in srgb, var(--ink) 10%, var(--surface));border-color:#ffffff1f}.xd-board.all .xd-key.black{background:color-mix(in srgb, var(--ink) 55%, var(--surface));color:#0a0c12e6;border-color:#ffffff2e}.xd-board.all .xd-key.white:not(:disabled):hover{background:color-mix(in srgb, hsl(var(--h), 70%, 58%) 55%, var(--surface));border-color:hsl(var(--h), 85%, 70%)}.xd-board.all .xd-key.black:not(:disabled):hover{background:hsl(var(--h), 58%, 44%);border-color:hsl(var(--h), 85%, 70%)}.xd-key.white.right{background:#30d158;border-color:#30d158}.xd-key.white.right b{color:#05220f}.xd-key.white.wrong{background:#ff453a;border-color:#ff453a}.xd-key.white.wrong b{color:#fff}.xd-key.black.right{background:#1f9d44;border-color:#30d158}.xd-key.black.right b{color:#fff}.xd-key.black.wrong{background:#c4342b;border-color:#ff453a}.xd-key.black.wrong b{color:#fff}.xp-sol{color:#ffffff80;font-size:.55em;font-weight:600}@media (width<=720px){.xd-answers{grid-template-columns:repeat(3,1fr)}.xg-dock{padding:0 16px 18px}.xd-keys{display:none}}:root:not([data-theme=dark]) .fq-stage.xg{color:var(--ink);background:radial-gradient(75% 65% at 50% 45%, hsla(var(--h), 80%, 55%, .15), transparent 72%), radial-gradient(50% 50% at 15% 105%, hsla(calc(var(--h) + 70), 80%, 50%, .1), transparent 70%), #eef1f8}:root:not([data-theme=dark]) .xg .fq-vignette{background:radial-gradient(at 50% 45%,#0000 45%,#7884a047)}:root:not([data-theme=dark]) .xg .fq-close{color:var(--ink2);background:#0000000d;border-color:#00000017}:root:not([data-theme=dark]) .xg .fq-close:hover{color:var(--ink);background:#0000001a}:root:not([data-theme=dark]) .xg .fq-vol{background:linear-gradient(90deg, #000000a6 var(--p), #00000024 var(--p))}:root:not([data-theme=dark]) .xg .fq-vol::-webkit-slider-thumb{background:var(--ink);box-shadow:0 1px 5px #00000040}:root:not([data-theme=dark]) .xg .xg-bar{background:#0000001a}:root:not([data-theme=dark]) .xg .xg-count{color:var(--ink2)}:root:not([data-theme=dark]) .xg .xg-streak{color:#0000006b}:root:not([data-theme=dark]) .xg .xg-streak b{color:var(--ink)}:root:not([data-theme=dark]) .xg .xp-dir{color:#00000080}:root:not([data-theme=dark]) .xg .xp-note{color:#00000073;background:#0000000b;border-color:#0000001a}:root:not([data-theme=dark]) .xg .xp-note.on{color:#fff}:root:not([data-theme=dark]) .xg .xp-line{background:#00000024}:root:not([data-theme=dark]) .xg .xp-ask{color:var(--ink)}:root:not([data-theme=dark]) .xg .xs-glyph .r{fill:#000c}:root:not([data-theme=dark]) .xg .xs-glyph .d{fill:#0003}:root:not([data-theme=dark]) .xg .xp-song,:root:not([data-theme=dark]) .xg .xp-sol{color:#00000080}:root:not([data-theme=dark]) .xg .xp-next{color:#000000b3;background:#0000000d}:root:not([data-theme=dark]) .xg .xp-next:hover{color:var(--ink);background:#0000001a}:root:not([data-theme=dark]) .xg .xp-next-track{stroke:#00000024}:root:not([data-theme=dark]) .xg .xp-replay{color:#fff;background:#0a0a0f;border-color:#0000}:root:not([data-theme=dark]) .xg .xp-replay:hover{color:#fff;background:#262833}:root:not([data-theme=dark]) .xg .xp-stack:before{background:#0000001f}:root:not([data-theme=dark]) .xg .xp-stack i,:root:not([data-theme=dark]) .xg .xp-ladder i{background:#eef1f8;border-color:#00000047}:root:not([data-theme=dark]) .xg .xp-slot{background:#ffffff9e;border-color:#00000017}:root:not([data-theme=dark]) .xg .xp-slot b{color:#0006}:root:not([data-theme=dark]) .xg .xp-slot.cur b{color:var(--ink)}:root:not([data-theme=dark]) .xg .xd-ans{color:var(--ink);background:#fff9;border-color:#00000017}:root:not([data-theme=dark]) .xg .xd-ans .xs-iv-t span{color:#00000073}:root:not([data-theme=dark]) .xg .xd-ans kbd{color:#00000073;background:#00000012}:root:not([data-theme=dark]) .xg .xd-ans:not(:disabled):hover{border-color:hsla(var(--h), 75%, 50%, .7);background:hsla(var(--h), 80%, 55%, .1)}:root:not([data-theme=dark]) .xg .xd-ghost{color:#0000008c;border-color:#0000001f}:root:not([data-theme=dark]) .xg .xd-ghost:hover{color:var(--ink);border-color:#0000004d}:root:not([data-theme=dark]) .xg .xd-keys{color:#00000061}:root:not([data-theme=dark]) .xg .xd-key.white{color:var(--ink)}:root:not([data-theme=dark]) .xg .xd-key.black{box-shadow:0 0 0 3px #eef1f8,0 4px 10px -4px #0006}:root:not([data-theme=dark]) .xg .xd-key.off{color:#0000004d;border-color:#00000014}:root:not([data-theme=dark]) .xg .xd-key.black.off,:root:not([data-theme=dark]) .xg .xd-key.black.dim{color:#00000059;border-color:#00000014}.chd-dot,.chd-bar{fill:color-mix(in srgb, var(--ink) 13%, var(--surface));stroke:color-mix(in srgb, var(--ink) 40%, transparent);stroke-width:1.2px}.chd-dot.root,.cg-page .chd-dot.root{fill:#0b0c0f;stroke:#0b0c0f}.chd-fnum,.chd-fdeg{fill:var(--ink);font-weight:800}.chd-dot.root+.chd-fnum,.chd-dot.root+.chd-fdeg{fill:#fff}.chd-dot.moved:not(.root){fill:var(--accent);stroke:var(--accent)}.chd-dot.moved:not(.root)+.chd-fnum,.chd-dot.moved:not(.root)+.chd-fdeg{fill:#fff}.chd-str.mute{opacity:.3}:root[data-theme=dark] .chd-dot,:root[data-theme=dark] .chd-bar{fill:color-mix(in srgb, var(--ink) 20%, var(--surface));stroke:color-mix(in srgb, var(--ink) 55%, transparent)}:root[data-theme=dark] .chd-dot.root,:root[data-theme=dark] .cg-page .chd-dot.root{fill:#05060a;stroke:#ffffff9e;stroke-width:1.4px}:root[data-theme=dark] .chd-dot.moved:not(.root){fill:var(--accent);stroke:var(--accent)}:root[data-theme=dark] .chd-fret{stroke:#ffffff1f}:root[data-theme=dark] .chd-str{stroke:#ffffff57}.d160-play{padding:0;line-height:0}.d160-play svg{flex:none;display:block}.sc-card .xs-glyph{--gc:var(--muted);width:100%;height:auto;margin-bottom:9px;display:block}.sc-card.on .xs-glyph,.sc-card:hover .xs-glyph{--gc:var(--accent)}.ch-quals{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.ch-neck{margin-top:26px}.ch-neck .nr-band{display:none}.ch-neck .nr-fnum,.ch-neck .nr-fnum.in{fill:var(--muted);opacity:.7;font-weight:600}.sc-mini .str.mute{opacity:.3}.sc-mini .open{fill:none;stroke:var(--muted);stroke-width:.8px}.sc-mini .cx{fill:var(--muted);font-size:7px;font-weight:700;font-family:var(--mono)}.sc-mini .cn{fill:var(--muted);font-size:6.5px;font-weight:700;font-family:var(--mono)}.sc-card.on .sc-mini .open,.sc-card:hover .sc-mini .open{stroke:var(--accent)}:root[data-theme=dark] .sc-mini .root{stroke:#ffffffb3}.sc-mini .bar{fill:var(--muted)}.sc-card.on .sc-mini .bar,.sc-card:hover .sc-mini .bar{fill:var(--accent)}.chd-fdeg{font-size:9px;font-weight:800}.chd-fnum{font-size:10px;font-weight:800}.chd-fdeg-open{font-size:8.6px}.chd-pos{font-size:12px}.chd-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}.cg-page .cg-nav{grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 14px;display:grid}.cg-nav-btn{cursor:pointer;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--sh);border-radius:16px;align-items:center;gap:14px;padding:14px 18px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s;display:flex}.cg-nav-btn.next{text-align:right;flex-direction:row-reverse}.cg-nav-btn:not(:disabled):hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 5%, transparent);transform:translateY(-2px)}.cg-nav-btn:disabled{opacity:.4;cursor:default}.cg-nav-arrow{width:34px;height:34px;color:var(--muted);border:1px solid var(--hair2);border-radius:50%;flex:none;place-items:center;padding-bottom:3px;font-size:22px;line-height:1;transition:all .2s;display:grid}.cg-nav-btn:not(:disabled):hover .cg-nav-arrow{color:#fff;background:var(--accent);border-color:var(--accent)}.cg-nav-t{flex-direction:column;gap:2px;min-width:0;display:flex}.cg-nav-t small{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:9.5px}.cg-nav-t b{letter-spacing:-.02em;font-size:15.5px;font-weight:650}.cg-nav-t b i{color:var(--muted);margin-left:4px;font-size:12.5px;font-style:normal;font-weight:500}.cg-tip{background:color-mix(in srgb, var(--surface) 55%, transparent);border:1px solid var(--hair);border-radius:18px;margin:0 0 40px;padding:20px 22px 22px}.cg-tip-h{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:600}.cg-tip ol{grid-template-columns:repeat(3,1fr);gap:20px;margin:14px 0 0;padding:0;list-style:none;display:grid}.cg-tip li{color:var(--ink2);align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;display:flex}.cg-tip li b{color:var(--ink);font-weight:650}.cg-tip li i{width:24px;height:24px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-style:normal;font-weight:700;display:grid}@media (width<=760px){.cg-tip ol{grid-template-columns:1fr;gap:14px}.cg-page .cg-nav{grid-template-columns:1fr}}.cg-grp{border-bottom:1px solid var(--hair);grid-column:1/-1;align-items:baseline;gap:12px;margin:18px 2px 2px;padding-bottom:8px;display:flex}.cg-grp:first-child{margin-top:0}.cg-grp b{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.cg-grp span{color:var(--muted);font-size:12px}.cg-modal-grp{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:10px 0 6px;font-size:9.5px}.rh-staff{width:100%;max-width:560px;height:auto;color:var(--ink);display:block}.rh-staff .rh-line{stroke:currentColor;stroke-width:1px;opacity:.5}.rh-staff .rh-bar{stroke:currentColor;stroke-width:1.1px;opacity:.7}.rh-staff .rh-bar.end{stroke-width:3.4px}.rh-staff .rh-ts{fill:currentColor;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.rh-staff .rh-beat{stroke:currentColor;stroke-width:1px;opacity:.28}.rh-staff .rh-head{fill:currentColor;stroke:none}.rh-staff .rh-head.open{fill:none;stroke:currentColor;stroke-width:1.6px}.rh-staff .rh-ink{stroke:currentColor;stroke-width:1.5px;fill:none;stroke-linecap:round}.rh-staff .rh-ink.rest{stroke-width:1.9px}.rh-staff .rh-inkfill{fill:currentColor}.rh-staff .rh-ink.dot{fill:currentColor;stroke:none}.rh-staff .rh-beam{stroke:currentColor;stroke-width:4.4px;stroke-linecap:butt}.rh-staff .rh-beam2{stroke:currentColor;stroke-width:4px;stroke-linecap:butt}.rh-staff .rh-lit{stroke:var(--accent);stroke-width:2px;opacity:.9}.rh-staff .rh-ev.wrong .rh-head,.rh-staff .rh-ev.wrong .rh-inkfill{fill:#ff453a}.rh-staff .rh-ev.wrong .rh-head.open{fill:none;stroke:#ff453a}.rh-staff .rh-ev.wrong .rh-ink,.rh-staff .rh-ev.wrong .rh-beam{stroke:#ff453a}.rh-staff .rh-ev.click{cursor:pointer}.rh-staff .rh-ev.click:hover .rh-head,.rh-staff .rh-ev.click:hover .rh-inkfill{fill:#ff453a}.rh-staff .rh-ev.click:hover .rh-head.open{fill:none;stroke:#ff453a}.rh-staff .rh-ev.click:hover .rh-ink{stroke:#ff453a}.rh-board{flex-direction:column;align-items:center;gap:16px;width:min(620px,94vw);display:flex}.rh-sheet{text-align:left;color:#191b22;background:#ffffffe6;border:1px solid #00000014;border-radius:18px;width:100%;padding:18px 20px 14px;box-shadow:0 18px 50px -18px #0000008c}.rh-sheet-h{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.rh-sheet-h b{letter-spacing:.4px;color:#191b22;font-size:12px;font-weight:650}.rh-sheet-h span{color:#0000006b;font-size:11px}.rh-sheet .rh-staff{color:#191b22}.rh-sheet .rh-lit{stroke:#4f6df5}.rh-answer{text-align:left;color:#191b22;background:#ffffffeb;border:1px solid #00000014;border-radius:18px;width:100%;padding:14px 20px 12px}.rh-answer-l{color:#0000008c;margin-bottom:6px;font-size:11.5px;font-weight:650;display:block}.rh-answer.ok .rh-answer-l{color:#1c8a3e}.rh-answer.bad .rh-answer-l{color:#c4342b}.rh-answer .rh-staff{color:#191b22}.rh-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.rh-confirm{cursor:pointer;color:#0a0a0f;background:#fff;border:none;border-radius:999px;padding:10px 26px;font-size:13.5px;font-weight:650;transition:all .2s}.rh-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px -8px #00000080}.rh-confirm:disabled{opacity:.35;cursor:default}.rh-pal{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;padding:10px 12px;display:flex}.rh-dur{cursor:pointer;color:#ffffffd9;background:0 0;border:1px solid #0000;border-radius:11px;place-items:center;width:42px;height:46px;transition:all .15s;display:grid}.rh-dur:hover:not(:disabled){background:#ffffff1a}.rh-dur.on{color:#fff;background:hsla(var(--h), 85%, 62%, .2);border-color:hsla(var(--h), 85%, 65%, .5)}.rh-dur:disabled{opacity:.25;cursor:default}.rh-dur .rh-glyph{width:26px;height:34px}.rh-sep{background:#ffffff24;width:1px;height:26px;margin:0 4px}.rh-tog{cursor:pointer;color:#ffffffd9;background:0 0;border:1px solid #ffffff1f;border-radius:11px;place-items:center;width:40px;height:46px;font-size:17px;font-weight:650;transition:all .15s;display:grid}.rh-tog:hover:not(:disabled){background:#ffffff1a}.rh-tog.on{color:#fff;background:hsla(var(--h), 85%, 62%, .22);border-color:hsla(var(--h), 85%, 65%, .55)}.rh-tog:disabled{opacity:.25;cursor:default}.rh-glyph .rh-head{fill:currentColor}.rh-glyph .rh-head.open{fill:none;stroke:currentColor;stroke-width:1.8px}.rh-glyph .rh-ink{stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round}.rh-glyph .rh-ink.rest{stroke-width:2px}.rh-glyph .rh-inkfill{fill:currentColor}.rh-glyph .rh-ink.dot{fill:currentColor;stroke:none}.rh-rem{color:#ffffff9e;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.rh-rem .rh-glyph{color:#fff9;width:16px;height:22px}.rh-lvl{text-align:left;cursor:pointer;border:1px solid var(--hair);background:var(--surface);color:var(--ink);border-radius:13px;flex-direction:column;gap:3px;padding:12px 14px;transition:all .15s;display:flex}.rh-lvl b{font-size:13.5px;font-weight:650}.rh-lvl span{color:var(--muted);font-size:11.5px}.rh-lvl:hover{border-color:var(--hair2)}.rh-lvl.on{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.rh-demo{border-top:1px dashed var(--hair);margin-top:16px;padding-top:14px}.rh-demo>span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.rh-demo .rh-staff{max-width:300px}:root:not([data-theme=dark]) .xg .rh-dur{color:#ffffffd9}:root:not([data-theme=dark]) .xg .rh-rem{color:#fff9}:root:not([data-theme=dark]) .xg .rh-rem .rh-glyph{color:#ffffff8c}:root:not([data-theme=dark]) .xg .rh-pal{background:#0000000d;border-color:#0000001a}:root:not([data-theme=dark]) .xg .rh-sep{background:#ffffff59}:root:not([data-theme=dark]) .xg .rh-tog{color:#ffffffd9;border-color:#ffffff4d}.aula-win{background:#0a0b0f;flex-direction:column;height:100vh;display:flex}.aula-head{background:#0f1115;border-bottom:1px solid #ffffff14;flex:none;align-items:center;gap:16px;padding:10px 16px;display:flex}.aula-title{text-overflow:ellipsis;white-space:nowrap;color:#ffffffe6;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.aula-head .parts{border:none;padding:0}.aula-head .part{color:#fff9;border-color:#ffffff29}.aula-head .part.active{color:#0a0b0f;background:#fff;border-color:#fff}.aula-body{background:#000;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.aula-body .video-wrap{width:100%;height:100%;display:flex}.aula-body .player-frame{aspect-ratio:auto;object-fit:contain;width:100%;height:100%}.aula-body .player-loading,.aula-body .player-err{color:#ffffffb3}.appnav-left{align-items:center;gap:18px;display:flex}.appnav-brand{color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:flex}.appnav-brand .logo-mark{flex:none;transition:transform .2s}.appnav-brand:hover .logo-mark{transform:rotate(-8deg)}.appnav-brand .logo-word{width:auto;display:block}@media (width<=720px){.appnav-brand .logo-word{display:none}.appnav-tab{padding:7px 11px;font-size:13px}}.lp{z-index:1;max-width:1180px;margin:0 auto;padding:52px 28px 0;position:relative}.lp em{background:linear-gradient(100deg, var(--accent), var(--violet) 70%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.lp b{color:var(--ink);font-weight:600}.lp-hero{text-align:center;padding:84px 0 40px;position:relative}.lp-wave-wrap{z-index:-1;pointer-events:none;width:100vw;height:560px;position:absolute;top:30px;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(70% 60%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 60%,#000 30%,#0000 75%)}.lp-wave{width:100%;height:100%;display:block}body:has(.lp){overflow-x:clip}.lp-glow{z-index:-1;pointer-events:none;background:radial-gradient(closest-side at 30% 40%, color-mix(in srgb, var(--accent) 22%, transparent), transparent), radial-gradient(closest-side at 72% 50%, color-mix(in srgb, var(--violet) 18%, transparent), transparent);filter:blur(50px);width:min(980px,100%);height:520px;position:absolute;top:0;left:50%;transform:translate(-50%)}.lp-badge{color:var(--ink2);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--hair2);-webkit-backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:9px;padding:7px 14px 7px 11px;font-size:12.5px;font-weight:550;animation:.5s both cfxIn;display:inline-flex}.lp-badge i{background:#30d158;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #30d15838}.lp-hero h1{letter-spacing:-.055em;max-width:900px;margin:26px auto 22px;font-size:clamp(42px,7.2vw,88px);font-weight:720;line-height:.98;animation:.6s 50ms both cfxIn}.lp-lead{max-width:640px;color:var(--ink2);margin:0 auto;font-size:clamp(16px,1.6vw,18.5px);line-height:1.65;animation:.6s .1s both cfxIn}.lp-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;animation:.6s .15s both cfxIn;display:flex}.lp-btn{letter-spacing:-.01em;border-radius:14px;align-items:center;gap:9px;padding:14px 24px;font-size:15.5px;font-weight:600;text-decoration:none;transition:transform .18s,filter .18s,background .18s,border-color .18s;display:inline-flex}.lp-btn svg{transition:transform .2s}.lp-btn:hover svg{transform:translate(3px)}.lp-btn:active{transform:scale(.98)}.lp-btn.primary{color:#fff;background:var(--accent);box-shadow:0 10px 30px -12px color-mix(in srgb, var(--accent) 95%, transparent)}.lp-btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.lp-btn.ghost{color:var(--ink);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--hair2)}.lp-btn.ghost:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.lp-btn.light{color:#0a0a0f;background:#fff}.lp-btn.light:hover{transform:translateY(-1px)}.lp-btn.outline{color:#fff;border:1px solid #ffffff47}.lp-btn.outline:hover{border-color:#fff9}.lp-stage{text-align:left;background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid var(--hair2);max-width:1060px;box-shadow:var(--sh), 0 40px 100px -40px color-mix(in srgb, var(--accent) 40%, transparent);-webkit-backdrop-filter:blur(24px)saturate(150%);border-radius:24px;margin:64px auto 0;animation:.9s cubic-bezier(.2,.7,.2,1) .2s both lpRise;position:relative}@keyframes lpRise{0%{opacity:0;transform:translateY(40px)scale(.97)}to{opacity:1;transform:none}}.lp-stage-bar{border-bottom:1px solid var(--hair);align-items:center;gap:14px;padding:13px 16px;display:flex}.lp-dots{gap:6px;display:flex}.lp-dots i{background:var(--hair2);border-radius:50%;width:10px;height:10px}.lp-stage-t{font-family:var(--mono);letter-spacing:.6px;color:var(--muted);flex:1;font-size:11px}.lp-listen{cursor:pointer;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .2s;display:inline-flex}.lp-listen:hover,.lp-listen.on{color:#fff;background:var(--accent);border-color:var(--accent)}.lp-stage-body{padding:22px 20px 16px;overflow-x:auto}.lp-neck{width:100%;min-width:640px;height:auto;display:block}.lp-neck-wood{fill:color-mix(in srgb, var(--ink) 3%, transparent)}.lp-neck-box{stroke:color-mix(in srgb, var(--accent) 35%, transparent);stroke-width:1px;stroke-dasharray:4 4}.lp-inlay{fill:color-mix(in srgb, var(--ink) 9%, transparent)}.lp-fret{stroke:color-mix(in srgb, var(--ink) 16%, transparent);stroke-width:1.4px}.lp-nut{stroke:var(--ink);stroke-width:5px;stroke-linecap:round}.lp-str{stroke:color-mix(in srgb, var(--ink) 34%, transparent)}.lp-fnum{font-family:var(--mono);fill:var(--muted);font-size:10px}.lp-fd circle{fill:color-mix(in srgb, var(--ink) 16%, var(--surface))}.lp-fd.on circle{fill:var(--accent);stroke:color-mix(in srgb, var(--surface) 80%, transparent);stroke-width:2px}.lp-fd.on.root circle{fill:var(--ink)}.lp-fd text{font-family:var(--mono);fill:#fff;font-size:9.5px;font-weight:800}.lp-fd.on.root text{fill:var(--bg)}.lp-fd.on{transform-box:fill-box;transform-origin:50%;animation:4.2s ease-in-out infinite lpPulse}.lp-neck.playing .lp-fd.on{animation:.5s ease-out both lpPlay}@keyframes lpPulse{0%,70%,to{filter:none;transform:scale(1)}80%{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 80%, transparent));transform:scale(1.22)}}@keyframes lpPlay{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.lp-float{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--hair2);box-shadow:var(--sh);-webkit-backdrop-filter:blur(18px);border-radius:16px;align-items:center;gap:12px;padding:11px 14px;animation:6s ease-in-out infinite lpFloat;display:flex;position:absolute}.lp-float span{color:var(--muted);font-size:12px}.lp-float b{letter-spacing:-.02em;font-size:14px;display:block}.lp-float.f1{--gc:var(--accent);bottom:-30px;left:-26px}.lp-float.f1 .xs-glyph{width:92px}.lp-float.f1 span b{margin-right:4px;display:inline}.lp-float.f2{border-color:#30d15866;flex-direction:column;align-items:flex-start;gap:2px;animation-delay:-3s;top:56px;right:-22px}.lp-float.f2 b{color:#30d158}@keyframes lpFloat{50%{transform:translateY(-8px)}}.lp-stats{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);grid-template-columns:repeat(4,1fr);margin:70px 0 0;padding:26px 0;display:grid}.lp-stat{text-align:center}.lp-stat+.lp-stat{border-left:1px solid var(--hair)}.lp-stat b{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(32px,4vw,46px);font-weight:700;display:block}.lp-stat span{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:10.5px}.lp-sec{padding:110px 0 0}.lp-sec-h{text-align:center;max-width:720px;margin:0 auto 44px}.lp-sec-h h2{letter-spacing:-.045em;margin:14px 0 0;font-size:clamp(30px,4.2vw,50px);font-weight:700;line-height:1.04}.lp-bento{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lp-card{background:color-mix(in srgb, var(--surface) 62%, transparent);border:1px solid var(--hair);-webkit-backdrop-filter:blur(20px);border-radius:24px;flex-direction:column;gap:22px;padding:28px;transition:border-color .25s,box-shadow .25s,transform .35s cubic-bezier(.2,.7,.2,1);display:flex;position:relative;overflow:hidden}.lp-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, transparent);box-shadow:var(--sh)}.lp-card.wide{grid-column:1/-1;grid-template-columns:340px 1fr;align-items:center;gap:36px;display:grid}.lp-card-t h3{letter-spacing:-.035em;margin:12px 0 10px;font-size:24px;font-weight:680;line-height:1.12}.lp-card-t p{color:var(--ink2);margin:0;font-size:14.5px;line-height:1.6}.lp-tag{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-block}.lp-link{cursor:pointer;font:inherit;color:var(--accent);background:0 0;border:0;align-self:flex-start;align-items:center;gap:7px;margin-top:auto;padding:0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.lp-card-t .lp-link{margin-top:20px}.lp-link svg{transition:transform .2s}.lp-link:hover svg{transform:translate(4px)}.lp-caged{gap:10px;padding:6px 2px 18px;display:flex}.lp-caged-i{flex:1 1 0;min-width:0}.lp-caged-i .chd{background:var(--surface);width:100%;padding:12px 4px 10px;animation:none}.lp-caged-i .chd svg{width:100%;height:auto}.lp-caged-i:nth-child(odd) .chd{transform:translateY(14px)}.lp-caged-i:nth-child(odd) .chd:hover{transform:translateY(10px)}.lp-scales{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lp-scale{border:1px solid var(--hair);background:var(--surface);border-radius:14px;padding:10px 10px 9px;transition:border-color .2s}.lp-scale .sc-mini{margin-bottom:7px}.lp-scale span{color:var(--ink2);font-size:12px;font-weight:600}.lp-card:hover .lp-scale .sc-mini .dot{fill:var(--accent)}.lp-ex{flex-direction:column;gap:9px;display:flex}.lp-ex-i{--gc:var(--accent);border:1px solid var(--hair);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:13px;grid-template-columns:64px 1fr 70px;align-items:center;gap:12px;padding:9px 12px;display:grid}.lp-ex-g .xs-glyph{width:64px}.lp-ex-i b{font-size:13px}.lp-ex-m{background:var(--hair2);border-radius:4px;height:4px;overflow:hidden}.lp-ex-m i{background:linear-gradient(90deg, var(--accent), var(--violet));border-radius:4px;width:0;height:100%;transition:width 1.2s cubic-bezier(.2,.8,.2,1) .3s;display:block}.lp-card.in .lp-ex-m i{width:var(--p)}.lp-gauge{width:240px;max-width:100%;height:170px;margin:auto auto 0;display:block}.lp-gauge-arc{fill:none;stroke:var(--hair2);stroke-width:6px;stroke-linecap:round}.lp-gauge-ok{fill:none;stroke:#30d158;stroke-width:6px;stroke-linecap:round}.lp-gauge-tick{stroke:color-mix(in srgb, var(--ink) 30%, transparent);stroke-width:1.4px;stroke-linecap:round}.lp-needle{transform-origin:110px 116px;animation:5s cubic-bezier(.4,0,.2,1) infinite lpNeedle}.lp-needle line{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.lp-needle circle{fill:var(--ink)}.lp-gauge-note{letter-spacing:-.03em;fill:var(--ink);font-size:22px;font-weight:720}.lp-gauge-note tspan{font-family:var(--mono);letter-spacing:.5px;fill:var(--muted);font-size:10px;font-weight:600}@keyframes lpNeedle{0%{transform:rotate(-38deg)}30%{transform:rotate(16deg)}50%{transform:rotate(-6deg)}65%,92%{transform:rotate(0)}to{transform:rotate(-38deg)}}.lp-steps{counter-reset:s;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.lp-step{border:1px solid var(--hair);background:color-mix(in srgb, var(--surface) 50%, transparent);border-radius:22px;padding:28px 26px;position:relative}.lp-step-n{font-family:var(--mono);color:var(--accent);font-size:12px;font-weight:600}.lp-step h3{letter-spacing:-.03em;margin:18px 0 8px;font-size:20px;font-weight:660}.lp-step p{color:var(--ink2);margin:0;font-size:14px;line-height:1.6}.lp-step:after{content:"";border-top:2px solid var(--hair2);border-right:2px solid var(--hair2);width:8px;height:8px;position:absolute;top:34px;right:-12px;transform:rotate(45deg)}.lp-step:last-child:after{display:none}.lp-final{text-align:center;color:#fff;background:linear-gradient(140deg,#0b0d18,#121a33 55%,#1d1440);border-radius:32px;margin:120px 0 0;padding:84px 32px;position:relative;overflow:hidden;box-shadow:0 40px 100px -40px #3c3ca08c}.lp-final-glow{pointer-events:none;filter:blur(60px);opacity:.8;background:radial-gradient(closest-side at 25%,#0a84ff73,#0000),radial-gradient(closest-side at 75%,#7c5cff73,#0000);height:120%;position:absolute;inset:-40% -10% auto}.lp-final:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.lp-final>*{position:relative}.lp-final h2{letter-spacing:-.05em;margin:0;font-size:clamp(36px,5.4vw,64px);font-weight:720;line-height:1}.lp-final p{color:#ffffffb3;margin:18px 0 0;font-size:17px}.lp-final .lp-ctas{animation:none}.lp-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;padding:40px 4px 48px;font-size:13px;display:flex}.lp-foot-brand{color:var(--ink);letter-spacing:-.02em;font-weight:680}.lp-foot nav{gap:18px;margin-left:auto;display:flex}.lp-foot a{color:var(--muted);text-decoration:none;transition:color .2s}.lp-foot a:hover{color:var(--ink)}.lp-rv{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.lp-rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.lp-rv{opacity:1;transition:none;transform:none}.lp-fd.on,.lp-float,.lp-needle{animation:none}}@media (width<=960px){.lp-bento{grid-template-columns:1fr 1fr}.lp-card.wide{grid-template-columns:1fr}.lp-tuner{grid-column:1/-1}.lp-float{display:none}}@media (width<=680px){.lp{padding-left:18px;padding-right:18px}.lp-hero{padding-top:56px}.lp-bento,.lp-steps{grid-template-columns:1fr}.lp-stats{grid-template-columns:1fr 1fr;row-gap:22px}.lp-stat:nth-child(3){border-left:0}.lp-step:after{display:none}.lp-final{border-radius:24px;padding:60px 22px}.lp-foot nav{margin-left:0}}.appnav-bbar{display:none}@media (width<=720px){.appnav{height:50px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.appnav .appnav-tabs{display:none}.appnav-brand .logo-word{display:block}.appnav-bbar{z-index:45;padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--hair);-webkit-backdrop-filter:saturate(190%)blur(22px);background:#f5f6f8e0;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}:root[data-theme=dark] .appnav-bbar{background:#0b0d12e6}.appnav-bbar .appnav-tab{flex:1;justify-content:center;align-items:center;min-height:46px;font-size:12.5px;display:flex}.lp{padding:50px 18px 70px;padding:50px 18px calc(70px + env(safe-area-inset-bottom))}.lp-foot{padding-bottom:20px}.sc-hero,.xs-hero{padding:22px 0 16px}.xs-hero h2{font-size:clamp(34px,10vw,46px)}.xs-hero p{font-size:15px}.sc-roots,.sc-roots.cg-roots:not(.free){grid-template-columns:repeat(6,minmax(0,1fr))}.sc-roots.cg-roots:not(.free) .sc-root.cg-filter,.sc-roots.cg-roots:not(.free) .sc-root.cg-filter-clear{grid-column:1/-1}.sc-roots.cg-tys{grid-template-columns:repeat(5,minmax(0,1fr))}.sc-roots.cg-tys .sc-root{text-overflow:ellipsis;white-space:nowrap;padding:9px 2px;font-size:11px;overflow:hidden}.sc-roots.free .sc-root{flex:27%;min-width:0;padding-left:8px;padding-right:8px;font-size:12.5px}.sc-roots.free .sc-root.cg-filter{margin-left:0}.sc-roots.free .sc-root.cg-filter-clear{flex:none}.sc-head{gap:14px;padding:14px 16px}.sc-sym{border-radius:16px;width:60px;height:60px;font-size:24px}.cg-sym{min-width:60px;padding:0 12px;font-size:22px}.sc-head .sc-play{order:3;justify-content:center;width:100%}.sc-title h3{font-size:19px}.chd-head{gap:14px;padding:14px 16px}.chd-symbol{font-size:40px}.cg-page .cg-seg{gap:6px}.cg-page .cg-seg-btn{padding:10px 4px}.cg-page .cg-seg-btn b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;overflow:hidden}.cg-region-head{flex-direction:column;gap:10px}.cg-region-ctl{flex-wrap:wrap;gap:8px;width:100%}.cg-region-ctl .cg-tabs{flex:1}.cg-region-ctl .cg-tab{text-align:center;flex:1;padding:8px 10px}.cg-step button,.cg-icon-btn{min-width:34px;height:34px}.cg-legend{flex-wrap:wrap}.cg-legend-hint{flex-basis:100%;margin-left:0;font-size:10.5px}.chd-neck{padding:14px 12px 10px}.neck-scroll{margin:2px -4px 0;padding:0 4px}.neck-scroll .chd-neck-svg{min-width:860px}.cg-rows{flex-direction:column;gap:20px;display:flex}.cg-row{content-visibility:auto;contain-intrinsic-size:auto 480px;min-width:0}.cg-row-head{align-items:baseline;gap:10px;padding:0 2px 10px;display:flex}.cg-row-head b{letter-spacing:-.01em;font-size:20px;font-weight:800}.cg-row-head span{color:var(--muted);letter-spacing:.02em;font-size:11px}.cg-row-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:2px;-webkit-overflow-scrolling:touch;gap:14px;padding-inline:calc(50% - min(150px,40%));display:flex;overflow:auto hidden}.cg-row-track::-webkit-scrollbar{display:none}.cg-row-track>.d160-card{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 min(300px,80%)}.cg-row-more{height:1px}.tuner{min-height:100dvh;padding:14px 16px 24px;padding:calc(14px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));gap:14px}.tuner-head h1{font-size:18px}.tuner-strings{flex-wrap:nowrap;gap:5px;width:100%}.tuner-string{flex:1;min-width:0;padding:8px 4px}.tuner-note{font-size:62px}.fq-close{top:12px;top:calc(12px + env(safe-area-inset-top));left:12px}.fq-dots{top:26px;top:calc(26px + env(safe-area-inset-top))}.fq-top-r{top:14px;top:calc(14px + env(safe-area-inset-top));right:12px}.fq-top-r .fq-vol{display:none}.fq-stage.xg{padding-top:88px;padding-top:calc(88px + env(safe-area-inset-top))}.xg-top{top:26px;top:calc(26px + env(safe-area-inset-top));gap:10px;width:min(280px,54vw)}.xg-dock{padding:0 16px 16px;padding:0 16px calc(16px + env(safe-area-inset-bottom))}.fq-bottom{bottom:18px;bottom:calc(18px + env(safe-area-inset-bottom))}.fq-intro{padding-left:18px;padding-right:18px}.xh-grid{grid-template-columns:1fr}.xh-art{height:80px;margin-bottom:12px;padding:12px 20px}.xh-card p{min-height:0}.lp-hero{padding-top:44px}.lp-stage-t{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lp-neck{min-width:560px}.lp-card.wide{gap:20px}.lp-caged{scroll-snap-type:x proximity;min-width:0;margin:0 -4px;padding:4px 4px 20px;overflow-x:auto}.lp-caged-i{scroll-snap-align:start;flex:0 0 118px}.lp-caged-i:nth-child(odd) .chd,.lp-caged-i:nth-child(odd) .chd:hover{transform:none}.lp-wave-wrap{height:460px}.lp-ex-i{grid-template-columns:56px 1fr 60px}}@media (hover:none){.chd:hover,.sc-card:hover,.xh-card:hover,.cg-nav-btn:not(:disabled):hover,.lp-card:hover,.xs-ans:not(:disabled):hover,.lp-btn.primary:hover,.cg-top:hover,.theme-btn:hover,.appnav-brand:hover .logo-mark{transform:none}.xh-card:hover .xh-go{color:var(--muted);border-color:var(--hair2);background:0 0}.d160-play:hover,.cg-pick:hover{transform:none}}.cg-top{z-index:45;cursor:pointer;background:var(--ink);width:44px;height:44px;color:var(--surface);box-shadow:var(--sh);opacity:0;pointer-events:none;border:none;border-radius:50%;place-items:center;transition:opacity .25s,transform .25s;display:grid;position:fixed;bottom:22px;right:18px;transform:translateY(10px)scale(.9)}.cg-top.on{opacity:1;pointer-events:auto;transform:none}.cg-top:hover{transform:translateY(-2px)}@media (width<=720px){.cg-top{right:14px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}}
