/* Public runtime stylesheet. Design record lives outside the deployed package. */
:root{--bg:#091012;--surface:#141c1d;--raised:#1b2729;--primary:#06808e;--primary2:#056e7a;--white:#fff;--accent:#1da9f4;--text:#e5f5f8;--muted:#9cb5ba;--border:#1f2829;--danger:#eb6961;--r:18px;--shadow:0 18px 44px #0000003d;--ease:cubic-bezier(.23,1,.32,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
[data-theme="light"]{--bg:#f3f8f8;--surface:#fff;--raised:#f5fbfb;--primary:#076f7a;--primary2:#055d66;--accent:#0077ba;--text:#142629;--muted:#4d686e;--border:#c7dadd;--shadow:0 18px 44px #0b444d1a}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100dvh}.side{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;padding:32px 20px 20px;border-right:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;font-size:19px;font-weight:750;letter-spacing:-.04em}.mark{display:flex;align-items:end;gap:3px;height:21px}.mark i{width:4px;border-radius:4px;background:var(--accent)}.mark i:nth-child(1){height:10px}.mark i:nth-child(2){height:20px}.mark i:nth-child(3){height:14px}.side nav{display:grid;gap:6px;margin-top:62px}.nav{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;color:var(--muted);font-size:14px;font-weight:650;transition:color 160ms var(--ease),background 160ms var(--ease),transform 160ms var(--ease)}.nav:active{transform:scale(.98)}.nav.active{color:var(--white);background:var(--primary)}.side-note{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.55}main{width:min(1260px,100%);margin:auto;padding:0 56px 64px}header{display:flex;justify-content:space-between;align-items:center;height:102px}.overline{margin:0;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.view{display:none;animation:in 300ms var(--ease) both}.view.visible{display:block}.heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.heading h1{max-width:700px;margin:7px 0 0;font-size:clamp(31px,4vw,52px);line-height:1.05;letter-spacing:-.065em}.button{min-height:45px;padding:0 17px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:750;transition:background 160ms var(--ease),transform 160ms var(--ease)}.button:active{transform:translateY(1px) scale(.98)}.primary{color:var(--white);background:var(--primary)}.secondary{color:var(--text);border-color:var(--border);background:transparent}.columns{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(300px,.85fr);gap:24px}.player-card,.queue,.library,.steps article,.limit{border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.player-card{overflow:hidden}.stage{position:relative;display:grid;min-height:426px;overflow:hidden;place-items:center;background:radial-gradient(circle at 30% 25%,#06808ea6,transparent 42%),radial-gradient(circle at 80% 80%,#1da9f452,transparent 45%),#03353b}.stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity 240ms var(--ease)}.stage.has-player iframe{opacity:1}.empty{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;max-width:250px;text-align:center}.empty strong{display:grid;width:68px;height:68px;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:30px}.empty p{margin:0;font-size:15px;line-height:1.55}.stage.has-player .empty{display:none}.orbit{position:absolute;width:255px;height:255px;border:1px solid #1da9f46b;border-radius:50%;animation:orbit 16s linear infinite}.orbit:after{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent);content:""}.now{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:22px 24px 12px}.now h2{overflow:hidden;max-width:500px;margin:4px 0 0;font-size:clamp(20px,2vw,28px);letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.now a{display:inline-block;margin-top:8px;color:var(--accent);font-size:12px;font-weight:750}.now>b,.queue-head>b{color:var(--muted);font-size:12px}.controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 24px 24px}.round,.play,.close{display:grid;width:42px;height:42px;padding:0;border:0;place-items:center;border-radius:50%;color:var(--text);background:transparent;transition:background 160ms var(--ease),transform 160ms var(--ease)}.round:active,.play:active{transform:scale(.93)}.play{width:56px;height:56px;color:var(--white);background:var(--primary)}.volume{margin-left:auto}.queue{display:flex;flex-direction:column;padding:24px}.queue-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:20px}.queue h2{margin:5px 0 0;font-size:21px;letter-spacing:-.04em}ol{display:grid;gap:5px;flex:1;max-height:424px;min-height:124px;margin:0;padding:0;overflow:auto;list-style:none}.item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:8px;border:1px solid transparent;border-radius:12px;color:var(--muted)}.item.current{border-color:#1da9f480;color:var(--text);background:#03353bad}.item>span{font-size:11px}.item-title{overflow:hidden;padding:0;border:0;color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent}.item-actions{display:flex;gap:2px}.mini{width:27px;height:27px;padding:0;border:0;border-radius:8px;color:var(--muted);background:transparent}.queue-empty{display:grid;min-height:124px;place-items:center;color:var(--muted);font-size:13px;text-align:center}.queue .secondary{width:100%;margin-top:20px}.notice{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.library{overflow:hidden}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--border)}.row:last-child{border:0}.row h2{overflow:hidden;margin:0;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.row p{overflow:hidden;margin:5px 0 0;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:8px}.blank{display:grid;min-height:280px;place-items:center;align-content:center;gap:12px;padding:32px;color:var(--muted);text-align:center}.blank p{max-width:270px;line-height:1.6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{min-height:230px;padding:24px}.steps b{color:var(--accent);font-size:12px;letter-spacing:.08em}.steps h2{margin:48px 0 8px;font-size:22px;letter-spacing:-.045em}.steps p,.limit p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.limit{margin-top:20px;padding:24px}.limit h2{margin:0 0 6px;font-size:17px}dialog{width:min(540px,calc(100% - 32px));padding:0;border:1px solid var(--border);border-radius:28px;color:var(--text);background:var(--surface);box-shadow:0 30px 80px #0000008c}dialog::backdrop{background:#00000094;backdrop-filter:blur(4px)}form{position:relative;padding:36px}form h2{margin:9px 0 0;font-size:29px;letter-spacing:-.05em}form p{margin:10px 0 28px;color:var(--muted);font-size:14px;line-height:1.6}label{display:block;margin-bottom:8px;font-size:13px;font-weight:750}input{width:100%;height:50px;padding:0 14px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--bg)}small{display:block;min-height:20px;margin-top:9px;color:var(--muted);font-size:12px}.error{color:var(--danger)}.close{position:absolute;top:18px;right:18px;font-size:26px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;z-index:5;max-width:360px;padding:12px 15px;border:1px solid var(--accent);border-radius:12px;color:var(--text);font-size:13px;background:var(--raised);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity 200ms var(--ease),transform 200ms var(--ease)}.toast.show{opacity:1;transform:translateY(0)}.mobile{display:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #1da9f4aa;outline-offset:3px}@keyframes in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes orbit{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.nav:hover{color:var(--text);background:var(--raised)}.button:hover{transform:translateY(-1px)}.primary:hover{background:var(--primary2)}.secondary:hover,.round:hover{background:var(--raised)}.play:hover{background:var(--primary2)}.item:hover{background:var(--raised)}.mini:hover{color:var(--text);background:#ffffff16}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none}main{padding:0 24px 100px}header{height:78px}.columns{grid-template-columns:1fr}ol{max-height:280px}.mobile{position:fixed;right:0;bottom:0;left:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;min-height:72px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#141c1deb;backdrop-filter:blur(16px)}.mobile .nav{display:grid;min-height:52px;place-items:center;padding:4px;font-size:10px}.mobile .nav.active{color:var(--accent);background:transparent}.mobile button{width:47px;height:47px;margin:-22px auto 0;border:4px solid var(--bg);border-radius:50%;color:var(--white);font-size:25px;background:var(--primary)}}@media(max-width:580px){main{padding:0 16px 94px}header{height:70px}.heading{align-items:flex-start;margin-bottom:22px}.heading h1{font-size:31px}.heading .button{min-width:45px;padding:0 12px;font-size:0}.heading .button:before{content:"+";font-size:21px}.stage{min-height:360px}.now{padding:18px 18px 10px}.now h2{max-width:225px;font-size:21px}.controls{padding:8px 18px 18px}.queue{padding:18px}.row{padding:16px}.row-actions .button{min-width:42px;padding:0 11px;font-size:0}.row-actions .button:first-child:before{content:"▶";font-size:14px}.row-actions .button:last-child:before{content:"×";font-size:20px}.steps{grid-template-columns:1fr}.steps article{min-height:176px}.steps h2{margin-top:30px}form{padding:30px 22px 22px}.actions{flex-direction:column-reverse}.actions .button{width:100%}}
