.learn-wrap{max-width:640px}.learn-nav{align-items:center;gap:11px;padding:26px 0 0;display:flex}.learn-nav .nav-home{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.learn-nav .nav-home img{border-radius:10px;width:38px;height:38px}.learn-nav .spacer{flex:1}.learn-nav .learn-tab{color:var(--ink-dim);border-radius:12px;padding:8px 12px;font-size:15px;font-weight:600;text-decoration:none}.learn-nav .learn-tab:hover{color:var(--ink)}.learn-nav .learn-tab.active{color:var(--ink);background:var(--surface);border:1px solid var(--edge)}.learn-nav .account-btn{background:var(--surface);border:1px solid var(--edge);width:38px;height:38px;color:var(--ink-dim);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;display:inline-flex}.learn-nav .account-btn:hover:not(:disabled){box-shadow:none;color:var(--ink);border-color:var(--ink-faint);transform:none}@media (max-width:420px){.learn-nav .nav-home .name{display:none}}.account-menu{position:relative}.account-panel{z-index:30;background:var(--surface);border:1px solid var(--edge);text-align:left;border-radius:18px;width:min(300px,86vw);padding:16px;position:absolute;top:46px;right:0;box-shadow:0 18px 50px #00000080}.account-panel h3{font-family:var(--font-display), sans-serif;margin-bottom:4px;font-size:16px}.account-panel p{color:var(--ink-dim);margin-bottom:12px;font-size:13px}.account-panel .linked{color:var(--teal);margin-bottom:12px;font-size:13px}.account-panel .name-row{gap:8px;margin-bottom:12px;display:flex}.account-panel input[type=text]{background:var(--bg);border:1px solid var(--edge);min-width:0;color:var(--ink);border-radius:12px;outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:14px}.account-panel input[type=text]:focus{border-color:var(--teal)}.account-panel .err{color:var(--magenta);min-height:16px;margin-top:8px;margin-bottom:0;font-size:13px}.btn-chunky{cursor:pointer;width:100%;font-family:var(--font-display), sans-serif;color:#04201b;background:linear-gradient(120deg, var(--teal), #5be0c8);box-shadow:0 4px 0 var(--teal-deep);border:none;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:16px;font-weight:600;transition:transform .1s,box-shadow .1s;display:inline-flex}.btn-chunky:hover:not(:disabled){box-shadow:0 5px 0 var(--teal-deep);transform:translateY(-1px)}.btn-chunky:active:not(:disabled){box-shadow:0 2px 0 var(--teal-deep);transform:translateY(2px)}.btn-chunky:disabled{opacity:.55;cursor:default}.btn-chunky.gold{color:#3a2a00;background:linear-gradient(120deg, var(--gold), #ffd98a);box-shadow:0 4px #c47c00}.btn-chunky.gold:hover:not(:disabled){box-shadow:0 5px #c47c00}.btn-ghost{cursor:pointer;width:100%;font-family:var(--font-display), sans-serif;color:var(--ink);background:var(--surface);border:1px solid var(--edge);box-shadow:none;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:16px;font-weight:600;display:inline-flex}.btn-ghost:hover:not(:disabled){border-color:var(--ink-faint);box-shadow:none;transform:none}.btn-ghost:disabled{opacity:.55;cursor:default}a.btn-chunky,a.btn-ghost{text-decoration:none}.learn-page{z-index:1;padding:18px 0 60px;position:relative}.learn-loading{min-height:40vh;color:var(--ink-faint);place-items:center;font-size:15px;display:grid}.hud{background:var(--surface);border:1px solid var(--edge);border-radius:22px;margin-bottom:14px;padding:16px;box-shadow:0 16px 40px #00000040}.hud .stat-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.hud .stat{font-family:var(--font-display), sans-serif;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:19px;font-weight:700;display:inline-flex}.hud .stat.flame{color:var(--gold)}.hud .stat.hearts{color:var(--magenta)}.hud .stat .val{color:var(--ink)}.hud .level-ring{width:48px;height:48px;position:relative}.hud .level-ring svg{transform:rotate(-90deg)}.hud .level-ring .label{place-items:center;display:grid;position:absolute;inset:0}.hud .level-ring .label>div{text-align:center;line-height:1}.hud .level-ring .label .lvl{color:var(--ink-dim);letter-spacing:.04em;font-size:8px;font-weight:700;display:block}.hud .level-ring .label .num{font-family:var(--font-display), sans-serif;color:var(--ink);font-size:16px;font-weight:700;display:block}.hud .goal-row{align-items:center;gap:11px;margin-top:13px;display:flex}.hud .goal-track{background:var(--bg);border-radius:999px;flex:1;height:12px;overflow:hidden}.hud .goal-fill{background:linear-gradient(90deg, #c47c00, var(--gold));border-radius:999px;min-width:8px;height:100%;transition:width .4s}.hud .goal-label{color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600}.hud .goal-label.hit{color:var(--teal)}.board-banner{text-align:left;background:var(--surface);border:1px solid var(--edge);width:100%;color:inherit;border-radius:18px;align-items:center;gap:13px;margin-bottom:22px;padding:15px;text-decoration:none;transition:border-color .15s;display:flex;box-shadow:0 10px 24px #0003}.board-banner:hover{border-color:var(--ink-faint)}.board-banner .ic{background:var(--gold);color:#3a2a00;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.board-banner .t{font-family:var(--font-display), sans-serif;color:var(--ink);font-size:17px;font-weight:700}.board-banner .s{color:var(--ink-dim);font-size:12px}.board-banner .chev{color:var(--ink-faint);margin-left:auto}.tier-section{margin-bottom:26px}.tier-band{background:var(--tint,var(--surface));border-radius:18px;align-items:center;gap:13px;margin-bottom:18px;padding:15px;display:flex;box-shadow:0 5px #00000040,0 14px 30px #00000038}.tier-band .ic{color:#fff;background:#ffffff38;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.tier-band .kicker{letter-spacing:.09em;color:#ffffffd9;font-size:11px;font-weight:700}.tier-band .t{font-family:var(--font-display), sans-serif;color:#fff;font-size:18px;font-weight:700}.tier-band .count{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff38;border-radius:999px;margin-left:auto;padding:6px 11px;font-size:14px;font-weight:700}.tier-band.locked{background:var(--surface);border:1px solid var(--edge);box-shadow:none}.tier-band.locked .ic{background:var(--bg);color:var(--ink-faint)}.tier-band.locked .kicker{color:var(--ink-faint)}.tier-band.locked .t{color:var(--ink-dim)}.tier-band.locked .pro-crown{color:var(--gold);margin-left:auto}.tier-hint{text-align:center;color:var(--ink-dim);padding:4px 0 16px;font-size:15px}.unit-header{align-items:center;gap:11px;margin:4px 0 14px;display:flex}.unit-header:before,.unit-header:after{content:"";background:var(--edge);border-radius:1px;flex:1;height:2px}.unit-header span{font-family:var(--font-display), sans-serif;color:var(--ink-dim);white-space:nowrap;font-size:14px;font-weight:600}.path-row{justify-content:center;margin-bottom:20px;display:flex;position:relative}.path-node{transform:translateX(calc(var(--wave,0) * min(64px, 13vw)))}.node-btn{box-shadow:none;cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;max-width:150px;padding:0;font-family:inherit;display:flex}.node-btn:hover:not(:disabled){transform:translateX(calc(var(--wave,0) * min(64px, 13vw)));box-shadow:none}.node-btn .start-pill{font-family:var(--font-display), sans-serif;letter-spacing:.04em;color:#04201b;background:var(--teal);box-shadow:0 2px 0 var(--teal-deep);border-radius:999px;padding:5px 13px;font-size:12px;font-weight:700}.node-btn .disc{width:72px;height:72px;position:relative}.node-btn .disc .lip{background:var(--lip,var(--edge));border-radius:50%;position:absolute;inset:0;transform:translateY(5px)}.node-btn .disc .face{background:var(--face,var(--bg));color:var(--icon,var(--ink-faint));border:2px solid #ffffff1f;border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.node-btn .disc .pulse{border:3px solid #2de5c48c;border-radius:50%;animation:1.3s ease-out infinite node-pulse;position:absolute;inset:-6px}@keyframes node-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.node-btn .n-title{color:var(--ink);text-align:center;font-size:14px;font-weight:600;line-height:1.25}.node-btn .n-sub{color:var(--ink-faint);font-size:12px}.node-btn .n-sub.pro{color:var(--gold);font-weight:600}.node-btn .crowns{color:var(--gold);gap:2px;display:flex}.node-btn:disabled{cursor:default;opacity:1}.node-sensei{pointer-events:none;width:62px;height:62px;top:6px;left:calc(50% + (var(--wave,0) * min(64px, 13vw)) + (var(--side,1) * min(96px, 24vw)) - 31px);position:absolute}.node-sensei img{object-fit:contain;filter:drop-shadow(0 6px 14px #0006);width:100%;height:100%}@media (max-width:480px){.node-sensei{width:54px;height:54px;left:calc(50% + (var(--wave,0) * min(64px, 13vw)) + (var(--side,1) * min(96px, 26vw)) - 27px)}}.concept-disc{background:var(--surface);width:60px;height:60px;color:var(--gold);border-radius:50%;place-items:center;display:grid;position:relative}.concept-disc:before{content:"";border:2px dashed #2de5c4b3;border-radius:50%;position:absolute;inset:0}.concept-disc.locked{color:var(--ink-faint)}.concept-disc.locked:before{border-color:var(--edge)}.learn-modal-backdrop{z-index:50;background:#04060cb8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.learn-modal{background:var(--surface);border:1px solid var(--edge);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 30px 80px #0009}.learn-modal.gold-edge{border-color:#ffc54d8c;box-shadow:0 0 0 5px #ffc54d1a,0 30px 80px #0009}.learn-modal .badge{background:var(--gold);color:#3a2a00;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:14px;display:inline-grid}.learn-modal h2{font-family:var(--font-display), sans-serif;margin-bottom:8px;font-size:22px}.learn-modal p{color:var(--ink-dim);margin-bottom:8px;font-size:15px}.learn-modal .fine{color:var(--ink-faint);margin-bottom:0;font-size:13px}.learn-modal .actions{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.learn-modal .store-cta{margin-top:0}.pro-checkout{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px;margin:8px auto 0;display:flex}.pro-checkout .plan-list{flex-direction:column;gap:10px;width:100%;display:flex}.plan-btn{text-align:left;justify-content:space-between}.plan-btn .plan-name{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.plan-btn .plan-sub{opacity:.85;font-size:12px;font-weight:600}.plan-btn .plan-price{font-variant-numeric:tabular-nums;font-weight:800}.pro-checkout .err{color:var(--magenta);min-height:16px;margin:0;font-size:13px}.pro-checkout .fine{color:var(--ink-faint);max-width:340px;margin:0;font-size:12px}.pro-checkout .or-phone{color:var(--ink-dim);margin:4px 0 0;font-size:13px}.pro-checkout .store-cta img{width:148px;height:auto}.pro-checkout.celebrate{gap:8px;padding:6px 0 2px}.pro-checkout .celebrate-crown{background:var(--gold);color:#3a2a00;border-radius:17px;place-items:center;width:58px;height:58px;display:inline-grid}.pro-checkout.celebrate h3{margin:4px 0 0;font-size:20px}.pro-checkout.celebrate p{color:var(--ink-dim);max-width:340px;margin:0 0 6px;font-size:14px}.account-panel .pro-plan-status{color:var(--gold);align-items:center;gap:6px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.account-panel .manage-billing{color:var(--teal);margin-bottom:14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.account-panel .manage-billing:hover{text-decoration:underline}.lesson{max-width:560px;margin:0 auto}.lesson-top{align-items:center;gap:10px;margin-bottom:16px;display:flex}.lesson-top .back{color:var(--ink-dim);font-size:14px;font-weight:600;text-decoration:none}.lesson-top .back:hover{color:var(--teal)}.lesson-top .round{font-family:var(--font-display), sans-serif;color:var(--ink-dim);margin-left:auto;font-size:15px;font-weight:600}.intro-card{text-align:center;padding:10px 0 0}.intro-card .sensei-row{justify-content:center;align-items:flex-end;gap:10px;margin-bottom:18px;display:flex}.intro-card .sensei-row img{object-fit:contain;width:84px;height:84px}.speech-bubble{background:var(--surface);border:1px solid var(--edge);color:var(--ink);text-align:left;border-radius:16px;max-width:300px;margin-bottom:8px;padding:12px 15px;font-size:14px;position:relative}.speech-bubble:after{content:"";background:var(--surface);border-left:1px solid var(--edge);border-bottom:1px solid var(--edge);width:12px;height:12px;position:absolute;bottom:14px;left:-7px;transform:rotate(45deg)}.intro-card .kind-ic{width:70px;height:70px;color:var(--teal);background:#2de5c424;border-radius:18px;place-items:center;margin-bottom:14px;display:inline-grid}.intro-card h1{margin-bottom:10px;font-size:clamp(26px,6vw,34px)}.intro-card .instructions{color:var(--ink-dim);max-width:420px;margin:0 auto 16px;font-size:16px}.intro-card .facts{justify-content:center;gap:9px;margin-bottom:18px;display:flex}.intro-card .chip{background:var(--surface);border:1px solid var(--edge);border-radius:12px;padding:8px 14px}.intro-card .chip .v{font-family:var(--font-display), sans-serif;color:var(--ink);font-size:16px;font-weight:700}.intro-card .chip .u{color:var(--ink-faint);font-size:11px}.intro-card .hearts-note{color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:18px;font-size:13px;display:inline-flex}.intro-card .hearts-note svg{color:var(--magenta);flex-shrink:0}.intro-card .actions{flex-direction:column;gap:10px;max-width:380px;margin:0 auto;display:flex}.quiz{max-width:480px;margin:0 auto}.quiz .quiz-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.quiz .quiz-head .round{font-family:var(--font-display), sans-serif;color:var(--ink-dim);font-size:16px;font-weight:600}.quiz .quiz-head img{object-fit:contain;width:60px;height:60px}.prompt-card{text-align:center;background:var(--surface);border:1px solid var(--edge);border-radius:18px;margin-bottom:14px;padding:16px}.prompt-card .pre{color:var(--ink-dim);margin-bottom:4px;font-size:13px}.prompt-card .key-row{justify-content:center;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.prompt-card .key{font-family:var(--font-display), sans-serif;color:var(--teal);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.prompt-card .note{color:var(--ink-dim);font-size:14px}.prompt-card .bpm{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.prompt-card .ask{font-family:var(--font-display), sans-serif;color:var(--ink);font-size:17px;font-weight:700}.quiz .options{flex-direction:column;gap:10px;display:flex}.option-btn{text-align:left;background:var(--surface);border:1px solid var(--edge);width:100%;color:var(--ink);cursor:pointer;box-shadow:none;border-radius:16px;align-items:center;gap:12px;padding:14px;font-family:inherit;font-size:15px;transition:border-color .12s;display:flex}.option-btn:hover:not(:disabled){border-color:var(--ink-faint);box-shadow:none;transform:none}.option-btn:disabled{cursor:default}.option-btn .o-key{font-family:var(--font-display), sans-serif;width:52px;color:var(--teal);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:19px;font-weight:700}.option-btn .o-track{color:var(--ink);font-weight:600}.option-btn .o-meta{color:var(--ink-dim);font-variant-numeric:tabular-nums;gap:6px;font-size:12px;display:flex}.option-btn .verdict{flex-shrink:0;margin-left:auto;display:inline-flex}.option-btn.correct{border-color:var(--teal);border-width:2px;padding:13px}.option-btn.correct .o-key,.option-btn.correct .verdict{color:var(--teal)}.option-btn.wrong{border-color:var(--magenta);border-width:2px;padding:13px}.option-btn.wrong .o-key,.option-btn.wrong .verdict{color:var(--magenta)}.option-btn.dimmed{opacity:.55}.results{text-align:center;max-width:480px;margin:0 auto}.results .sensei{object-fit:contain;width:120px;height:120px;margin:4px auto 8px;display:block}.results h1{margin-bottom:18px;font-size:clamp(26px,6vw,32px)}.score-dial{width:132px;height:132px;margin:0 auto 18px;position:relative}.score-dial svg{transform:rotate(-90deg)}.score-dial .center{place-items:center;display:grid;position:absolute;inset:0}.score-dial .center .n{font-family:var(--font-display), sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.score-dial .center .u{color:var(--ink-faint);font-size:11px;font-weight:700}.results .xp-line{color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:14px;font-size:14px;font-weight:600;display:inline-flex}.results .xp-line svg{color:var(--gold)}.evidence-card{background:var(--surface);border:1px solid var(--edge);border-radius:18px;margin-bottom:14px;padding:15px}.evidence-card .row{justify-content:space-between;gap:10px;font-size:14px;display:flex}.evidence-card .row+.row{margin-top:9px}.evidence-card .row .l{color:var(--ink-dim)}.evidence-card .row .v{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.results .actions{gap:12px;margin-top:8px;display:flex}.results .actions>*{flex:1;text-decoration:none}.phone-card{text-align:center;background:var(--surface);border:1px solid var(--edge);border-radius:24px;max-width:480px;margin:0 auto;padding:34px 26px}.phone-card .kind-ic{width:64px;height:64px;color:var(--gold);background:#ffc54d24;border-radius:18px;place-items:center;margin-bottom:14px;display:inline-grid}.phone-card h1{margin-bottom:8px;font-size:clamp(24px,5.5vw,30px)}.phone-card .instructions{color:var(--ink-dim);margin-bottom:14px;font-size:15px}.phone-card .why{color:var(--ink);max-width:380px;margin:0 auto 6px;font-size:15px}.phone-card .cta-row{margin-top:8px}.concept{text-align:left;max-width:560px;margin:0 auto}.concept .sensei-row{align-items:flex-end;gap:10px;margin-bottom:18px;display:flex}.concept .sensei-row img{object-fit:contain;flex-shrink:0;width:76px;height:76px}.concept .title-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.concept .title-row .bulb{background:var(--gold);color:#3a2a00;border-radius:15px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.concept h1{font-size:clamp(26px,6vw,34px)}.concept .body p{color:var(--ink-dim);margin-bottom:14px;font-size:16px;line-height:1.6}.concept .try-card{background:#2de5c41a;border:1px solid #2de5c466;border-radius:14px;margin-bottom:14px;padding:14px}.concept .try-card .lbl{font-family:var(--font-display), sans-serif;color:var(--teal);align-items:center;gap:7px;margin-bottom:7px;font-size:14px;font-weight:600;display:inline-flex}.concept .try-card p{color:var(--ink);font-size:15px;line-height:1.5}.concept .widget-card{background:var(--surface);border:1px solid var(--edge);border-radius:18px;margin-bottom:14px;padding:14px}.concept .widget-card .lbl{font-family:var(--font-display), sans-serif;color:var(--gold);align-items:center;gap:7px;margin-bottom:7px;font-size:14px;font-weight:600;display:inline-flex}.concept .widget-card p{color:var(--ink-dim);margin-bottom:10px;font-size:14px}.concept .done-row{margin-top:20px}.board{max-width:560px;margin:0 auto}.board h1{margin-bottom:14px;font-size:clamp(26px,6vw,34px)}.board .tabs{background:var(--surface);border:1px solid var(--edge);border-radius:14px;margin-bottom:16px;padding:4px;display:flex}.board .tabs button{box-shadow:none;color:var(--ink-dim);font-family:var(--font-display), sans-serif;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 6px;font-size:14px;font-weight:600}.board .tabs button:hover:not(:disabled){box-shadow:none;transform:none}.board .tabs button.active{background:var(--bg);color:var(--ink);border:1px solid var(--edge)}.board .state{text-align:center;color:var(--ink-dim);padding:40px 0;font-size:15px}.board .state .retry-wrap{max-width:220px;margin:16px auto 0}.league-head{background:#ffc54d1f;border:1.5px solid #ffc54d73;border-radius:18px;flex-direction:column;gap:12px;margin-bottom:14px;padding:14px;display:flex}.league-head-row{align-items:center;gap:12px;display:flex}.league-head .ladder{gap:5px;display:flex}.league-head .ladder .step{color:var(--ink-dim);opacity:.55;text-align:center;text-transform:lowercase;flex-direction:column;flex:1;gap:4px;font-size:9px;font-weight:600;display:flex}.league-head .ladder .step .bar{background:var(--edge);border-radius:999px;height:4px}.league-head .ladder .step.reached{opacity:1}.league-head .ladder .step.reached .bar{background:var(--gold)}.league-head .ladder .step.current{color:var(--ink);font-weight:800}.league-head .rules{color:var(--ink-dim);margin:0;font-size:11px;font-weight:600}.prize-note{background:var(--surface);color:var(--ink-dim);border:1px dashed #ffc54d8c;border-radius:14px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.prize-note .pin{font-size:16px}.prize-note a{color:var(--ink-dim);text-decoration:underline}.league-head .ic{background:var(--gold);color:#3a2a00;border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.league-head .t{font-family:var(--font-display), sans-serif;color:var(--ink);font-size:17px;font-weight:700}.league-head .s{color:var(--ink-dim);font-size:13px}.board-card{background:var(--surface);border:1px solid var(--edge);border-radius:18px;margin-bottom:14px;padding:6px 0}.board-row{align-items:center;gap:12px;padding:10px 16px;display:flex}.board-row.you{background:#2de5c417}.board-row .rank{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-shrink:0;width:40px;font-size:14px;font-weight:700}.board-row .rank.top{color:var(--gold)}.board-row .name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.board-row.you .name{color:var(--teal);font-weight:700}.board-row .name-edit{box-shadow:none;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit}.board-row .name-edit:hover:not(:disabled){box-shadow:none;text-decoration:underline;transform:none}.board-row .xp{color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:14px;font-weight:700}.board-row .lvl{color:var(--ink-faint);font-size:11px}.zone-line{align-items:center;gap:6px;padding:4px 14px;font-size:10px;font-weight:700;display:flex}.zone-line:before,.zone-line:after{content:"";opacity:.5;background:currentColor;flex:1;height:1px}.zone-line.up{color:var(--teal)}.zone-line.down{color:var(--magenta)}.myrank-card{background:#2de5c41f;border:1.5px solid #2de5c466;border-radius:18px;align-items:center;gap:14px;margin-bottom:14px;padding:16px;display:flex}.myrank-card .rank{text-align:center;min-width:60px}.myrank-card .rank .n{font-family:var(--font-display), sans-serif;color:var(--teal);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.myrank-card .rank .of{color:var(--ink-faint);font-size:11px}.myrank-card .who .you-pill{letter-spacing:.08em;color:#04201b;background:var(--teal);border-radius:999px;margin-bottom:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.myrank-card .who button{box-shadow:none;color:var(--ink);font-family:var(--font-display), sans-serif;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:16px;font-weight:700;display:inline-flex}.myrank-card .who button:hover:not(:disabled){box-shadow:none;color:var(--teal);transform:none}.myrank-card .who button.unset{color:var(--teal)}.myrank-card .stats{text-align:right;margin-left:auto}.myrank-card .stats .n{font-family:var(--font-display), sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.myrank-card .stats .s{color:var(--ink-dim);font-size:12px}.tune-banner{background:var(--surface);border:1px dashed var(--edge);color:var(--ink-dim);text-align:center;border-radius:14px;margin:0 0 22px;padding:10px 14px;font-size:13.5px;text-decoration:none;display:block}.tune-banner:hover{color:var(--ink);border-color:var(--ink-faint)}.tap-surface{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:480px;margin:0 auto;display:flex}.tap-surface .tap-head{justify-content:space-between;align-items:center;width:100%;display:flex}.tap-surface .tap-head img{object-fit:contain;width:64px;height:64px}.tap-surface .beat-count{font-family:var(--font-display), sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.tap-feedback{font-family:var(--font-display), sans-serif;font-variant-numeric:tabular-nums;min-height:1.2em;color:var(--ink);font-size:clamp(24px,6vw,32px);font-weight:800}.tap-judgment{min-height:1.2em;font-size:15px;font-weight:700}.tap-pad{background:radial-gradient(circle at 50% 38%, var(--pad-tint,var(--teal)) 0%, var(--surface) 78%);width:min(72vw,240px);height:min(72vw,240px);color:var(--ink);font-family:var(--font-display), sans-serif;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:2px solid #ffffff26;border-radius:50%;margin:12px auto 4px;font-size:19px;font-weight:700;box-shadow:0 9px #00000073}.tap-pad:active{transform:translateY(3px);box-shadow:0 6px #00000073}.tap-hint{color:var(--ink-faint);font-size:12.5px}@media (pointer:coarse){.tap-hint{visibility:hidden}}.intro-card .tune-prompt{flex-direction:column;gap:9px;max-width:380px;margin:4px auto 0;display:flex}.intro-card .tune-prompt p{color:var(--ink-dim);font-size:13.5px}.intro-card .tune-prompt .btn-ghost{font-size:14.5px;text-decoration:none}.tuned-line{color:var(--ink-dim);font-size:13.5px}.tuned-line .retune{color:var(--teal);text-decoration:none}.tap-abort{color:var(--gold);max-width:380px;margin:0 auto;font-size:13.5px}.tune-surface .tune-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.tune-metrics{justify-content:center;gap:28px;display:flex}.tune-metrics>span{flex-direction:column;gap:2px;display:flex}.tune-metrics .l{color:var(--ink-faint);letter-spacing:.06em;font-size:11.5px;font-weight:700}.tune-metrics .v{font-family:var(--font-display), sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.tune-explain .sensei-solo,.tune-complete .sensei-solo{object-fit:contain;width:110px;height:110px;margin:0 auto 6px;display:block}.tune-note{color:var(--ink-dim);max-width:380px;margin:0 auto;font-size:13.5px}.tune-explain .actions,.tune-complete .actions{justify-content:center;gap:12px;display:flex}.tune-explain .actions>*,.tune-complete .actions>*{text-decoration:none}.listen-card .listen-btn{min-width:220px;margin:6px auto 10px}.listen-card .plus{color:var(--ink-faint);font-size:18px;font-weight:600}.option-btn.verdict-btn .o-key{width:34px;font-size:17px}.option-btn.verdict-btn .o-track{font-size:16px}@media (prefers-reduced-motion:reduce){.node-btn .disc .pulse{opacity:0;animation:none}.hud .goal-fill,.score-dial circle{transition:none}.tap-pad:active{transform:none}}.deck-surface{-webkit-user-select:none;user-select:none;touch-action:none;max-width:640px;margin:0 auto}.deck-surface .dc-stack{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.dc-goal{color:var(--gold);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.dc-help{color:var(--ink-dim);max-width:420px;font-size:13px}.dc-byear{color:var(--ink-faint);font-size:12px}.dc-keys{color:var(--ink-dim);font-size:13px}.dc-keys .k{color:var(--teal);font-weight:800}.dc-warning{min-height:22px;color:var(--ink-dim);font-size:15px;font-weight:700}.dc-warning.on{color:var(--magenta)}.dc-readout-row{justify-content:center;gap:26px;display:flex}.dc-readout{flex-direction:column;gap:2px;display:flex}.dc-readout .l{color:var(--ink-dim);font-size:12px}.dc-readout .v{font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.dc-readout-big{color:var(--teal);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.dc-delta{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.dc-delta.locked{color:var(--teal)}.dc-knob-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.dc-knob{background:radial-gradient(circle at 50% 32%, var(--surface-2,#1c2230), var(--surface));border:2px solid var(--edge);cursor:ns-resize;touch-action:none;border-radius:50%;position:relative}.dc-knob:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dc-knob-pointer{display:block;position:absolute;inset:0}.dc-knob-pointer:before{content:"";background:var(--gold);border-radius:2px;width:3px;height:30%;margin-left:-1.5px;position:absolute;top:8%;left:50%}.dc-knob-label{color:var(--ink-dim);text-transform:lowercase;font-size:11px}.dc-knob-value{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px}.dc-knob-row{justify-content:center;gap:34px;display:flex}.dc-fader-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.dc-fader{background:var(--surface);border:1px solid var(--edge);cursor:ns-resize;touch-action:none;border-radius:12px;width:42px;position:relative}.dc-fader:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dc-fader-center{background:var(--edge);height:1px;position:absolute;top:50%;left:6px;right:6px}.dc-fader-thumb{background:var(--gold);border-radius:7px;height:20px;margin-top:-10px;position:absolute;left:3px;right:3px;box-shadow:0 2px 6px #00000080}.dc-xfader-wrap{align-items:center;gap:10px;width:100%;max-width:420px;display:flex}.dc-xfader-deck{color:var(--ink-dim);font-size:14px;font-weight:800}.dc-xfader{background:var(--surface);border:1px solid var(--edge);cursor:ew-resize;touch-action:none;border-radius:14px;flex:1;height:44px;position:relative}.dc-xfader:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dc-xfader:before{content:"";background:var(--edge);height:2px;position:absolute;top:50%;left:10px;right:10px}.dc-xfader-thumb{background:var(--gold);border-radius:8px;width:26px;margin-left:-13px;position:absolute;top:4px;bottom:4px;box-shadow:0 2px 8px #0000008c}.dc-deck-row{justify-content:center;align-items:center;gap:12px;display:flex}.dc-bend{background:var(--surface);border:1px solid var(--edge);width:52px;height:52px;color:var(--ink);touch-action:none;border-radius:16px;font-size:24px;font-weight:800}.dc-bend:active{background:var(--gold);color:#16130a}.dc-platter{background:var(--surface);border:2px solid var(--edge);border-radius:50%;flex-shrink:0;position:relative}.dc-platter.interactive{cursor:grab;touch-action:none}.dc-platter.interactive:active{cursor:grabbing}.dc-platter-ring{border:1px solid var(--edge);border-radius:50%;position:absolute;inset:12%}.dc-platter-hub{background:#ffc54d29;border-radius:50%;position:absolute;inset:36%}.dc-platter-marker{position:absolute;inset:0}.dc-platter-marker:before{content:"";background:var(--gold);border-radius:2px;width:4px;height:15%;margin-left:-2px;position:absolute;top:5%;left:50%}.dc-loop-pads{gap:10px;width:100%;max-width:420px;display:flex}.dc-loop-pad{border:1px solid var(--edge);min-height:68px;color:var(--ink-dim);font-variant-numeric:tabular-nums;background:#ffc54d0d;border-radius:12px;flex:1;font-size:19px;font-weight:800}.dc-loop-pad.suggested{border:2px solid var(--gold);color:var(--gold);background:#ffc54d2e}.dc-loop-pad.engaged{color:var(--teal);border-color:var(--teal)}.dc-phase-meter{background:var(--surface);border:1px solid var(--edge);border-radius:12px;width:100%;max-width:420px;height:34px;position:relative;overflow:hidden}.dc-phase-band{background:#3ddcbf1f;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.dc-phase-center{background:var(--edge);width:1px;position:absolute;top:0;bottom:0;left:50%}.dc-phase-needle{background:var(--gold);border-radius:2px;width:4px;margin-left:-2px;transition:left 60ms linear;position:absolute;top:3px;bottom:3px}.dc-phase-needle.locked{background:var(--teal)}.dc-phase-tag{color:var(--ink-faint);font-size:10px;position:absolute;top:50%;transform:translateY(-50%)}.dc-phase-tag.l{left:8px}.dc-phase-tag.r{right:8px}.dc-ribbon{width:100%;max-width:460px;height:26px;position:relative}.dc-ribbon-track{background:var(--surface);border:1px solid var(--edge);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.dc-ribbon-cue{background:var(--gold);border-radius:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;position:absolute;top:50%}.dc-ribbon-head{background:var(--teal);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:2px;bottom:2px}.dc-runway{width:100%;max-width:460px;position:relative}.dc-bar-label{color:var(--ink-dim);margin-bottom:4px;font-weight:700}.dc-runway-droplabel{color:var(--gold);margin-bottom:2px;font-size:10px;font-weight:900;display:inline-block;position:relative;transform:translate(-50%)}.dc-runway-strip{gap:2px;height:30px;display:flex;position:relative}.dc-runway-strip.solo{background:var(--surface);border:1px solid var(--edge);border-radius:8px}.dc-runway-stage{color:var(--ink-dim);background:var(--surface);white-space:nowrap;border-radius:6px;place-items:center;font-size:11px;display:grid;overflow:hidden}.dc-runway-stage.active{background:var(--gold);color:#16130a;font-weight:800}.dc-runway-drop{background:var(--gold);width:2.5px;position:absolute;top:0;bottom:0}.dc-runway-head{background:#fff;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-3px;bottom:-3px}.dc-stage-task{color:var(--ink-dim);text-align:center;margin-top:6px;font-size:13px}.dc-scrubber{background:var(--surface);border:1px solid var(--edge);cursor:ew-resize;touch-action:none;border-radius:12px;width:100%;max-width:460px;height:62px;position:relative;overflow:hidden}.dc-scrubber:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dc-scrub-bar{background:var(--edge);width:1px;position:absolute;top:30%;bottom:30%}.dc-scrub-target{background:var(--gold);width:3px;margin-left:-1.5px;position:absolute;top:0;bottom:0}.dc-scrub-cue{background:var(--magenta);border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:6px}.dc-scrub-head{background:var(--teal);width:3px;margin-left:-1.5px;position:absolute;top:0;bottom:0}.dc-mix-grid{justify-content:center;align-items:flex-start;gap:18px;width:100%;display:flex}.dc-eq-col{flex-direction:column;gap:4px;display:flex}.dc-btn-row{gap:12px;display:flex}.results .hint-line{color:var(--gold);max-width:400px;margin:4px auto 10px;font-size:14px}.results .celebration-line{color:var(--teal);margin-bottom:8px;font-size:15px;font-weight:700}@media (max-width:560px){.learn-nav{flex-wrap:wrap;justify-content:center;gap:7px}.learn-nav .name{display:none}.learn-nav .learn-tab{padding:6px 9px;font-size:13px}.learn-nav .spacer{display:none}.dc-deck-row{gap:8px}.dc-knob-row{gap:20px}.dc-mix-grid{flex-direction:column;align-items:center}}.deck-surface[data-layout=booth],.deck-surface[data-layout=cdj]{border-radius:20px;padding:18px 14px 22px}.deck-surface[data-layout=booth]{background:var(--surface);border:1px solid var(--edge)}.deck-surface[data-layout=cdj]{background:var(--bg);border:1px solid #2de5c440}.deck-surface[data-layout=booth] .dc-knob,.deck-surface[data-layout=cdj] .dc-knob{background:radial-gradient(circle at 50% 30%,#262c3d,#1d2230);border-color:#363d55}.deck-surface[data-layout=booth] .dc-knob-pointer:before,.deck-surface[data-layout=cdj] .dc-knob-pointer:before{background:var(--ink)}.deck-surface[data-layout=booth] .dc-fader,.deck-surface[data-layout=cdj] .dc-fader{background:#12151f;border-color:#363d55}.deck-surface[data-layout=booth] .dc-fader-thumb,.deck-surface[data-layout=cdj] .dc-fader-thumb{background:linear-gradient(#3a4157,#262c3d);box-shadow:inset 0 0 0 1px #ffffff14,0 2px 6px #00000080}.deck-surface[data-layout=booth] .dc-fader-thumb:after,.deck-surface[data-layout=cdj] .dc-fader-thumb:after{content:"";background:var(--ink);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:4px;right:4px}.deck-surface[data-layout=booth] .dc-xfader,.deck-surface[data-layout=cdj] .dc-xfader{background:#12151f;border-color:#363d55}.deck-surface[data-layout=booth] .dc-xfader-thumb,.deck-surface[data-layout=cdj] .dc-xfader-thumb{background:linear-gradient(#3a4157,#262c3d);position:absolute;box-shadow:inset 0 0 0 1px #ffffff14,0 2px 8px #0000008c}.deck-surface[data-layout=booth] .dc-xfader-thumb:after,.deck-surface[data-layout=cdj] .dc-xfader-thumb:after{content:"";background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:4px;bottom:4px;left:50%}.deck-surface[data-layout=booth] .dc-bend,.deck-surface[data-layout=cdj] .dc-bend{background:#1d2230;border-color:#363d55}.deck-surface[data-layout=booth] .dc-platter,.deck-surface[data-layout=cdj] .dc-platter{background:radial-gradient(circle at 50% 38%,#232939,#191d2a);border-color:#363d55}.deck-surface[data-layout=booth] .dc-platter:before,.deck-surface[data-layout=cdj] .dc-platter:before{content:"";border:1px solid var(--edge);border-radius:50%;position:absolute;inset:20%}.deck-surface[data-layout=booth] .dc-platter:after,.deck-surface[data-layout=cdj] .dc-platter:after{content:"";border:1px solid var(--edge);border-radius:50%;position:absolute;inset:28%}.deck-surface[data-layout=booth] .dc-platter-hub,.deck-surface[data-layout=cdj] .dc-platter-hub{background:#2de5c429}.deck-surface[data-layout=booth] .dc-platter-marker:before,.deck-surface[data-layout=cdj] .dc-platter-marker:before{background:var(--teal)}.deck-surface[data-layout=cdj] .dc-platter{margin:4px;box-shadow:0 0 0 2px #2de5c473,0 0 22px #2de5c429}.deck-surface[data-layout=cdj] .dc-readout{border:1px solid var(--edge);background:#1d2230;border-radius:8px;padding:6px 12px}.deck-surface[data-layout=cdj] .dc-readout .v{color:var(--teal)}.dl-picker{text-align:left;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;display:grid}@media (max-width:900px){.dl-picker{grid-template-columns:1fr;max-width:400px;margin-inline:auto}}.dl-tile{background:var(--surface);border:1px solid var(--edge);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:none;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:88px minmax(0,1fr);align-content:center;align-items:center;gap:2px 12px;padding:9px 12px;display:grid;position:relative}.dl-picker .dl-tile:hover:not(:disabled){border-color:var(--ink-faint);box-shadow:none;transform:none}.dl-picker .dl-tile[aria-pressed=true],.dl-picker .dl-tile[aria-pressed=true]:hover:not(:disabled){border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.dl-preview{background:var(--surface-2,#1a1d28);width:88px;height:46px;color:var(--ink-dim);border-radius:9px;grid-row:1/3;justify-content:center;align-items:center;display:flex;position:relative}.dl-glyph{width:76px;height:32px}.dl-tile[aria-pressed=true] .dl-preview{color:var(--teal)}.dl-lock{color:#fff;background:#00000073;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:6px;right:6px}.dl-name-row{grid-column:2;align-items:center;gap:6px;font-size:13.5px;font-weight:800;display:flex}.dl-name-row .crown{color:var(--gold);display:inline-flex}.dl-name-row .check{color:var(--teal);display:inline-flex}.dl-blurb{color:var(--ink-dim);grid-column:2;font-size:11.5px}.dl-toggle{color:var(--ink-dim);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:4px;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dl-toggle:hover{color:var(--ink)}.decks-wrap{max-width:1180px}.decks-hero{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;padding:20px 0 0;display:flex}.decks-hero h1{font-size:clamp(19px,2.4vw,24px)}.decks-sub{color:var(--ink-dim);margin:0;font-size:13.5px}.fp-surface{touch-action:auto;margin-top:16px}.fp-performance{border:1px solid var(--edge);background:linear-gradient(#171a27,#10121c);border-radius:22px;max-width:none;padding:10px;box-shadow:0 26px 70px #00000073,inset 0 1px #ffffff0a}.fp-surface[data-layout=booth]{background:linear-gradient(#1b1f2e,#141724)}.fp-surface[data-layout=cdj]{background:linear-gradient(#0b0d14,#08090f);border-color:#2de5c447}.fp-grid{grid-template-columns:minmax(0,1fr) clamp(150px,17vw,208px) minmax(0,1fr);gap:10px;margin-top:10px;display:grid}.fp-deck{background:linear-gradient(#12151f,#0e1018);border:1px solid #232839;border-radius:14px;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:12px 14px 16px;display:flex}.fp-surface[data-layout=cdj] .fp-deck{background:#0a0c12;border-color:#2de5c438}.fp-deck-head{text-align:left;border-bottom:1px solid #1c2130;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0 0 8px;display:flex}.fp-head-id{align-items:baseline;gap:8px;min-width:0;display:flex}.fp-deck-play{width:26px;height:26px;color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:7px;flex-shrink:0;align-self:center;place-items:center;font-size:11px;line-height:1;display:grid}.fp-deck-play:hover:not(:disabled){background:#ffffff1a}.fp-deck-play.paused{color:var(--teal);border-color:#2de5c466}.fp-deck-play:disabled{opacity:.4;cursor:default}.fp-head-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fp-deck-tag{color:var(--teal);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:800}.fp-deck[data-deck=b] .fp-deck-tag{color:#ffad3a}.fp-bed-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.fp-deck-removed{text-transform:uppercase;letter-spacing:.06em;color:#ffad3a;white-space:nowrap;border:1px solid #ffad3a73;border-radius:6px;flex:none;padding:1px 6px;font-size:9px;font-weight:700}.fp-bpm{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-size:14px;font-weight:800}.fp-surface[data-layout=cdj] .fp-bpm{color:var(--teal);border:1px solid var(--edge);background:#1d2230;border-radius:7px;padding:4px 8px;font-weight:900}.fp-time{font-variant-numeric:tabular-nums;color:var(--ink-dim);gap:6px;font-size:12px;display:inline-flex}.fp-time-remaining{color:var(--ink-faint)}.fp-key-chip{border:1px solid var(--edge);color:var(--ink-dim);font-variant-numeric:tabular-nums;background:#1d2230;border-radius:7px;align-items:center;padding:2px 7px;font-size:12px;font-weight:800;display:inline-flex}.fp-key-chip.compat{color:#4ade80;background:#4ade801a;border-color:#4ade8073}.fp-deck-ctl{justify-content:center;align-items:flex-start;gap:24px;width:100%;display:flex}.fp-jog{flex-direction:column;align-items:center;gap:10px;display:flex}.fp-bend-row{align-items:center;gap:12px;display:flex}.fp-bend-tag{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:9px;font-weight:800}.fp-performance .fp-bend-row .dc-bend{width:46px;height:30px;color:var(--ink-dim);background:#10131d;border:1px solid #2b3043;border-radius:9px;padding:0;font-size:16px;line-height:1;box-shadow:inset 0 -2px #0006}.fp-performance .fp-bend-row .dc-bend:hover:not(:disabled){border-color:var(--ink-faint);transform:none;box-shadow:inset 0 -2px #0006}.fp-performance .fp-bend-row .dc-bend:active{background:var(--gold);border-color:var(--gold);color:#16130a}.fp-performance .fp-jog .dc-platter{background:radial-gradient(circle at 50% 34%,#1c2230,#12151f 58%,#0d0f16);border:2px solid #2b3043;box-shadow:0 10px 26px #00000073,inset 0 0 0 1px #ffffff08}.fp-performance .fp-jog .dc-platter:before{content:"";opacity:.55;pointer-events:none;background:repeating-radial-gradient(circle,#0000 0 3px,#0006 3px 4px);border-radius:50%;position:absolute;inset:15%}.fp-performance .fp-jog .dc-platter:after{content:none}.fp-performance .fp-jog .dc-platter-ring{pointer-events:none;background:repeating-conic-gradient(#9aa1b666 0deg 1.4deg,#0000 1.4deg 22.5deg);border:none;border-radius:50%;inset:3px;-webkit-mask:radial-gradient(circle,#0000 0 81%,#000 82%);mask:radial-gradient(circle,#0000 0 81%,#000 82%)}.fp-performance .fp-jog .dc-platter-hub{background:radial-gradient(circle at 50% 36%,#1a1f2c,#0e1018);border:1px solid #2b3043;inset:28%}.dc-platter-bpm{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.dc-platter-bpm .n{font-variant-numeric:tabular-nums;color:var(--teal);font-size:16px;font-weight:800}.dc-platter-bpm .u{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px;font-size:7.5px;font-weight:700}.fp-deck[data-deck=b] .dc-platter-bpm .n{color:#ffad3a}.fp-performance .fp-jog .dc-platter-marker:before{background:var(--teal);width:3px;height:9.5%;top:2.5%;box-shadow:0 0 8px #2de5c4cc}.fp-performance .fp-deck[data-deck=b] .dc-platter-marker:before{background:#ffad3a;box-shadow:0 0 8px #ffad3acc}.fp-surface[data-layout=cdj] .fp-jog .dc-platter{box-shadow:0 0 0 2px #2de5c473,0 0 22px #2de5c429,0 10px 26px #00000073}.fp-performance .fp-deck .dc-fader-wrap{grid-template-rows:1fr auto 1fr;grid-template-columns:auto minmax(0,auto);place-items:center start;column-gap:9px;display:grid}.fp-performance .fp-deck .dc-fader-wrap .dc-fader{background-color:#0d0f16;background-image:repeating-linear-gradient(#9aa1b68c 0 1px,#0000 1px calc(6.25% - .0625px)),repeating-linear-gradient(#9aa1b68c 0 1px,#0000 1px calc(6.25% - .0625px));background-position:3px 0,right 3px top 0;background-repeat:no-repeat;background-size:5px 100%,5px 100%;border:1px solid #2b3043;border-radius:9px;grid-area:1/1/4;width:44px}.fp-performance .fp-deck .dc-fader-wrap .dc-knob-label{letter-spacing:.14em;text-transform:uppercase;grid-area:1/2;align-self:end;max-width:66px;font-size:9px;font-weight:800}.fp-performance .fp-deck .dc-fader-wrap .dc-fader-read{flex-direction:column;grid-area:2/2;gap:2px;display:flex}.fp-performance .fp-deck .dc-fader-read .sep{display:none}.fp-performance .fp-deck .dc-fader-read .pct{color:var(--ink);font-size:13px;font-weight:800}.fp-performance .fp-deck .dc-fader-read .ebpm{color:var(--ink-dim);font-size:10.5px}.fp-performance .fp-deck .dc-fader-center{background:#2de5c48c;height:2px;margin-top:-1px;left:2px;right:2px}.fp-performance .fp-deck[data-deck=b] .dc-fader-center{background:#ffad3a8c}.fp-performance .fp-deck .dc-fader-thumb{background:linear-gradient(#3a4157,#232939);border-radius:5px;height:22px;margin-top:-11px;left:2px;right:2px;box-shadow:inset 0 0 0 1px #ffffff14,0 3px 8px #0000008c}.fp-performance .fp-deck .dc-fader-thumb:after{content:"";background:var(--ink);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:3px;right:3px}.fp-performance .fp-deck .dc-eq-col{gap:6px}.fp-performance .fp-deck .dc-eq-col:before{content:"eq";letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);text-align:center;font-size:9px;font-weight:800}.fp-performance .dc-knob-wrap .dc-knob{background:radial-gradient(circle at 50% 30%,#262c3d,#171b28 70%,#12151f);border:1px solid #363d55;box-shadow:0 4px 10px #0006,inset 0 1px #ffffff0f}.fp-performance .dc-knob-wrap .dc-knob-pointer:before{background:var(--ink);width:2.5px}.fp-performance .dc-knob-label{letter-spacing:.1em;text-transform:uppercase;font-size:9.5px;font-weight:700}.fp-performance .dc-knob-value{font-size:10px}.fp-wave-strip{background:#07080d;border:1px solid #232839;border-radius:14px 14px 8px 8px;height:172px;overflow:hidden;box-shadow:inset 0 2px 12px #00000080}.fp-wave-strip.scrubbable:active{cursor:grabbing}.fp-keys{margin-top:6px}.fp-keys-toggle{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:5px 14px;font-size:11px;font-weight:700}.fp-keys-toggle:hover{color:var(--teal);background:#ffffff12}.fp-keys-panel{background:#07080d;border:1px solid #232839;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin-top:8px;padding:12px 14px;display:grid}.fp-keys-group h4{letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:0 0 5px;font-size:10px;font-weight:800}.fp-keys-row{color:var(--ink-dim);align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.fp-keys-row kbd{text-align:center;min-width:44px;font-family:var(--mono,ui-monospace, monospace);color:var(--ink);background:#12151f;border:1px solid #2c3243;border-radius:5px;flex:none;padding:2px 6px;font-size:11px}.stems-poc{max-width:640px;margin:0 auto;padding:24px 0}.stems-poc-note{color:var(--ink-dim);margin:8px 0 20px;font-size:13px;line-height:1.5}.stems-poc-source{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stems-poc-source select{color:var(--ink);background:#12151f;border:1px solid #2c3243;border-radius:8px;padding:8px 10px}.stems-poc-file{cursor:pointer}.stems-poc-meta{color:var(--ink-dim);align-items:center;gap:14px;margin-top:22px;font-size:13px;display:flex}.stems-poc-stems{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.stems-poc-stem{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#0d1017;border:1px solid #2c3243;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;font-size:12px;font-weight:700;display:flex}.stems-poc-stem span{letter-spacing:.1em;color:var(--teal);font-size:10px;font-weight:600}.stems-poc-stem.muted{opacity:.45}.stems-poc-stem.muted span{color:var(--ink-faint)}.fp-wave-strip canvas{width:100%;height:100%;display:block}.fp-overview{background:#07080d;border:1px solid #232839;border-radius:8px;width:100%;height:50px;overflow:hidden}.fp-overview.seekable{cursor:pointer}.fp-overview:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.fp-overview canvas{width:100%;height:100%;display:block}.fp-sync-row,.fp-cue-row,.fp-loop-row,.fp-stem-row{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;display:flex}.fp-cue-row:before,.fp-loop-row:before,.fp-stem-row:before{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);text-align:left;flex-basis:100%;margin-bottom:-1px;padding-left:2px;font-size:9px;font-weight:800}.fp-cue-row:before{content:"hot cues"}.fp-loop-row:before{content:"loop"}.fp-stem-row:before{content:"stems"}.fp-sync-btn,.fp-cue-pad,.fp-loop-pad,.fp-stem-chip{font:inherit;color:var(--ink-dim);border:1px solid var(--edge);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#10131d;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800;position:relative}.fp-sync-btn:hover:not(:disabled),.fp-cue-pad:hover:not(:disabled),.fp-loop-pad:hover:not(:disabled),.fp-stem-chip:hover:not(:disabled){border-color:var(--ink-faint);color:var(--ink);box-shadow:none;transform:none}.fp-sync-btn:hover:not(:disabled){box-shadow:inset 0 -2px #00000059}.fp-cue-pad:hover:not(:disabled){box-shadow:inset 0 -2px #0006}.fp-sync-btn:disabled,.fp-cue-pad:disabled,.fp-loop-pad:disabled,.fp-stem-chip:disabled{opacity:.45;cursor:default}.fp-sync-row{gap:8px;margin-top:2px}.fp-sync-btn{letter-spacing:.07em;text-transform:uppercase;flex:1;max-width:138px;padding:9px 10px;font-size:11px;box-shadow:inset 0 -2px #00000059}.fp-sync-btn.active{color:var(--teal);background:#2de5c414;border-color:#2de5c48c;box-shadow:0 0 12px #2de5c42e}.fp-sync-btn.locked,.fp-stem-chip.locked{color:var(--gold);border-color:#ffc54d66}.fp-lock{vertical-align:1px;margin-left:5px;display:inline-flex}.fp-cue-row{gap:8px}.fp-cue-pad{aspect-ratio:1.25;min-width:0;max-width:66px;color:var(--ink-faint);text-transform:uppercase;background:#0c0e15;border:1px solid #2b3043;border-radius:8px;flex:1;padding:0;font-size:13px;box-shadow:inset 0 -2px #0006}.fp-cue-pad.set{color:#2b1802;background:linear-gradient(180deg, #ffd98a, var(--gold));border-color:#ffc54dcc;box-shadow:0 0 14px #ffc54d47,inset 0 1px #ffffff80}.fp-cue-pad.set:hover:not(:disabled){color:#2b1802;border-color:var(--gold);box-shadow:0 0 14px #ffc54d47,inset 0 1px #ffffff80}.fp-cue-pad.set:active{filter:brightness(1.2)}.fp-loop-row{gap:0}.fp-loop-pad{font-variant-numeric:tabular-nums;background:#0c0e15;border-radius:0;flex:1;min-width:0;max-width:56px;margin-left:-1px;padding:8px 0;font-size:12px}.fp-loop-row .fp-loop-pad:first-of-type{border-radius:8px 0 0 8px;margin-left:0}.fp-loop-row .fp-loop-pad:nth-of-type(4){border-radius:0 8px 8px 0}.fp-loop-pad.mod{min-width:38px;color:var(--ink-faint);flex:0 auto}.fp-loop-row .fp-loop-pad.mod:nth-of-type(5){border-radius:8px 0 0 8px;margin-left:8px}.fp-loop-row .fp-loop-pad:nth-of-type(7){border-radius:0 8px 8px 0}.fp-loop-pad.engaged{z-index:1;color:#04201b;background:var(--teal);border-color:var(--teal);position:relative;box-shadow:0 0 12px #2de5c459}.fp-loop-pad.engaged:hover:not(:disabled){color:#04201b;border-color:var(--teal);box-shadow:0 0 12px #2de5c459}.fp-deck[data-deck=b] .fp-loop-pad.engaged{color:#2b1802;background:#ffad3a;border-color:#ffad3a;box-shadow:0 0 12px #ffad3a59}.fp-deck[data-deck=b] .fp-loop-pad.engaged:hover:not(:disabled){color:#2b1802;border-color:#ffad3a;box-shadow:0 0 12px #ffad3a59}.fp-stem-row{gap:8px}.fp-stem-chip{border-radius:999px;align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.fp-stem-chip:before{content:"";background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #2de5c4b3}.fp-deck[data-deck=b] .fp-stem-chip:before{background:#ffad3a;box-shadow:0 0 6px #ffad3ab3}.fp-stem-chip.locked:before,.fp-deck[data-deck=b] .fp-stem-chip.locked:before{box-shadow:none;background:#ffc54d8c}.fp-stem-chip.muted{color:var(--magenta);background:#ff3d9a14;border-color:#ff3d9a80;text-decoration:line-through}.fp-stem-chip.muted:before,.fp-deck[data-deck=b] .fp-stem-chip.muted:before{box-shadow:none;background:#9aa1b659}.fp-center{background:linear-gradient(#12151f,#0e1018);border:1px solid #232839;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;min-width:0;padding:12px 12px 14px;display:flex}.fp-surface[data-layout=cdj] .fp-center{background:#0a0c12;border-color:#2de5c438}.fp-trim-row{justify-content:center;align-items:flex-start;gap:16px;display:flex}.fp-meters{flex-direction:column;flex:1;align-self:stretch;align-items:center;gap:3px;min-height:150px;display:flex}.fp-meters canvas{background:#07080d;border:1px solid #232839;border-radius:8px;flex:1;width:100%;max-width:116px;min-height:0;display:block}.fp-meter-tags{letter-spacing:.08em;width:100%;max-width:116px;color:var(--ink-faint);text-transform:uppercase;justify-content:space-around;font-size:9px;font-weight:800;display:flex}.fp-center .dc-xfader-wrap{gap:8px;width:100%;max-width:none}.fp-center .dc-xfader-deck{text-transform:uppercase;font-size:11px;font-weight:800}.fp-center .dc-xfader-deck:first-child{color:var(--teal)}.fp-center .dc-xfader-deck:last-child{color:#ffad3a}.fp-center .dc-xfader-wrap .dc-xfader{background:#0d0f16;border:1px solid #2b3043;border-radius:10px;height:38px}.fp-center .dc-xfader-wrap .dc-xfader:before{background:#2b3043;left:8px;right:8px}.fp-center .dc-xfader-wrap .dc-xfader-thumb{background:linear-gradient(#3a4157,#232939);border-radius:6px;width:24px;margin-left:-12px;box-shadow:inset 0 0 0 1px #ffffff14,0 2px 8px #0000008c}.fp-center .dc-xfader-wrap .dc-xfader-thumb:after{content:"";background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:5px;bottom:5px;left:50%}.fp-transport{width:100%;margin-top:auto;padding-top:2px}.fp-power{background:linear-gradient(160deg, var(--teal), #17b89b);color:#04201b;width:100%;min-height:50px;font-family:var(--font-display), sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #2de5c480;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;position:relative;box-shadow:0 10px 24px #2de5c438}.fp-transport .fp-power:hover:not(:disabled){filter:brightness(1.08);transform:none;box-shadow:0 12px 28px #2de5c44d}.fp-power-led{opacity:.7;background:#04201b;border-radius:50%;flex-shrink:0;width:9px;height:9px}.fp-power.live{color:var(--ink);background:#0d0f16;border-color:#363d55;box-shadow:inset 0 2px 6px #00000080}.fp-transport .fp-power.live:hover:not(:disabled){filter:none;border-color:var(--ink-faint);box-shadow:inset 0 2px 6px #00000080}.fp-power.live .fp-power-led{background:var(--gold);opacity:1;animation:1.3s ease-in-out infinite fp-led;box-shadow:0 0 10px #ffc54dcc}@keyframes fp-led{50%{opacity:.35}}.fp-library{background:#0e1018;border:1px solid #232839;border-radius:8px 8px 14px 14px;margin-top:10px;overflow:hidden}.fp-lib-head{border-bottom:1px solid #232839;align-items:center;gap:12px;padding:10px 14px;display:flex}.fp-lib-head h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);margin:0;font-size:14px;font-weight:800}.fp-lib-search{background:var(--bg);border:1px solid var(--edge);min-width:0;color:var(--ink);border-radius:10px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.fp-lib-search:focus{border-color:var(--teal)}.fp-lib-count{color:var(--ink-faint);white-space:nowrap;font-size:12px}.fp-lib-credit{justify-content:flex-start}.fp-lib-credit a{color:var(--teal);text-decoration:none}.fp-lib-credit a:hover{text-decoration:underline}.fp-lib-scroll{max-height:320px;overflow:auto}.fp-lib-table{border-collapse:collapse;width:100%;font-size:13px}.fp-lib-table th{z-index:1;text-align:left;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);background:#0e1018;border-bottom:1px solid #232839;padding:8px 10px;font-size:10px;font-weight:800;position:sticky;top:0}.fp-lib-table td{vertical-align:middle;border-bottom:1px solid #2b304366;padding:6px 10px}.fp-lib-table .th-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fp-lib-table .th-wave{width:84px}.fp-lib-table .th-load{text-align:right;width:90px}.fp-lib-row{cursor:pointer}.fp-lib-row:hover{background:#f3f6fc0d}.fp-lib-row.selected,.fp-lib-row.selected:hover{background:#2de5c414}.fp-lib-row:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.fp-lib-row.on-a>td:first-child{box-shadow:inset 3px 0 0 var(--teal)}.fp-lib-row.on-b>td:first-child{box-shadow:inset 3px 0 #ffad3a}.fp-thumb{background:#07080d;border-radius:4px;width:72px;height:28px;display:block}.td-name{color:var(--ink);white-space:nowrap;font-weight:600}.td-bpm{color:var(--ink-dim)}.fp-on-deck{text-transform:uppercase;border-radius:5px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:7px;font-size:10px;font-weight:900;display:inline-flex}.fp-on-deck.a{color:#06251f;background:var(--teal)}.fp-on-deck.b{color:#2b1802;background:#ffad3a}.td-load{text-align:right;white-space:nowrap}.fp-load-btn{font:inherit;text-transform:uppercase;width:30px;height:26px;color:var(--ink-dim);cursor:pointer;box-shadow:none;background:#12151f;border:1px solid #363d55;border-radius:8px;margin-left:6px;padding:0;font-size:11px;font-weight:900;transition:background .12s,color .12s,border-color .12s}.fp-load-btn.a:hover:not(:disabled){color:#04201b;background:var(--teal);border-color:var(--teal);box-shadow:none;transform:none}.fp-load-btn.b:hover:not(:disabled){color:#2b1802;box-shadow:none;background:#ffad3a;border-color:#ffad3a;transform:none}.fp-lib-empty{text-align:center;color:var(--ink-faint);padding:18px 10px}.fp-lib-tabs{border-bottom:1px solid #232839;gap:4px;padding:8px 14px 0;display:flex}.fp-lib-tab{font:inherit;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:7px 14px;font-size:11px;font-weight:800}.fp-lib-tab:hover{color:var(--ink-dim)}.fp-lib-tab.active{color:var(--teal);background:#12151f;border-color:#232839}.fp-mylib{flex-direction:column;display:flex}.fp-mylib.drag-over{outline:2px dashed var(--teal);outline-offset:-6px}.fp-mylib-gate{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 18px;display:flex}.fp-mylib-gate .gate-lead{color:var(--ink);max-width:420px;margin:0;font-size:15px;font-weight:700}.fp-mylib-gate .fine{color:var(--ink-faint);max-width:420px;margin:0;font-size:12px}.fp-mylib-gate .err{color:#ff7d7d;margin:0;font-size:12px}.fp-import-btn{font:inherit;text-transform:uppercase;letter-spacing:.06em;color:#04201b;background:var(--teal);border:1px solid var(--teal);cursor:pointer;white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:11px;font-weight:900}.fp-import-btn:hover{filter:brightness(1.08)}.fp-lib-sort{font:inherit;color:var(--ink-dim);background:var(--bg);border:1px solid var(--edge);border-radius:10px;padding:7px 8px;font-size:12px}.fp-import-log{border-bottom:1px solid #232839;flex-direction:column;gap:2px;margin:0;padding:6px 14px;font-size:12px;list-style:none;display:flex}.fp-import-log li{color:var(--ink-dim);justify-content:space-between;gap:12px;display:flex}.fp-import-log li.failed .fp-import-state{color:#ff7d7d}.fp-import-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fp-import-state{color:var(--ink-faint);white-space:nowrap}.fp-mylib-body{align-items:stretch;min-height:0;display:flex}.fp-playlist-rail{border-right:1px solid #232839;flex-direction:column;flex:0 0 168px;gap:2px;max-height:320px;padding:10px 8px;display:flex;overflow-y:auto}.fp-playlist-row{align-items:center;gap:2px;min-width:0;display:flex}.fp-playlist{min-width:0;font:inherit;text-align:left;color:var(--ink-dim);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:6px 8px;font-size:12px;font-weight:600;overflow:hidden}.fp-playlist:hover{background:#f3f6fc0d}.fp-playlist.active{color:var(--teal);background:#2de5c414}.fp-playlist-delete{font:inherit;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:4px 6px;font-size:13px;line-height:1}.fp-playlist-delete:hover{color:#ff7d7d;background:#ff7d7d14}.fp-playlist-new{gap:4px;margin-top:6px;display:flex}.fp-playlist-new input,.fp-playlist-rename{min-width:0;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--edge);border-radius:8px;outline:none;flex:1;padding:5px 8px;font-size:12px}.fp-playlist-new input:focus,.fp-playlist-rename:focus{border-color:var(--teal)}.fp-playlist-new button{font:inherit;color:var(--ink-dim);cursor:pointer;background:#12151f;border:1px solid #363d55;border-radius:8px;width:28px;font-size:14px;font-weight:900}.fp-playlist-new button:hover{color:var(--teal);border-color:var(--teal)}.fp-mylib .fp-lib-scroll{flex:1;min-width:0}.fp-lib-row.missing>td{opacity:.45}.fp-lib-row.missing>.td-load,.fp-lib-row.missing>.td-name{opacity:.75}.fp-missing-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border:1px solid #363d55;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700}.td-artist{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.td-time{color:var(--ink-dim)}.fp-cell-btn{font:inherit;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-bottom:1px dashed #9aa1b666;padding:1px 2px;font-size:13px}.fp-cell-btn:hover{border-bottom-color:var(--teal)}.fp-cell-input{font:inherit;width:76px;color:var(--ink);background:var(--bg);border:1px solid var(--teal);border-radius:6px;outline:none;padding:3px 6px;font-size:12px}.th-crate{width:92px}.fp-crate-select{font:inherit;color:var(--ink-faint);background:var(--bg);border:1px solid var(--edge);border-radius:8px;max-width:88px;padding:4px;font-size:11px}.fp-crate-btn,.fp-reimport-btn{font:inherit;color:var(--ink-dim);cursor:pointer;white-space:nowrap;background:#12151f;border:1px solid #363d55;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700}.fp-crate-btn:hover{color:#ff7d7d;border-color:#ff7d7d}.fp-reimport-btn:hover{color:var(--teal);border-color:var(--teal)}.fp-crate-none{color:var(--ink-faint)}.fp-manage-btn{font:inherit;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);background:var(--bg);border:1px solid var(--edge);cursor:pointer;white-space:nowrap;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:700}.fp-manage-btn:hover{color:var(--teal);border-color:var(--teal)}.fp-manage-btn.active{color:var(--teal);border-color:var(--teal);background:#2de5c414}.fp-manage-bar{color:var(--ink-dim);border-bottom:1px solid #232839;align-items:center;gap:10px;padding:6px 14px;font-size:12px;display:flex}.fp-manage-count{font-variant-numeric:tabular-nums}.fp-confirm-copy{color:var(--ink)}.fp-confirm-delete{font:inherit;color:#ff7d7d;cursor:pointer;white-space:nowrap;background:#12151f;border:1px solid #ff7d7d;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700}.fp-confirm-delete:hover:not(:disabled){color:#04201b;background:#ff7d7d}.fp-confirm-delete:disabled{opacity:.5;cursor:default}.fp-confirm-keep{font:inherit;color:var(--ink-dim);cursor:pointer;white-space:nowrap;background:#12151f;border:1px solid #363d55;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700}.fp-confirm-keep:hover{color:var(--ink);border-color:var(--ink-dim)}.fp-manage-bar .err,.fp-confirm-row .err{color:#ff7d7d;font-size:12px}.fp-confirm-row td{color:var(--ink-dim);padding:8px 10px;font-size:12px}.fp-confirm-row td>*+*{margin-left:10px}.th-select,.td-select{text-align:center;width:28px}.fp-select-check{accent-color:var(--teal);cursor:pointer}.th-del,.td-del{text-align:center;width:30px}.fp-track-delete{font:inherit;color:var(--ink-faint);cursor:pointer;opacity:.35;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:14px;line-height:1}.fp-lib-row:hover .fp-track-delete,.fp-track-delete:focus-visible{opacity:1}.fp-track-delete:hover{color:#ff7d7d;background:#ff7d7d14}.fp-cell-title{font-size:inherit;font-variant-numeric:normal;text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.fp-cell-text{width:140px}.fp-lib-storage{color:var(--ink-faint);font-variant-numeric:tabular-nums;border-top:1px solid #232839;padding:6px 14px;font-size:11px}.fp-grid-tools{justify-content:center;gap:4px;margin-top:6px;display:flex}.fp-grid-btn{font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);cursor:pointer;font-variant-numeric:tabular-nums;background:#12151f;border:1px solid #363d55;border-radius:8px;padding:4px 8px;font-size:10px;font-weight:800}.fp-grid-btn:hover:not(:disabled){color:var(--teal);border-color:var(--teal)}.fp-grid-btn:disabled{opacity:.45;cursor:default}.fp-grid-btn.mod{padding:4px 6px}.fp-grid-bpm-input{font:inherit;width:70px;color:var(--ink);background:var(--bg);border:1px solid var(--teal);font-variant-numeric:tabular-nums;border-radius:8px;outline:none;padding:3px 6px;font-size:11px}.decks-layouts{text-align:center;margin-top:26px}.decks-layouts h2{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:12px;font-weight:800}.decks-pitch{text-align:center;color:var(--ink-dim);margin-top:36px;padding-bottom:20px}.decks-pitch p{max-width:520px;margin:0 auto 14px;font-size:15px}.decks-pitch .growth-link{margin-bottom:18px}@media (max-width:1099px){.fp-grid{grid-template-columns:minmax(0,1fr) minmax(140px,156px) minmax(0,1fr);gap:8px}.fp-deck-ctl{gap:16px}.fp-trim-row{gap:10px}}@media (max-width:767px){.fp-grid{grid-template-columns:1fr}.fp-wave-strip{height:132px}.fp-center{flex-flow:wrap;justify-content:center;align-items:stretch;gap:12px 18px}.fp-trim-row{flex-direction:column;justify-content:center;gap:12px}.fp-meters{flex:0 150px;align-self:auto;min-height:140px}.fp-center .dc-xfader-wrap,.fp-transport{flex-basis:100%}.fp-transport{margin-top:0}}@media (max-width:640px){.fp-lib-table .th-wave,.fp-lib-table .td-wave{display:none}.fp-lib-row.on-a>td:first-child,.fp-lib-row.on-b>td:first-child{box-shadow:none}.fp-lib-row.on-a>.td-name{box-shadow:inset 3px 0 0 var(--teal)}.fp-lib-row.on-b>.td-name{box-shadow:inset 3px 0 #ffad3a}.fp-lib-scroll{max-height:260px}.fp-lib-table td,.fp-lib-table th{padding-left:7px;padding-right:7px}.fp-lib-table .th-load{width:76px}.fp-load-btn{margin-left:4px}.fp-mylib-body{flex-direction:column}.fp-playlist-rail{flex:initial;border-bottom:1px solid #232839;border-right:none;flex-flow:wrap;align-items:center;max-height:none}.fp-playlist-new{margin-top:0}.td-artist{display:none}}.pro-checkout.checkout-gate{text-align:center;align-items:center;gap:8px}.pro-checkout.checkout-gate .gate-lead{color:var(--ink);margin:0 0 4px;font-size:15px}.pro-checkout .restore-link{color:var(--teal);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 0 0;font-size:13px;text-decoration:underline}.pro-checkout .restore-link:disabled{opacity:.5;cursor:default}.pro-checkout .resume-line{color:var(--ink-dim);text-align:center;margin:0 0 8px;font-size:13.5px}.save-nudge{background:var(--surface);border:1px solid var(--edge);text-align:center;border-radius:16px;max-width:380px;margin:18px auto 0;padding:14px 16px}.save-nudge p{color:var(--ink-dim);margin:0 0 10px;font-size:14px}.save-nudge .nudge-actions{flex-direction:column;gap:8px;display:flex}.save-nudge .err{color:var(--magenta);margin:8px 0 0;font-size:13px}.claim-notice{background:var(--surface);border:1px solid var(--gold);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.claim-notice p{color:var(--ink);flex:1;margin:0;font-size:13.5px}.claim-notice .btn-ghost{flex-shrink:0;width:auto;padding:8px 14px;font-size:13px}