:root{color-scheme:dark;--ink:#06131e;--panel:#0c1d29;--panel2:#112935;--line:#29414d;--mint:#89f0d5;--mint2:#a2ffdf;--white:#eaf8f7;--muted:#9cb8be;--warn:#e8ba79;--danger:#ee8383;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--ink);color:var(--white)}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.brand{font-weight:950;letter-spacing:.22em;font-size:1.15rem;color:var(--white);white-space:nowrap}.brand b{color:var(--mint)}.brand-dot{display:inline-block;width:7px;height:7px;margin:0 0 9px 6px;border-radius:50%;background:var(--mint)}.topbar,.admin-nav{position:relative;z-index:4;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px clamp(20px,6vw,72px);border-bottom:1px solid #ffffff16}.install-pill,.tag,.small-badge{border:1px solid #6bebcf60;background:#84f3d410;color:var(--mint);padding:10px 17px;font-size:.7rem;font-weight:850;border-radius:50px;letter-spacing:.09em}.install-pill:hover{background:#8af4db21}.listener-page{overflow-x:hidden;background:radial-gradient(ellipse at 50% -30%,#183940 0%,#07131e 70%)}.ambient{position:absolute;pointer-events:none;width:34vw;height:34vw;border-radius:50%;filter:blur(100px);opacity:.12}.ambient-one{background:#02ffd2;top:15%;left:-19%}.ambient-two{background:#14adce;top:30%;right:-21%}.listener-main{position:relative;z-index:1;width:min(770px,100%);margin:auto;text-align:center;padding:55px 20px 75px;display:flex;align-items:center;flex-direction:column}.overline,.eyebrow{color:var(--mint);font-size:.7rem;font-weight:900;letter-spacing:.3em}.signal-disc{margin:24px auto 25px;width:167px;height:167px;border:1px solid #87f4d54a;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 18px #8af0d70a,0 0 0 36px #8af0d705,0 0 100px #74fbd521;animation:breathe 4s ease-in-out infinite}.signal-core{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#15413d50,#102431c0);display:grid;place-items:center}@keyframes breathe{50%{box-shadow:0 0 0 24px #8af0d70a,0 0 0 44px #8af0d505,0 0 110px #74fbd533}}h1{font-size:clamp(2.9rem,8vw,5.2rem);letter-spacing:-.075em;line-height:1.04;margin:20px 0 18px;font-weight:900}h1 em{font-style:normal;color:var(--mint)}.lead{color:var(--muted);font-size:1rem;line-height:1.8;margin:0 0 36px}.radio-panel{text-align:left;width:min(460px,100%);padding:24px;background:linear-gradient(130deg,#14303c,#0b1b29 74%);border:1px solid #90f8dd28;border-radius:26px;box-shadow:0 24px 80px #0009}.label-row,.micro-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.label-row{color:#aecbd0;font-size:.67rem;font-weight:850;letter-spacing:.16em}.small-badge{font-size:.61rem;padding:6px 10px}.radio-panel select{width:100%;margin-top:16px;padding:16px;color:#e8fcf6;border-radius:12px;border:1px solid #82efd331;background:#102e37;outline:none}.power-btn{margin:26px auto 15px;width:165px;height:165px;background:radial-gradient(circle at 30% 20%,#aeffe6,#66e2c6);color:#042829;border:0;border-radius:50%;display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;font-weight:950;letter-spacing:.09em;box-shadow:0 0 0 9px #84f5d511,0 14px 55px #84f4df22;transition:transform .23s,box-shadow .23s}.power-btn:hover{transform:scale(1.035);box-shadow:0 0 0 15px #84f5d517,0 14px 55px #84f4df2c}.power-btn.active{background:radial-gradient(circle at 25% 20%,#25515c,#11313a);color:var(--mint);border:1px solid var(--mint)}.power-icon{font-size:3rem;line-height:1}.player-state{text-align:center;min-height:45px;padding:10px 0;color:#cadadd;line-height:1.4;font-size:.86rem}.progress-track{height:4px;background:#24424e;border-radius:10px;margin:10px 0 17px;overflow:hidden}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#21adab,#a6ffe0);transition:width .5s linear}.micro-row{color:#95b3b6;font-size:.72rem}.micro-row span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:70%}.footnote{margin-top:24px;max-width:580px;color:#8eaeb0;font-size:.77rem;line-height:1.8}.dot{display:inline-block;width:7px;height:7px;background:var(--mint);border-radius:50%;margin-right:6px}.install-help{margin-top:24px;padding:18px;text-align:left;border:1px solid #84f7d64b;border-radius:16px;background:#18333b;max-width:460px;line-height:1.5}.install-help b,.install-help span{display:block}.install-help span{margin-top:6px;color:var(--muted)}.site-footer{padding:23px clamp(20px,5vw,80px);border-top:1px solid #ffffff16;display:flex;justify-content:space-between;gap:12px;color:#819ba0;font-size:.72rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Install + owner control center */
.installer-page,.admin-page{background:linear-gradient(135deg,#06121e 15%,#0e3039 100%);min-height:100vh}.setup-card{width:min(600px,calc(100% - 32px));margin:48px auto;padding:clamp(22px,5vw,44px);background:#0d2431;border:1px solid #ffffff21;border-radius:24px;box-shadow:0 22px 65px #0007}.setup-card h1,.login h1{font-size:2rem;letter-spacing:-.05em;margin:22px 0 10px}.setup-card footer{padding:20px 0 0;color:#819ba0;font-size:.75rem}.sub{color:var(--muted);line-height:1.65;font-size:.86rem}.requirements{margin:22px 0;border:1px solid #ffffff20;border-radius:12px;overflow:hidden}.requirements>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff13;padding:9px 13px;font-size:.85rem}.requirements>div:last-child{border-bottom:0}.ok{color:var(--mint)}.bad{color:var(--danger)}.notice{padding:14px 16px;border-radius:12px;border:1px solid #ffffff18;margin:18px 0;line-height:1.6;font-size:.86rem}.notice.good{background:#145b4c55;border-color:#43a99488}.notice.error{background:#8a282d44;border-color:#f38a8a65;color:#ffbaba}.notice.warn{background:#65502e30;border-color:#b28d4c66;color:#e7d9bd}.setup-card form,.panel form{display:flex;flex-direction:column;gap:12px;margin-top:18px}.setup-card label,.panel label{display:block;color:#bed0d4;font-size:.8rem;font-weight:600}.setup-card input:not([type=checkbox]),.panel input:not([type=checkbox]),.panel select{width:100%;margin-top:8px;padding:12px;background:#071b25;color:#eef7f5;border:1px solid #3b5b67;border-radius:9px;min-width:0}.setup-card input:focus,.panel input:focus{border-color:var(--mint)}.check{display:flex!important;align-items:flex-start;gap:8px;line-height:1.5;font-size:.78rem!important;font-weight:500!important}.check input{margin:3px 0 0;accent-color:var(--mint)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-card button,.panel button,.primary-link{background:var(--mint);color:#08302d;border:0;border-radius:10px;padding:13px 18px;font-weight:850;text-align:center}.setup-card button:hover,.panel button:hover{filter:brightness(1.08)}.primary-link{display:inline-block;margin-top:12px}.admin-nav{padding:20px clamp(20px,5vw,64px)}.admin-container{width:min(1180px,calc(100% - 40px));margin:40px auto 80px}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:25px}.admin-title h1{font-size:clamp(2rem,4vw,3.3rem);margin:9px 0;letter-spacing:-.055em}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{padding:24px;border:1px solid #ffffff1f;background:#0c202dcc;border-radius:20px;margin-bottom:20px}.panel h2{font-size:1.22rem;letter-spacing:-.03em;margin:0 0 15px}.panel h3{margin:24px 0 12px}.login{max-width:450px;margin:10vh auto}.admin-nav form{margin:0}.channel-row,.track-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff1b}.channel-row form,.track-row form{display:block;margin:0}.channel-row small,.track-row small{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}.panel .outline,.admin-nav .outline{background:none;color:var(--mint);border:1px solid #76ecce6d}.panel .small,.admin-nav .small{padding:8px 12px;font-size:.7rem}.panel details{margin-top:20px;padding:12px;background:#0c2732;border-radius:11px}.panel summary{cursor:pointer;color:var(--mint)}.panel .track-table{border-top:1px solid #ffffff20}.track-row>span{min-width:0}.track-row b{display:block;font-size:.89rem}.track-row small{overflow-wrap:anywhere}.publish-buttons{display:flex;flex-wrap:wrap;gap:12px}.publish-buttons form{margin:0}.empty,.muted{color:var(--muted);font-size:.8rem}.file-duration{margin:0}.admin-page .tag{white-space:nowrap}
@media(max-width:670px){.topbar,.admin-nav{padding:18px 20px}.listener-main{padding:50px 18px 55px}.signal-disc{width:130px;height:130px}.signal-core{width:110px;height:110px}.signal-core svg{width:74px;height:74px}.listener-main h1{font-size:clamp(2.65rem,9vw,4.8rem)}.radio-panel{padding:20px}.site-footer{flex-direction:column;text-align:center}.two,.admin-grid{grid-template-columns:1fr}.admin-title{flex-direction:column;align-items:flex-start}.admin-container{width:calc(100% - 24px);margin:25px auto}.panel{padding:18px}.admin-nav .tag{display:none}.tag{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 2 GiB app-level audio storage dashboard */
.storage-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.storage-stats>div{padding:16px;background:#0b2a35;border:1px solid #77ead025;border-radius:12px}
.storage-stats span{display:block;font-size:.7rem;color:var(--muted);margin-bottom:7px}
.storage-stats strong{display:block;font-size:1.16rem;letter-spacing:-.03em}
.storage-meter{height:11px;border-radius:50px;background:#203742;overflow:hidden;margin:18px 0}
.storage-meter div{height:100%;background:linear-gradient(90deg,#34bcae,#8bf7dd);min-width:0;transition:width .3s ease}
.storage-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px!important}
.storage-options label:first-of-type{grid-column:1/-1}
.storage-options button{max-width:260px}
.track-row{flex-wrap:wrap}.track-row>span{flex:1;min-width:160px}
@media(max-width:720px){.storage-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-options{grid-template-columns:1fr}.storage-options label:first-of-type{grid-column:auto}}

/* Owner-approved three-slot media rotation status (no autoplay YouTube). */
.queue-slots{margin-top:13px;padding:11px 14px;border:1px solid rgba(140,220,205,.24);border-radius:12px;color:#a9d4cd;font-size:.77rem;line-height:1.6;overflow-wrap:anywhere;text-align:left}
