.spectrum-title .title-hero span{background:linear-gradient(90deg,#fbbf24,#f87171 30%,#f472b6 48%,#a78bfa 70%,#38bdf8);-webkit-background-clip:text;background-clip:text;padding-right:.04em;display:inline-block}.level-card:after{opacity:.55;width:92px;height:8px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 50%, transparent);background:linear-gradient(90deg,#fbbf24 0 26%,#34d399 26% 44%,#f87171 44% 62%,#fde047 62% 64%,#a78bfa 64% 74%,#38bdf8 74% 92%,#e879f9 92%);border:0;border-radius:4px;bottom:30px;right:18px}.ex-figure{background:#0b1224;border-color:#1e293b}.note-diagram:has(svg.example-art){background:#0b1224;border-color:#1e293b;padding:0;overflow:hidden}.spec-card{z-index:4;top:var(--hud-top,86px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:min(360px,100% - 24px);box-shadow:var(--shadow);color:#e2e8f0;pointer-events:none;background:#0f172adb;border:1px solid #94a3b847;border-radius:16px;padding:8px 13px 9px;position:absolute;left:12px}.spec-row{flex-wrap:wrap;align-items:baseline;gap:1px 9px;display:flex}.spec-row+.spec-row{margin-top:3px}.spec-label{letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;font-size:12px;font-weight:800}.spec-val{font-variant-numeric:tabular-nums;color:#e2e8f0;font-size:13.5px;font-weight:600}.spec-row.main .spec-val{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.1}.spec-row.minor .spec-val{color:#cbd5e1;font-size:12px}.spec-tray{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.spectrum[data-mode=match] .spec-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.spec-pick{border:1.5px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;text-align:left;touch-action:manipulation;background:#fff;border-radius:12px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:6px;padding:5px 8px;transition:border-color .12s,background .12s,transform 80ms,opacity .12s;display:grid;position:relative}.spec-pick:hover{border-color:#fbbf24}.spec-pick:active{transform:translateY(1px)}.spec-key{width:20px;height:20px;color:var(--muted);background:#f1f5f9;border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:grid}.spec-pick-icon{color:#334155;display:flex}.spec-pick-text{min-width:0;display:grid}.spec-pick-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:750;overflow:hidden}.spec-pick-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;overflow:hidden}.spec-pick-short{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:750;display:none;overflow:hidden}.spec-pick:has(.spec-slot){padding-right:34px}.spec-slot{color:#fff;background:#0ea5e9;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:800;position:absolute;top:50%;right:6px;transform:translateY(-50%);box-shadow:0 2px 6px -2px #0f172a80}.spec-pick[data-state=right] .spec-slot{background:#16a34a}.spec-pick[data-state=wrong] .spec-slot{background:#e11d48}.spec-pick[data-state=placed]{opacity:.72;background:#f1f5f9;border-style:dashed}.spec-pick[data-state=selected]{background:#fffbeb;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b4d}.spec-pick[data-state=selected] .spec-key{color:#fff;background:#f59e0b}.spec-pick[data-state=right]{background:#f0fdf4;border-color:#16a34a}.spec-pick[data-state=right] .spec-key{color:#fff;background:#16a34a}.spec-pick[data-state=wrong]{background:#fff1f2;border-color:#e11d48}.spec-pick[data-state=wrong] .spec-key{color:#fff;background:#e11d48}:is(.spectrum[data-mode=sort] .controls .launch,.spectrum[data-mode=match] .controls .launch,.spectrum[data-mode=predict] .controls:not(:has(.param)) .launch){flex:auto}.spectrum .param[data-key=lambda],.spectrum .param[data-key=dish]{--track-fill:#db2777}.spectrum .param[data-key=turn]{--track-fill:#d97706}.spectrum .param[data-key=freq]{--track-fill:#0ea5e9}.spectrum .param-unit{white-space:nowrap}.spec-bands{scrollbar-width:none;display:flex;overflow-x:auto}.spec-bands::-webkit-scrollbar{display:none}.spec-bands .seg{flex:1 0 auto;justify-content:center;align-items:center;gap:5px;padding:6px 9px;font-size:12.5px;display:inline-flex}.spec-bands .dot{background:var(--c);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #0f172a40}@media (width<=520px) and (orientation:portrait){.spec-tray{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.spectrum[data-mode=match] .spec-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.spec-pick{grid-template-rows:auto auto;grid-template-columns:1fr;justify-items:center;row-gap:1px;min-height:44px;padding:4px 3px;position:relative}.spec-key{border-radius:5px;width:15px;height:15px;font-size:12px;position:absolute;top:3px;left:3px}.spec-pick-icon svg{width:19px;height:19px}.spec-pick-text{justify-items:center;width:100%}.spec-pick-label{display:none}.spec-pick-short{max-width:100%;display:block}.spec-pick-sub{display:none}.spec-pick:has(.spec-slot){padding-right:3px}.spec-tray[data-values] .spec-pick-sub{text-align:center;max-width:100%;font-size:12px;display:block}.spec-slot{padding:0 4px;font-size:12px;top:3px;right:3px;transform:none}.spectrum .coach{font-size:13px;line-height:1.34}.spectrum .controls{flex-wrap:nowrap;gap:6px}.spectrum .param{flex:1 1 0;grid-template-columns:auto 1fr auto;grid-template-areas:"head head head""minus value plus";gap:2px 4px;min-width:0;padding:5px 6px 6px}.spectrum .param .param-row{display:contents}.spectrum .param .param-row>.step:first-child{grid-area:minus}.spectrum .param .param-row>.step:last-child{grid-area:plus}.spectrum .param .slider-wrap{display:none}.spectrum .param .param-head{justify-content:center;gap:4px;font-size:12px}.spectrum .param .param-value{justify-self:center;font-size:20px}.spectrum .param .param-unit{font-size:12px}.spectrum .launch{flex:1 1 0;min-width:0;min-height:46px}.spectrum .controls:has(.predict-param) .launch{flex:0 0 38%;padding:6px 8px;font-size:18px}.spectrum .controls:has(.predict-param) .launch .icon{display:none}.spectrum .choices{grid-template-columns:1fr;gap:5px}.spectrum[data-short-choices] .choices{grid-template-columns:1fr 1fr}.spectrum .choice{padding:6px 9px;font-size:13px}.spectrum[data-short-choices] .choice{gap:7px;padding:6px 7px;font-size:12.5px;line-height:1.22}.spectrum[data-short-choices] .choice-key{width:20px;height:20px;font-size:12px}.spec-card{padding:6px 10px 7px}.spec-row.minor{display:none}.spec-row.main .spec-val{font-size:18px}.spec-val{font-size:12.5px}.spec-bands .seg{gap:0;padding:5px 4px;font-size:12px}.spec-bands .dot{display:none}.spectrum[data-mode=lab] .launch{flex:0 0 36%;padding:6px 8px;font-size:17px}.spectrum[data-mode=lab] .launch .icon{display:none}}@media (width<=360px) and (orientation:portrait){.spec-pick-short{font-size:12px}.spectrum .coach{font-size:12.5px}}@media (orientation:landscape) and (height<=500px){.spec-card{border-radius:12px;max-width:300px;padding:5px 9px 6px;left:6px}.dock>.spec-card{max-width:none;box-shadow:none;flex:none;position:static}.spec-row+.spec-row{margin-top:1px}.spec-row.minor{display:none}.spec-row.main .spec-val{font-size:16px}.spec-label,.spec-val{font-size:12px}.spec-tray,.spectrum[data-mode=match] .spec-tray{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.spec-pick{column-gap:5px;min-height:30px;padding:3px 6px}.spec-key{width:16px;height:16px;font-size:12px}.spec-pick-icon svg{width:17px;height:17px}.spec-pick-label{display:none}.spec-pick-short{font-size:12px;display:block}.spec-pick-sub{display:none}.spectrum .param{grid-template-columns:1fr auto auto auto;grid-template-areas:"head minus value plus";align-items:center;gap:0 5px;padding:4px 6px}.spectrum .param .param-row{display:contents}.spectrum .param .param-row>.step:first-child{grid-area:minus}.spectrum .param .param-row>.step:last-child{grid-area:plus}.spectrum .param .slider-wrap{display:none}.spectrum .param .param-head{min-width:0;font-size:12px}.spectrum .param .param-head i{display:none}.spectrum .param .param-value{text-align:center;font-size:17px}.spectrum .param .param-unit{font-size:12px}.spectrum .param .step{width:28px;height:28px}.spectrum .launch{flex:none}.spectrum .controls:not(:has(.param:not([hidden]))) .launch{flex:none}.spec-bands{flex-wrap:wrap;flex:none;overflow:visible}.spec-bands .seg{padding:4px 6px;font-size:12px}.spec-pick:has(.spec-slot){padding-right:6px}.spec-slot{padding:0 4px;font-size:12px;top:2px;right:2px;transform:none}}
