:root{--bg:#ffffff;--card:#ffffff;--line:#e6dcd6;--txt:#1d1517;--mut:#6b5f63;--fire:#e64a0f;--amb:#c2410c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
[hidden]{display:none!important}span{color:var(--fire)}.meta span{color:var(--mut)}
.gate{min-height:100vh;display:grid;place-items:center;padding:20px}
.gate-card{width:100%;max-width:380px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 26px;box-shadow:0 12px 40px #e64a0f22}
.gate-logo{width:120px;filter:drop-shadow(0 4px 14px #e64a0f44)}h1{margin:10px 0 0;font-size:32px;letter-spacing:.5px}.tag{color:var(--mut);margin:4px 0 22px}
input{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--txt);font-size:16px}input:focus{outline:2px solid var(--fire);border-color:transparent}
button,.ghost{cursor:pointer;font:inherit}form button{width:100%;margin-top:12px;padding:13px;border:0;border-radius:10px;background:linear-gradient(90deg,#ff3d00,#ff7a00);color:#fff;font-weight:700;font-size:16px}
.err{color:#c62828;min-height:1.2em;margin:10px 0 0}.fine{color:var(--mut);font-size:12px}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#ffffffe6;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center}.brand img{width:40px}.brand b{font-size:20px;display:block}.brand small{color:var(--mut)}
.ghost{background:transparent;border:1px solid var(--line);color:var(--txt);padding:7px 12px;border-radius:9px;text-decoration:none;font-size:13px}.ghost:hover{border-color:var(--fire)}
main{max-width:980px;margin:0 auto;padding:18px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:8px}#count{color:var(--mut);white-space:nowrap;font-size:13px}
.day{margin:26px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--amb);display:flex;align-items:center;gap:10px}.day:after{content:"";flex:1;height:1px;background:var(--line)}
.card{box-shadow:0 1px 3px #0000000d;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--fire);border-radius:14px;padding:16px;margin-bottom:12px}
.card.c-ems{border-left-color:#3d9bff}.card.c-tc{border-left-color:var(--amb)}.card.c-haz{border-left-color:#b56cff}
.row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.type{font-weight:800;font-size:17px}.badge{font-size:11px;padding:3px 8px;border-radius:99px;background:#fff1ea;color:#b23a0a;border:1px solid #f5b49a;margin-left:6px;vertical-align:middle}
.addr{color:var(--txt);margin:2px 0 8px}.meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:13px}.meta b{color:var(--txt);font-weight:600}
.units{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.unit{font:600 12px ui-monospace,monospace;background:#fff1ea;border:1px solid #f5c3ad;color:#9a330a;padding:3px 7px;border-radius:6px}
.player{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{background:none;border:0;color:var(--mut);padding:7px 11px;font-size:13px}.seg button.on{background:var(--fire);color:#fff}
audio{flex:1;min-width:240px;height:40px}.note{font-size:12px;color:#a15c00;margin-top:6px}.empty{text-align:center;color:var(--mut);padding:60px 10px}
dialog{width:min(1000px,96vw);height:min(92vh,1200px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--txt)}dialog::backdrop{background:#0007}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);gap:8px}.dlg-head div{display:flex;gap:8px}iframe{width:100%;height:calc(100% - 52px);border:0;background:#fff}
.foot{margin-top:30px;text-align:center}
@media(max-width:600px){.brand small{display:none}main{padding:12px}.card{box-shadow:0 1px 3px #0000000d;padding:13px}audio{min-width:100%}}
.chan{font-size:13px;color:var(--mut);border:1px solid var(--line);border-radius:9px;padding:7px 11px}
.pl{flex:1;min-width:260px;display:flex;align-items:center;gap:8px;background:#fff6f1;border:1px solid #f5c3ad;border-radius:999px;padding:5px 10px}
.pp{width:36px;height:36px;border-radius:50%;border:0;background:var(--fire);color:#fff;font-size:14px;flex:none}
.sk{border:1px solid var(--line);background:#fff;color:var(--txt);border-radius:8px;padding:4px 7px;font-size:12px;flex:none}
.tc{font:600 12px ui-monospace,monospace;color:var(--mut);min-width:38px;text-align:center}
.seek{flex:1;min-width:60px;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;padding:0;border:0;background:linear-gradient(90deg,var(--fire) var(--p,0%),#e8ddd6 var(--p,0%))}
.seek::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--fire);box-shadow:0 1px 3px #0003}
.seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--fire)}
@media(max-width:600px){.pl{min-width:100%;border-radius:14px}.sk{display:none}}
.tx{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.tx summary{cursor:pointer;font-weight:600;color:var(--fire);font-size:13px}
.txb{max-height:340px;overflow:auto;margin-top:6px}.tl{display:grid;grid-template-columns:78px 42px 1fr;gap:6px;font-size:13px;padding:3px 0;border-bottom:1px dashed #f0e6e0}
.tt{font:12px ui-monospace,monospace;color:var(--mut)}.tch{font:700 11px ui-monospace,monospace;color:#9a330a}.tch.cmd{color:#6a1b9a}
@media(max-width:600px){.tl{grid-template-columns:66px 36px 1fr;font-size:12.5px}}
.tl span:last-child{color:var(--txt)}
