:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#e8eaf0;background:#020208;overflow:hidden}.app{background:#02020a;width:100%;height:100%;position:relative;overflow:hidden}.canvas-wrap{position:absolute;inset:0}.canvas-wrap canvas{cursor:grab;display:block}.canvas-wrap canvas:active{cursor:grabbing}.hud{z-index:10;pointer-events:none;position:absolute}.hud button,.hud input,.locations{pointer-events:auto}.hud-top{justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex;top:0;left:0;right:0}.brand{-webkit-backdrop-filter:blur(12px);background:#0a0c188c;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;padding:10px 16px 10px 12px;display:flex}.brand-mark{background:radial-gradient(circle at 35% 35%,#f5f0dc,#b9b2a0 70%);border-radius:50%;place-items:center;width:38px;height:38px;font-size:22px;display:grid;box-shadow:0 0 18px #f5f0dc59}.brand h1{letter-spacing:.02em;color:#fff;margin:0;font-size:17px;font-weight:650}.brand p{color:#e8eaf0a6;margin:2px 0 0;font-size:12px}.top-actions{gap:8px;display:flex}.btn{appearance:none;color:#e8eaf0;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#0a0c188c;border:1px solid #ffffff24;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.btn:hover{background:#ffffff1f;border-color:#ffffff47}.btn:active{transform:scale(.97)}.btn-active{color:#ffd9a0;background:#ffc35c2e;border-color:#ffc35c8c}.locations{-webkit-backdrop-filter:blur(12px);background:#0a0c188c;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:6px;min-width:190px;padding:12px;display:flex;top:50%;left:22px;transform:translateY(-50%)}.panel-title{letter-spacing:.14em;color:#e8eaf08c;padding:2px 6px 8px;font-size:11px;font-weight:700}.loc{text-align:left;color:#e8eaf0;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.loc:hover{background:#ffffff14}.loc-active{background:#ffc35c24;border-color:#ffc35c66}.loc-dot{background:#ffc35c;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 10px #ffc35ce6}.loc-text{flex-direction:column;line-height:1.25;display:flex}.loc-text strong{font-size:13px;font-weight:650}.loc-text small{color:#e8eaf099;font-size:11px}.tabs{background:#ffffff0f;border-radius:10px;gap:4px;margin-bottom:6px;padding:3px;display:flex}.tab{appearance:none;color:#e8eaf0a6;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 10px;font-size:12.5px;font-weight:700}.tab-active{color:#fff;background:#ffffff24}.btn-highlight{color:#bdf1ff;background:#6ee7ff29;border-color:#6ee7ff80}.btn-highlight:hover{background:#6ee7ff47;border-color:#6ee7ffb3}.status{color:#e8eaf0d9;align-items:center;gap:8px;margin:8px 0;font-size:12.5px;font-weight:650;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.status-dot.awake{background:#5df08a;box-shadow:0 0 10px #5df08ae6}.status-dot.sleepy{background:#ffc35c;box-shadow:0 0 10px #ffc35ce6}.status-dot.silent{background:#8a8fa0;box-shadow:0 0 8px #8a8fa099}.story-card{pointer-events:auto;-webkit-backdrop-filter:blur(16px);background:#0a0c18c7;border:1px solid #6ee7ff40;border-radius:16px;width:340px;max-height:calc(100% - 180px);padding:20px 20px 14px;top:50%;right:22px;overflow-y:auto;transform:translateY(-50%);box-shadow:0 18px 50px #00000080}.story-card h2{color:#fff;margin:4px 0 2px;font-size:24px}.eyebrow{letter-spacing:.14em;color:#6ee7ffd9;font-size:10.5px;font-weight:800}.story-sub{color:#e8eaf0a6;margin:0;font-size:12.5px}.story-text{color:#e8eaf0eb;margin:4px 0 10px;font-size:13.5px;line-height:1.55}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{color:#c9f2ff;background:#6ee7ff1a;border:1px solid #6ee7ff4d;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.fact-box{color:#e8eaf0e6;background:#ffc35c14;border:1px solid #ffc35c4d;border-radius:10px;margin:0 0 12px;padding:9px 12px;font-size:12.5px;line-height:1.5}.fact-box strong{color:#ffd9a0}.story-nav{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.story-count{color:#e8eaf08c;font-variant-numeric:tabular-nums;font-size:12px}.close-btn{appearance:none;color:#e8eaf0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;position:absolute;top:10px;right:10px}.close-btn:hover{background:#ffffff29}.overlay{z-index:50;-webkit-backdrop-filter:blur(8px);background:#02020af0;position:fixed;inset:0;overflow-y:auto}.overlay-inner{max-width:1020px;margin:0 auto;padding:56px 24px 64px;position:relative}.overlay-inner h2{color:#fff;margin:6px 0 4px;font-size:34px}.overlay-lead{color:#e8eaf0b3;max-width:640px;margin:0 0 18px;font-size:14.5px;line-height:1.6}.overlay .tabs{max-width:480px}.status-legend{color:#e8eaf0a6;gap:18px;margin:12px 0 4px;font-size:12px;display:flex}.status-legend>span{align-items:center;gap:7px;display:inline-flex}.cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:14px;display:grid}.entry-card{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:14px;padding:16px 18px}.entry-card h3{color:#fff;margin:4px 0 2px;font-size:18px}.story-photo{margin:2px 0 10px}.story-photo img{aspect-ratio:4/3;object-fit:cover;background:#ffffff0d;border:1px solid #ffffff24;border-radius:12px;width:100%;display:block}.story-photo figcaption{letter-spacing:.08em;color:#e8eaf073;margin-top:5px;font-size:10.5px}.entry-photo{aspect-ratio:16/9;object-fit:cover;background:#ffffff0d;border-bottom:1px solid #ffffff1f;border-radius:14px 14px 0 0;width:calc(100% + 36px);margin:-16px -18px 12px;display:block}.overlay-credit{color:#e8eaf073;margin:22px 0 0;font-size:12px}.chip-btn{appearance:none;cursor:pointer;font:inherit;transition:background .15s,border-color .15s,transform .1s}.chip-btn:hover{background:#6ee7ff38;border-color:#6ee7ff99}.chip-btn:active{transform:scale(.96)}.model-btns{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.btn-small{padding:7px 12px;font-size:12px}.model-overlay{z-index:60;-webkit-backdrop-filter:blur(6px);background:#02020acc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.model-card{background:#0c0e1cf5;border:1px solid #6ee7ff4d;border-radius:18px;grid-template-columns:1.25fr 1fr;width:min(880px,94vw);max-height:92vh;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0009}.model-canvas{height:460px;min-height:320px}.model-canvas canvas{border-radius:18px 0 0 18px;display:block}.model-info{flex-direction:column;gap:6px;padding:48px 24px 20px;display:flex}.model-info h3{color:#fff;margin:2px 0;font-size:22px}.model-note{color:#e8eaf080;margin:2px 0 8px;font-size:11.5px;font-style:italic}.statusbar{color:#e8eaf0bf;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;font-size:12.5px;display:flex;bottom:0;left:0;right:0}.coords{font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(12px);background:#0a0c188c;border:1px solid #ffffff1f;border-radius:999px;padding:7px 14px}.hint{-webkit-backdrop-filter:blur(12px);background:#0a0c1873;border-radius:999px;padding:7px 14px}@media (width<=640px){.hud-top{padding:12px}.brand p{display:none}.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:46vw}.btn{padding:8px 11px;font-size:12px}.locations{flex-direction:row;min-width:0;padding:8px;inset:auto 12px 64px;overflow-x:auto;transform:none}.panel-title{display:none}.loc{white-space:nowrap}.loc-text small,.hint{display:none}.story-card{width:auto;max-height:38vh;padding:16px 16px 12px;inset:auto 12px 148px;transform:none}.story-card h2{font-size:20px}.overlay-inner{padding:60px 16px 48px}.overlay-inner h2{font-size:26px}.model-card{grid-template-columns:1fr}.model-canvas{height:300px}.model-canvas canvas{border-radius:18px 18px 0 0}.model-info{padding:16px 18px 18px}}
