@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,600;1,500&family=Nunito+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #080e1f;--bg-soft: #0d1428;--panel: #151f39;--panel-2: #1c2744;--line: rgba(193, 209, 238, .14);--line-strong: rgba(245, 202, 103, .4);--text: #f5f6fa;--muted: #99a3b9;--gold: #f5ca67;--gold-soft: #b99449;--teal: #4ddbcf;--pink: #ea82ad;--red: #ef7e80;--green: #7fd39c;--shadow: 0 24px 80px rgba(0, 0, 0, .34)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 78% -10%,rgba(77,219,207,.1),transparent 32%),radial-gradient(circle at 14% 15%,rgba(245,202,103,.08),transparent 24%),var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit}.boot-screen,.login-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px;text-align:center}.login-card{display:grid;gap:13px;width:min(100%,430px);padding:24px;text-align:left;border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,#1c2744eb,#0f172df5);box-shadow:var(--shadow)}.login-card .button{width:100%;text-align:center}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.firefly{width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold),0 0 36px #f5ca67cc;animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.38;transform:scale(.72)}}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:30px;padding:28px 20px 22px;background:#080e1feb;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px}.brand-mark{display:grid;place-content:center;width:42px;height:42px;color:var(--bg);background:linear-gradient(145deg,var(--gold),#f1a955);border-radius:15px;box-shadow:0 10px 30px #f5ca6733}.brand strong{display:block;font-family:Lora,serif;font-size:20px}.brand small{color:var(--teal);letter-spacing:.14em;font-weight:800}.nav{display:grid;gap:7px}.nav-button{border:0;border-radius:14px;background:transparent;display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;color:var(--muted);cursor:pointer;text-align:left}.nav-button:hover{background:#ffffff0d;color:var(--text)}.nav-button.active{color:var(--gold);background:#f5ca671a}.nav-icon{width:22px;text-align:center;font-size:17px}.sidebar-foot{margin-top:auto;display:grid;gap:12px}.account-card{padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.account-card strong,.account-card small{display:block;overflow:hidden;text-overflow:ellipsis}.account-card small{margin-top:3px;color:var(--muted)}.main{min-width:0;padding:30px clamp(22px,4vw,58px) 80px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:34px}.eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{font-family:Lora,serif}h1{margin:5px 0 0;font-size:clamp(31px,4vw,46px);letter-spacing:-.03em}h2{margin:0;font-size:24px}h3{margin:0;font-size:18px}p{line-height:1.6}.status-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#ffffff06;font-size:12px;font-weight:700}.pill.ok{color:var(--green);border-color:#7fd39c40}.pill.waiting{color:var(--gold);border-color:#f5ca6740}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:clamp(24px,4vw,42px);min-height:250px;border:1px solid var(--line-strong);border-radius:30px;background:linear-gradient(125deg,#0d1428fa,#1c2744d6),url(/map-art.png) center/cover;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:310px;height:310px;border-radius:50%;background:#4ddbcf17;filter:blur(4px)}.hero-copy{position:relative;z-index:1}.hero h2{margin:12px 0;font-size:clamp(27px,3vw,38px)}.hero p{max-width:650px;color:#bdc4d4}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.hero-visual{position:relative;z-index:1;display:grid;place-content:center}.forest-orbit{display:grid;place-content:center;width:190px;height:190px;border:1px solid rgba(77,219,207,.26);border-radius:50%;background:radial-gradient(circle,rgba(245,202,103,.24),rgba(77,219,207,.04) 46%,transparent 47%);box-shadow:inset 0 0 70px #4ddbcf14;font-size:62px}.button{border:1px solid var(--line);border-radius:13px;background:var(--panel-2);padding:10px 14px;font-weight:800;cursor:pointer}.button:hover{border-color:#f5ca6773;transform:translateY(-1px)}.button.primary{color:var(--bg);background:var(--gold);border-color:var(--gold)}.button.secondary{color:var(--teal);background:#4ddbcf17;border-color:#4ddbcf3d}.button.danger{color:var(--red);background:#ef7e8014}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.small{padding:7px 10px;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 36px}.metric,.panel,.region-card,.video-card{border:1px solid var(--line);background:linear-gradient(155deg,#1c2744e0,#0f172de6);border-radius:21px}.metric{padding:18px}.metric span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.metric strong{display:block;margin-top:8px;font-family:Lora,serif;font-size:31px;color:var(--gold)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 0 16px}.section-head p{margin:5px 0 0;color:var(--muted)}.panel{padding:21px}.checklist{display:grid;gap:11px;margin:0;padding:0;list-style:none}.checklist li{display:flex;gap:10px;color:#c8ceda}.checklist li:before{content:"✦";color:var(--teal)}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.region-card{position:relative;padding:19px;min-height:180px}.region-card.active{border-color:#4ddbcf66;box-shadow:inset 0 0 40px #4ddbcf0a}.region-icon{display:grid;place-content:center;width:40px;height:40px;border-radius:13px;background:#f5ca671f;color:var(--gold);font-size:19px}.region-card h3{margin-top:16px}.region-card p{margin:6px 0;color:var(--muted);font-size:13px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.toggle input{accent-color:var(--teal);width:18px;height:18px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;padding:17px;margin-bottom:18px;border:1px solid var(--line);border-radius:18px;background:#ffffff06}.field{display:grid;gap:7px;min-width:160px;flex:1}.field label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;color:var(--text);background:#0c1428;border:1px solid var(--line);border-radius:11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4ddbcf8f;box-shadow:0 0 0 3px #4ddbcf14}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.video-card{padding:17px;display:grid;grid-template-columns:94px 1fr;gap:15px}.video-thumb{display:grid;place-content:center;min-height:118px;border-radius:14px;background:linear-gradient(150deg,#263354,#10182d);color:var(--gold);font-size:28px}.video-meta p{margin:5px 0;color:var(--muted);font-size:13px}.status-ready{color:var(--green)}.status-processing{color:var(--gold)}.status-failed{color:var(--red)}.program-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.program-list,.library-list{display:grid;gap:9px}.program-item,.library-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.order{color:var(--gold);text-align:center;font-weight:900}.item-copy strong,.item-copy small{display:block}.item-copy small{margin-top:2px;color:var(--muted)}.item-actions{display:flex;gap:5px}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:15px}.notice{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;margin:0 0 18px;border:1px solid rgba(245,202,103,.26);border-radius:14px;color:#d9cda9;background:#f5ca670f}.notice.error{color:#efb3b4;border-color:#ef7e804d;background:#ef7e8012}.notice.success{color:#aee0bf;border-color:#7fd39c4d;background:#7fd39c12}.pill.error{color:var(--red);border-color:#ef7e804d}.ai-live-hero{margin-bottom:22px}.live-control-panel{display:grid;gap:10px}.live-now{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid rgba(234,130,173,.35);border-radius:18px;background:#ea82ad12}.live-now strong,.live-now small{display:block}.live-now small{margin-top:4px;color:var(--muted)}dialog{width:min(620px,calc(100vw - 32px));padding:0;border:1px solid var(--line-strong);border-radius:22px;color:var(--text);background:var(--panel);box-shadow:var(--shadow)}dialog::backdrop{background:#030712c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{padding:23px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .wide{grid-column:1 / -1}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:9px}.toast{max-width:360px;padding:12px 15px;border:1px solid var(--line);border-radius:13px;background:#202c49;box-shadow:var(--shadow)}.toast.error{border-color:#ef7e8080}.progress{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:#ffffff14}.progress>span{display:block;width:var(--progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--gold));transition:width .2s}.muted-copy{color:var(--muted);font-size:13px}.map-upload-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);gap:28px;align-items:center;margin-bottom:18px}.map-upload-panel h2{margin-top:6px}.map-upload-panel p{margin:7px 0 0;color:var(--muted)}.map-upload-form{display:grid;gap:10px}.map-upload-form input[type=file]{min-height:48px;padding:8px}.map-upload-form input[type=file]::file-selector-button{margin-right:10px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--panel-2);cursor:pointer}.map-editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:18px;align-items:start}.map-editor-panel{min-width:0}.map-editor-stage{position:relative;width:100%;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;background:radial-gradient(circle at 50% 35%,#263a5a,#0b1328 72%);box-shadow:inset 0 0 60px #03081261;touch-action:none;-webkit-user-select:none;user-select:none}.map-world-stage{width:min(100%,980px);margin-inline:auto}.map-editor-stage>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.map-preview-loading{position:absolute;inset:0;z-index:1;display:grid;place-content:center;color:var(--muted);background:linear-gradient(145deg,#172440,#0b1429)}.map-editor-pin{position:absolute;z-index:4;display:grid;justify-items:center;gap:2px;min-width:0;padding:0;border:0;color:var(--text);background:transparent;transform:translate(-50%,-50%);cursor:grab;touch-action:none;filter:drop-shadow(0 3px 5px rgba(1,4,12,.75))}.map-editor-pin>span{display:grid;place-content:center;width:clamp(27px,3.2vw,38px);height:clamp(27px,3.2vw,38px);border:2px solid rgba(255,255,255,.72);border-radius:50%;background:#111c33e6;font-size:clamp(13px,1.45vw,19px);transition:transform .15s,border-color .15s}.map-editor-pin>small{max-width:90px;padding:2px 5px;overflow:hidden;border-radius:5px;color:#f4f5f8;background:#070d1bb8;font-size:clamp(8px,.85vw,11px);font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.map-editor-pin.active>span{border-color:var(--teal);box-shadow:0 0 0 4px #4ddbcf29}.map-editor-pin:hover>span,.map-editor-pin.dragging>span{border-color:var(--gold);transform:scale(1.12)}.map-editor-pin.dragging{z-index:6;cursor:grabbing}.map-start-viewport{position:absolute;z-index:3;border:2px solid var(--gold);border-radius:8px;background:#f5ca6714;box-shadow:0 0 0 1px #050a1499,0 0 22px #f5ca6729;pointer-events:none;transition:inset .12s,width .12s,height .12s}.map-start-viewport>span{position:absolute;left:50%;bottom:100%;padding:3px 7px;border-radius:7px 7px 0 0;color:#241b08;background:var(--gold);font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap;transform:translate(-50%)}.map-editor-help{margin:10px 2px 18px;color:var(--muted);font-size:13px}.map-editor-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.map-editor-fields .wide{grid-column:1 / -1}.map-editor-fields input[type=range]{min-height:32px;padding:0;accent-color:var(--gold);background:transparent;border:0;box-shadow:none}.map-editor-fields output{color:var(--gold);font-size:12px;font-variant-numeric:tabular-nums}.map-detail-editor{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.map-detail-editor .section-head p{max-width:720px}.map-detail-list{display:grid;gap:9px}.map-detail-region{border:1px solid var(--line);border-radius:14px;background:#ffffff06;overflow:hidden}.map-detail-region summary{display:flex;justify-content:space-between;gap:18px;padding:13px 15px;cursor:pointer;font-weight:800}.map-detail-region summary strong{color:var(--gold);font-size:12px}.map-detail-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 12px 12px}.map-detail-level{display:grid;gap:9px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#050b1957}.map-detail-level.ready{border-color:#4ddbcf57}.map-detail-level span,.map-detail-level small{display:block}.map-detail-level small{margin-top:3px;color:var(--muted);font-size:11px}.map-detail-level a{color:var(--teal);font-size:12px;font-weight:800;text-decoration:none}.map-detail-level input[type=file]{min-width:0;width:100%;color:var(--muted);font-size:11px}.map-history{position:sticky;top:30px;display:grid;gap:9px;max-height:calc(100vh - 60px);overflow:auto}.map-history-item{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.map-history-item.selected{border-color:#f5ca6773;background:#f5ca670f}.map-history-item strong,.map-history-item small{display:block}.map-history-item small{margin-top:3px;color:var(--muted);line-height:1.35}.map-empty{display:grid;justify-items:center;gap:12px;padding:48px 24px}.map-empty p{max-width:620px;margin:0}@media(max-width:1080px){.region-grid,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.program-layout,.map-editor-layout{grid-template-columns:1fr}.map-history{position:static;max-height:none}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:17px;gap:16px}.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-button{justify-content:center;padding:10px}.nav-label,.sidebar-foot{display:none}.main{padding:22px 16px 60px}.topbar{align-items:flex-start}.status-row{display:none}.hero{grid-template-columns:1fr}.hero-visual{display:none}.region-grid,.video-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.map-upload-panel{grid-template-columns:1fr}.map-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.map-detail-levels{grid-template-columns:1fr}.map-editor-pin>small{display:none}}@media(max-width:460px){.map-editor-fields{grid-template-columns:1fr}.map-editor-fields .wide{grid-column:auto}}#feed-image-form .toggle{min-height:44px}#feed-image-form input[type=checkbox]{width:18px;height:18px;min-height:18px}
