:root{color-scheme:dark;--bg:#03070c;--panel:#07121c;--line:#163344;--cyan:#50eaff;--muted:#688390}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eaffff;font:14px Inter,system-ui;display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{border-right:1px solid var(--line);padding:28px 18px;background:#050d14;display:flex;flex-direction:column;gap:8px}.logo{font-weight:900;letter-spacing:.2em;font-size:19px;margin:4px 8px 35px}.logo span,small{color:var(--cyan)}aside a{padding:13px;color:#77929e;text-decoration:none;border-radius:7px}.active,aside a:hover{background:#0b202b!important;color:#dffcff!important}main{padding:40px 5vw}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}h1{font-size:36px;margin:5px 0}.btn,button{background:#0d6673;border:1px solid #44ddef;color:white;padding:13px 17px;text-decoration:none;font:12px monospace;letter-spacing:.08em;cursor:pointer}.stats{display:flex;gap:12px;margin-bottom:25px}.stats div{background:var(--panel);border:1px solid var(--line);padding:20px;min-width:160px}.stats b{font-size:30px;display:block}.stats span{font:9px monospace;color:var(--muted)}.table{border:1px solid var(--line)}.row{min-height:74px;padding:10px 14px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #112836}.mini{width:90px;height:52px;background:center/cover}.grow{flex:1}.grow small{display:block;color:#5f7d89;margin-top:5px}.row a{color:#71eaff;text-decoration:none;font:10px monospace}.status{font:9px monospace;color:#65efb5}.danger{font-size:20px!important}.editor{max-width:760px;background:var(--panel);border:1px solid var(--line);padding:28px;display:grid;gap:20px}.editor label{display:grid;gap:8px;color:#8da5af}input,textarea{width:100%;background:#030a10;border:1px solid #214254;color:white;padding:13px;outline:none}.drop{padding:35px;border:1px dashed #347086;text-align:center}.drop input{margin:15px 0}.drop span{color:#577684}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.error{padding:12px;background:#501e27;margin-bottom:15px}.login{display:grid;place-items:center}.login form{width:min(420px,90vw);padding:35px;border:1px solid var(--line);background:var(--panel);display:grid;gap:14px}.login .logo{margin:0 0 15px}@media(max-width:720px){body{display:block}aside{position:relative;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto;padding:12px}.logo{margin:8px 15px}.stats{overflow:auto}.row{gap:8px}.mini{width:60px}main{padding:25px 4vw}}
select{width:100%;background:#030a10;border:1px solid #214254;color:white;padding:13px;outline:none}.hotspot-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);gap:18px;align-items:start;margin-bottom:35px}#hotspot-editor{height:min(62vh,620px);min-height:380px;position:relative;background:#000;border:1px solid #235064;overflow:hidden;cursor:crosshair}#hotspot-editor:after{content:'+';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:32px monospace;color:#71f4ff;text-shadow:0 0 12px #00eaff;pointer-events:none}#hotspot-editor.flash{box-shadow:inset 0 0 80px #3ff7ff55}.compact{padding:20px}.hint{color:#708c98;line-height:1.6}@media(max-width:950px){.hotspot-layout{grid-template-columns:1fr}#hotspot-editor{height:50vh}}
.tour-admin-grid{display:grid;grid-template-columns:minmax(320px,760px) minmax(260px,1fr);gap:24px}.tour-list{display:grid;gap:10px;align-content:start}.tour-card{display:grid;gap:8px;padding:20px;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:#eaffff}.tour-card:hover{border-color:var(--cyan)}.tour-card b{font-size:20px}.tour-card span{color:#6f929f;font:11px monospace}.builder-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#76929e}.builder-head a{color:var(--cyan);text-decoration:none}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:25px}.scene-card{border:1px solid var(--line);background:var(--panel);overflow:hidden}.scene-preview{height:150px;background:center/cover;position:relative}.scene-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#031019cc)}.scene-preview span{position:absolute;z-index:2;left:10px;top:10px;background:#031019dd;border:1px solid #24566a;padding:5px 7px;font:9px monospace;color:#8cefff}.scene-preview b{position:absolute;z-index:2;right:12px;bottom:4px;font:44px monospace;color:#baf8ff55}.scene-body{padding:15px}.scene-body h3{margin:0 0 7px}.scene-body small{color:#5c7d89}.scene-actions{display:flex;gap:6px;margin-top:14px}.scene-actions a{min-width:34px;padding:8px;border:1px solid #214757;text-align:center;color:#7cefff;text-decoration:none;font:10px monospace}.scene-actions a:nth-child(3){flex:1}.add-scene{max-width:none}.add-scene h3{margin:0}@media(max-width:950px){.tour-admin-grid{grid-template-columns:1fr}.scene-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.scene-grid{grid-template-columns:1fr}}
.tour-settings{max-width:none;margin-bottom:22px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scene-title-form{display:flex;gap:6px;margin-bottom:8px}.scene-title-form input{padding:8px;font-weight:700}.scene-title-form button{padding:7px 10px}.scene-body .status-start{color:#7fffc4}@media(max-width:650px){.form-columns{grid-template-columns:1fr}}
.hotspot-kind{width:38px;height:38px;display:grid;place-items:center;border:1px solid #276071;border-radius:50%;color:#75f2ff;background:#08202a;font-size:18px}.hotspot-form textarea{resize:vertical;min-height:100px}
.login{min-height:100dvh;padding:24px;background:radial-gradient(circle at 50% 35%,#0a2935 0,transparent 32%),#03070c}.login form{width:min(460px,calc(100vw - 32px));padding:42px;border:1px solid #1d485a;background:#06121be8;box-shadow:0 28px 90px #0008}.login .logo{margin:0 0 8px;font-size:18px}.login h1{font-size:34px;margin:8px 0 18px}.login input{min-height:48px}.login button{min-height:48px;margin-top:6px}@media(max-width:520px){.login{padding:16px}.login form{padding:26px 20px}.login h1{font-size:28px}}
/* Login is a standalone screen; do not inherit the two-column admin shell. */
body.login{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:center;width:100%;min-width:0;min-height:100dvh;overflow:auto;padding:24px}.login form{display:grid;flex:0 1 460px;width:100%;max-width:460px;margin:auto}.login .logo,.login h1,.login input,.login button{min-width:0}@media(max-width:520px){body.login{padding:16px}.login form{flex-basis:100%;width:100%;max-width:none}}
#target-field:not([hidden]){display:grid!important}.field-warning{color:#ffb86b!important;line-height:1.5;padding:9px 11px;border:1px solid #704a22;background:#2b1b0b}#target-scene{cursor:pointer}
