:root{font-family:Inter,Segoe UI,Noto Sans JP,sans-serif;color:#e5eff0;background:#0c1319;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid #31434b;background:#182a32;color:#e5eff0;padding:10px 15px;border-radius:7px;cursor:pointer}button:hover{background:#25444a}button:disabled{opacity:.45;cursor:wait}input,select{width:100%;padding:11px;border:1px solid #32424c;border-radius:6px;background:#0e1a21;color:#eef5f5}label{display:block;color:#9bb2ba;font-size:12px}label input,label select{margin-top:8px}a{color:#58d8c9;text-decoration:none}.shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}aside{padding:30px 20px;border-right:1px solid #233139;background:#101c24;display:flex;flex-direction:column;gap:12px}.brand{display:flex;align-items:center;gap:10px;padding-bottom:18px}.brand-logo{display:block;width:70px;height:70px;flex:none;object-fit:contain;filter:brightness(0) invert(1)}.brand-wordmark{display:flex;flex-direction:column;gap:5px;padding-left:14px;border-left:1px solid #29414a}.brand b{color:#50d6bd;font-size:22px;line-height:1.1;letter-spacing:.02em}.brand span{font-size:10px;line-height:1.6;letter-spacing:1.5px;white-space:nowrap}.section-label,.eyebrow{font-size:11px;letter-spacing:2px;color:#72a5aa}.channel{text-align:left;display:flex;align-items:center;gap:9px;border:none;background:transparent}.channel small{margin-left:auto;color:#78939b}.channel.selected{background:#203942;box-shadow:inset 3px 0 #53d3bd}.led{display:inline-block;width:7px;height:7px;background:#55ddbd;border-radius:100%;margin-right:6px;box-shadow:0 0 10px #55ddbd55}.create{display:grid;gap:12px;margin-top:25px}.sidebar-foot{margin-top:auto;padding-top:40px;font-size:10px;line-height:2;color:#6d8993}main{padding:35px 5%;max-width:1500px;width:100%}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h1{font-weight:500;font-size:30px;letter-spacing:-1px;margin:8px 0}h2{font-size:16px;font-weight:500;margin:0 0 20px}section{padding:24px;border:1px solid #273941;border-radius:12px;background:#111f28;margin:20px 0}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head span{font-family:monospace;color:#77939b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats article{border-top:2px solid #3eafa2;background:#14242c;border-radius:8px;padding:20px}.stats span{font-size:11px;color:#8babb3;display:block;margin-bottom:14px}.stats strong{font-size:22px;font-weight:500}.stats small{font-size:11px;color:#8babb3}.source-form{display:grid;grid-template-columns:145px 1fr auto;gap:10px}.source-title{font-size:17px}.transport{display:flex;gap:10px;flex-wrap:wrap}.broadcast-controls{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.broadcast-controls button:first-child{color:#0b2724;background:#67ddc6}.timeline{display:flex;align-items:end;gap:20px;margin-top:25px}.timeline label{flex:1}.timeline b{float:right;color:#c6dde0;font-weight:400}.timeline input{padding:0;accent-color:#62d5bf}.hint{color:#809da6;font-size:12px;line-height:1.8}.operation{font-family:monospace;font-size:11px;color:#6bdbbb;overflow-wrap:anywhere}.live-video video{width:100%;aspect-ratio:16/9;background:#03070a;border-radius:8px}.video-footer{display:flex;align-items:center;gap:10px;padding:12px 0;font-size:11px}.video-footer span{flex:1;color:#98b9c0}.video-footer button{font-size:11px;padding:7px 10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-col section{margin-top:0}.danger{border-color:#924957;color:#ffacb8}dl{display:grid;grid-template-columns:1fr auto;font-family:monospace;font-size:11px;gap:10px}dt{color:#8da8ae}dd{margin:0}.log{font:11px monospace;color:#efb3bc;line-height:1.8}.notice{padding:15px;margin:15px 0;border-radius:8px}.error{background:#45232d;color:#ffb3c1}.login{max-width:500px;margin:12vh auto}.login form{display:grid;gap:20px;margin-top:30px}.viewer{max-width:1100px;margin:auto}.viewer>label{margin-bottom:22px}.live-badge{padding:8px 15px;border:1px solid #285d55;border-radius:30px;color:#71dabf;font-size:10px;letter-spacing:2px}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{border-right:0}.sidebar-foot{display:none}.stats{grid-template-columns:repeat(2,1fr)}.two-col,.source-form{grid-template-columns:1fr}.timeline{align-items:stretch;flex-direction:column}main{padding:25px 18px}.video-footer{flex-wrap:wrap}}.live-badge.offline{color:#8aa2aa;border-color:#31434b}
