:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{touch-action:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hud-container{pointer-events:none;z-index:9999;position:absolute;inset:0}.stats-bars{pointer-events:auto;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.stat-bar{background:#0a0a0abf;border-radius:8px;width:220px;height:28px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0009}.stat-label{color:#fff;z-index:2;text-shadow:0 1px 1px #0009;font-size:13px;position:absolute;top:4px;left:10px}.bar-fill{z-index:1;width:0;height:100%;transition:width .35s cubic-bezier(.2,.9,.2,1)}.compass{background:#0a0a0a99;border-radius:999px;width:110px;height:110px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000008c}.compass-ring{border:1px solid #ffffff38;border-radius:999px;transition:transform 80ms linear;position:absolute;inset:8px}.compass-needle{background:#ff5a5a;width:2px;height:34px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 0 6px #ff5a5a99}.compass-readout{color:#fffc;font-size:12px;position:absolute;bottom:10px;right:10px}.compass-letter{color:#ffffffd9;font-size:12px;position:absolute}.compass-letter.north{top:2px;left:50%;transform:translate(-50%)}.compass-letter.east{top:50%;right:4px;transform:translateY(-50%)}.compass-letter.south{bottom:2px;left:50%;transform:translate(-50%)}.compass-letter.west{top:50%;left:4px;transform:translateY(-50%)}.stat-bar.health .bar-fill{background:linear-gradient(90deg,#ff6b6b,#ff2e2e)}.stat-bar.mana .bar-fill{background:linear-gradient(90deg,#6b9bff,#2e5bff)}.stat-bar.xp .bar-fill{background:linear-gradient(90deg,#ffd26b,#ffb42e)}.menu-tabs{left:12px;top:calc(var(--power-offset,12px) - (var(--tab-size) + var(--tab-gap)) * var(--power-index,0));pointer-events:auto;z-index:10000;--tab-size:40px;--tab-gap:8px;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.hud-overlay{z-index:8500;pointer-events:auto;cursor:default;background:0 0;border:none;margin:0;padding:0;position:fixed;inset:0}.menu-tab-button{border:1px solid color-mix(in srgb, var(--sparkle-color,#50ffc840) 70%, transparent);cursor:pointer;width:40px;height:40px;box-shadow:0 0 12px color-mix(in srgb, var(--sparkle-color,#50ffc840) 45%, transparent), 0 6px 18px #0009;background:#060a12d9;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:visible}.menu-tab-icon{object-fit:contain;width:26px;height:26px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--sparkle-color,#50ffc899) 70%, transparent));z-index:1;position:relative}.menu-tab-sparkles{z-index:0;pointer-events:none;position:absolute;inset:-6px}.menu-tab-sparkle{background:var(--sparkle-color,#78c8ffe6);width:4px;height:4px;box-shadow:0 0 8px var(--sparkle-color,#78c8ffcc), 0 0 16px #78c8ff73;border-radius:999px;animation:3.2s ease-in-out infinite icon-sparkle-float;position:absolute}.menu-tab-sparkle:first-child{animation-delay:0s;top:6px;left:8px}.menu-tab-sparkle:nth-child(2){animation-delay:.4s;top:8px;right:10px}.menu-tab-sparkle:nth-child(3){animation-delay:.8s;bottom:10px;left:6px}.menu-tab-sparkle:nth-child(4){animation-delay:.2s;bottom:8px;right:8px}.menu-tab-sparkle:nth-child(5){animation-delay:1s;top:0;left:50%;transform:translate(-50%)}.menu-tab-sparkle:nth-child(6){animation-delay:.6s;bottom:0;left:50%;transform:translate(-50%)}@keyframes icon-sparkle-float{0%{opacity:0;transform:translateY(6px)scale(.9)}60%{opacity:.9}to{opacity:0;transform:translateY(-10px)scale(1.05)}}.menu-tab-button.active{border-color:color-mix(in srgb, var(--sparkle-color,#78fff0b3) 80%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--sparkle-color,#78fff080) 60%, transparent), 0 8px 22px #000000b3;background:linear-gradient(160deg,#14283ce6,#0a121ee6);transform:translateY(-1px)}.menu-tab-tooltip{opacity:0;pointer-events:none;color:#b9ffe9;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;z-index:2;background:#060a12f2;border:1px solid #78fff066;border-radius:8px;padding:4px 8px;font-size:12px;position:absolute;top:50%;left:46px;transform:translateY(-50%);box-shadow:0 0 10px #50ffc840}.menu-tab-button:hover .menu-tab-tooltip{opacity:1}.menu-tab-gold .menu-tab-tooltip{color:#ffd66b;border-color:#ffd66b8c;box-shadow:0 0 10px #ffd66b59}.menu-tab-red .menu-tab-tooltip{color:#ff6b6b;border-color:#ff6b6b8c;box-shadow:0 0 10px #ff6b6b59}.menu-tab-blue .menu-tab-tooltip{color:#6bb7ff;border-color:#6bb7ff8c;box-shadow:0 0 10px #6bb7ff59}.menu-tab-green .menu-tab-tooltip{color:#6bff9d;border-color:#6bff9d8c;box-shadow:0 0 10px #6bff9d59}.menu-tab-purple .menu-tab-tooltip{color:#c99bff;border-color:#c99bff8c;box-shadow:0 0 10px #c99bff59}.menu-tab-pink .menu-tab-tooltip{color:#ff8de0;border-color:#ff8de08c;box-shadow:0 0 10px #ff8de059}.menu-tab-power{border-color:var(--sparkle-color,#64ffff99);box-shadow:0 0 18px color-mix(in srgb, var(--sparkle-color,#64ffff99) 70%, transparent), 0 8px 18px #0009;z-index:2;background:#08121ce6;transition:transform .5s,opacity .24s}.menu-tab-icon-power{filter:drop-shadow(0 0 10px #64ffffd9)}.menu-tab-power .menu-tab-tooltip{color:var(--sparkle-color,#6bfffb);border-color:color-mix(in srgb, var(--sparkle-color,#6bfffb) 55%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--sparkle-color,#6bfffb) 45%, transparent)}.menu-tab-eject{border-color:var(--sparkle-color,#ffa050b3);box-shadow:0 0 16px color-mix(in srgb, var(--sparkle-color,#ffa050b3) 70%, transparent), 0 8px 18px #0009;z-index:2;background:#1e1008e6;transition:transform .5s,opacity .24s}.menu-tab-icon-eject{filter:drop-shadow(0 0 10px #ff9c45e6)}.menu-tab-eject .menu-tab-tooltip{color:var(--sparkle-color,#ff9c45);border-color:color-mix(in srgb, var(--sparkle-color,#ff9c45) 55%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--sparkle-color,#ff9c45) 45%, transparent)}.menu-tab-multiplayer{color:#e6f3ff;letter-spacing:.3px;pointer-events:none;background:#08121cc7;border-radius:10px;width:max-content;padding:6px 10px;font-family:Consolas,Menlo,monospace;font-size:11px;box-shadow:0 8px 18px #00000073}.multiplayer-chat{z-index:1;color:#e6f3ff;pointer-events:auto;width:100%;margin-top:10px;font-family:Consolas,Menlo,monospace;position:relative}.multiplayer-chat-log{background:#060a12b8;border-radius:12px;max-height:220px;padding:8px 10px;font-size:11px;line-height:1.35;overflow:auto;box-shadow:0 10px 24px #00000073}.multiplayer-chat-line{margin-bottom:6px}.multiplayer-chat-line:last-child{margin-bottom:0}.multiplayer-chat-system{color:#e6f3ffb3;font-style:italic}.multiplayer-chat-meta{color:#9fd8ff}.multiplayer-chat-input{background:#08121ce6;border-radius:12px;margin-bottom:8px;padding:8px 10px;box-shadow:0 10px 24px #00000080}.multiplayer-chat-mode{text-transform:uppercase;letter-spacing:1px;color:#e6f3ffb3;margin-bottom:6px;font-size:10px}.multiplayer-chat-input input{color:#e6f3ff;background:#02060ccc;border:1px solid #fff3;border-radius:8px;outline:none;width:100%;padding:6px 8px;font-size:12px}.multiplayer-chat-input input:disabled{opacity:.6}.chat-toast-stack{z-index:12000;pointer-events:none;flex-direction:column;gap:6px;max-width:320px;font-family:Consolas,Menlo,monospace;display:flex;position:fixed}.chat-toast{color:#e6f3ff;background:#060a12b8;border:1px solid #fff3;border-radius:12px;padding:8px 10px;font-size:11px;line-height:1.35;box-shadow:0 10px 24px #00000073}.multiplayer-distance{z-index:12000;color:#e6f3ff;letter-spacing:.3px;pointer-events:none;background:#08121cd9;border-radius:12px;min-width:160px;padding:8px 12px;font-family:Consolas,Menlo,monospace;font-size:11px;position:fixed;bottom:260px;left:12px;box-shadow:0 10px 24px #00000073}.multiplayer-distance-label{text-transform:uppercase;letter-spacing:1px;color:#e6f3ff99;font-size:9px}.multiplayer-distance-value{color:#9fd8ff;margin-top:4px;font-size:12px}.multiplayer-distance-metric{color:#e6f3ffcc;margin-top:2px;font-size:11px}.menu-tabs .menu-tab-button{transition:transform .6s cubic-bezier(.22,.61,.36,1),opacity .6s}.menu-tabs-collapsed .menu-tab-button:not(.menu-tab-power):not(.menu-tab-eject):not(.menu-tab-jump){transform:translateY(var(--collapse-offset)) scale(.96);opacity:0;pointer-events:none;z-index:0}.menu-tabs-collapsed .menu-tab-button:not(.menu-tab-power):not(.menu-tab-eject):not(.menu-tab-jump) .menu-tab-tooltip{opacity:0}.minimap{pointer-events:auto;z-index:11000;box-sizing:border-box;background:#060c16eb;border:1px solid #78b4ff40;border-radius:12px;width:148px;padding:8px;position:absolute;top:16px;right:16px;overflow:visible;box-shadow:0 10px 24px #0000008c}.minimap canvas{background:#02060cd9;border-radius:8px;width:100%;height:auto;display:block}.minimap-controls{justify-content:space-between;gap:6px;margin-top:6px;display:flex}.minimap-controls button{color:#cfe3ff;cursor:pointer;background:#141a28e6;border:1px solid #78b4ff59;border-radius:8px;flex:1;padding:4px 6px;font-size:12px}.minimap-embedded{z-index:auto;width:100%;margin-top:6px;position:static;top:auto;right:auto}.intro-lightning{z-index:30000;pointer-events:none;position:fixed;inset:0}.intro-lightning-bg{background:#000;animation:3.2s forwards introFadeOut;position:absolute;inset:0}.intro-border{background:linear-gradient(#78ffff00,#78ffffe6);width:6px;height:0;animation:1.1s forwards introBorderRise;position:absolute;bottom:0;box-shadow:0 0 16px #78ffffd9}.intro-border-left{left:0}.intro-border-right{animation-delay:60ms;right:0}.intro-arc{background:radial-gradient(circle,#8cffffe6,#1e507800 70%);border-radius:999px;width:0;height:8px;animation:.5s 1.1s forwards introArcGrow;position:absolute;top:0;box-shadow:0 0 18px #8cffffe6}.intro-arc-left{left:0}.intro-arc-right{animation-delay:1.16s;right:0}.intro-flash{opacity:0;background:radial-gradient(circle,#c8ffffd9,#0000);animation:.35s 1.6s forwards introFlash;position:absolute;inset:0}.intro-sparks{position:absolute;inset:0}.intro-spark{width:6px;height:18px;left:calc(10% + 80% * var(--spark-x,.1));background:linear-gradient(#b4fffff2,#b4ffff00);border-radius:999px;animation:.9s ease-in-out infinite introSparkFall;position:absolute;top:8%}.intro-spark:nth-child(odd){left:8%}.intro-spark:nth-child(2n){right:8%}.debug-panel{pointer-events:auto;z-index:12000;resize:both;background:#0a0c12f0;border:1px solid #78b4ff40;border-radius:12px;width:360px;min-width:280px;max-width:90vw;min-height:200px;max-height:90vh;padding:10px 12px 14px;position:absolute;bottom:20px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 10px 24px #0009}.debug-panel-header{color:#cfe3ff;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.debug-panel-header button{color:#dbe8ff;cursor:pointer;background:#1e283cb3;border:1px solid #78b4ff40;border-radius:8px;padding:4px 8px}.debug-panel-master{border-bottom:1px solid #78b4ff26;margin-bottom:8px;padding:6px 2px 10px}.debug-panel-fps{color:#d2e7ffb3;margin-top:4px;font-size:11px}.debug-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.debug-subtitle{color:#9cc2ff;text-transform:uppercase;letter-spacing:.04em;margin-top:10px;font-size:11px}.debug-section{border-top:1px solid #78b4ff1f;margin-top:10px;padding-top:8px}.debug-section-title{color:#9ad7ff;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px}@keyframes introBorderRise{0%{opacity:0;height:0}to{opacity:1;height:100%}}@keyframes introArcGrow{0%{opacity:0;width:0}to{opacity:1;width:50%}}@keyframes introFlash{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes introSparkFall{0%{opacity:0;transform:translateY(0)scale(.7)}40%{opacity:1;transform:translateY(140px)scale(1)}to{opacity:0;transform:translateY(260px)scale(.6)}}@keyframes introFadeOut{0%,65%{opacity:1}to{opacity:0}}.light-panel-toggle{color:#fff;cursor:pointer;pointer-events:auto;background:#141414d9;border:1px solid #ffffff14;border-radius:8px;padding:6px 10px;position:absolute;top:20px;right:20px}.light-panel{pointer-events:auto;background:#0a0c12eb;border:1px solid #78b4ff33;border-radius:12px;width:260px;padding:10px;position:absolute;top:20px;right:20px;box-shadow:0 10px 24px #0009}.light-panel-header{color:#cfe3ff;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.light-panel-header button{color:#dbe8ff;cursor:pointer;background:#1e283cb3;border:1px solid #78b4ff40;border-radius:8px;padding:4px 8px}.light-row{color:#cfe3ff;align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.light-row input[type=range]{flex:1}.light-value{text-align:right;color:#9ad7ff;width:38px}.perf-panel{pointer-events:auto;background:#0a0c12eb;border:1px solid #78b4ff33;border-radius:12px;width:260px;padding:10px;position:absolute;top:320px;right:20px;box-shadow:0 10px 24px #0009}.perf-panel-hint{color:#b4d2ffb3;text-align:right;margin-top:6px;font-size:11px}.audio-panel-toggle{color:#fff;cursor:pointer;pointer-events:auto;background:#141414d9;border:1px solid #ffffff14;border-radius:8px;padding:6px 10px;position:absolute;top:60px;right:20px}.audio-panel{pointer-events:auto;background:#0a0c12eb;border:1px solid #78b4ff33;border-radius:12px;width:320px;padding:10px;position:absolute;top:60px;right:20px;box-shadow:0 10px 24px #0009}.audio-panel-header{color:#cfe3ff;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.audio-panel-header button{color:#dbe8ff;cursor:pointer;background:#1e283cb3;border:1px solid #78b4ff40;border-radius:8px;padding:4px 8px}.audio-row{color:#cfe3ff;grid-template-columns:70px 1fr 46px 46px 46px;align-items:center;gap:6px;margin:6px 0;font-size:12px;display:grid}.audio-row input[type=range]{width:100%}.audio-value{text-align:right;color:#9ad7ff}.music-panel{border:1px solid var(--hud-accent);color:#d7f8ff;pointer-events:auto;min-width:200px;box-shadow:0 0 24px #0000008c, 0 0 16px var(--hud-accent-soft), 0 18px 50px #000000b3;z-index:10001;--hud-accent:#78fff0;--hud-accent-soft:#50ffc899;touch-action:manipulation;user-select:none;background:linear-gradient(160deg,#060c16fa,#080a12fa);border-radius:16px;padding:10px 12px 12px;position:absolute;top:12px;left:64px}.music-panel-title{letter-spacing:.6px;text-transform:uppercase;color:var(--hud-accent);margin-bottom:4px;font-size:11px}.music-panel-track{color:#e6f3ff;text-align:center;margin-bottom:14px;font-size:13px}.music-panel-controls{justify-content:space-between;gap:6px;width:100%;display:flex}.music-panel-controls button{color:#d7f8ff;cursor:pointer;background:#141a28d9;border:1px solid #78b4ff59;border-radius:10px;flex:1;padding:6px 8px;font-size:12px}.music-panel-pink{--hud-accent:#ff8de0;--hud-accent-soft:#ff8de08c;color:#ffd8f3}.music-panel-pink .music-panel-controls button{color:#ffd8f3;border-color:#ff8de073}.music-panel-slider{color:#ffdaf3e6;grid-template-columns:56px 1fr 44px;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:grid}.music-panel-slider input[type=range]{touch-action:pan-x;width:100%}.journal-overlay{pointer-events:auto;z-index:9000;background:0 0;position:absolute;inset:0}.journal-panel{border:1px solid var(--hud-accent);width:min(240px,34vw);min-height:190px;box-shadow:0 0 24px #0000008c, 0 0 16px var(--hud-accent-soft), 0 18px 50px #000000b3;color:#dbe8ff;pointer-events:auto;resize:both;--hud-accent:#78fff0;--hud-accent-glow:#78fff0e6;--hud-accent-soft:#50ffc899;scrollbar-width:none;background:linear-gradient(160deg,#060c16fa,#080a12fa);border-radius:16px;flex-direction:column;gap:8px;min-width:220px;max-width:min(520px,90vw);min-height:180px;max-height:min(70vh,520px);padding:10px 12px;display:flex;position:absolute;overflow:hidden}.journal-item{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#080c1459;border:1px solid #ffffff14;border-radius:10px;width:100%;margin-bottom:6px;padding:8px 10px;transition:transform .12s,box-shadow .24s,border-color .24s,color .24s;position:relative;overflow:hidden}.journal-item:hover{color:var(--hud-accent);text-shadow:0 0 10px var(--hud-accent-soft);border-color:color-mix(in srgb, var(--hud-accent-soft) 60%, #ffffff26);box-shadow:0 0 12px var(--hud-accent-soft)}.journal-item:active{transform:translateY(1px)scale(.99)}.journal-item:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--hud-accent) 70%, transparent) 0%, transparent 65%);opacity:0;pointer-events:none;position:absolute;inset:-30%;transform:scale(.6)}.journal-item-click{box-shadow:0 0 18px var(--hud-accent-glow);animation:.22s journal-item-bounce}.journal-item-click:after{animation:.52s journal-item-pulse}.journal-panel::-webkit-scrollbar{width:0;height:0}.journal-panel-quests{--hud-accent:#ffd66b;--hud-accent-glow:#ffd66be6;--hud-accent-soft:#ffd66b8c}.journal-panel-quests .journal-item{box-shadow:none;background:0 0;border:0;min-height:auto;padding:6px 2px;font-size:13px;line-height:1.3;display:block}.journal-panel-quests .journal-item:hover{box-shadow:none;border:0}.journal-panel-journal{--hud-accent:#ff6b6b;--hud-accent-glow:#ff6b6be6;--hud-accent-soft:#ff6b6b8c}.journal-panel-map{--hud-accent:#6bb7ff;--hud-accent-glow:#6bb7ffe6;--hud-accent-soft:#6bb7ff8c}.journal-panel-items{--hud-accent:#6bff9d;--hud-accent-glow:#6bff9de6;--hud-accent-soft:#6bff9d8c}.journal-panel-magic{--hud-accent:#c99bff;--hud-accent-glow:#c99bffe6;--hud-accent-soft:#c99bff8c}.journal-panel-tech{--hud-accent:#ffd66b;--hud-accent-glow:#ffd66be6;--hud-accent-soft:#ffd66b8c}.journal-header{border-bottom:1px solid color-mix(in srgb, var(--hud-accent-soft) 70%, transparent);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.journal-title{letter-spacing:.6px;text-transform:uppercase;color:#80ffd8;text-shadow:0 0 8px #50ffc899;font-size:18px}.journal-meta{letter-spacing:.4px;text-transform:uppercase;color:#dcebffd9;white-space:nowrap;margin-left:10px;font-size:12px}.journal-close{color:#dbe8ff;cursor:pointer;background:#0a141ecc;border:1px solid #50ffc859;border-radius:10px;padding:6px 12px;box-shadow:0 0 10px #50ffc833}.journal-body{color:#dcebffe6;scrollbar-width:none;flex-direction:column;flex:1;gap:10px;font-size:15px;display:flex;overflow:auto}.journal-body::-webkit-scrollbar{width:0;height:0}.journal-body p{margin:0;line-height:1.5}.journal-entries{flex-direction:column;gap:12px;display:flex}.journal-entry-input{flex-direction:column;gap:10px;display:flex}.journal-entry-input textarea{box-sizing:border-box;resize:vertical;color:#e5edf3;background:#080a0ed9;border:1px solid #78fff040;border-radius:12px;width:100%;min-height:90px;padding:10px 12px;font-family:inherit;font-size:14px}.journal-add{color:#eafff6;cursor:pointer;background:#080c12e6;border:1px solid #78fff066;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:12px}.journal-entry{background:#080c1459;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.journal-entry-date{letter-spacing:.4px;text-transform:uppercase;color:#dcebffbf;font-size:11px}.journal-entry-text{color:#dcebffe6;font-size:14px;line-height:1.5}.journal-entry-tag{letter-spacing:.05em;text-transform:uppercase;color:#ffd2a0e6;font-size:11px}.journal-map-note{color:#d2e4ffd9;text-align:center;padding:12px 10px;font-size:13px}.journal-tabs{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.journal-tab{color:#cfe3ff;cursor:pointer;background:#141a28cc;border:1px solid #78b4ff33;border-radius:10px;padding:6px 10px}.journal-tab.active{color:#fff;background:linear-gradient(160deg,#3c78dc99,#b450dc80);border-color:#b4dcff99}.items-panel{flex-direction:column;gap:12px;display:flex}.items-panel-top{align-items:flex-start;gap:12px;display:flex}.items-figure{background:#080c1499;border:1px solid #6bff9d59;border-radius:12px;width:120px;height:120px;overflow:hidden;box-shadow:0 0 12px #6bff9d40}.items-figure-canvas{width:100%;height:100%;display:block}.items-stats{flex-direction:column;flex:1;gap:10px;display:flex}.items-stat{letter-spacing:.6px;text-transform:uppercase;color:#e6fff0cc;flex-direction:column;gap:4px;font-size:11px;display:flex}.items-stat-bar{background:#0a101ab3;border:1px solid #ffffff14;border-radius:999px;height:8px;overflow:hidden}.items-stat-bar span{border-radius:999px;height:100%;display:block;box-shadow:inset 0 0 12px #00000059}.items-stat-health span{background:linear-gradient(90deg,#ff4b4b,#ff9d6b)}.items-stat-mana span{background:linear-gradient(90deg,#3a7bff,#6bc4ff)}.items-stat-xp span{background:linear-gradient(90deg,#6bff9d,#a8ff6b)}.items-credits{letter-spacing:1px;text-transform:uppercase;color:#e6fff0e6;margin-top:4px;font-size:12px}.items-list{flex-direction:column;display:flex}.journal-header-quests .journal-title,.journal-body-quests{color:#ffd66b;text-shadow:0 0 10px #ffd66b66}.journal-header-journal .journal-title,.journal-body-journal{color:#ff6b6b;text-shadow:0 0 10px #ff6b6b66}.journal-header-map .journal-title,.journal-body-map{color:#6bb7ff;text-shadow:0 0 10px #6bb7ff66}.journal-header-items .journal-title,.journal-body-items{color:#6bff9d;text-shadow:0 0 10px #6bff9d66}.journal-item-button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 8px;padding:0}.journal-item-button:active{transform:translateY(1px)}@keyframes journal-item-bounce{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes journal-item-pulse{0%{opacity:0;transform:scale(.5)}40%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.journal-header-magic .journal-title,.journal-body-magic,.journal-header-skills .journal-title,.journal-body-skills{color:#c99bff;text-shadow:0 0 10px #c99bff66}.journal-header-tech .journal-title,.journal-body-tech{color:#ffd66b;text-shadow:0 0 10px #ffd66b66}.hud-sparkles{pointer-events:none;position:absolute;inset:0}.hud-sparkles-back{z-index:0;opacity:.75}.hud-sparkles-front{z-index:3}.journal-header,.journal-body{z-index:1;position:relative}.hud-sparkle{background:var(--sparkle-color,var(--hud-accent));width:4px;height:4px;box-shadow:0 0 6px var(--sparkle-glow,var(--hud-accent-glow)), 0 0 14px var(--sparkle-glow-soft,var(--hud-accent-soft));border-radius:999px;animation:3.2s ease-in-out infinite hud-sparkle-float;position:absolute}.hud-sparkle:first-child{animation-delay:0s;top:12px;left:12px}.hud-sparkle:nth-child(2){animation-delay:.4s;top:8px;left:50%;transform:translate(-50%)}.hud-sparkle:nth-child(3){animation-delay:.8s;top:12px;right:12px}.hud-sparkle:nth-child(4){animation-delay:.2s;top:40%;right:12px}.hud-sparkle:nth-child(5){animation-delay:.6s;bottom:12px;right:12px}.hud-sparkle:nth-child(6){animation-delay:1s;bottom:8px;left:50%;transform:translate(-50%)}.hud-sparkle:nth-child(7){animation-delay:1.2s;bottom:12px;left:12px}.hud-sparkle:nth-child(8){animation-delay:.9s;top:40%;left:12px}.hud-sparkle:nth-child(9){animation-delay:1.4s;top:10px;left:30%}.hud-sparkle:nth-child(10){animation-delay:1.6s;top:10px;right:30%}.hud-sparkle:nth-child(11){animation-delay:1.1s;bottom:10px;left:30%}.hud-sparkle:nth-child(12){animation-delay:1.3s;bottom:10px;right:30%}@keyframes hud-sparkle-float{0%{opacity:0;transform:translateY(6px)scale(.7)}60%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.05)}}@keyframes hud-panel-slide{0%{opacity:0;transform:translate(-12px,-12px)}to{opacity:1;transform:translate(0)}}.dialogue-overlay{pointer-events:auto;opacity:1;background:#0003;justify-content:center;align-items:center;transition:opacity .42s;display:flex;position:absolute;inset:0}.dialogue-overlay.dialogue-overlay-closing{opacity:0}.dialogue-stack{flex-direction:column;align-items:center;gap:34px;width:min(640px,92vw);display:flex}.dialogue-panel{color:#e2efff;background:#080c14eb;border:1px solid #ffd66b99;border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 18px #ffd66b59,0 12px 40px #0009}.dialogue-header{justify-content:space-between;align-items:center;display:flex}.dialogue-portrait{aspect-ratio:1;border:2px solid #ffd66be6;border-radius:18px;flex:none;width:50%;max-width:260px;animation:3.2s ease-in-out infinite portrait-float;position:relative;overflow:hidden;box-shadow:0 0 22px #ffd66ba6,0 0 40px #ffd66b59}.dialogue-portrait-floating{margin-bottom:12px}.dialogue-portrait img{object-fit:cover;width:100%;height:100%;display:block}.portrait-sparkles{pointer-events:none;position:absolute;inset:0}.portrait-sparkle{background:#ffd66b;border-radius:999px;width:5px;height:5px;animation:3s ease-in-out infinite hud-sparkle-float;position:absolute;box-shadow:0 0 8px #ffd66be6,0 0 16px #ffd66b99}.portrait-sparkles-back{z-index:0;opacity:.75}.portrait-sparkle-back{background:#a8d7ff;width:10px;height:10px;box-shadow:0 0 10px #a8d7ffe6,0 0 18px #a8d7ff99}.dialogue-name{color:#f7d88a;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 10px #ffd66b99,0 0 20px #ffd66b59;font-size:20px}.dialogue-close{color:#dbe8ff;cursor:pointer;background:#1e283cb3;border:1px solid #78b4ff40;border-radius:10px;padding:4px 10px}.dialogue-body{color:#dcebfff2;font-size:15px;line-height:1.5}.dialogue-options{grid-template-columns:1fr;gap:10px;margin-top:8px;display:grid}.dialogue-option{color:#cfe3ff;cursor:pointer;box-shadow:none;background:#141a28e6;border:1px solid #78b4ff33;border-radius:10px;padding:8px 12px}.dialogue-option:hover{color:#fff;box-shadow:none;background:#3c78dc80;border-color:#b4dcff99}.dialogue-sparkles{pointer-events:none;position:absolute;inset:0}.dialogue-sparkles-back{z-index:0;opacity:.7}.dialogue-sparkles-front{z-index:3}.dialogue-header,.dialogue-body,.dialogue-options{z-index:1;position:relative}.dialogue-sparkle{background:#ffd66b;border-radius:999px;width:4px;height:4px;animation:3.2s ease-in-out infinite hud-sparkle-float;position:absolute;box-shadow:0 0 6px #ffd66be6,0 0 14px #ffd66b99}@keyframes portrait-float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.hotbar{pointer-events:auto;gap:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hotbar-slot{cursor:pointer;background:#0a0a0acc;border:1px solid #ffffff0a;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.hotbar-slot img{object-fit:contain;width:36px;height:36px}.hotbar-slot.active{transform:scale(1.04);box-shadow:0 0 10px #ffffff14,0 6px 20px #0009}.cooldown-overlay{background:#0006;height:4px;transition:width .2s linear;position:absolute;bottom:0;left:0}@media (width<=600px){.stat-bar{width:160px;height:22px}.hotbar-slot{width:40px;height:40px}.compass{width:96px;height:96px}.menu-tabs{left:10px;top:calc(var(--power-offset,10px) - (var(--tab-size) + var(--tab-gap)) * var(--power-index,0));--tab-size:36px;--tab-gap:6px;gap:6px}.menu-tab-button{width:36px;height:36px}.menu-tab-icon{width:22px;height:22px}.stats-bars{right:10px;bottom:calc(80px + env(safe-area-inset-bottom));gap:6px}.journal-overlay{justify-content:flex-end;align-items:flex-start;padding-top:8px;padding-right:8px}.journal-panel{width:min(54vw,220px);max-height:40vh}.journal-body{overflow:auto}.dialogue-stack{width:min(520px,64vw)}.dialogue-panel{max-height:75vh;overflow:auto}.dialogue-option{padding:6px 10px;font-size:11px}}.journal-panel{animation:.22s ease-out hud-panel-slide}.rpg-panel{pointer-events:auto;z-index:10001;scrollbar-width:none;background:#0a0c12f0;border:1px solid #78b4ff40;border-radius:14px;width:min(360px,38vw);max-height:70vh;padding:12px;position:absolute;top:12px;left:64px;overflow:auto;box-shadow:0 10px 24px #0009}.rpg-panel::-webkit-scrollbar{width:0;height:0}.rpg-panel-header{color:#cfe3ff;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.rpg-panel-header button{color:#dbe8ff;cursor:pointer;background:#1e283cb3;border:1px solid #78b4ff40;border-radius:8px;padding:4px 8px}.rpg-section{border-top:1px solid #78b4ff1f;margin-top:10px;padding-top:8px}.rpg-section h4{letter-spacing:.6px;text-transform:uppercase;color:#9ad7ff;margin:0 0 6px;font-size:12px}.rpg-row{color:#cfe3ff;justify-content:space-between;align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.rpg-row button{color:#d7f8ff;cursor:pointer;background:#141a28d9;border:1px solid #78b4ff4d;border-radius:8px;padding:4px 8px;font-size:11px}.app-container{background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.world-transition{color:#f5f5f5;letter-spacing:.08em;text-transform:uppercase;opacity:1;z-index:20;background:#000;justify-content:center;align-items:center;font-family:Consolas,Menlo,Monaco,monospace;font-size:22px;transition:opacity 1.4s;display:flex;position:absolute;inset:0}.world-transition__content{flex-direction:column;justify-content:center;align-items:center;display:inline-flex}.world-transition__titleWrap{--stroke-thickness:6px;--stroke-gap:14px;--stroke-duration:2.2s;--title-fade-duration:.55s;display:inline-block;position:relative}.world-transition__title{color:#f5f5f5;opacity:1;transition:opacity .6s;animation:6s ease-in-out infinite worldTransitionTitleBreath;display:inline-block}.world-transition__title--hidden{opacity:0;animation:none}.world-transition__stroke{pointer-events:none;filter:drop-shadow(0 0 10px);background:currentColor;display:none;position:absolute}.world-transition__stroke--bottom{width:100vw;left:50%;top:calc(100% + var(--stroke-gap));height:var(--stroke-thickness);transform-origin:50%;animation:worldTransitionStrokeBottom var(--stroke-duration) ease-in-out forwards, worldTransitionGlowPulse 3.8s ease-in-out infinite, worldTransitionLoadingColors 5.6s linear infinite;transform:translate(-50%)scaleX(0)}.world-transition__stroke--left,.world-transition__stroke--right{width:var(--stroke-thickness);top:calc(0px - var(--stroke-gap));height:calc(100% + (var(--stroke-gap) * 2));transform-origin:bottom;animation:worldTransitionStrokeVertical var(--stroke-duration) ease-in-out forwards, worldTransitionGlowPulse 3.8s ease-in-out infinite;transform:scaleY(0)}.world-transition__stroke--left{left:0;top:calc(0px - var(--stroke-gap))}.world-transition__stroke--right{right:0;top:calc(0px - var(--stroke-gap))}.world-transition__stroke--topLeft,.world-transition__stroke--topRight{top:calc(0px - var(--stroke-gap));height:var(--stroke-thickness);width:50%;animation:worldTransitionStrokeTop var(--stroke-duration) ease-in-out forwards, worldTransitionGlowPulse 3.8s ease-in-out infinite;transform:scaleX(0)}.world-transition__stroke--topLeft{transform-origin:0;left:0}.world-transition__stroke--topRight{transform-origin:100%;right:0}@keyframes worldTransitionStrokeBottom{0%{transform:scaleX(0)}33%{transform:scaleX(1)}to{transform:scaleX(1)}}@keyframes worldTransitionStrokeVertical{0%{transform:scaleY(0)}33%{transform:scaleY(0)}66%{transform:scaleY(1)}to{transform:scaleY(1)}}@keyframes worldTransitionStrokeTop{0%{transform:scaleX(0)}66%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes worldTransitionTitleFade{0%{color:#f5f5f5}to{color:#000}}@keyframes worldTransitionTitleBreath{0%{opacity:1}30%{opacity:0}70%{opacity:0}to{opacity:1}}@keyframes worldTransitionGlowPulse{0%{filter:drop-shadow(0 0 8px);opacity:1}50%{filter:drop-shadow(0 0 16px)drop-shadow(0 0 28px);opacity:1}to{filter:drop-shadow(0 0 8px);opacity:1}}@keyframes worldTransitionLoadingColors{0%{color:#f5f5f5}25%{color:#38e26f}50%{color:#b27dff}75%{color:#1ccccc}to{color:#ffb347}}.world-transition.fade-out{opacity:0;pointer-events:none}
