@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#0a0d0a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--surface:#111411;--surface-2:#161916;--border:#ffffff12;--border-strong:#ffffff1f;--text:#8a9188;--text-h:#eef2ee;--text-muted:#4a5248;--sans:"Space Grotesk", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--accent:#0f8;--accent-dim:#00ff8814;--accent-border:#00ff884d;--accent-glow:#00ff882e;--accent-text:#4dffac;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}[data-theme=gold]{--accent:#f5c400;--accent-dim:#f5c40014;--accent-border:#f5c4004d;--accent-glow:#f5c4002e;--accent-text:#ffd84d}[data-theme=blue]{--accent:#09f;--accent-dim:#0099ff14;--accent-border:#0099ff4d;--accent-glow:#0099ff2e;--accent-text:#4dbeff}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-h);margin:0;font-weight:600;line-height:1.1}p{margin:0}.glow-text{color:var(--accent-text);text-shadow:0 0 20px var(--accent-glow), 0 0 60px var(--accent-glow)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent-border)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;transition:all .25s}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--accent-border);box-shadow:0 0 24px var(--accent-glow), 0 8px 32px #0006;transform:translateY(-4px)}.badge{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent-text);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:500;display:inline-flex}.bg-scanlines{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00ff8803 2px 4px);animation:12s linear infinite scanline-drift;position:fixed;inset:0}@keyframes scanline-drift{0%{background-position:0 0}to{background-position:0 80px}}.status-live{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#4dffac;background:#00ff8814;border:1px solid #00ff8840;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:500;display:inline-flex}.status-dev{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#b89300;background:#f5c40012;border:1px solid #f5c40038;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:500;display:inline-flex}.phase-work{color:#4dffac;background:#00ff881a;border-color:#00ff8859}.phase-break{color:#ff7a90;background:#ff3d5a1a;border-color:#ff3d5a59}.phase-try{color:#ffd84d;background:#f5c4001a;border-color:#f5c40059}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.smg-root{background-color:#050d18;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:32px 32px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;width:100%;height:100%;position:relative;overflow:visible}.smg-corridors{width:100%;height:100%;position:absolute;inset:0}.smg-corridor-base{stroke:#0b1928;stroke-width:14px;stroke-linecap:round;vector-effect:non-scaling-stroke}.smg-corridor-line{stroke:#16324a;stroke-width:1px;stroke-dasharray:4 5;stroke-linecap:round;vector-effect:non-scaling-stroke}.smg-grid{gap:clamp(14px,3vw,34px);width:100%;height:100%;padding:clamp(14px,3vw,34px);display:grid;position:relative}.smg-room{appearance:none;cursor:pointer;color:inherit;font-family:var(--mono,"JetBrains Mono", monospace);background:#080f1c;border:1px solid #ffffff17;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 8px;transition:border-color .15s,box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;box-shadow:0 0 #0000}.smg-room:hover,.smg-room:focus-visible{border-color:var(--room-color);box-shadow:0 0 18px color-mix(in srgb, var(--room-color) 45%, transparent), inset 0 0 20px color-mix(in srgb, var(--room-color) 12%, transparent);outline:none;transform:translateY(-1px)}.smg-room.is-work{background:radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--room-color) 14%, transparent) 0%, #080f1c 70%)}.smg-room.is-locked{cursor:pointer;filter:grayscale(.7)brightness(.55)}.smg-room.is-locked:hover,.smg-room.is-locked:focus-visible{box-shadow:none;border-color:#223549;transform:none}.smg-corner{border:1.5px solid var(--room-color);opacity:.55;width:9px;height:9px;transition:opacity .15s;position:absolute}.smg-room:hover .smg-corner{opacity:1}.smg-room.is-locked .smg-corner{opacity:.4;border-color:#223549}.smg-corner-tl{border-bottom:none;border-right:none;top:4px;left:4px}.smg-corner-tr{border-bottom:none;border-left:none;top:4px;right:4px}.smg-corner-bl{border-top:none;border-right:none;bottom:4px;left:4px}.smg-corner-br{border-top:none;border-left:none;bottom:4px;right:4px}.smg-label{letter-spacing:.12em;color:var(--room-color);text-align:center;font-size:clamp(8px,1vw,11px);font-weight:700}.smg-room.is-locked .smg-label{color:#33475a}.smg-code{letter-spacing:.1em;color:#4a6478;text-align:center;font-size:clamp(6.5px,.7vw,8.5px)}.smg-room.is-locked .smg-code{color:#223140}.smg-lock{color:#223549;font-size:10px;position:absolute;top:6px;right:8px}.smg-npc{letter-spacing:.1em;color:var(--npc-color);opacity:.9;align-items:center;gap:5px;font-size:clamp(6.5px,.7vw,8px);display:flex;position:absolute;bottom:8px}.smg-npc-dot{border:1.2px solid var(--npc-color);background:#080f1c;border-radius:50%;width:6px;height:6px}.smg-pda-tag{letter-spacing:.15em;color:#ff4d5e;border:.5px solid #ff4d5e80;border-radius:10px;padding:1px 6px;font-size:7px;animation:2.2s ease-in-out infinite smg-pda-pulse;position:absolute;bottom:8px;right:10px}@keyframes smg-pda-pulse{0%,to{box-shadow:0 0 6px #ff4d5e33}50%{box-shadow:0 0 12px #ff4d5e80}}.smg-begin{letter-spacing:.1em;color:var(--room-color);border:.5px solid color-mix(in srgb, var(--room-color) 55%, transparent);background:#07111c;border-radius:3px;margin-top:2px;padding:3px 8px;font-size:clamp(6.5px,.75vw,8.5px)}.smg-room.is-work:hover .smg-begin,.smg-room.is-work:focus-visible .smg-begin{background:color-mix(in srgb, var(--room-color) 18%, #07111c)}.smg-hovercard{z-index:20;border:1px solid var(--hc-color);width:clamp(160px,22vw,220px);box-shadow:0 0 20px color-mix(in srgb, var(--hc-color) 35%, transparent), 0 10px 30px #00000080;pointer-events:none;font-family:var(--mono,"JetBrains Mono", monospace);background:#050d18f0;border-radius:6px;padding:9px 11px;animation:.12s ease-out smg-hc-in;position:absolute;transform:translate(-50%)}.smg-hovercard[data-flip=down]{margin-top:8px}.smg-hovercard[data-flip=up]{margin-top:-8px;transform:translate(-50%,-100%)}@keyframes smg-hc-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.smg-hovercard[data-flip=up]{animation:.12s ease-out smg-hc-in-up}@keyframes smg-hc-in-up{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}.smg-hovercard-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.smg-hovercard-title{letter-spacing:.1em;color:var(--hc-color);font-size:9px;font-weight:700}.smg-hovercard-code{letter-spacing:.08em;color:#4a6478;white-space:nowrap;font-size:7px}.smg-hovercard-body{color:#8fb4cc;font-size:10px;line-height:1.45}.smg-hovercard-locked{letter-spacing:.15em;color:#7a8a9a;margin-top:6px;font-size:7.5px}.loc-scene{width:100%;height:100%;font-family:var(--mono,"JetBrains Mono", monospace);animation:.25s ease-out loc-scene-in;position:relative;overflow:hidden}@keyframes loc-scene-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.loc-scene-scanlines{pointer-events:none;background-image:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.loc-scene-vignette{pointer-events:none;background:linear-gradient(#02060c99 0%,#02060c0d 22% 55%,#02060cd9 100%);position:absolute;inset:0}.loc-scene-back{z-index:5;appearance:none;cursor:pointer;letter-spacing:.15em;color:#eaf4fb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050d1899;border:.5px solid #ffffff2e;border-radius:4px;padding:6px 11px;font-family:inherit;font-size:9px;transition:border-color .15s,background .15s;position:absolute;top:20px;left:24px}.loc-scene-back:hover,.loc-scene-back:focus-visible{border-color:var(--room-color);background:#050d18d9;outline:none}.loc-scene-heading{text-align:center;position:absolute;top:20px;left:50%;transform:translate(-50%)}.loc-scene-label{letter-spacing:.2em;color:#eaf4fb;text-shadow:0 1px 4px #000000b3;font-size:12px;font-weight:700}.loc-scene-code{letter-spacing:.15em;color:#a8c8dc;opacity:.85;margin-top:2px;font-size:8px}.loc-scene-npc{letter-spacing:.12em;color:var(--npc-color);align-items:center;gap:6px;font-size:9px;display:flex;position:absolute;top:22px;right:24px}.loc-scene-npc-dot{border:1.5px solid var(--npc-color);background:#080f1c;border-radius:50%;width:7px;height:7px}.loc-scene-locked{letter-spacing:.25em;color:#7a8a9a;font-size:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loc-scene-begin{z-index:5;appearance:none;cursor:pointer;letter-spacing:.12em;color:var(--room-color);border:.5px solid color-mix(in srgb, var(--room-color) 55%, transparent);background:#07111c;border-radius:4px;padding:7px 13px;font-family:inherit;font-size:9px;transition:background .15s,box-shadow .15s;position:absolute;bottom:108px;right:24px}.loc-scene-begin:hover,.loc-scene-begin:focus-visible{background:color-mix(in srgb, var(--room-color) 18%, #07111c);box-shadow:0 0 16px color-mix(in srgb, var(--room-color) 35%, transparent);outline:none}.loc-scene-pda{z-index:5;appearance:none;cursor:pointer;letter-spacing:.15em;color:#ffb3ba;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0405b8;border:1px solid #ff4d5e8c;border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-family:inherit;font-size:8.5px;transition:border-color .15s,background .15s;animation:2.2s ease-in-out infinite loc-scene-pda-pulse;display:flex;position:absolute;bottom:108px;right:24px}.loc-scene-pda:hover,.loc-scene-pda:focus-visible{background:#ff4d5e26;border-color:#ff4d5ef2;outline:none}@keyframes loc-scene-pda-pulse{0%,to{box-shadow:0 0 18px #ff4d5e47}50%{box-shadow:0 0 28px #ff4d5e8c}}.loc-scene-dialogue{z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050d18d1;border-top:.5px solid #ffffff14;padding:20px clamp(24px,6vw,120px) 24px;position:absolute;bottom:0;left:0;right:0}.loc-scene-dialogue>*{max-width:760px;margin:0 auto}
