:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8e8e8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}#root{position:relative}canvas{display:block}*{box-sizing:border-box;margin:0;padding:0}.intro-screen{z-index:9000;background:#020c02;justify-content:center;align-items:center;animation:.4s forwards intro-in;display:flex;position:fixed;inset:0}.intro-screen--out{animation:.7s forwards intro-out}@keyframes intro-in{0%{opacity:0}to{opacity:1}}@keyframes intro-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.intro-terminal{background:#050f05;border:2px solid #1a5c1a;width:min(600px,92vw);font-family:"Press Start 2P",monospace;transition:width .35s;overflow:hidden;box-shadow:0 0 0 1px #0a2a0a,0 0 40px #00ff5014,0 0 80px #00ff500a}.intro-terminal--wide{width:min(820px,94vw)}.intro-titlebar{background:#0a1a0a;border-bottom:1px solid #1a5c1a;align-items:center;gap:6px;padding:10px 14px;display:flex}.intro-dot{border-radius:50%;width:10px;height:10px}.intro-dot--red{background:#ff5f56}.intro-dot--yellow{background:#ffbd2e}.intro-dot--green{background:#27c93f}.intro-titlebar-label{color:#64c86466;letter-spacing:1px;margin-left:8px;font-size:7px}.intro-body{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);flex-direction:row;align-items:center;gap:0;padding:24px 28px 20px;display:flex}.intro-lines{flex:1;min-width:0}.intro-dino-panel{border-left:1px solid #1a5c1a;flex-shrink:0;justify-content:center;align-items:center;width:380px;padding:16px 0 0 6px;animation:.35s forwards dino-slide-in;display:flex}@keyframes dino-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.dino-canvas{width:362px;height:140px;image-rendering:pixelated;cursor:pointer;display:block}.intro-footer{border-top:1px solid #1a5c1a;justify-content:flex-end;align-items:center;padding:14px 300px 20px;display:flex}.intro-line{color:#3ddc3d;white-space:pre;letter-spacing:.5px;text-shadow:0 0 8px #3ddc3d80;font-size:7px;line-height:2.4}.intro-line--bright{color:#c8ffc8;text-shadow:0 0 12px #c8ffc899}.intro-line--accent{color:#1a8c1a;text-shadow:none}.intro-line--dim{color:#1a6c1a;text-shadow:none}.intro-cursor{color:#3ddc3d;text-shadow:0 0 8px #3ddc3dcc;animation:.7s step-end infinite blink;display:inline-block}.intro-btn{text-align:center;color:#3ddc3d;cursor:pointer;letter-spacing:1px;text-shadow:0 0 10px #3ddc3db3;background:0 0;border:2px solid #3ddc3d;padding:12px 24px;font-family:"Press Start 2P",monospace;font-size:8px;transition:background .15s,box-shadow .15s;animation:2s ease-in-out infinite intro-btn-pulse;box-shadow:0 0 14px #3ddc3d26,inset 0 0 14px #3ddc3d0d}.intro-btn:hover{background:#3ddc3d1f;box-shadow:0 0 24px #3ddc3d59,inset 0 0 14px #3ddc3d1a}@keyframes intro-btn-pulse{0%,to{opacity:1}50%{opacity:.75}}html,body,#root{background:#0e1a0e;width:100%;height:100%;overflow:hidden}.mute-hint{color:#ffffff59;letter-spacing:.5px;pointer-events:none;z-index:100;white-space:nowrap;font-family:"Press Start 2P",monospace;font-size:6px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.interact-hint{color:#5a3a10;z-index:500;pointer-events:none;image-rendering:pixelated;background:#f0ead0;border:2px solid #5a3a10;padding:3px 7px;font-family:"Press Start 2P",monospace;font-size:8px}.dialogue-overlay{z-index:1000;cursor:pointer;justify-content:center;align-items:flex-end;padding-bottom:24px;display:flex;position:fixed;inset:0}.dialogue-box{border:3px solid var(--npc-color,#c084fc);color:#e8e8f0;width:min(640px,92vw);image-rendering:pixelated;box-shadow:0 0 0 2px #0e1020, 0 0 0 5px var(--npc-color,#c084fc), 6px 6px 0 #00000080;background:#0e1020;padding:16px;font-family:"Press Start 2P",monospace}.dialogue-header{align-items:flex-start;gap:14px;display:flex}.npc-portrait{width:48px;height:48px;image-rendering:pixelated;border:2px solid var(--npc-color,#c084fc);flex-shrink:0}.dialogue-content{flex:1;min-width:0}.dialogue-name{color:var(--npc-color,#c084fc);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:7px}.dialogue-divider{background:var(--npc-color,#c084fc);opacity:.3;height:1px;margin-bottom:10px}.dialogue-text{color:#d8d8e8;min-height:56px;font-size:7px;line-height:2}.cursor{animation:.8s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.dialogue-continue{color:#fff6;text-align:right;margin-top:8px;font-size:6px;animation:1.2s step-end infinite blink}.dialogue-buttons{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.dialogue-btn{cursor:pointer;background:0 0;border:2px solid;padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:6px;transition:opacity .1s}.dialogue-btn:hover{opacity:.7}.close-btn{color:#c8c8dcb3}.project-btn{color:var(--npc-color,#c084fc)}.dpad{z-index:900;grid-template-rows:repeat(3,56px);grid-template-columns:repeat(3,56px);gap:4px;display:grid;position:fixed;bottom:24px;left:24px}.dpad-btn{color:#c8b478;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#0a0f1ecc;border:2px solid #c8b47899;border-radius:2px;justify-content:center;align-items:center;font-size:20px;display:flex}.dpad-btn:active{background:#c8b47833}.interact-btn{color:#c8b478;touch-action:none;cursor:pointer;z-index:900;background:#0a0f1ecc;border:2px solid #c8b478cc;border-radius:2px;width:72px;height:72px;font-family:"Press Start 2P",monospace;font-size:14px;position:fixed;bottom:40px;right:24px}.interact-btn:active{background:#c8b47833}.toast{color:gold;z-index:2000;white-space:nowrap;background:#0e1020;border:2px solid gold;padding:10px 16px;font-family:"Press Start 2P",monospace;font-size:7px;animation:4s forwards fadeout;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #ffd7004d}@keyframes fadeout{0%{opacity:1}70%{opacity:1}to{opacity:0}}.wo-modal-bg{z-index:1200;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wo-close-btn{margin-top:14px;display:block}.wo-campfire-overlay{z-index:1100;cursor:pointer;background:#0009;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:80px;display:flex;position:fixed;inset:0}.wo-campfire-panel{background:#0e1020;border:3px solid #ff9040;width:min(540px,90vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:0 0 0 2px #0e1020,0 0 0 5px #ff9040,6px 6px #00000080}.wo-campfire-icon{text-align:center;margin-bottom:12px;font-size:28px}.wo-campfire-text{color:#e8d8c0;min-height:52px;font-size:7px;line-height:2.2}.wo-campfire-continue{color:#ffc86480;text-align:right;margin-top:10px;font-size:6px;animation:1.2s step-end infinite blink}.wo-campfire-hint{color:#ffffff40;margin-top:10px;font-family:"Press Start 2P",monospace;font-size:5px}.wo-noticeboard{background:#c8a860;border:4px solid #6b4820;width:min(520px,92vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:6px 6px #00000080}.wo-nb-header{border-bottom:2px solid #8b5830;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-bottom:8px;display:flex}.wo-nb-title{color:#2a1a0a;font-size:8px}.wo-nb-date{color:#5a3a10;font-size:5px}.wo-nb-status{color:#3a2a10;background:#e8d8a0;border:2px solid #8b5830;margin-bottom:12px;padding:6px 8px;font-size:6px}.wo-nb-notes{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:8px;display:flex}.wo-nb-note{color:#2a1a0a;background:#fff8e1;border:1px solid #c8a860;max-width:160px;padding:8px 10px;font-size:6px;line-height:1.8;position:relative;box-shadow:2px 2px #0003}.wo-nb-new{color:#fff;background:#e84040;margin-right:4px;padding:1px 3px;font-size:5px;display:inline-block}.wo-stone{text-align:center;background:#3a3a40;border:4px solid #888890;width:min(420px,90vw);padding:24px;font-family:"Press Start 2P",monospace;box-shadow:6px 6px #00000080}.wo-stone-border{border:2px solid #606068;margin-bottom:14px;padding:16px}.wo-stone-line{color:#c0c0cc;font-size:7px;line-height:2.4}.wo-desk{background:#0e1020;border:3px solid #61dafb;width:min(400px,88vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:0 0 0 2px #0e1020,0 0 0 5px #61dafb,6px 6px #00000080}.wo-desk-screen{background:#0a0a18;border:2px solid #0060a0;margin-bottom:16px;padding:12px}.wo-desk-title{color:#00c0ff;margin-bottom:6px;font-size:7px}.wo-desk-blink{color:#0f8;font-size:7px;animation:.8s step-end infinite blink}.wo-desk-buttons{flex-wrap:wrap;gap:12px;display:flex}.wo-bookshelf{background:#0e1020;border:3px solid #c89060;width:min(560px,92vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:6px 6px #00000080}.wo-shelf-title{color:#c89060;text-align:center;margin-bottom:14px;font-size:8px}.wo-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;margin-bottom:12px;display:grid}.wo-book-spine{cursor:pointer;border:2px solid #0006;justify-content:center;align-items:center;height:64px;transition:filter .1s;display:flex}.wo-book-spine:hover{filter:brightness(1.3)}.wo-book-spine-text{color:#ffffffe6;writing-mode:vertical-lr;text-orientation:mixed;white-space:nowrap;max-height:60px;padding:2px;font-size:5px;overflow:hidden;transform:rotate(180deg)}.wo-book-card{padding:8px}.wo-book-label{margin-bottom:12px;font-size:9px}.wo-book-note{color:#c8c8d8;margin-bottom:12px;font-size:6px;line-height:2}.wo-pinboard{background:#c8a860;border:4px solid #8b5830;width:min(500px,92vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:6px 6px #00000080}.wo-pin-grid{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:10px;display:flex}.wo-pin-note{color:#2a1a0a;cursor:pointer;border:1px solid #00000026;width:140px;min-height:80px;padding:10px;font-size:6px;line-height:1.8;transition:filter .1s;box-shadow:3px 3px #0003}.wo-pin-note:hover{filter:brightness(1.05)}.wo-pin-card{border:2px solid #0003;margin-bottom:12px;padding:16px}.wo-pin-card-text{color:#1a0a00;font-size:7px;line-height:2.2}.wo-record{text-align:center;background:#1a1a22;border:3px solid #c84040;width:min(360px,88vw);padding:20px;font-family:"Press Start 2P",monospace;box-shadow:6px 6px #00000080}.wo-record-title{color:#c84040;margin-bottom:14px;font-size:7px}.wo-record-disc{color:#2a2a2a;margin-bottom:10px;font-size:48px;animation:4s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wo-record-track{color:#c8c8c8;min-height:16px;margin-bottom:14px;font-size:6px}.wo-record-controls{justify-content:center;gap:10px;margin-bottom:12px;display:flex}
