#km-plaza-dialog { padding:0; width:min(1040px,94vw); height:min(850px,92dvh); max-width:94vw; max-height:92dvh; border:1px solid #9381b060; border-radius:14px 3px 14px 3px; background:#0c101c; color:#e9e2f0; box-shadow:0 25px 100px #0009; }
#km-plaza-dialog::backdrop { background:#040611a8; backdrop-filter:blur(5px); }
#km-plaza-dialog * { box-sizing:border-box; }
.km-plaza-shell { display:flex; flex-direction:column; height:100%; min-height:0; }
.km-plaza-top { display:flex; justify-content:space-between; padding:22px 28px; border-bottom:1px solid #a494b72e; }
.km-plaza-top b { display:block; margin-top:5px; font-size:21px; font-weight:500; letter-spacing:.1em; }
.km-plaza-top small,.km-plaza-content small { font-size:10px; color:#b9a9cf; letter-spacing:.12em; }
#km-plaza-dialog button { border:1px solid #a494b75c; background:#151b2b; border-radius:5px; padding:9px 14px; color:#e4daee; font:12px system-ui; cursor:pointer; }
#km-plaza-dialog button:hover { background:#30273d; border-color:#c1a7dd; }
.km-plaza-tabs { display:flex; gap:8px; padding:14px 28px; flex:none; flex-wrap:wrap; }
#km-plaza-dialog .km-plaza-tabs button[aria-selected=true] { background:#3b2e4c; border-color:#c3abd6; }
.km-plaza-content { flex:1; min-height:0; overflow:auto; padding:0 28px 25px; scrollbar-width:thin; }
.km-plaza-content h2 { font-size:26px; font-weight:450; margin:12px 0; }
.km-plaza-content h3 { font-size:16px; font-weight:500; margin:15px 0; }
.km-plaza-content p { color:#b9aec9; font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.km-plaza-content label { display:grid; gap:8px; font-size:12px; color:#bfb0d2; margin:15px 0; }
#km-plaza-dialog input:not([type=checkbox]),#km-plaza-dialog textarea,#km-plaza-dialog select { width:100%; min-width:0; background:#090e1a; border:1px solid #9e8fb357; color:#ede6f6; padding:10px; border-radius:4px; font:12px system-ui; }
#km-plaza-dialog textarea { min-height:90px; resize:vertical; }
.km-plaza-hero { height:225px; position:relative; overflow:hidden; border:1px solid #a894bd55; border-radius:8px; background:radial-gradient(ellipse at 70% 20%,#38304c,#0b1424 75%); }
.km-plaza-hero svg,.km-plaza-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; color:#c0b4dc; opacity:.65; }
.km-plaza-hero > div { position:absolute; inset:0; padding:75px 26px 24px; background:linear-gradient(transparent,#080e1ded); }
.km-plaza-hero span { font:11px ui-monospace,monospace; color:#dfc79e; }
.km-plaza-hero h2 { font-size:30px; margin:12px 0 4px; }
.km-plaza-welcome,.km-plaza-manage { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; margin:25px 0; }
.km-plaza-welcome article { border-left:1px solid #9c82ba70; padding-left:18px; }
.km-plaza-episodes article,.km-plaza-station { display:flex; gap:16px; align-items:center; border-top:1px solid #8a799a33; padding:16px 0; }
.km-plaza-episodes article>span { color:#9687ad; font:12px monospace; }
.km-plaza-episodes article>div,.km-plaza-station>div { flex:1; min-width:0; }
.km-plaza-episodes b { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.km-plaza-episodes small { display:block; margin-top:8px; }
.km-plaza-empty { padding:24px 0; }
.km-plaza-number { font:14px monospace!important; color:#dfc79e!important; }
.km-plaza-check { display:flex!important; align-items:center; }
.km-plaza-check input { width:18px; height:18px; }
.km-plaza-tuner { padding:20px 0; }
.km-plaza-dial { overflow:hidden; white-space:nowrap; color:#ccbadb; padding:25px 0; font:24px monospace; border-bottom:1px solid #a493b758; margin-bottom:22px; }
.km-plaza-tuner form { display:flex; gap:10px; }
.km-plaza-tuner button { flex:none; }
.km-plaza-signal { font-size:35px; color:#d2bdde; }
.km-plaza-connect { max-width:620px; margin:12px auto; }
.km-plaza-connect form>div { display:flex; gap:10px; margin:18px 0; }
.km-plaza-player { flex:none; max-height:36%; overflow:auto; padding:12px 28px; border-top:1px solid #b7a0cd66; background:#17172a; }
.km-plaza-player>div { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.km-plaza-player b { font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.km-plaza-player audio { width:100%; height:38px; }
.km-plaza-player video { display:block; width:100%; max-height:180px; background:#000; }
.km-plaza-status { flex:none; padding:10px 28px; min-height:36px; font-size:11px; color:#d6c49f; border-top:1px solid #a494b72e; }
#km-plaza-surface { position:absolute; z-index:10; transform:translate(-50%,-50%); display:flex; gap:5px; align-items:center; padding:8px; background:none; border:0; color:#eee5f7; font:600 12px system-ui; text-shadow:0 1px 4px #000,0 0 6px #000; }
.km-channel-banner { position:relative; height:154px; flex:none; margin:-8px -4px 14px; border-radius:8px; overflow:hidden; color:#f1e9f9; background:radial-gradient(ellipse at 70% 10%,#453251,#111b2e); }
.km-channel-banner>svg,.km-channel-banner>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; color:#c3b0d9; opacity:.65; }
.km-channel-banner>div { position:absolute; inset:0; padding:18px 13px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(transparent,#0a0e1dd9); }
.km-channel-banner small { font-size:9px; letter-spacing:.08em; }
.km-channel-banner b { font-size:19px; margin:7px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.km-channel-banner span { font:9px monospace; color:#dac49b; }
.km-channel-banner footer { position:absolute; bottom:5px; left:8px; right:8px; display:flex; gap:8px; }
.km-channel-banner footer button { font-size:10px; color:#e4d8ec; background:#11182cb3; border-radius:4px; padding:4px 6px; }
.km-city-life-readout { position:absolute; top:38px; left:50%; transform:translateX(-50%); color:#b9a9cc; font-size:10px; border-bottom:1px solid #b3a0ca44; padding:9px 15px; pointer-events:none; }
@media(max-width:750px){.km-plaza-top{padding:16px}.km-plaza-tabs{padding:10px 16px;gap:5px}.km-plaza-content{padding:0 16px 18px}.km-plaza-welcome,.km-plaza-manage{grid-template-columns:1fr;gap:18px}.km-plaza-hero{height:190px}.km-plaza-status{padding:10px 16px}.km-city-life-readout{top:120px;left:50%;font-size:9px}}
@media(any-pointer:coarse){#km-plaza-dialog button{min-height:44px}#km-plaza-surface{min-height:44px}}
/* Banners remain within the native sidebar, including narrow panels and long channel names. */
.km-channel-banner { margin:0 0 14px;width:100%;min-width:0;height:178px;border-radius:0;background:#08101d;isolation:isolate; }
.km-channel-banner>img { opacity:.88; }.km-channel-banner>div { padding:20px 14px 48px;background:linear-gradient(0deg,#07101df5,transparent 90%); }
.km-channel-banner::after { content:'';position:absolute;left:8px;right:8px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#8ecaffaa,#ba9cdd77,transparent);box-shadow:0 0 16px #7bbcff88;pointer-events:none; }
.km-channel-banner small,.km-channel-banner span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.km-channel-banner b { line-height:1.35;min-width:0; }
.km-channel-banner footer { flex-wrap:wrap;bottom:9px;gap:5px; }.km-channel-banner footer button { min-height:30px;max-width:100%;white-space:normal;background:#091829b8; }
.km-plaza-hero h2 { overflow-wrap:anywhere;font-size:clamp(20px,3vw,30px); }.km-plaza-hero>div { padding-top:35px;display:flex;flex-direction:column;justify-content:end; }.km-plaza-hero h2 { max-height:100px;overflow:auto; }
.km-plaza-manage,.km-plaza-welcome { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }.km-plaza-station b { overflow-wrap:anywhere; }
.km-plaza-status { overflow-wrap:anywhere;max-height:72px;overflow:auto; }.km-plaza-top>div { min-width:0; }.km-plaza-top b { overflow-wrap:anywhere; }.km-plaza-top button { flex:none;align-self:start; }
@media(max-width:750px){.km-plaza-manage,.km-plaza-welcome{grid-template-columns:minmax(0,1fr)}.km-plaza-tabs{gap:5px}.km-plaza-episodes article{flex-wrap:wrap}.km-plaza-connect form>div{flex-wrap:wrap}}
@media(any-pointer:coarse){.km-channel-banner{height:190px}.km-channel-banner footer button{min-height:44px}.km-channel-banner>div{padding-bottom:60px}}
@media(max-height:550px){.km-plaza-top{padding:12px 18px}.km-plaza-top b{font-size:17px}.km-plaza-tabs{padding:8px 18px}.km-plaza-content{padding:0 18px 12px}.km-plaza-status{min-height:25px;padding:6px 18px}}
