@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;800;900&family=Share+Tech+Mono&family=Rajdhani:wght@500;600;700&display=swap";:root{--bg-dark:#03060f;--bg-panel:#060b1ca6;--bg-panel-solid:#060b1c;--border-neon:#00f0ff26;--border-neon-active:#f59e0b73;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--solstice-color:#f59e0b;--solstice-glow:#f59e0b66;--solstice-bg-glow:radial-gradient(circle at 50% 30%, #f59e0b14 0%, #03060f00 70%);--laser-red:#f33;--laser-green:#0f8;--laser-blue:#08f;--laser-yellow:#fd0;--laser-white:#fff;--crt-color:#39ff14;--crt-bg:#020703;--crt-glow:#39ff144d;--font-display:"Rajdhani", sans-serif;--font-header:"Orbitron", sans-serif;--font-mono:"Share Tech Mono", monospace;--theme-transition:background .8s cubic-bezier(.4, 0, .2, 1), border-color .8s ease, box-shadow .8s ease}[data-theme=night]{--solstice-color:#00f0ff;--solstice-glow:#00f0ff66;--solstice-bg-glow:radial-gradient(circle at 50% 30%, #00f0ff14 0%, #03060f00 70%);--border-neon-active:#00f0ff73}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-display);background-image:var(--solstice-bg-glow);letter-spacing:.03em;height:100vh;transition:var(--theme-transition);background-size:cover;background-attachment:fixed;font-size:18px;position:relative;overflow:hidden}canvas{filter:blur(.5px)}body:before{content:" ";z-index:9999;pointer-events:none;opacity:.4;background:linear-gradient(#12101000 50%,#0000001f 50%) 0 0/100% 4px;display:block;position:fixed;inset:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#03060fcc}::-webkit-scrollbar-thumb{background:#00f0ff33;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--solstice-color)}.glass-panel{-webkit-backdrop-filter:blur(25px);background:linear-gradient(135deg,#081028a6 0%,#040818d9 100%);border:1px solid #00f0ff2e;border-radius:16px;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 20px 50px #000c,inset 0 1px #ffffff0d,0 0 15px #00f0ff08}.glass-panel:after{content:"";background:linear-gradient(90deg, var(--solstice-color) 0%, transparent 30%, transparent 70%, var(--solstice-color) 100%);opacity:.4;height:2px;transition:var(--theme-transition);position:absolute;top:0;left:0;right:0}.glass-panel.active{border-color:var(--solstice-color);box-shadow:0 20px 60px #000000e6, 0 0 30px var(--solstice-glow), inset 0 0 20px #f59e0b14;animation:4s ease-in-out infinite active-panel-pulse}[data-theme=night] .glass-panel.active{box-shadow:0 20px 60px #000000e6, 0 0 30px var(--solstice-glow), inset 0 0 20px #00f0ff14}@keyframes active-panel-pulse{0%,to{border-color:var(--solstice-color);filter:brightness()}50%{filter:brightness(1.05);border-color:#fffc}}h1,h2,h3,h4,h5{font-family:var(--font-header);letter-spacing:.08em;color:#fff;text-transform:uppercase;text-shadow:0 0 10px #ffffff1a;font-weight:800}p{color:var(--text-secondary);font-size:15px;line-height:1.6}.game-container{flex-direction:column;gap:12px;max-width:1650px;height:100vh;max-height:100vh;margin:0 auto;padding:12px 16px;display:flex;overflow:hidden}.game-header{background:linear-gradient(#081028cc 0%,#04081866 100%);border-bottom:1px solid #00f0ff26;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 30px;display:flex}.logo-section{align-items:center;gap:14px;display:flex}.logo-icon{width:32px;height:32px;fill:var(--solstice-color);filter:drop-shadow(0 0 8px var(--solstice-color));transition:var(--theme-transition);animation:3s ease-in-out infinite logo-pulse}.logo-text{font-family:var(--font-header);text-transform:uppercase;letter-spacing:.15em;background:linear-gradient(135deg, #fff 40%, var(--solstice-color) 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 20px #00f0ff26;transition:var(--theme-transition);-webkit-background-clip:text;font-size:22px;font-weight:900}.header-controls{align-items:center;gap:14px;display:flex}.solstice-toggle{border:1px solid var(--solstice-color);cursor:pointer;font-family:var(--font-header);color:var(--solstice-color);letter-spacing:.1em;text-transform:uppercase;background:#03060fd9;border-radius:6px;align-items:center;gap:10px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 0 15px #f59e0b26}.solstice-toggle:hover{box-shadow:0 0 25px var(--solstice-glow);background:#ffffff0d;transform:translateY(-2px)}.solstice-toggle-icon{width:16px;height:16px;transition:transform .8s cubic-bezier(.4,0,.2,1)}.btn-primary{color:var(--text-primary);font-family:var(--font-header);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;background:#08102899;border:1px solid #00f0ff40;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.btn-primary:hover{border-color:var(--solstice-color);color:#fff;box-shadow:0 0 15px var(--solstice-glow);background:#00f0ff14;transform:translateY(-2px)}.btn-solstice{background:var(--solstice-color);color:#03060f;font-family:var(--font-header);letter-spacing:.08em;cursor:pointer;text-transform:uppercase;box-shadow:0 4px 20px var(--solstice-glow);border:none;border-radius:6px;padding:10px 22px;font-size:13px;font-weight:800;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-solstice:hover{box-shadow:0 6px 25px var(--solstice-glow);filter:brightness(1.15);transform:translateY(-2px)}.game-grid-layout{flex-grow:1;grid-template-columns:320px 1fr 440px;gap:16px;display:grid}@media (width<=1280px){.game-grid-layout{grid-template-columns:1fr}}.sidebar-panel{flex-direction:column;gap:16px;height:100%;min-height:0;padding:20px;display:flex;overflow:hidden}.nodes-list-container{flex-direction:column;flex-grow:1;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.sidebar-title{font-size:15px;font-family:var(--font-header);letter-spacing:.1em;color:#fff;border-bottom:1px solid #00f0ff33;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.level-card{cursor:pointer;background:#04081880;border:1px solid #00f0ff1a;border-radius:10px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.level-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#00f0ff4d,#0000);height:1px;transition:all .2s;position:absolute;top:-1px;left:0;right:0}.level-card:hover:after{animation:1.5s linear infinite card-scan-run}@keyframes card-scan-run{0%{opacity:0;top:-1px}10%{opacity:1}90%{opacity:1}to{opacity:0;top:100%}}.level-card:before{content:"";background:0 0;width:4px;transition:all .3s;position:absolute;top:0;bottom:0;left:0}.level-card:hover{background:#00f0ff0d;border-color:#00f0ff59;transform:translateY(-2px)scale(1.02);box-shadow:0 10px 25px #00000080,0 0 10px #00f0ff14}.level-card.active{border-color:var(--solstice-color);box-shadow:0 10px 30px #0009, 0 0 15px var(--solstice-glow);background:#081028e6}.level-card.active:before{background:var(--solstice-color)}.level-number{font-family:var(--font-mono);color:var(--solstice-color);letter-spacing:.05em;transition:var(--theme-transition);margin-bottom:4px;font-size:12px;font-weight:700}.level-name{color:#fff;letter-spacing:.02em;font-size:16px;font-weight:700}.level-status{color:var(--text-secondary);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.puzzle-panel{background:radial-gradient(circle,#08102866 0%,#03060fd9 100%);flex-direction:column;justify-content:space-between;align-items:center;height:100%;min-height:0;padding:24px;display:flex;position:relative;overflow:hidden}.puzzle-board-wrapper{aspect-ratio:1;background:radial-gradient(circle,#060c22 0%,#010308 100%);border:14px solid #0b1126;border-radius:18px;width:100%;max-width:530px;margin:auto 0;position:relative;overflow:hidden;box-shadow:0 25px 70px #000000f2,inset 0 0 40px #000000e6,0 0 0 1px #00f0ff26,0 0 30px #00f0ff08}.puzzle-board-wrapper:before{content:"TACTICAL OBSERVATION GRID // REFRACTOR CALIBRATOR v2.4";color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;z-index:10;opacity:.8;font-size:8px;position:absolute;top:4px;left:12px}.puzzle-board-svg{width:100%;height:100%;display:block}.grid-cell{fill:#00f0ff01;stroke:#00f0ff14;stroke-width:.4px;transition:all .25s cubic-bezier(.4,0,.2,1)}.grid-cell:hover{fill:#00f0ff0d;stroke:#00f0ff59;filter:drop-shadow(0 0 3px #00f0ff26);cursor:pointer}.grid-coordinate{font-family:var(--font-mono);fill:var(--text-secondary);text-anchor:middle;dominant-baseline:middle;pointer-events:none;opacity:.65;font-size:3px;font-weight:700}.laser-beam{stroke-linecap:round;animation:2.5s ease-in-out infinite laser-pulse}.laser-beam-core{stroke:#fff;stroke-linecap:round;stroke-width:1px}.laser-beam-pulse{stroke-dasharray:4 10;stroke-linecap:round;animation:1.2s linear infinite laser-flow}@keyframes laser-flow{to{stroke-dashoffset:-14px}}.toolbox-bezel{background:linear-gradient(#081028e6 0%,#040818f2 100%);border:1px solid #00f0ff33;border-radius:12px;flex-direction:column;gap:10px;width:100%;margin-top:18px;padding:14px 22px;display:flex;box-shadow:inset 0 2px 5px #0009,0 0 15px #00f0ff08}.toolbox-header{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.toolbox{justify-content:center;gap:12px;display:flex}.tool-item{cursor:pointer;background:#03060fd9;border:1px solid #00f0ff26;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:80px;height:62px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.tool-item:hover{background:#00f0ff14;border-color:#00f0ff73;transform:translateY(-3px);box-shadow:0 5px 15px #0006,0 0 8px #00f0ff1a}.tool-item.active{border-color:var(--solstice-color);box-shadow:inset 0 0 12px #f59e0b33, 0 0 16px var(--solstice-glow);background:#f59e0b14}[data-theme=night] .tool-item.active{border-color:var(--solstice-color);box-shadow:inset 0 0 12px #00f0ff33, 0 0 16px var(--solstice-glow);background:#00f0ff14}.tool-icon{width:22px;height:22px;stroke:var(--text-secondary);stroke-width:1.8px;fill:none;transition:all .3s}.tool-item.active .tool-icon{stroke:var(--solstice-color);filter:drop-shadow(0 0 4px var(--solstice-glow))}.tool-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:6px;font-size:9px;font-weight:600}.tool-item.active .tool-label{color:var(--solstice-color)}.tool-badge{background:var(--solstice-color);color:#03060f;font-family:var(--font-mono);min-width:16px;height:16px;transition:var(--theme-transition);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:9px;font-weight:900;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 3px 6px #0009}.terminal-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.terminal-header{background:#040818e6;border-bottom:1px solid #00f0ff26;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.terminal-title-section{align-items:center;gap:10px;display:flex}.terminal-status-dot{background:var(--crt-color);width:8px;height:8px;box-shadow:0 0 8px var(--crt-color);border-radius:50%;animation:1.5s ease-in-out infinite pulse-dot}.terminal-title{font-family:var(--font-mono);color:var(--crt-color);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:700}.crt-screen{background-color:var(--crt-bg);border-bottom-right-radius:16px;border-bottom-left-radius:16px;flex-direction:column;flex-grow:1;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #000000f2}.crt-screen:before{content:" ";z-index:4;pointer-events:none;background:linear-gradient(#12101000 50%,#00000038 50%) 0 0/100% 4px,linear-gradient(90deg,#ff000005,#00ff0003,#0000ff05) 0 0/6px 100%;display:block;position:absolute;inset:0}.crt-screen:after{content:" ";z-index:5;pointer-events:none;background:radial-gradient(circle,#0000 60%,#000000d9 100%);display:block;position:absolute;inset:0}.crt-scroll-content{z-index:2;flex-direction:column;flex-grow:1;gap:14px;min-height:0;margin-bottom:12px;padding-right:6px;display:flex;position:relative;overflow-y:auto}.crt-scroll-content::-webkit-scrollbar{width:4px}.crt-scroll-content::-webkit-scrollbar-track{background:#00ff0008}.crt-scroll-content::-webkit-scrollbar-thumb{background:#39ff1433;border-radius:2px}.crt-scroll-content::-webkit-scrollbar-thumb:hover{background:var(--crt-color)}.crt-message{font-family:var(--font-mono);word-break:break-word;border-radius:6px;max-width:88%;padding:8px 12px;font-size:14px;line-height:1.6}.crt-message.system{color:var(--text-secondary);text-align:center;background:#00f0ff05;border:1px solid #00f0ff26;align-self:center;max-width:100%;padding:8px 12px;font-size:12px}.crt-message.ai{color:var(--crt-color);text-shadow:0 0 6px var(--crt-glow);border-left:3px solid var(--crt-color);background:#39ff1408;border-top-left-radius:0;align-self:flex-start}.crt-message.player{color:#00e5ff;text-shadow:0 0 6px #00e5ff4d;text-align:left;background:#00e5ff0a;border-right:3px solid #00e5ff;border-top-right-radius:0;align-self:flex-end}.typing-indicator{align-items:center;gap:5px;padding:6px;display:flex}.typing-dot{background:var(--crt-color);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.crt-input-line{font-family:var(--font-mono);color:var(--crt-color);z-index:6;border-top:1px solid #39ff1433;flex-shrink:0;align-items:center;gap:10px;padding-top:14px;display:flex;position:relative}.crt-prompt{text-shadow:0 0 4px var(--crt-glow);font-weight:700}.crt-input{font-family:var(--font-mono);color:var(--crt-color);text-shadow:0 0 5px var(--crt-glow);background:0 0;border:none;outline:none;flex-grow:1;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(16px);z-index:100;opacity:0;background:#02040ad9;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s forwards fade-in;display:flex;position:fixed;top:0;left:0}.modal-content{border-color:#00f0ff40;width:100%;max-width:600px;margin:16px;padding:24px;box-shadow:0 30px 70px #000000e6,0 0 30px #00f0ff0d}.modal-header{border-bottom:1px solid #00f0ff1a;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:8px;display:flex}.modal-header h2{font-size:18px;font-family:var(--font-header)}.modal-close-btn{cursor:pointer;stroke:var(--text-secondary);background:0 0;border:none;transition:all .2s}.modal-close-btn:hover{stroke:var(--solstice-color);transform:rotate(90deg)}.form-group{margin-bottom:16px}.form-label{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.input-password-wrapper{align-items:center;display:flex;position:relative}.form-input{color:#fff;width:100%;font-family:var(--font-mono);letter-spacing:.05em;background:#02040ab3;border:1px solid #00f0ff26;border-radius:4px;padding:10px 14px;font-size:13px;transition:all .3s}.form-input:focus{border-color:var(--solstice-color);outline:none;box-shadow:0 0 10px #f59e0b26}.lore-grid{grid-template-columns:210px 1fr;gap:20px;height:380px;display:grid}.lore-sidebar{border-right:1px solid #00f0ff1a;flex-direction:column;gap:8px;padding-right:8px;display:flex;overflow-y:auto}.lore-tab{cursor:pointer;text-transform:uppercase;font-size:13px;font-weight:600;font-family:var(--font-header);color:var(--text-secondary);background:#03060f4d;border:1px solid #00f0ff0d;border-radius:4px;padding:8px 10px;transition:all .2s}.lore-tab:hover{color:#fff;background:#00f0ff0a}.lore-tab.active{color:var(--solstice-color);background:#f59e0b0f;border-color:#f59e0b4d;box-shadow:0 0 8px #f59e0b0d}.lore-tab.locked{opacity:.35;cursor:not-allowed}.lore-body{padding-left:8px;overflow-y:auto}.lore-title{color:#fff;font-size:18px;font-family:var(--font-header);margin-bottom:6px}.lore-meta{font-family:var(--font-mono);color:var(--solstice-color);margin-bottom:12px;font-size:11px}.lore-content{color:var(--text-secondary);font-size:14px;line-height:1.6}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:8px;display:grid}.achievement-badge-card{text-align:center;opacity:.35;background:#03060f80;border:1px solid #00f0ff0d;border-radius:6px;flex-direction:column;align-items:center;padding:14px 8px;transition:all .3s;display:flex}.achievement-badge-card.unlocked{opacity:1;background:#f59e0b08;border-color:#f59e0b40;box-shadow:inset 0 0 10px #f59e0b0d}.achievement-badge-icon{fill:none;width:38px;height:38px;stroke:var(--text-muted);stroke-width:1.5px;transition:all .3s}.achievement-badge-card.unlocked .achievement-badge-icon{stroke:var(--solstice-color);filter:drop-shadow(0 0 6px var(--solstice-glow))}.achievement-badge-title{color:#fff;font-size:13px;font-weight:700;font-family:var(--font-header);margin-top:8px}.achievement-badge-desc{color:var(--text-secondary);margin-top:4px;font-size:11px}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;left:20px}.toast-achievement{-webkit-backdrop-filter:blur(16px);border:1px solid var(--solstice-color);box-shadow:0 15px 40px #000000b3, 0 0 15px var(--solstice-glow);background:#02040af2;border-radius:6px;align-items:center;gap:12px;padding:12px 18px;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards slide-in-toast;display:flex;transform:translate(-120%)}.toast-details{flex-direction:column;display:flex}.toast-label{font-family:var(--font-mono);color:var(--solstice-color);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.toast-name{color:#fff;font-size:13px;font-weight:700;font-family:var(--font-header)}.verdict-overlay-box{z-index:6;background:#040814f2;border:1px solid #00f0ff40;border-radius:8px;flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto;margin-bottom:8px;padding:12px;display:flex;position:relative;box-shadow:0 4px 20px #00f0ff26}.verdict-overlay-title{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;text-align:center;letter-spacing:.05em;font-size:11px}.verdict-button-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.verdict-btn{color:#fff;font-family:var(--font-header);letter-spacing:.05em;cursor:pointer;text-transform:uppercase;text-align:center;background:#03060fcc;border:1px solid #00f0ff26;border-radius:4px;padding:8px 12px;font-size:11px;font-weight:600;transition:all .2s}.verdict-btn.human:hover{border-color:var(--laser-green);color:var(--laser-green);background:#00ff880f;box-shadow:0 0 10px #0f83}.verdict-btn.ai:hover{border-color:var(--laser-red);color:var(--laser-red);background:#ef44440f;box-shadow:0 0 10px #ef444433}@keyframes logo-pulse{0%,to{filter:drop-shadow(0 0 8px var(--solstice-color));transform:scale(1)}50%{filter:drop-shadow(0 0 14px var(--solstice-color));transform:scale(1.05)}}@keyframes laser-pulse{0%,to{opacity:.8;stroke-width:3px}50%{opacity:1;stroke-width:4.5px}}@keyframes pulse-dot{0%,to{opacity:.5}50%{opacity:1}}@keyframes typing-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes fade-in{to{opacity:1}}@keyframes slide-in-toast{to{transform:translate(0)}}@keyframes crt-flicker{0%{opacity:.27861}5%{opacity:.34769}10%{opacity:.23604}15%{opacity:.90626}20%{opacity:.18128}25%{opacity:.83891}30%{opacity:.65583}35%{opacity:.67807}40%{opacity:.26559}45%{opacity:.84693}50%{opacity:.96019}55%{opacity:.13594}60%{opacity:.88013}65%{opacity:.48513}70%{opacity:.81056}75%{opacity:.17466}80%{opacity:.94967}85%{opacity:.52845}90%{opacity:.61385}95%{opacity:.90233}to{opacity:.42873}}g[transform] rect:hover{filter:drop-shadow(0 0 5px var(--solstice-glow));transition:all .25s cubic-bezier(.4,0,.2,1);stroke:var(--solstice-color)!important}.receiver-glow{animation:2.5s ease-in-out infinite receiver-pulse-glow}@keyframes receiver-pulse-glow{0%,to{filter:brightness()}50%{filter:brightness(1.3)}}
