:root{
  color-scheme:light;
  --ink:#202b42;
  --muted:#788298;
  --orange:#f36c21;
  --line:#e8eaf0;
  --surface:#fff;
  --canvas:#f5f6f8;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--canvas);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{border:0;border-radius:10px;padding:11px 16px;cursor:pointer;background:var(--ink);color:white;font-weight:700;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
button:hover{background:#30415f;box-shadow:0 5px 14px #202b4224;transform:translateY(-1px)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f36c2166;outline-offset:2px}
button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
button.secondary:hover{background:#f9fafb}
button.danger{background:#fff1ed;color:#bd4322;border:1px solid #f9ddd3}
button.danger:hover{background:#ffe5db}
button:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
input,select{background:#fff;color:var(--ink);border:1px solid #dfe3eb;border-radius:9px;padding:11px 12px;outline:none;min-width:170px;transition:border .15s ease,box-shadow .15s ease}
input:focus,select:focus{border-color:#f36c21;box-shadow:0 0 0 3px #f36c211c}
input::placeholder{color:#a0a8b7}
.admin-body{min-height:100vh;background:radial-gradient(ellipse at 82% 0%,#f36c2110,transparent 32rem),var(--canvas)}
.shell{max-width:1210px;margin:0 auto;padding:42px 30px 72px}
.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:36px}
.topbar-actions{display:flex;gap:9px}
.brand-logo{display:block;width:164px;height:auto;margin:0 0 28px}
.brand-heading h1{font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(32px,4vw,43px);letter-spacing:-.045em;line-height:1.08;margin:0 0 10px;font-weight:700;color:var(--ink)}
.brand-heading p,.create-panel p{margin:0;color:var(--muted);font-size:15px}
.refresh-button{white-space:nowrap}
.refresh-button span{font-size:17px;vertical-align:-1px;margin-right:4px}
.create-panel{padding:23px 25px;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 28px #202b4208}
.section-kicker{font-size:10px;font-weight:700;letter-spacing:.13em;color:#9ba3b2;margin-bottom:6px}
h2{margin:0 0 5px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:20px;letter-spacing:-.025em}
.create-form{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.create-form input:first-child{min-width:210px}
.screen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px}
.screen-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 24px #202b4208;transition:box-shadow .18s ease,transform .18s ease}
.screen-card:hover{box-shadow:0 14px 34px #202b4211;transform:translateY(-2px)}
.card-head{padding:18px 19px 15px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.card-title{font-family:Manrope,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em}
.card-id{font-size:10px;color:#9ba3b2;margin-top:4px;letter-spacing:.08em;font-weight:700}
.presence{display:flex;align-items:center;gap:7px;font-size:11px;color:#7e899d;font-weight:600;white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;background:#c4cbd5}
.dot.online{background:#32ac74;box-shadow:0 0 0 3px #32ac741c}
.preview{position:relative;aspect-ratio:16/9;background:#171b22;border-top:1px solid #f0f1f4;border-bottom:1px solid #f0f1f4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.preview img,.preview video{width:100%;height:100%;object-fit:contain;background:#111}
.empty-preview{color:#969eab;font-size:13px}
.preview-label{position:absolute;left:12px;top:12px;padding:5px 8px;background:#121820bb;color:#fff;border-radius:5px;font-size:9px;letter-spacing:.1em;font-weight:700}
.card-body{padding:15px 18px 18px}
.url-row{display:flex;gap:7px;margin-bottom:14px}
.url-row input{min-width:0;flex:1;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px}
.url-row button{font-size:12px;padding:9px 11px}
.url-row a{text-decoration:none}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.actions button{font-size:12px;padding:10px 9px}
.actions .full{grid-column:1/-1}
.file-label{display:flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:9px;background:#fff5ef;color:#c7511b;border:1px solid #ffe3d4;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease}
.file-label:hover{background:#ffede2}
.file-label input{display:none}
.remote-row{display:grid;grid-template-columns:1fr 100px auto;gap:7px;margin-top:9px}
.remote-row input,.remote-row select{min-width:0;font-size:12px;padding:10px}
.remote-row button{font-size:12px;padding:9px 11px}
.meta{display:flex;align-items:center;gap:7px;margin-top:14px;color:#8a94a5;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex:0 0 auto}
footer{margin-top:20px;color:#8b94a5;font-size:11px}

.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 12%,#f36c2112,transparent 28rem),var(--canvas)}
.login-panel{width:min(100%,420px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 55px #202b4212}
.login-panel .brand-logo{width:152px;margin:0 0 34px}
.login-kicker{margin:0 0 8px;color:#e46626;font-size:10px;letter-spacing:.14em;font-weight:800}
.login-panel h1{margin:0 0 7px;color:var(--ink);font-size:29px;letter-spacing:-.04em}
.login-copy{margin:0 0 25px;color:var(--muted);font-size:14px;line-height:1.5}
.login-panel form{display:grid;gap:9px}
.login-panel label{font-size:12px;font-weight:700;color:#47546d}
.login-panel input{width:100%;min-width:0;padding:13px}
.login-panel form button{width:100%;margin-top:3px;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:var(--orange)}
.login-panel form button:hover{background:#e45c15}
.login-error{min-height:18px;margin:0;color:#bb392a;font-size:12px}
.login-footnote{margin:25px 0 0;padding-top:17px;border-top:1px solid #eff0f3;color:#8a94a5;font-size:11px;text-align:center}
.login-footnote span{color:#38a977;font-size:9px;margin-right:5px}

.player-body{margin:0;background:#000;width:100vw;height:100vh;overflow:hidden;cursor:none}
#stage{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center}
#stage video,#stage img{width:100%;height:100%;object-fit:contain;background:#000}
#idle{text-align:center;color:#8b919a;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:14px}
#idle .brand-mark{width:150px;height:auto;background:#fff;padding:10px 13px;border-radius:9px}
#connectionBadge{position:fixed;right:12px;bottom:12px;padding:6px 9px;border-radius:7px;background:#0009;color:#c7ced8;font-size:11px;opacity:0;transition:opacity .2s}
#connectionBadge.show{opacity:1}
@media(max-width:720px){
  .shell{padding:28px 16px 54px}
  .topbar,.create-panel{align-items:flex-start;flex-direction:column}
  .topbar{margin-bottom:27px}
  .topbar-actions{width:100%}
  .topbar-actions button{flex:1}
  .brand-logo{width:145px;margin-bottom:23px}
  .create-panel{padding:19px}
  .create-form{justify-content:flex-start;width:100%}
  .create-form input,.create-form button{width:100%}
  .screen-grid{grid-template-columns:1fr;gap:14px}
  .remote-row{grid-template-columns:1fr 90px}
  .remote-row button{grid-column:1/-1}
  .login-panel{padding:28px 23px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
