@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--main-color:#00f0ff;--accent-cyan:#00f0ff;--accent-red:#ff003c;--accent-yellow:#fc0;--accent-purple:#a17cf8;--bg-dark:#0a0a0a;--bg-panel:#0d0d0f;--bg-card:#111113;--text-primary:#e0e0e0;--text-dim:#666;--font-mono:"Share Tech Mono",monospace;--font-pixel:"Press Start 2P",cursive;--font-sans:"Noto Sans TC",sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg-dark);color:var(--text-primary);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.scanlines{pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#00000026,#00000026 1px,#0000 1px 2px);width:100%;height:100%;animation:8s linear infinite scanline;position:fixed;top:0;left:0}@keyframes scanline{0%{background-position:0 0}to{background-position:0 100vh}}.bg-grid-layer{pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,#00f0ff08 1px,#0000 1px),linear-gradient(#00f0ff08 1px,#0000 1px);background-size:30px 30px;width:100%;height:100%;position:fixed;top:0;left:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.page-transition-overlay{z-index:99999;pointer-events:none;opacity:0;visibility:hidden;background:#000;width:100%;height:100%;position:fixed;top:0;left:0}.page-transition-overlay.closing,.page-transition-overlay.opening{pointer-events:all;opacity:1;visibility:visible}.page-transition-overlay .matrix-bg{background-color:#0000;background-image:linear-gradient(0deg,#00ff4108 1px,#0000 1px),linear-gradient(90deg,#00ff4105 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:100%;height:100%;animation:.5s ease-in-out gridPulse;position:absolute;top:0;left:0}.page-transition-overlay .scan-line{background:linear-gradient(90deg,transparent 0%,var(--accent-cyan,#00f0ff)50%,transparent 100%);width:100%;height:3px;box-shadow:0 0 10px var(--accent-cyan,#00f0ff),0 0 20px var(--accent-cyan,#00f0ff);animation:.3s ease-out forwards scanDown;position:absolute;top:0;left:0}.page-transition-overlay.opening .scan-line{animation:.3s ease-in forwards scanUp}.page-transition-overlay .glitch-bar{background:var(--accent-cyan,#00f0ff);opacity:.6;width:100%;height:2px;position:absolute;left:0}.page-transition-overlay .glitch-bar:first-child{animation:.3s ease-out glitchBar;top:15%}.page-transition-overlay .glitch-bar:nth-child(2){animation:.3s ease-out 50ms glitchBar;top:35%}.page-transition-overlay .glitch-bar:nth-child(3){animation:.3s ease-out .1s glitchBar;top:55%}.page-transition-overlay .glitch-bar:nth-child(4){animation:.3s ease-out .15s glitchBar;top:75%}.page-transition-overlay .glitch-bar:nth-child(5){animation:.3s ease-out .2s glitchBar;top:90%}.page-transition-overlay .terminal-text{color:var(--accent-cyan,#00f0ff);text-transform:uppercase;letter-spacing:.3em;white-space:nowrap;text-shadow:0 0 5px var(--accent-cyan,#00f0ff),0 0 10px #00f0ff80;font-family:Share Tech Mono,Courier New,monospace;font-size:1rem;animation:.3s step-end forwards textGlitch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-transition-overlay.opening .terminal-text{animation:.3s step-end forwards textGlitchOut}.page-transition-overlay .corner{border-color:var(--accent-cyan,#00f0ff);opacity:0;border-style:solid;border-width:0;width:30px;height:30px;animation:.3s ease-out forwards cornerFade;position:absolute}.page-transition-overlay .corner.tl{border-top-width:2px;border-left-width:2px;top:20px;left:20px}.page-transition-overlay .corner.tr{border-top-width:2px;border-right-width:2px;top:20px;right:20px}.page-transition-overlay .corner.bl{border-bottom-width:2px;border-left-width:2px;bottom:20px;left:20px}.page-transition-overlay .corner.br{border-bottom-width:2px;border-right-width:2px;bottom:20px;right:20px}.page-transition-overlay .code-rain{background:repeating-linear-gradient(0deg,#0000 0 18px,#00ff4108 18px 20px);width:100%;height:100%;animation:.3s linear rainFall;position:absolute;top:0;left:0}@keyframes gridPulse{0%{opacity:0}50%{opacity:1}to{opacity:.5}}@keyframes scanDown{0%{opacity:1;top:0}to{opacity:.5;top:100%}}@keyframes scanUp{0%{opacity:.5;top:100%}to{opacity:0;top:0}}@keyframes glitchBar{0%{opacity:0;transform:scaleX(0)translate(-50%)}50%{opacity:.8;transform:scaleX(1.2)translate(0)}to{opacity:.3;transform:scaleX(1)translate(0)}}@keyframes textGlitch{0%{opacity:0;transform:translate(-50%,-50%)translate(-20px)}30%{opacity:1;transform:translate(-50%,-50%)translate(5px)}60%{transform:translate(-50%,-50%)translate(-2px)}to{opacity:1;transform:translate(-50%,-50%)translate(0)}}@keyframes textGlitchOut{0%{opacity:1;transform:translate(-50%,-50%)translate(0)}50%{opacity:.5;transform:translate(-50%,-50%)translate(10px)}to{opacity:0;transform:translate(-50%,-50%)translate(30px)}}@keyframes cornerFade{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}@keyframes rainFall{0%{background-position:0 -100%}to{background-position:0 100%}}.page-transition-overlay.closing{animation:.3s ease-out forwards fadeIn}.page-transition-overlay.opening{animation:.3s ease-in forwards fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.page-transition-overlay .scanlines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 1px,#0000004d 1px 2px);width:100%;height:100%;position:absolute;top:0;left:0}.deck-container{box-sizing:border-box;background:#0a0a0cf2;border:2px solid #1a1a1e;border-radius:12px;grid-template:"header header header""sidebar viewport modules"1fr"footer footer footer"/200px 1fr 280px;width:100%;max-width:1600px;height:100vh;margin:0 auto;padding-top:50px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 20px #000c,inset 0 0 100px #00f0ff05}.screw{z-index:100;background:radial-gradient(circle at 30% 30%,#2a2a2f,#0a0a0a);border:2px solid #3a3a3f;border-radius:50%;width:14px;height:14px;position:absolute}.screw:after{content:"×";color:#555;font-size:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.screw.tl{top:8px;left:8px}.screw.tr{top:8px;right:8px}.screw.bl{bottom:8px;left:8px}.screw.br{bottom:8px;right:8px}.header{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background:linear-gradient(#0a0c10fa,#0a0c10eb);border-bottom:1px solid #00f0ff26;justify-content:space-between;align-items:center;width:100%;max-width:1600px;height:50px;padding:0 20px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.header-left,.header-center,.header-right{align-items:center;gap:12px;display:flex}.header-left{flex:1}.header-center{flex:none}.header-right{flex:1;justify-content:flex-end}.sys-group{align-items:center;gap:8px;display:flex}.sys-badge{font-family:var(--font-mono);color:var(--accent-cyan,#00f0ff);text-shadow:0 0 10px #00f0ff80;font-size:1.1rem;font-weight:700}.sys-version{color:#555;font-size:.7rem;font-family:var(--font-mono)}.ai-status-indicator{cursor:pointer;background:#0006;border:1px solid #00f0ff33;border-radius:20px;align-items:center;gap:8px;padding:4px 12px;transition:all .3s;display:flex}.ai-status-indicator:hover{background:#00f0ff0d;border-color:#00f0ff66}.ai-dot{border-radius:50%;width:8px;height:8px;transition:all .3s}.ai-status-indicator.online .ai-dot{background:#0f8;animation:2s ease-in-out infinite glow-pulse;box-shadow:0 0 8px #0f8,0 0 16px #00ff8880}.ai-status-indicator.offline .ai-dot{background:#666}.ai-text{letter-spacing:1px;font-size:.65rem;font-weight:600;font-family:var(--font-mono)}.ai-status-indicator.online .ai-text{color:#0f8}.ai-status-indicator.offline .ai-text{color:#666}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #0f8,0 0 16px #00ff8880}50%{box-shadow:0 0 12px #0f8,0 0 24px #0f8c}}.holographic-clock{background:linear-gradient(135deg,#00f0ff0d,#0000004d);border:1px solid #00f0ff40;border-radius:4px;padding:6px 20px;position:relative}.holographic-clock:before,.holographic-clock:after{content:"";background:var(--accent-cyan,#00f0ff);width:6px;height:1px;position:absolute;top:50%}.holographic-clock:before{left:-8px}.holographic-clock:after{right:-8px}.clock-time{font-family:var(--font-mono);color:var(--accent-cyan,#00f0ff);text-shadow:0 0 8px #00f0ff66;letter-spacing:1px;font-size:.9rem;font-weight:500}.command-hub-container{position:relative}.command-hub-trigger{cursor:pointer;background:linear-gradient(135deg,#a17cf826,#0006);border:2px solid #a17cf880;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:relative}.command-hub-trigger:hover{border-color:#a17cf8cc;transform:scale(1.05);box-shadow:0 0 20px #a17cf866}.command-hub-trigger.active{border-color:#a17cf8;box-shadow:0 0 25px #a17cf899}.hub-ring{border:1px solid #a17cf84d;border-radius:50%;animation:10s linear infinite ring-rotate;position:absolute;inset:-4px}.command-hub-trigger.active .hub-ring{border-color:#a17cf899;animation:3s linear infinite ring-rotate}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hub-core{color:#a17cf8;text-transform:uppercase;font-size:1rem;font-weight:700}.hub-role{letter-spacing:.5px;color:#a17cf8;background:#0a0c10f2;border:1px solid #a17cf880;border-radius:2px;padding:1px 4px;font-size:.45rem;font-weight:700;position:absolute;bottom:-6px}.hub-backdrop{z-index:998;cursor:pointer;background:0 0;position:fixed;inset:0}.command-menu{z-index:999;background:linear-gradient(#0f1219fa,#0a0c10fa);border:1px solid #a17cf866;border-radius:8px;width:220px;padding:12px 0;animation:.25s ease-out menu-slide-in;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 10px 40px #00000080,0 0 30px #a17cf826}@keyframes menu-slide-in{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.menu-header{border-bottom:1px solid #a17cf833;margin-bottom:8px;padding:0 16px 10px}.menu-user{color:#a17cf8;font-size:.85rem;font-weight:600}.menu-divider-line{background:#00f0ff1a;height:1px;margin:8px 16px}.menu-item{width:100%;color:var(--text-secondary,#89a);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 16px;font-size:.8rem;text-decoration:none;transition:all .2s;display:flex}.menu-item:hover{color:var(--accent-cyan,#00f0ff);background:#00f0ff14}.menu-icon{text-align:center;opacity:.8;width:20px;font-size:.9rem}.menu-label{flex:1}.menu-arrow{opacity:0;font-size:.7rem;transition:all .2s}.menu-item:hover .menu-arrow{opacity:1;transform:translate(3px)}.menu-status{border-radius:3px;padding:2px 6px;font-size:.65rem;font-weight:700}.menu-status.on{color:#0f8;background:#00ff8826}.menu-status.off{color:#666;background:#64646433}.menu-item.logout{color:#ff6464b3}.menu-item.logout:hover{color:#ff6464;background:#ff50501a}.api-key-btn{color:var(--text-secondary,#89a);cursor:pointer;background:#0006;border:1px solid #00f0ff4d;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.api-key-btn:hover{border-color:var(--accent-cyan,#00f0ff);color:var(--accent-cyan,#00f0ff)}.api-key-btn.active{color:#0f8;border-color:#0f8}.login-trigger{color:#a17cf8;cursor:pointer;background:0 0;border:1px solid #a17cf866;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.login-trigger:hover{background:#a17cf81a;border-color:#a17cf8;box-shadow:0 0 15px #a17cf84d}.login-trigger .icon{font-size:.9rem}@media(max-width:768px){.header{padding:0 12px}.sys-version{display:none}.ai-status-indicator{padding:3px 8px}.ai-text{display:none}.holographic-clock{padding:4px 12px}.holographic-clock:before,.holographic-clock:after{display:none}.clock-time{font-size:.75rem}.command-hub-trigger{width:38px;height:38px}.hub-core{font-size:.9rem}.command-menu{width:200px;right:-8px}}@media(max-width:480px){.header{height:45px;padding:0 10px}.header-left{flex:none}.header-center{display:none}.header-right{flex:1}.sys-group{gap:4px}.sys-badge{font-size:.9rem}.ai-status-indicator{gap:4px;padding:3px 5px}.ai-dot{width:6px;height:6px}.command-hub-trigger{width:34px;height:34px}.hub-role{display:none}.command-menu{width:auto;position:fixed;top:55px;left:10px;right:10px}}.sidebar{background:var(--bg-panel);border-right:1px solid #1a1a1e;flex-direction:column;grid-area:sidebar;gap:15px;padding:15px;display:flex;overflow-y:auto}.footer{background:var(--bg-panel);border-top:1px solid #1a1a1e;grid-area:footer;align-items:center;gap:15px;padding:10px 20px;display:flex}.ai-link-btn{color:#555;font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #333;align-items:center;gap:4px;padding:6px 10px;font-size:.7rem;transition:all .3s;display:flex;position:relative}.ai-link-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff33}.ai-link-btn.active{color:#0f8;background:#00ff880d;border-color:#0f8}.ai-link-btn.active:hover{box-shadow:0 0 15px #00ff884d}.ai-icon{font-size:.9rem}.ai-status{letter-spacing:1px;font-size:.6rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#2a2a2e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}.input-group{margin-bottom:20px}.input-label{color:var(--text-dim);letter-spacing:1px;align-items:center;gap:6px;margin-bottom:8px;font-size:.7rem;display:flex}.label-icon{color:var(--accent-cyan)}.cyber-input{width:100%;color:var(--text-primary);font-family:var(--font-mono);background:#00000080;border:1px solid #2a2a2e;outline:none;padding:12px 15px;font-size:.9rem;transition:all .3s}.cyber-input::-moz-placeholder{color:#444}.cyber-input::placeholder{color:#444}.cyber-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 15px #00f0ff1a,inset 0 0 20px #00f0ff05}.error-msg{border:1px solid var(--accent-red);color:var(--accent-red);background:#ff003c1a;align-items:center;gap:8px;margin-bottom:20px;padding:10px 15px;font-size:.75rem;animation:.5s shake;display:flex}.error-icon{font-size:1rem}.submit-btn{border:1px solid var(--accent-cyan);width:100%;color:var(--accent-cyan);font-family:var(--font-mono);letter-spacing:2px;cursor:pointer;background:linear-gradient(#00f0ff1a,#00f0ff0d);justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:.8rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#00f0ff33,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.submit-btn:hover:not(:disabled){text-shadow:0 0 10px var(--accent-cyan);background:linear-gradient(#00f0ff33,#00f0ff1a);box-shadow:0 0 25px #00f0ff4d}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn.loading{color:#666;border-color:#333}.btn-icon{font-size:1rem}.loading-spinner{border:2px solid #333;border-top-color:var(--accent-cyan);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.success-display{text-align:center;padding:30px 20px;animation:.5s successPulse}.success-icon{color:#0f8;background:#00ff881a;border:2px solid #0f8;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:2rem;display:flex;box-shadow:0 0 30px #00ff884d}.success-text{font-family:var(--font-pixel);color:#0f8;letter-spacing:2px;text-shadow:0 0 15px #00ff8880;margin-bottom:10px;font-size:.9rem}.success-user{color:var(--text-dim);font-size:.85rem}.avatar-box{aspect-ratio:1;border:2px solid var(--accent-cyan);border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 15px #00f0ff33}.avatar-box:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 2px,linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/3px 100%;border-radius:8px;position:absolute;inset:0}.avatar-img{-o-object-fit:cover;object-fit:cover;filter:sepia()hue-rotate(55deg)saturate(280%)contrast(1.4)brightness(1.1);opacity:.9;width:100%;height:100%;transition:filter .3s ease-in-out,opacity .3s ease-in-out}.avatar-box:hover .avatar-img{filter:none;opacity:1}.lvl-tag{text-align:center;width:100%;color:var(--accent-yellow);letter-spacing:1px;background:#000c;padding:4px;font-size:.65rem;position:absolute;bottom:0}.stats-grid{flex-direction:column;gap:8px;display:flex}.stat-item{border-bottom:1px solid #1a1a1e;justify-content:space-between;align-items:center;padding:6px 0;font-size:.75rem;display:flex}.stat-name{color:var(--text-dim);flex-shrink:0;font-size:.65rem}.stat-value{color:var(--main-color);font-size:.8rem;font-weight:700;font-family:var(--font-mono);text-align:right;text-overflow:ellipsis;max-width:60%;overflow:hidden}.viewport{background:linear-gradient(#080808,#0d0d0f) 50%/cover;flex-direction:column;grid-area:viewport;justify-content:flex-end;padding:20px;display:flex;position:relative;overflow:hidden}.viewport:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle,#00000026 30%,#000000b3);transition:opacity .4s;position:absolute;inset:0}.viewport:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#12101000 50%,#0000001f 50%) 0 0/100% 3px;transition:opacity .4s;position:absolute;inset:0}.viewport.no-npc:before,.viewport.no-npc:after{opacity:0}.dialogue-hud{border:1px solid var(--accent-cyan);z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;background:#000000d9;border-radius:0;width:85%;padding:25px 20px 20px;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 0 30px #000c}.dialogue-hud:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#12101000 50%,#00000026 50%) 0 0/100% 3px,linear-gradient(90deg,#ff000008,#00ff0005,#0000ff08) 0 0/3px 100%;position:absolute;inset:0}.hud-title{background:var(--accent-cyan);color:#000;font-size:.7rem;font-weight:700;font-family:var(--font-pixel);letter-spacing:1px;z-index:11;padding:2px 8px;position:absolute;top:-12px;left:20px;box-shadow:3px 3px #000c}.dialogue-body{min-height:50px;color:var(--text-primary);font-size:1.05rem;line-height:1.7;font-family:var(--font-sans);text-shadow:0 0 3px #00f0ff33;z-index:2;text-align:center;justify-content:center;align-items:center;display:flex;position:relative}.type-cursor{animation:1s step-end infinite blink}.character{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 20px #00f0ff26);z-index:5;width:auto;max-width:85%;height:90%;max-height:90%;transition:transform .1s,opacity .3s;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.character.med_surgeon{height:78%;max-height:78%}.character:active{transform:translate(-50%)scale(.98)}.character-placeholder{color:var(--accent-cyan);opacity:.2;z-index:4;font-size:12rem;display:none;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.cmd-prompt{color:var(--accent-cyan);white-space:nowrap;margin-left:10px;font-size:.85rem}.cmd-input{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.cmd-input::-moz-placeholder{color:var(--text-dim)}.cmd-input::placeholder{color:var(--text-dim)}.scene-panel{z-index:20;background:#080808;border:1px solid #333;margin-bottom:15px;position:relative;box-shadow:0 4px 10px #00000080}.scene-title{color:var(--accent-cyan);letter-spacing:1px;cursor:pointer;border-left:3px solid var(--accent-cyan);-webkit-user-select:none;-moz-user-select:none;user-select:none;background:linear-gradient(90deg,#00f0ff1a,#0000);justify-content:space-between;align-items:center;padding:15px;font-size:.75rem;font-weight:700;transition:all .3s;display:flex}.scene-title:hover{text-shadow:0 0 5px var(--accent-cyan);background:linear-gradient(90deg,#00f0ff33,#0000);padding-left:20px}.scene-label-text{color:var(--accent-cyan);font-size:.75rem}.scene-label-text:before{content:"LOC: ";color:#666;margin-right:5px;font-size:.6rem}.scene-grid{opacity:0;transform-origin:top;background:#111;grid-template-columns:1fr;gap:1px;max-height:0;transition:max-height .25s ease-out,opacity .2s ease-out,transform .25s cubic-bezier(.34,1.56,.64,1);display:grid;overflow:hidden;transform:translateY(-10px)scaleY(.8)}.scene-panel.open .scene-grid{opacity:1;max-height:300px;transform:translateY(0)scaleY(1);box-shadow:0 0 20px #00f0ff26,inset 0 1px #00f0ff1a}.scene-panel.open .scene-title{border-bottom:1px solid #333}.scene-btn{color:#888;font-family:var(--font-mono);text-align:left;cursor:pointer;background:#0c0c0c;border:none;border-left:2px solid #0000;padding:12px 20px;font-size:.8rem;transition:all .2s;position:relative}.scene-btn:hover{color:var(--accent-cyan);background:#151515;padding-left:25px}.scene-btn.active{color:#fff;border-left:2px solid var(--accent-cyan);background:#00f0ff0d}.area-panel{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;border:1px solid #333;width:160px;padding:10px;position:absolute;top:20px;right:20px}.area-title{color:var(--accent-yellow);letter-spacing:1px;border-bottom:1px solid #333;margin-bottom:6px;padding-bottom:4px;font-size:.55rem}.area-list{flex-direction:column;gap:6px;display:flex}.area-btn{color:#aaa;font-size:.55rem;font-family:var(--font-pixel);cursor:pointer;background:#00f0ff0d;border:1px solid #333;padding:6px;transition:all .2s}.area-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.area-btn.active{border-color:var(--accent-cyan);color:#fff;background:#00f0ff40}.modules{background:var(--bg-panel);border-left:1px solid #1a1a1e;flex-direction:column;grid-area:modules;gap:12px;padding:15px;display:flex;overflow-y:auto}.radar-box{background:var(--bg-card);border:1px solid #2a2a2e;border-radius:8px;padding:12px}.radar-label{color:var(--text-dim);letter-spacing:1px;margin-bottom:10px;font-size:.7rem}.radar-screen{aspect-ratio:1;background:radial-gradient(circle,#00f0ff0d,#0000 70%);border:1px solid #00f0ff4d;border-radius:50%;width:100%;position:relative;overflow:hidden}.radar-grid{background:radial-gradient(circle,#0000 30%,#00f0ff0d,#0000 32%),radial-gradient(circle,#0000 60%,#00f0ff0d,#0000 62%);position:absolute;inset:0}.radar-sweep{background:linear-gradient(90deg,var(--accent-cyan),transparent);transform-origin:0;width:50%;height:2px;animation:4s linear infinite radarSweep;position:absolute;top:50%;left:50%}@keyframes radarSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-center{background:var(--accent-cyan);width:8px;height:8px;box-shadow:0 0 10px var(--accent-cyan);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radar-blip{background:var(--accent-yellow);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite blipPulse;position:absolute}@keyframes blipPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.telemetry-box{background:var(--bg-card);border:1px solid #2a2a2e;border-radius:8px;padding:12px}.box-title{color:var(--text-dim);margin-bottom:10px;font-size:.7rem}.tele-screen{background:#00000080;border:1px solid #2a2a2e;border-radius:4px;height:60px;margin-bottom:10px}.tele-screen canvas{width:100%;height:100%}.tele-data{font-size:.7rem}.tele-row{color:var(--text-dim);justify-content:space-between;padding:3px 0;display:flex}.tele-val{color:var(--main-color)}.tele-status{color:var(--accent-red)}.links-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:auto;display:grid}.link-btn{color:#888;cursor:pointer;opacity:.8;font-size:.65rem;font-family:var(--font-pixel);background:#0000004d;border:1px solid #333;border-radius:0;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;text-decoration:none;transition:all .2s;display:flex}.link-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);opacity:1;background:#00f0ff0d;box-shadow:0 0 10px #00f0ff33}.link-btn i{font-size:1.2rem}.xp-container{margin-top:10px}.xp-label{color:var(--text-dim);justify-content:space-between;margin-bottom:4px;font-size:.6rem;display:flex}.xp-bar-bg{background:#1a1a1e;border-radius:3px;height:6px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg,var(--accent-cyan),var(--accent-purple));width:100%;height:100%;box-shadow:0 0 8px var(--accent-cyan)}.log-terminal{background:#00000080;border:1px solid #1a1a1e;border-radius:6px;height:120px;margin-top:auto;padding:8px;overflow:hidden}.log-content{color:#4a4a4a;font-size:.65rem;overflow:hidden}.log-line{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;overflow:hidden}.hex-stream{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;font-size:.75rem}.login-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.login-modal{background:linear-gradient(#0a0a0c,#0d0d10);border:1px solid #2a2a2e;width:380px;max-width:90vw;animation:.4s cubic-bezier(.34,1.56,.64,1) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 0 50px #000c,0 0 100px #00f0ff0d,inset 0 1px #ffffff08}.login-modal.success{border-color:#0f8;box-shadow:0 0 50px #000c,0 0 30px #0f83}.corner-decor{border:2px solid var(--accent-cyan);z-index:2;width:12px;height:12px;position:absolute}.corner-decor.tl{border-bottom:none;border-right:none;top:8px;left:8px}.corner-decor.tr{border-bottom:none;border-left:none;top:8px;right:8px}.corner-decor.bl{border-top:none;border-right:none;bottom:8px;left:8px}.corner-decor.br{border-top:none;border-left:none;bottom:8px;right:8px}.modal-scanline{pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000001a,#0000001a 1px,#0000 1px 2px);width:100%;height:100%;position:absolute;top:0;left:0}.modal-header{z-index:3;border-bottom:1px solid #1a1a1e;justify-content:space-between;align-items:center;padding:20px 25px 15px;display:flex;position:relative}.modal-title{align-items:center;gap:8px;display:flex}.title-prefix{color:var(--accent-cyan);font-size:.9rem;animation:1s step-end infinite blink}.title-text{font-family:var(--font-pixel);color:var(--accent-cyan);letter-spacing:2px;text-shadow:0 0 10px var(--accent-cyan);font-size:.8rem}.close-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #333;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.close-btn:hover{border-color:var(--accent-red);color:var(--accent-red);box-shadow:0 0 10px #ff003c4d}.close-icon{font-size:1.2rem;line-height:1}.modal-content{z-index:3;padding:25px;position:relative}.modal-footer{z-index:3;border-top:1px solid #1a1a1e;align-items:center;gap:10px;padding:15px 25px;display:flex;position:relative}.footer-line{background:linear-gradient(90deg,#333,#0000);flex:1;height:1px}.footer-text{color:#333;letter-spacing:1px;font-size:.6rem}.model-selector{background:#0000004d;border:1px solid #2a2a2e;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;display:flex}.model-label{color:var(--text-dim);letter-spacing:1px;font-size:.65rem}.model-select{color:var(--accent-cyan);font-family:var(--font-mono);cursor:pointer;background:#00000080;border:1px solid #333;outline:none;padding:4px 8px;font-size:.75rem;transition:all .2s}.model-select:hover,.model-select:focus{border-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff33}.model-select option{color:var(--text-primary);background:#0a0a0a}.api-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.api-modal{background:linear-gradient(#0a0a0c,#0d0d10);border:1px solid #2a2a2e;width:420px;max-width:90vw;animation:.4s cubic-bezier(.34,1.56,.64,1) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 0 50px #000c,0 0 100px #00f0ff0d}.api-info{border:1px solid #1a1a1e;border-left:3px solid var(--accent-cyan);background:#00f0ff08;margin-bottom:20px;padding:12px 15px}.info-text{color:var(--text-dim);font-size:.75rem;line-height:1.6}.info-icon{color:var(--accent-cyan);margin-right:6px}.api-input-wrapper{align-items:center;display:flex;position:relative}.api-key-input{font-family:var(--font-mono);letter-spacing:1px;padding-right:40px}.toggle-visibility{color:#555;cursor:pointer;background:0 0;border:none;padding:5px;font-size:1rem;transition:color .2s;position:absolute;right:10px}.toggle-visibility:hover{color:var(--accent-cyan)}.api-actions{gap:10px;margin-top:20px;display:flex}.action-btn{font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;border:1px solid;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 15px;font-size:.75rem;transition:all .3s;display:flex}.save-btn{color:#0f8;background:linear-gradient(#00ff881a,#00ff880d);border-color:#0f8}.save-btn:hover{background:linear-gradient(#0f83,#00ff881a);box-shadow:0 0 20px #00ff884d}.clear-btn{border-color:var(--accent-red);color:var(--accent-red);background:linear-gradient(#ff003c1a,#ff003c0d)}.clear-btn:hover{background:linear-gradient(#ff003c33,#ff003c1a);box-shadow:0 0 20px #ff003c4d}.settings-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.settings-modal{background:linear-gradient(#0a0a0c,#0d0d10);border:1px solid #2a2a2e;width:450px;max-width:90vw;animation:.4s cubic-bezier(.34,1.56,.64,1) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 0 50px #000c,0 0 100px #a17cf80d}.settings-tabs{border-bottom:1px solid #1a1a1e;display:flex}.tab-btn{color:#555;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:0 0;border:none;flex:1;padding:12px;font-size:.7rem;transition:all .3s;position:relative}.tab-btn:hover{color:var(--accent-cyan);background:#00f0ff08}.tab-btn.active{color:var(--accent-purple)}.tab-btn.active:after{content:"";background:var(--accent-purple);height:2px;position:absolute;bottom:0;left:0;right:0}.setting-group{margin-bottom:20px}.setting-label{color:var(--text-dim);letter-spacing:1px;margin-bottom:10px;font-size:.7rem;display:block}.model-options{flex-direction:column;gap:8px;display:flex}.model-option{color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);background:#0000004d;border:1px solid #2a2a2e;justify-content:space-between;align-items:center;padding:12px 15px;transition:all .2s;display:flex}.model-option:hover{border-color:var(--accent-cyan);background:#00f0ff08}.model-option.selected{border-color:var(--accent-purple);color:var(--accent-purple);background:#a17cf81a}.model-name{font-size:.8rem;font-weight:700}.model-desc{opacity:.7;font-size:.65rem}.effort-options{gap:8px;display:flex}.effort-option{color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;text-align:center;background:#0000004d;border:1px solid #2a2a2e;flex:1;padding:10px;font-size:.7rem;transition:all .2s}.effort-option:hover{border-color:var(--accent-cyan)}.effort-option.selected{border-color:var(--accent-purple);color:var(--accent-purple);background:#a17cf81a}.save-settings-btn{border:1px solid var(--accent-purple);width:100%;color:var(--accent-purple);font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:linear-gradient(#a17cf81a,#a17cf80d);justify-content:center;align-items:center;gap:8px;margin-top:15px;padding:12px;font-size:.75rem;transition:all .3s;display:flex}.save-settings-btn:hover{background:linear-gradient(#a17cf833,#a17cf81a);box-shadow:0 0 20px #a17cf84d}.settings-message{text-align:center;border:1px solid;margin-top:15px;padding:10px 15px;font-size:.75rem}.settings-message.success{color:#0f8;background:#00ff881a;border-color:#0f8}.settings-message.error{border-color:var(--accent-red);color:var(--accent-red);background:#ff003c1a}.api-key-btn{color:#ff9500;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:#ffa5000d;border:1px solid #ff9500;align-items:center;gap:6px;padding:6px 12px;font-size:.65rem;transition:all .3s;display:flex}.api-key-btn:hover{background:#ffa50026;box-shadow:0 0 15px #ffa5004d}.api-key-btn.active{color:#0f8;background:#00ff880d;border-color:#0f8}.api-key-btn.active:hover{background:#00ff8826;box-shadow:0 0 15px #00ff884d}.api-icon{font-size:.9rem}.api-label{font-weight:700}.ai-toggle-btn{font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid;align-items:center;gap:5px;padding:6px 10px;font-size:.65rem;transition:all .3s;display:flex}.ai-toggle-btn.enabled{color:#0f8;background:#00ff880d;border-color:#0f8}.ai-toggle-btn.enabled:hover{background:#00ff8826;box-shadow:0 0 12px #00ff884d}.ai-toggle-btn.disabled{color:#666;border-color:#666}.ai-toggle-btn.disabled:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.toggle-icon{font-size:.85rem}.toggle-label{font-weight:700}.logout-btn{border:1px solid var(--accent-red);color:var(--accent-red);font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:#ff003c0d;align-items:center;gap:6px;padding:6px 12px;font-size:.65rem;transition:all .3s;display:flex}.logout-btn:hover{background:#ff003c26;box-shadow:0 0 15px #ff003c4d}.logout-icon{font-size:.85rem}.logout-text{font-weight:700}.status-badge{border:1px solid;margin-left:8px;padding:2px 6px;font-size:.6rem}.status-badge.valid{color:#0f8;background:#00ff881a;border-color:#0f8}.weather-clock-compact{background:var(--bg-card);border:1px solid #2a2a2e;border-radius:8px;padding:10px}.sidebar .weather-clock-compact{display:none}.wc-main-row{border-bottom:1px solid #2a2a2e;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;display:flex}.wc-time-block{flex-direction:column;display:flex}.wc-main-time{font-size:1.1rem;font-family:var(--font-mono);color:var(--accent-cyan);text-shadow:0 0 8px #00f0ff66;letter-spacing:1px;line-height:1}.wc-date{color:var(--text-dim);margin-top:2px;font-size:.55rem}.wc-weather-block{align-items:center;gap:4px;margin-left:auto;display:flex}.wc-temp{font-size:.9rem;font-family:var(--font-mono);color:var(--main-color)}.wc-offline{color:var(--accent-red);font-size:.7rem}.wc-location{color:var(--text-dim);opacity:.8;align-items:center;gap:3px;font-size:.55rem;display:flex}.wc-world-grid{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.wc-city-item{cursor:pointer;background:#0000004d;border:1px solid #0000;border-radius:3px;flex-direction:column;align-items:center;padding:4px 2px;transition:all .2s;display:flex}.wc-city-item:hover{border-color:var(--accent-cyan);background:#00f0ff0d}.wc-city-item.active{border-color:var(--accent-cyan);background:#00f0ff1a}.wc-city-name{color:var(--text-dim);letter-spacing:.5px;font-size:.5rem}.wc-city-item.active .wc-city-name{color:var(--accent-cyan)}.wc-city-time{font-size:.65rem;font-family:var(--font-mono);color:var(--main-color);margin-top:1px}.weather-icon{color:var(--accent-cyan)}.weather-icon.sun{color:var(--accent-yellow)}.weather-icon.rain{color:#6eb5ff}.weather-icon.snow{color:#fff}.weather-icon.lightning{color:var(--accent-yellow)}.iss-tracker{background:var(--bg-card);border:1px solid #2a2a2e;border-radius:8px;padding:10px}.iss-header{color:var(--accent-yellow);align-items:center;gap:6px;margin-bottom:8px;display:flex}.iss-title{letter-spacing:1px;font-size:.7rem}.iss-expand-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #333;justify-content:center;align-items:center;margin-left:auto;padding:3px;transition:all .2s;display:flex}.iss-expand-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.iss-map-container{background:#001428cc;border:1px solid #1a1a1e;border-radius:4px;height:120px;margin-bottom:8px;position:relative;overflow:hidden}.iss-map-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.iss-map-fallback{width:100%;height:100%;font-size:.65rem;font-family:var(--font-mono);justify-content:center;align-items:center;display:flex}.iss-loading{color:var(--accent-cyan)}.iss-error{color:var(--accent-red)}.iss-marker{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.iss-marker-dot{background:var(--accent-yellow);width:8px;height:8px;box-shadow:0 0 10px var(--accent-yellow);border-radius:50%}.iss-marker-ring{border:2px solid var(--accent-yellow);opacity:.5;border-radius:50%;width:20px;height:20px;animation:1.5s ease-out infinite ring-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ring-pulse{0%{opacity:1;width:8px;height:8px}to{opacity:0;width:30px;height:30px}}.iss-info-grid{font-size:.6rem;font-family:var(--font-mono);grid-template-columns:repeat(2,1fr);gap:4px 8px;display:grid}.iss-info-item{justify-content:space-between;display:flex}.info-label{color:var(--text-dim)}.info-value{color:var(--main-color)}.iss-update{color:var(--text-dim);opacity:.6;border-top:1px solid #1a1a1e;align-items:center;gap:4px;margin-top:6px;padding-top:6px;font-size:.55rem;display:flex}.system-status-box{background:#0006;border:1px solid #1a1a1e;border-radius:6px;margin-top:auto;padding:10px}.sys-title{color:var(--text-dim);letter-spacing:1px;margin-bottom:8px;font-size:.65rem}.sys-stats{flex-direction:column;gap:4px;display:flex}.sys-stat-row{font-size:.65rem;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.sys-icon{color:var(--text-dim);align-items:center;display:flex}.sys-label{color:var(--text-dim);width:50px}.sys-value{color:var(--main-color);margin-left:auto}.sys-value.uptime{color:var(--accent-cyan)}.battery-indicator{background:#0006;border:1px solid #1a1a1e;border-radius:6px;padding:10px}.battery-header{color:var(--main-color);align-items:center;gap:6px;margin-bottom:8px;display:flex}.battery-title{letter-spacing:1px;font-size:.65rem}.charging-icon{color:var(--accent-cyan);animation:1.5s ease-in-out infinite pulse}.low-battery{color:var(--accent-red);animation:.8s ease-in-out infinite blink}.battery-bar-container{background:#1a1a1e;border-radius:3px;height:12px;margin-bottom:6px;position:relative;overflow:hidden}.battery-bar-fill{background:var(--main-color);height:100%;transition:width .5s;box-shadow:0 0 8px}.battery-percent{font-size:.6rem;font-family:var(--font-mono);color:#fff;text-shadow:0 0 4px #000c;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.battery-status{font-size:.6rem;font-family:var(--font-mono)}.charging-status{color:var(--accent-cyan);align-items:center;gap:4px;display:flex}.discharge-status{color:var(--text-dim)}.time-remaining{opacity:.7}.battery-unsupported{color:var(--text-dim);opacity:.5;text-align:center;padding:8px 0;font-size:.6rem}.spin{animation:2s linear infinite spin}@keyframes pulse{50%{opacity:.5}}.iss-modal-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.iss-modal{background:var(--bg-card);border:2px solid var(--accent-yellow);border-radius:8px;width:90%;max-width:700px;overflow:hidden;box-shadow:0 0 30px #ffc8004d}.iss-modal-header{color:var(--accent-yellow);letter-spacing:1px;background:#00000080;align-items:center;gap:8px;padding:12px 16px;font-size:.8rem;display:flex}.iss-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px;transition:color .2s;display:flex}.iss-modal-close:hover{color:var(--accent-red)}.iss-modal-map{background:#001428cc;width:100%;height:400px;position:relative}.iss-modal-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.iss-marker.large .iss-marker-dot{width:12px;height:12px}.iss-marker.large .iss-marker-ring{animation:1.5s ease-out infinite ring-pulse-large}@keyframes ring-pulse-large{0%{opacity:1;width:12px;height:12px}to{opacity:0;width:50px;height:50px}}.iss-modal-info{background:#00000080;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.iss-modal-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.iss-modal-stat .label{color:var(--text-dim);letter-spacing:1px;font-size:.6rem}.iss-modal-stat .value{font-size:.85rem;font-family:var(--font-mono);color:var(--main-color)}.iss-map-container{cursor:pointer}.iss-map-container:hover{border-color:var(--accent-yellow)}.daily-quote{background:#0000004d;border:1px solid #1a1a1e;border-radius:6px;margin-top:auto;padding:10px}.quote-header{color:var(--text-dim);letter-spacing:1px;align-items:center;gap:6px;margin-bottom:8px;font-size:.6rem;display:flex}.quote-refresh{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px;transition:color .2s;display:flex}.quote-refresh:hover{color:var(--accent-cyan)}.quote-content{transition:opacity .3s}.quote-content.fading{opacity:.3}.quote-text{color:var(--main-color);margin:0 0 6px;font-size:.7rem;font-style:italic;line-height:1.5}.quote-author{color:var(--accent-cyan);opacity:.8;font-size:.6rem}.gps-icon{color:var(--accent-cyan);animation:2s ease-in-out infinite gps-pulse}@keyframes gps-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media(max-width:1024px){body{overscroll-behavior:auto;touch-action:pan-y;height:auto;min-height:100vh;display:block;overflow-y:auto}.deck-container{width:100%;max-width:100%;height:auto;min-height:100vh;box-shadow:none;border:none;border-radius:0;flex-direction:column;padding-top:50px;display:flex}.header{z-index:1000;gap:10px;max-width:100%;height:50px;padding:0 10px;top:0;left:0;right:0;transform:none;position:fixed!important}.sys-version,.holographic-clock:before,.holographic-clock:after{display:none!important}.sys-badge{font-size:.85rem}.holographic-clock{padding:4px 10px}.clock-time{font-size:.75rem}.viewport{order:2;height:50vh;min-height:350px}.footer{border-bottom:2px solid #333;flex-wrap:wrap;order:3;padding:10px;position:relative}.sidebar{border-bottom:2px solid #333;border-right:none;flex-flow:wrap;order:4;align-items:flex-start;gap:10px;height:auto;padding:15px;overflow-x:auto}.modules{border-top:2px solid #333;border-left:none;order:5}.avatar-box{width:70px;min-width:70px}.lvl-tag{padding:2px 4px;font-size:.55rem}.stats-grid{flex:1;min-width:100px;max-width:150px}.stat-value{white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.65rem;overflow:hidden}.log-terminal,.xp-container,.radar-box,.telemetry-box,.iss-tracker,.wc-world-grid,.latency-item,.daily-quote{display:none!important}.sidebar .weather-clock-compact{flex:1;min-width:130px;max-width:160px;padding:8px;display:block}.modules .weather-clock-compact{display:none!important}.sidebar .wc-main-row{border-bottom:none;flex-wrap:wrap;gap:6px;margin-bottom:0;padding-bottom:0}.sidebar .wc-main-time{font-size:.9rem}.sidebar .wc-date{font-size:.5rem}.sidebar .wc-temp{font-size:.75rem}.sidebar .wc-location{justify-content:center;width:100%;margin-top:4px}.links-grid{grid-template-columns:repeat(4,1fr);height:auto}.link-btn{height:80px}.scene-panel{margin-bottom:0;transition:width .3s;overflow:visible;box-shadow:0 2px 10px #000c;border:1px solid var(--accent-cyan)!important;z-index:50!important;background:#000000e6!important;width:40px!important;height:40px!important;position:absolute!important;inset:70px 10px auto auto!important}.scene-panel.open{background:#000000f2!important;width:160px!important;height:40px!important}.scene-grid{border:1px solid var(--accent-cyan);background:#0a0a0cf2;border-top:none;flex-direction:column;width:calc(100% + 2px);max-height:0;transition:max-height .3s ease-out;display:flex;position:absolute;top:100%;left:-1px;overflow:hidden;transform:none}.scene-panel.open .scene-grid{max-height:250px;box-shadow:0 5px 20px #000c}.scene-title{background:0 0;border-left:none;justify-content:center;height:100%;padding:0!important}.scene-title #scene-arrow{font-size:1.2rem}.scene-label-text{display:none}.scene-panel.open .scene-label-text{margin-left:10px;margin-right:auto;display:block}.scene-panel.open .scene-title{justify-content:space-between;height:auto;padding:10px}.scene-label-text:before{content:""}.area-panel{transform-origin:0 0;transform:scale(.85);top:5px!important;left:10px!important;right:auto!important}.character{z-index:5!important;filter:none!important;width:auto!important;max-width:90%!important;height:auto!important;max-height:80%!important;position:absolute!important;inset:auto auto 0 50%!important;transform:translate(-50%)!important}.character:active{transform:translate(-50%)scale(.98)!important}.viewport.no-npc .character,.character-placeholder{display:none!important}.dialogue-hud{border:1px solid var(--accent-cyan);background:#000000e6;border-radius:4px;width:90%!important;padding-top:20px!important;bottom:10px!important;left:50%!important;transform:translate(-50%)!important}.dialogue-body{font-size:1rem;line-height:1.4}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}.uplink-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:99999;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);opacity:0;visibility:hidden;transition:opacity .3s ease}.uplink-overlay.active{opacity:1;visibility:visible}.uplink-overlay:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 98%,rgba(0,240,255,.03) 98%),linear-gradient(180deg,transparent 98%,rgba(0,240,255,.03) 98%);background-size:30px 30px;animation:gridPulse 2s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.3}50%{opacity:.6}}.uplink-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(0,240,255,.03) 50%,transparent 100%);background-size:100% 4px;animation:scanMove 4s linear infinite;pointer-events:none}@keyframes scanMove{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.uplink-container{width:550px;max-width:95%;display:flex;flex-direction:column;gap:20px;z-index:1;animation:containerFloat 3s ease-in-out infinite}@keyframes containerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.uplink-header{display:flex;align-items:center;gap:15px;color:var(--accent-cyan);font-size:1.2rem;border-bottom:2px solid var(--accent-cyan);padding-bottom:15px;position:relative}.uplink-header:after{content:"";position:absolute;bottom:-2px;left:0;width:0%;height:2px;background:var(--accent-yellow);animation:headerGlow 2s ease-in-out infinite}@keyframes headerGlow{0%,to{width:0%;opacity:1}50%{width:100%;opacity:.5}}.uplink-icon{font-size:2rem;animation:iconPulse 1s ease-in-out infinite}@keyframes iconPulse{0%,to{filter:drop-shadow(0 0 5px var(--accent-cyan));transform:scale(1)}50%{filter:drop-shadow(0 0 20px var(--accent-cyan));transform:scale(1.1)}}.uplink-title{flex:1;font-size:.9rem;letter-spacing:2px;animation:textFlicker 3s linear infinite}@keyframes textFlicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.3}94%{opacity:1}95%{opacity:.5}96%{opacity:1}}.uplink-terminal{height:140px;background:#0a0a0a;border:1px solid #333;border-left:3px solid var(--accent-cyan);padding:12px;font-size:.8rem;color:#888;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.uplink-terminal:before{content:"TRANSMISSION_LOG";position:absolute;top:0;left:0;right:0;padding:6px 12px;background:#111;border-bottom:1px solid #333;font-size:.65rem;color:#555;letter-spacing:1px}.term-line{margin-bottom:4px;animation:lineSlide .3s ease-out;padding-left:10px;border-left:2px solid transparent}@keyframes lineSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.term-line.success{color:#4caf50;border-left-color:#4caf50;text-shadow:0 0 5px rgba(76,175,80,.3)}.term-line.warn{color:var(--accent-yellow);border-left-color:var(--accent-yellow)}.term-line.error{color:var(--accent-red);border-left-color:var(--accent-red)}.uplink-progress{position:relative;height:8px;background:#111;border:1px solid #333;overflow:hidden}.uplink-bar{width:0%;height:100%;background:linear-gradient(90deg,var(--accent-cyan),#00ff88);box-shadow:0 0 10px var(--accent-cyan),0 0 20px #00f0ff4d;transition:width .1s linear;position:relative}.uplink-bar:after{content:"";position:absolute;top:0;right:0;width:30px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5));animation:barShine .5s linear infinite}@keyframes barShine{0%{opacity:0}50%{opacity:1}to{opacity:0}}.progress-label{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#666;font-size:.7rem;z-index:1}.uplink-warning{color:var(--accent-red);font-size:.75rem;text-align:center;border:1px dashed var(--accent-red);padding:12px;background:#ff003c14;animation:warningPulse 1s ease-in-out infinite;position:relative;overflow:hidden}@keyframes warningPulse{0%,to{box-shadow:0 0 #ff003c00;border-color:#ff003c80}50%{box-shadow:0 0 15px #ff003c33;border-color:#ff003c}}.uplink-warning:before{content:"⚠";position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:1.2rem;animation:warnBlink .5s infinite alternate}@keyframes warnBlink{0%{opacity:.5}to{opacity:1}}.uplink-particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.particle{position:absolute;width:2px;height:2px;background:var(--accent-cyan);border-radius:50%;animation:particleFloat 4s linear infinite;opacity:.6}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-10vh) rotate(360deg);opacity:0}}.uplink-target{text-align:center;padding:10px;background:#111;border:1px solid #333;color:var(--accent-cyan);font-size:.85rem;letter-spacing:1px}.uplink-target span{color:#666}@media(max-width:600px){.uplink-container{gap:15px}.uplink-header{font-size:1rem}.uplink-icon{font-size:1.5rem}.uplink-terminal{height:120px;font-size:.75rem}.uplink-warning{font-size:.7rem;padding:10px 10px 10px 35px}}.scene-map-backdrop{position:fixed;inset:0;background:#00050ff2;z-index:9000;display:flex;align-items:center;justify-content:center;animation:mapFadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes mapFadeIn{0%{opacity:0}to{opacity:1}}.scene-map-backdrop.closing{animation:mapFadeOut .3s ease-in forwards}@keyframes mapFadeOut{0%{opacity:1}to{opacity:0}}.scene-map-container{width:90%;max-width:900px;height:80vh;max-height:600px;background:linear-gradient(135deg,#001428f2,#000a19fa);border:1px solid var(--accent-cyan);border-radius:4px;position:relative;overflow:hidden;box-shadow:0 0 40px #00ffff26,inset 0 0 60px #00ffff08;animation:mapSlideIn .4s ease-out}@keyframes mapSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.scene-map-container:before,.scene-map-container:after{content:"";position:absolute;width:30px;height:30px;border:2px solid var(--accent-cyan);pointer-events:none}.scene-map-container:before{top:8px;left:8px;border-right:none;border-bottom:none}.scene-map-container:after{bottom:8px;right:8px;border-left:none;border-top:none}.map-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(0,255,255,.2);background:linear-gradient(90deg,rgba(0,255,255,.1),transparent)}.map-title{font-family:var(--font-mono);font-size:1.2rem;color:var(--accent-cyan);text-shadow:0 0 10px var(--accent-cyan);display:flex;align-items:center;gap:10px}.map-title-icon{font-size:1.5rem}.map-close-btn{width:36px;height:36px;background:transparent;border:1px solid rgba(255,100,100,.5);border-radius:4px;color:#ff6b6b;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.map-close-btn:hover{background:#ff646433;border-color:#ff6b6b;box-shadow:0 0 15px #ff64644d}.map-body{display:flex;height:calc(100% - 68px)}.map-view{flex:1;position:relative;padding:24px;overflow:hidden;background:radial-gradient(ellipse at center,rgba(0,30,60,.3) 0%,transparent 70%),linear-gradient(135deg,#001428,#00050f)}.map-stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 40px 70px,rgba(0,255,255,.6),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 130px 80px,rgba(0,255,255,.4),transparent),radial-gradient(1px 1px at 160px 120px,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 200px 50px,rgba(0,200,255,.5),transparent),radial-gradient(1px 1px at 250px 150px,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 300px 90px,rgba(0,255,255,.6),transparent),radial-gradient(1px 1px at 350px 30px,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 400px 180px,rgba(0,255,255,.4),transparent);background-size:450px 200px;animation:starsTwinkle 8s ease-in-out infinite;opacity:.6}@keyframes starsTwinkle{0%,to{opacity:.4}50%{opacity:.8}}.map-station{position:absolute;inset:0;background:radial-gradient(ellipse 200px 100px at 50% 50%,transparent 60%,rgba(0,255,255,.05) 70%,transparent 80%),linear-gradient(90deg,transparent 20%,rgba(0,255,255,.03) 48%,rgba(0,255,255,.08) 50%,rgba(0,255,255,.03) 52%,transparent 80%),linear-gradient(0deg,transparent 30%,rgba(0,255,255,.03) 48%,rgba(0,255,255,.08) 50%,rgba(0,255,255,.03) 52%,transparent 70%);opacity:.8}.map-scanline{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,255,255,.03) 50%,transparent 100%);background-size:100% 4px;animation:scanlineMove 3s linear infinite;pointer-events:none}@keyframes scanlineMove{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.04) 1px,transparent 1px);background-size:40px 40px;animation:gridPulse 4s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.5}50%{opacity:1}}.scene-node{position:absolute;width:120px;height:80px;background:linear-gradient(135deg,#00283ce6,#001428f2);border:2px solid rgba(0,255,255,.4);border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:10}.scene-node:hover{border-color:var(--accent-cyan);transform:scale(1.05);box-shadow:0 0 30px #0ff6,inset 0 0 20px #00ffff1a}.scene-node.active{border-color:var(--accent-cyan);background:linear-gradient(135deg,#005064e6,#00283cf2);box-shadow:0 0 40px #00ffff80,inset 0 0 30px #00ffff26}.scene-node.current{border-color:#0f8;box-shadow:0 0 25px #0f86}.scene-node.current:after{content:"CURRENT";position:absolute;bottom:-20px;font-size:.6rem;color:#0f8;font-family:var(--font-mono)}.node-icon{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle,var(--accent-cyan),rgba(0,100,120,.8));display:flex;align-items:center;justify-content:center;animation:nodePulse 2s ease-in-out infinite}@keyframes nodePulse{0%,to{box-shadow:0 0 10px var(--accent-cyan)}50%{box-shadow:0 0 25px var(--accent-cyan),0 0 40px #00ffff4d}}.node-icon svg{width:18px;height:18px;color:#fff}.node-name{font-family:var(--font-mono);font-size:.75rem;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:1px;text-align:center}.connection-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.3) 20%,rgba(0,255,255,.3) 80%,transparent);transform-origin:left center;z-index:5}.connection-line:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:4px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.6),transparent);animation:lineFlow 2s linear infinite}@keyframes lineFlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.area-select-panel{width:280px;background:#000f1ef2;border-left:1px solid rgba(0,255,255,.2);display:flex;flex-direction:column;animation:panelSlideIn .3s ease-out}@keyframes panelSlideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{padding:16px;border-bottom:1px solid rgba(0,255,255,.15);background:linear-gradient(90deg,rgba(0,255,255,.05),transparent)}.panel-title{font-family:var(--font-mono);font-size:.9rem;color:var(--accent-cyan);margin:0}.panel-subtitle{font-size:.7rem;color:#00ffff80;margin-top:4px}.area-list{flex:1;overflow-y:auto;padding:12px}.area-item{padding:14px 16px;margin-bottom:8px;background:#001e3299;border:1px solid rgba(0,255,255,.15);border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px}.area-item:hover{background:#003250b3;border-color:#0ff6;transform:translate(4px)}.area-item.current{border-color:#0f8;background:#00503c4d}.area-item.current:before{content:"◆";color:#0f8;font-size:.7rem}.area-item:not(.current):before{content:"◇";color:#0ff6;font-size:.7rem}.area-name{font-family:var(--font-mono);font-size:.85rem;color:#eee;flex:1}.area-npc-indicator{font-size:.65rem;color:var(--accent-cyan);padding:2px 8px;border:1px solid rgba(0,255,255,.3);border-radius:10px;background:#00ffff1a}.panel-actions{padding:16px;border-top:1px solid rgba(0,255,255,.15)}.confirm-btn{width:100%;padding:12px;background:linear-gradient(135deg,#00b4b44d,#00787866);border:1px solid var(--accent-cyan);border-radius:4px;color:var(--accent-cyan);font-family:var(--font-mono);font-size:.9rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:2px}.confirm-btn:hover{background:linear-gradient(135deg,#00c8c866,#00969680);box-shadow:0 0 20px #00ffff4d;transform:translateY(-2px)}.confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.panel-hint{text-align:center;font-family:Share Tech Mono,monospace;font-size:.7rem;color:var(--accent-cyan);padding:12px;opacity:.8;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;animation:hintPulse 2s infinite}.panel-hint:before{content:">>";opacity:.5}.panel-hint:after{content:"<<";opacity:.5}@keyframes hintPulse{0%,to{opacity:.6}50%{opacity:1;text-shadow:0 0 8px var(--accent-cyan)}}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.no-selection-icon{font-size:3rem;color:#0ff3;margin-bottom:16px}.no-selection-text{font-family:var(--font-mono);font-size:.8rem;color:#0ff6;line-height:1.6}@media(max-width:768px){.scene-map-container{width:95%;height:90vh;max-height:none}.map-body{flex-direction:column}.map-view{flex:1;min-height:50%}.area-select-panel{width:100%;max-height:40%;border-left:none;border-top:1px solid rgba(0,255,255,.2)}.scene-node{width:90px;height:60px}.node-icon{width:24px;height:24px}.node-name{font-size:.65rem}}@media(max-width:480px){.map-header{padding:12px 16px}.map-title{font-size:1rem}.scene-node{width:70px;height:50px}.node-icon{width:20px;height:20px}.node-name{font-size:.55rem}}.admin-container{display:flex;min-height:100vh;background:var(--bg-dark, #0a0c10)}.admin-sidebar{width:220px;background:linear-gradient(180deg,#00f0ff0d,#0003);border-right:1px solid var(--border-color, rgba(0, 240, 255, .2));display:flex;flex-direction:column;padding:1rem}.admin-logo{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--border-color, rgba(0, 240, 255, .2));margin-bottom:1rem}.admin-logo .logo-icon{font-size:1.5rem}.admin-logo .logo-text{font-family:var(--font-display, "Orbitron", monospace);font-size:1.2rem;color:var(--accent-cyan, #00f0ff);letter-spacing:.1em}.admin-nav{flex:1;display:flex;flex-direction:column;gap:.25rem}.admin-nav .nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary, #8899aa);text-decoration:none;border-radius:6px;transition:all .2s}.admin-nav .nav-item:hover{background:#00f0ff1a;color:var(--text-primary, #e0e0e0)}.admin-nav .nav-item.active{background:#00f0ff26;color:var(--accent-cyan, #00f0ff);border-left:3px solid var(--accent-cyan, #00f0ff)}.admin-nav .nav-icon{font-size:1.2rem;width:24px;text-align:center}.admin-nav-footer{border-top:1px solid var(--border-color, rgba(0, 240, 255, .2));padding-top:1rem}.admin-nav-footer .back-link{opacity:.7}.admin-main{flex:1;padding:2rem;overflow-y:auto}.admin-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--accent-cyan, #00f0ff);font-family:var(--font-display, "Orbitron", monospace)}.dashboard-content{max-width:1200px;margin:0 auto}.page-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display, "Orbitron", monospace);font-size:1.5rem;color:var(--accent-cyan, #00f0ff);margin-bottom:2rem}.title-icon{font-size:1.5rem}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#00f0ff0d;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1.5rem;text-align:center}.stat-card .stat-value{font-family:var(--font-display, "Orbitron", monospace);font-size:2.5rem;color:var(--accent-cyan, #00f0ff);margin-bottom:.5rem}.stat-label{color:var(--text-secondary, #8899aa);text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}.quick-actions h2{font-size:1rem;color:var(--text-secondary, #8899aa);margin-bottom:1rem}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#00f0ff1a;border:1px solid var(--border-color, rgba(0, 240, 255, .3));border-radius:8px;color:var(--text-primary, #e0e0e0);text-decoration:none;transition:all .2s}.action-btn:hover{background:#00f0ff33;border-color:var(--accent-cyan, #00f0ff)}.manager-page{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;color:var(--text-secondary, #8899aa)}.breadcrumb a{color:var(--accent-cyan, #00f0ff);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.btn-primary{padding:.75rem 1.5rem;background:var(--accent-cyan, #00f0ff);color:var(--bg-dark, #0a0c10);border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 0 15px #00f0ff80}.btn-cancel{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-color, rgba(0, 240, 255, .3));color:var(--text-secondary, #8899aa);border-radius:6px;cursor:pointer}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#00f0ff26}.btn-icon.danger:hover{background:#ff003c33;border-color:#ff003c80}.btn-icon.small{width:28px;height:28px;font-size:.8rem}.btn-small{padding:.25rem .75rem;font-size:.8rem;background:#00f0ff1a;border:1px solid var(--border-color, rgba(0, 240, 255, .3));border-radius:4px;color:var(--accent-cyan, #00f0ff);cursor:pointer}.error-message{background:#ff003c1a;border:1px solid rgba(255,0,60,.3);color:#f36;padding:1rem;border-radius:6px;margin-bottom:1rem}.scenes-list{display:flex;flex-direction:column;gap:1rem}.scene-card{background:#00f0ff08;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1rem}.scene-card.inactive{opacity:.5}.scene-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.scene-info{display:flex;align-items:center;gap:1rem}.scene-code{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--accent-cyan, #00f0ff);font-size:.9rem}.scene-name{font-family:var(--font-display, "Orbitron", monospace);font-size:1.2rem;color:var(--text-primary, #e0e0e0)}.scene-id{font-size:.8rem;color:var(--text-secondary, #8899aa);margin-bottom:.5rem}.scene-desc{font-size:.9rem;color:var(--text-secondary, #8899aa);margin-bottom:1rem}.scene-actions{display:flex;gap:.5rem}.areas-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, rgba(0, 240, 255, .1))}.areas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary, #8899aa)}.areas-list{display:flex;flex-direction:column;gap:.5rem}.area-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#0003;border-radius:4px}.area-item.inactive{opacity:.5}.area-info{display:flex;align-items:center;gap:.75rem}.area-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.8rem;color:var(--accent-cyan, #00f0ff)}.area-name{color:var(--text-primary, #e0e0e0)}.area-actions{display:flex;gap:.25rem}.badge{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.badge.inactive{background:#ffffff1a;color:var(--text-secondary, #8899aa)}.badge.active{background:#00ff6433;color:#00ff64}.badge.npc{background:#00f0ff33;color:var(--accent-cyan, #00f0ff)}.npc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.npc-card{background:#00f0ff08;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.npc-card.inactive{opacity:.5}.npc-avatar{width:60px;height:60px;border:2px solid var(--accent-cyan, #00f0ff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display, "Orbitron", monospace);font-size:1.5rem;color:var(--accent-cyan, #00f0ff);margin-bottom:1rem}.npc-avatar.large{width:100px;height:100px;font-size:2.5rem}.npc-info{margin-bottom:1rem}.npc-name{font-family:var(--font-display, "Orbitron", monospace);font-size:1.1rem;margin-bottom:.25rem}.npc-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.8rem;color:var(--text-secondary, #8899aa)}.npc-mood{font-size:.8rem;color:var(--text-secondary, #8899aa)}.npc-actions{display:flex;gap:.5rem}.editor-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color, rgba(0, 240, 255, .2));margin-bottom:1.5rem}.editor-tabs .tab{padding:.75rem 1.5rem;background:transparent;border:none;color:var(--text-secondary, #8899aa);cursor:pointer;position:relative;transition:all .2s}.editor-tabs .tab:hover{color:var(--text-primary, #e0e0e0)}.editor-tabs .tab.active{color:var(--accent-cyan, #00f0ff)}.editor-tabs .tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-cyan, #00f0ff)}.section-header{margin-bottom:1rem}.dialogue-category{margin-bottom:2rem}.category-title{font-size:1rem;color:var(--accent-cyan, #00f0ff);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(0, 240, 255, .1))}.category-title .count{font-weight:400;color:var(--text-secondary, #8899aa);font-size:.9rem}.dialogue-list{display:flex;flex-direction:column;gap:.5rem}.dialogue-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0003;border-radius:6px}.dialogue-item.inactive{opacity:.5}.dialogue-text{flex:1;color:var(--text-primary, #e0e0e0);font-style:italic}.dialogue-meta{display:flex;gap:.5rem}.mood-badge{padding:.2rem .5rem;background:#ffffff0d;border-radius:4px;font-size:.75rem;color:var(--text-secondary, #8899aa)}.dialogue-actions{display:flex;gap:.25rem}.empty-message{color:var(--text-secondary, #8899aa);font-style:italic;padding:1rem;text-align:center}.ai-config-group{margin-bottom:2rem}.config-type-title{font-size:1rem;color:var(--accent-cyan, #00f0ff);margin-bottom:.75rem}.config-card{background:#0003;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1rem}.config-card.active{border-color:#00ff644d}.config-header{display:flex;gap:.5rem;margin-bottom:1rem}.model-badge{padding:.2rem .5rem;background:#00f0ff1a;border-radius:4px;font-size:.75rem;color:var(--accent-cyan, #00f0ff)}.config-prompt{margin-bottom:1rem}.config-prompt label{display:block;font-size:.8rem;color:var(--text-secondary, #8899aa);margin-bottom:.5rem}.config-prompt pre{background:#0000004d;padding:1rem;border-radius:6px;font-size:.85rem;color:var(--text-primary, #e0e0e0);white-space:pre-wrap;max-height:200px;overflow-y:auto}.config-params{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-secondary, #8899aa)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--bg-card, #0d1117);border:1px solid var(--border-color, rgba(0, 240, 255, .3));border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.large{max-width:700px}.form-modal{padding:1.5rem}.modal-title{font-family:var(--font-display, "Orbitron", monospace);font-size:1.2rem;color:var(--accent-cyan, #00f0ff);margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.85rem;color:var(--text-secondary, #8899aa);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem;background:#0000004d;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:6px;color:var(--text-primary, #e0e0e0);font-size:.9rem}.form-input:focus{outline:none;border-color:var(--accent-cyan, #00f0ff)}.form-input[type=color]{height:40px;padding:.25rem}textarea.form-input{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, rgba(0, 240, 255, .1))}.info-card{background:#00f0ff08;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:2rem}.info-preview{display:flex;gap:2rem;align-items:flex-start}.npc-details{flex:1}.detail-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.detail-row label{min-width:120px;color:var(--text-secondary, #8899aa);font-size:.9rem}.detail-row input{flex:1;padding:.5rem;background:#0000004d;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:4px;color:var(--text-primary, #e0e0e0)}.detail-row input:focus{outline:none;border-color:var(--accent-cyan, #00f0ff)}.detail-row input[type=color]{width:50px;height:30px;padding:0}@media(max-width:768px){.admin-container{flex-direction:column}.admin-sidebar{width:100%;flex-direction:row;padding:.5rem;overflow-x:auto}.admin-logo{display:none}.admin-nav{flex-direction:row}.admin-nav .nav-label{display:none}.admin-nav-footer{border-top:none;border-left:1px solid var(--border-color);padding-top:0;padding-left:.5rem}.admin-main{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.npc-grid{grid-template-columns:1fr}.info-preview{flex-direction:column;align-items:center}}.images-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.image-base-path{display:flex;align-items:center;gap:.5rem}.image-base-path .path-label{color:var(--text-secondary, #8899aa);font-size:.85rem}.image-base-path code{background:#0000004d;padding:.25rem .5rem;border-radius:4px;color:var(--accent-cyan, #00f0ff);font-family:var(--font-mono);font-size:.85rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.image-card{background:#00f0ff08;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center}.image-preview{width:120px;height:120px;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0003;margin-bottom:.75rem}.image-preview img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.image-info{text-align:center;margin-bottom:.75rem}.image-info .mood-name{font-family:var(--font-mono);color:var(--accent-cyan, #00f0ff);font-size:1rem;margin-bottom:.25rem}.image-info .image-path{font-size:.7rem;color:var(--text-secondary, #8899aa);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-actions{display:flex;gap:.5rem}.mood-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.mood-chip{padding:.25rem .75rem;background:#00f0ff1a;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:20px;color:var(--text-secondary, #8899aa);font-size:.75rem;cursor:pointer;transition:all .2s}.mood-chip:hover{background:#00f0ff33;color:var(--text-primary, #e0e0e0)}.mood-chip.active{background:var(--accent-cyan, #00f0ff);color:var(--bg-dark, #0a0c10);border-color:var(--accent-cyan, #00f0ff)}.image-preview-small{margin-top:.75rem;width:80px;height:80px;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.image-preview-small img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.area-selector{background:#00f0ff08;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:1rem;margin-bottom:1.5rem}.selector-row{display:flex;gap:1rem}.selector-row .form-group{flex:1}.ambience-list{display:flex;flex-direction:column;gap:.75rem}.ambience-item{display:flex;align-items:center;gap:1rem;background:#0003;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:6px;padding:.75rem 1rem}.ambience-text{flex:1;color:var(--text-primary, #e0e0e0);font-style:italic;font-size:.9rem}.ambience-meta{display:flex;gap:.5rem}.weight-badge{background:#ffc80033;color:gold;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-family:var(--font-mono)}.ambience-actions{display:flex;gap:.25rem}.current-area-info{display:flex;align-items:center;gap:.5rem}.current-area-info .label{color:var(--text-secondary, #8899aa);font-size:.85rem}.current-area-info code{background:#0000004d;padding:.25rem .5rem;border-radius:4px;color:var(--accent-cyan, #00f0ff);font-family:var(--font-mono)}.btn-small{padding:.4rem .8rem;font-size:.8rem;background:var(--accent-cyan, #00f0ff);color:var(--bg-dark, #0a0c10);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s}.btn-small:hover{opacity:.8}.ai-config-section{max-height:calc(100vh - 250px);overflow-y:auto;padding-right:.5rem}.config-group{margin-bottom:1.5rem}.config-type-title{color:var(--accent-cyan, #00f0ff);font-size:1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.config-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.config-card{background:#0000004d;border:1px solid var(--border-color, rgba(0, 240, 255, .2));border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.config-card.active{border-color:var(--accent-cyan, #00f0ff);background:#00f0ff0d}.config-header{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.config-prompt{flex:1}.config-prompt label{font-size:.75rem;color:var(--text-secondary, #8899aa);display:block;margin-bottom:.25rem}.config-prompt pre{font-size:.8rem;color:var(--text-primary, #e0e0e0);white-space:pre-wrap;word-break:break-word;margin:0;max-height:120px;overflow-y:auto;background:#0003;padding:.5rem;border-radius:4px}.config-params{font-size:.75rem;color:var(--text-secondary, #8899aa);display:flex;gap:1rem}.config-actions{display:flex;gap:.25rem;margin-top:auto}.model-badge{background:#64c8ff33;color:#64c8ff;padding:.15rem .4rem;border-radius:4px;font-size:.7rem;font-family:var(--font-mono)}.badge.active{background:#00f0ff4d;color:#00f0ff}.badge.inactive{background:#ff646433;color:#ff6464}@media(max-width:768px){.config-list{grid-template-columns:1fr}}:root{--hologram-bg: rgba(0, 240, 255, .03);--hologram-border: rgba(0, 240, 255, .3)}.tools-page .deck-container{grid-template-columns:1fr;grid-template-rows:50px 1fr 30px}.tools-viewport{background:#050505;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;grid-column:1;grid-row:2}.tools-viewport:before{display:none!important}.tools-footer{grid-column:1 / -1;grid-row:3;border-top:2px solid var(--border-color, #333);background:#0c0c0c;display:flex;align-items:center;justify-content:flex-end;padding:0 20px;font-size:.7rem;color:#444;height:100%;position:relative;overflow:hidden}.hex-stream{font-size:.7rem;color:#333;width:auto;white-space:nowrap;font-family:var(--font-mono, "Share Tech Mono", monospace)}.tool-panel{display:none;width:100%;max-width:800px;padding:20px;animation:holoFadeIn .4s ease-out;position:relative;z-index:10}.tool-panel:has(.mermaid-visual-workspace),.tool-panel:has(.mermaid-code-workspace){max-width:1600px}.tool-panel.active{display:block}@keyframes holoFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@media(max-width:900px){.tools-page body{height:auto;min-height:100vh;overflow-y:auto;display:block;touch-action:pan-y;-webkit-overflow-scrolling:touch}.tools-page .deck-container{display:flex;flex-direction:column;height:auto;min-height:100vh;border:none}.tools-viewport{height:auto;min-height:400px;overflow:visible;display:block;padding:10px}.tools-footer{order:3;height:30px;justify-content:center}}.tools-sidebar{background:linear-gradient(135deg,#000c,#0a0a0a66);position:relative;border-right:1px dashed rgba(255,255,255,.1);gap:30px;padding:20px;display:flex;flex-direction:column}.tools-sidebar:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,240,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,240,255,.05) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0;opacity:.5}.tools-user-profile{display:flex;align-items:center;gap:15px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.tools-mini-avatar{width:75px;height:75px;border:2px solid var(--accent-cyan);-o-object-fit:cover;object-fit:cover;filter:sepia(100%) hue-rotate(55deg) saturate(280%) contrast(1.4) brightness(1.1);box-shadow:0 0 15px #00f0ff4d;transition:.3s}.tools-mini-avatar:hover{filter:none;opacity:1}.tools-mini-info{display:flex;flex-direction:column;font-size:.8rem;color:#888}.tools-mini-info strong{color:var(--accent-yellow);font-size:1rem;margin-bottom:2px;text-shadow:0 0 5px rgba(252,238,10,.3)}.tool-grid-container{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-content:start;position:relative;z-index:1}.module-block{position:relative;background:var(--hologram-bg);border:1px solid var(--hologram-border);aspect-ratio:1;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;overflow:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 0 10px #00f0ff0d}.module-block:hover{background:#00f0ff1a;border-color:var(--accent-cyan);transform:scale(1.02);box-shadow:0 0 20px #00f0ff33;z-index:2}.module-block.active{background:#00f0ff26;border-color:var(--accent-cyan);box-shadow:0 0 25px #00f0ff4d,inset 0 0 15px #00f0ff1a}.module-block.active .block-icon{color:#fff;text-shadow:0 0 10px var(--accent-cyan)}.module-block.active .block-title{color:var(--accent-cyan)}.module-block.locked-mod{opacity:.3;pointer-events:none;border-style:dashed}.block-icon{font-size:2rem;color:var(--accent-cyan);opacity:.7;transition:.3s;margin-bottom:2px}.block-title{font-size:.75rem;color:#aaa;font-weight:700;letter-spacing:1px;transition:.3s}.deco-data{position:absolute;bottom:4px;right:4px;font-size:.5rem;color:#00f0ff66;font-family:Arial;letter-spacing:1px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayFadeIn .3s ease}.sidebar-overlay.active{display:block}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-toggle-btn{display:none;position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:1000;background:linear-gradient(135deg,#00141ef2,#000a14e6);border:1px solid rgba(0,240,255,.4);border-left:none;border-radius:0 8px 8px 0;padding:15px 12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 0 20px #00f0ff26,inset 0 0 30px #00f0ff08}.sidebar-toggle-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,240,255,.1),transparent);pointer-events:none;border-radius:0 8px 8px 0}.sidebar-toggle-btn:hover{background:linear-gradient(135deg,#001e32fa,#001428f2);border-color:var(--accent-cyan);box-shadow:0 0 35px #00f0ff59,inset 0 0 40px #00f0ff14;transform:translateY(-50%) translate(3px)}.sidebar-toggle-btn .toggle-icon{display:flex;flex-direction:column;align-items:center;gap:6px}.sidebar-toggle-btn .toggle-icon i{color:var(--accent-cyan);font-size:1.4rem;text-shadow:0 0 10px rgba(0,240,255,.5);animation:pulseGlow 2s ease-in-out infinite}.sidebar-toggle-btn .toggle-icon span{font-size:.5rem;color:#666;font-family:var(--font-mono);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:2px}@keyframes pulseGlow{0%,to{text-shadow:0 0 10px rgba(0,240,255,.5)}50%{text-shadow:0 0 25px rgba(0,240,255,.9),0 0 40px rgba(0,240,255,.4)}}.sidebar-toggle-btn .mini-avatar-preview{width:40px;height:40px;border-radius:4px;border:2px solid rgba(0,240,255,.5);-o-object-fit:cover;object-fit:cover;margin-bottom:8px;filter:sepia(100%) hue-rotate(55deg) saturate(200%) contrast(1.2) brightness(1.1);transition:.3s}.sidebar-toggle-btn:hover .mini-avatar-preview{border-color:var(--accent-cyan);box-shadow:0 0 15px #00f0ff66;filter:sepia(100%) hue-rotate(55deg) saturate(280%) contrast(1.3) brightness(1.2)}.tools-sidebar .pc-close-btn{display:none;position:absolute;top:15px;right:15px;background:transparent;border:1px solid rgba(255,0,60,.4);color:#ff003cb3;padding:8px 12px;cursor:pointer;font-size:.75rem;font-family:var(--font-mono);transition:all .2s;z-index:10}.tools-sidebar .pc-close-btn:hover{border-color:#ff003c;color:#ff003c;background:#ff003c1a;box-shadow:0 0 15px #ff003c4d}@media(min-width:901px){.sidebar-toggle-btn{display:flex}.tools-sidebar.pc-collapsed{transform:translate(-100%);pointer-events:none;opacity:0;position:fixed;left:0;top:0;height:100vh;width:320px;z-index:1001}.tools-sidebar.pc-expanded{transform:translate(0);pointer-events:auto;opacity:1;position:fixed;left:0;top:0;height:100vh;width:320px;z-index:1001;animation:slideInFromLeft .35s cubic-bezier(.16,1,.3,1);box-shadow:5px 0 50px #00f0ff26,2px 0 20px #00000080}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:.5}to{transform:translate(0);opacity:1}}.tools-sidebar.pc-expanded~.sidebar-toggle-btn{opacity:0;pointer-events:none}.tools-sidebar.pc-expanded .tools-user-profile{padding:25px 20px;border-bottom:1px solid rgba(0,240,255,.2);background:#00f0ff05}.tools-sidebar.pc-expanded .pc-close-btn{display:flex;align-items:center;gap:6px}}.mobile-hud-bar,.mobile-close-btn{display:none}@media(max-width:900px){.mobile-hud-bar{display:flex;justify-content:space-between;align-items:center;background:#00f0ff0d;border:1px solid var(--accent-cyan);margin:10px;padding:12px 15px;cursor:pointer;animation:holoFadeIn .5s;font-family:var(--font-mono)}.hud-current-tool{color:var(--accent-cyan);font-weight:700;display:flex;align-items:center;gap:10px}.hud-action{color:#666;font-size:.8rem}.mobile-hud-bar:active{background:#00f0ff26}.tools-sidebar{position:fixed;top:0;left:0;width:100%;height:100%;background:#050505f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:none;flex-direction:column;padding:20px;overflow-y:auto}.tools-sidebar.mobile-open{display:flex;animation:menuSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mobile-close-btn{display:block;background:transparent;border:1px solid #333;color:#666;padding:15px;width:100%;margin-bottom:20px;cursor:pointer;font-family:var(--font-mono)}.mobile-close-btn:active{background:#222;color:#fff}.tool-grid-container{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;width:100%;padding-bottom:50px}.module-block{width:100%;aspect-ratio:1;height:auto;border:1px solid #333}.tools-user-profile{display:flex;margin-bottom:20px;border-bottom:1px solid #333;padding-bottom:15px}}.tool-card{background:#0009;border:1px solid #333;display:flex;flex-direction:column;position:relative;height:auto;box-shadow:0 0 30px #00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:11;pointer-events:auto}.tool-card:before{content:"";position:absolute;top:-1px;left:-1px;width:10px;height:10px;border-top:2px solid var(--accent-cyan);border-left:2px solid var(--accent-cyan)}.tool-card:after{content:"";position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-bottom:2px solid var(--accent-cyan);border-right:2px solid var(--accent-cyan)}.card-header{background:#00f0ff0d;padding:15px 20px;font-family:var(--font-mono);font-weight:700;color:var(--accent-cyan);border-bottom:1px solid #333;display:flex;align-items:center;gap:10px;letter-spacing:1px;font-size:1.2rem}.card-body{padding:30px;flex:1;display:flex;flex-direction:column;gap:20px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-size:.8rem;color:#888}.cyber-input{background:#0f0f0f;border:1px solid #444;color:var(--accent-cyan);padding:12px;font-family:var(--font-mono);font-size:1.1rem;outline:none;transition:.3s;width:100%}.cyber-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 8px #00f0ff4d}.cyber-input::-moz-placeholder{color:#555}.cyber-input::placeholder{color:#555}.preset-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.mini-btn{flex:1;background:#1a1a1a;border:1px solid #444;color:#aaa;padding:12px;cursor:pointer;font-family:var(--font-mono);transition:.2s;min-width:60px;text-align:center;font-size:.9rem}.mini-btn:hover{border-color:var(--accent-yellow);color:var(--accent-yellow);background:#222}.mini-btn.active{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan);font-weight:700}.cyber-btn{background:transparent;border:1px solid var(--accent-cyan);color:var(--accent-cyan);padding:15px;font-family:var(--font-pixel);font-size:.9rem;cursor:pointer;transition:.2s;text-transform:uppercase;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px}.cyber-btn:hover{background:var(--accent-cyan);color:#000;box-shadow:0 0 15px var(--accent-cyan)}.cyber-btn:active{transform:scale(.98)}.cyber-btn.full-btn{width:100%}.cyber-btn.danger-btn{border-color:var(--accent-red);color:var(--accent-red)}.cyber-btn.danger-btn:hover{background:var(--accent-red);color:#000;box-shadow:0 0 15px var(--accent-red)}.copy-btn{background:transparent;border:1px solid #444;color:#666;cursor:pointer;margin-left:10px;padding:4px 8px;font-size:.8rem;transition:.2s;border-radius:4px}.copy-btn:hover{border-color:var(--accent-yellow);color:var(--accent-yellow)}.copy-btn:active{transform:scale(.95)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:20px;width:10px;background:var(--accent-cyan);cursor:pointer;margin-top:-8px;box-shadow:0 0 5px var(--accent-cyan)}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:#333}.cyber-textarea{flex:1;background:#080808;border:1px solid #333;color:#ccc;font-family:var(--font-mono);font-size:.9rem;padding:15px;resize:none;outline:none;line-height:1.5;white-space:pre}.cyber-textarea:focus{border-color:var(--accent-cyan);background:#0c0c0c}.cyber-select{background:#0f0f0f;border:1px solid #444;color:var(--accent-cyan);padding:10px;font-family:var(--font-mono);font-size:.9rem;outline:none;cursor:pointer}.cyber-select:focus{border-color:var(--accent-cyan)}.cyber-select.mini{padding:6px 10px;font-size:.8rem}.cyber-color{width:50px;height:35px;border:1px solid #444;background:transparent;cursor:pointer;padding:0}.color-dashboard{display:grid;grid-template-columns:200px 1fr;gap:30px}.color-preview-section{display:flex;flex-direction:column;align-items:center;gap:15px}.color-picker-wrapper{position:relative;width:160px;height:160px;border-radius:50%;overflow:hidden;border:4px solid #333;box-shadow:0 0 30px #00000080;transition:.3s}.color-picker-wrapper:hover{border-color:var(--accent-cyan);box-shadow:0 0 40px #00f0ff33}input[type=color].round-picker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150%;height:150%;padding:0;margin:0;border:none;cursor:pointer}.color-data-grid{display:flex;flex-direction:column;gap:12px}.color-data-row{display:flex;align-items:center;gap:10px;background:#141414cc;border:1px solid #333;padding:10px 15px;font-family:var(--font-mono);transition:.2s;position:relative;overflow:hidden;border-left:2px solid transparent}.color-data-row:hover{border-color:#555;background:#1a1a1a;border-left-color:var(--accent-cyan)}.color-label-icon{width:30px;text-align:center;font-size:1.2rem}.color-label-text{width:60px;color:#666;font-size:.8rem;font-weight:700}.color-value{flex:1;color:var(--accent-cyan);font-size:1rem;text-align:right;letter-spacing:1px;-webkit-user-select:text;-moz-user-select:text;user-select:text}@media(max-width:900px){.color-dashboard{grid-template-columns:1fr}}.password-gen-container{display:flex;flex-direction:column;gap:20px}.pass-display{background:#080808;border:2px dashed #444;padding:20px;text-align:center;position:relative;font-size:1.8rem;letter-spacing:2px;color:var(--accent-cyan);font-family:var(--font-mono);word-break:break-all;min-height:80px;display:flex;align-items:center;justify-content:center;transition:.2s;cursor:pointer}.pass-display:hover{border-color:var(--accent-cyan);background:#00f0ff0d}.pass-display:after{content:"CLICK_TO_COPY";position:absolute;bottom:5px;right:10px;font-size:.6rem;color:#666}.pass-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.option-toggle{display:flex;align-items:center;gap:10px;padding:10px;background:#111;border:1px solid #333;cursor:pointer;transition:.2s}.option-toggle:hover{border-color:#666}.option-toggle.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#00f0ff1a}.cyber-check{width:16px;height:16px;border:1px solid #666;display:inline-block;position:relative}.option-toggle.active .cyber-check:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--accent-cyan)}.pass-history{margin-top:10px;border-top:1px solid #333;padding-top:10px}.history-title{font-size:.7rem;color:var(--accent-yellow);margin-bottom:5px}.history-list{font-family:var(--font-mono);font-size:.9rem;color:#666;max-height:100px;overflow-y:auto}.history-item{padding:3px 0;border-bottom:1px dashed #222;display:flex;justify-content:space-between}.history-time{font-size:.7rem;color:#444}.ratio-display-container{width:100%;height:250px;background:radial-gradient(#222 1px,transparent 1px);background-size:20px 20px;border:1px solid #333;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.ratio-box{border:2px solid var(--accent-cyan);background:#00f0ff1a;display:flex;align-items:center;justify-content:center;transition:all .5s cubic-bezier(.19,1,.22,1);box-shadow:0 0 20px #00f0ff1a;position:relative}.ratio-box:before{content:attr(data-w);position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:.8rem;color:#888;white-space:nowrap;font-family:var(--font-mono)}.ratio-box:after{content:attr(data-h);position:absolute;right:-40px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:.8rem;color:#888;white-space:nowrap;font-family:var(--font-mono)}.ratio-overlay-text{color:#fff;font-weight:700;font-size:1.5rem;text-shadow:0 0 5px black;z-index:2}.qr-display-area{margin-top:25px;background:#fff;padding:15px;width:180px;height:180px;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border:2px solid var(--accent-cyan);box-shadow:0 0 20px #00f0ff33;position:relative}.qr-display-area:after{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:#ff003c80;box-shadow:0 0 10px #ff003c;animation:qrScan 2s infinite ease-in-out;pointer-events:none}@keyframes qrScan{0%{top:0}50%{top:100%}to{top:0}}.qr-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}@media(max-width:900px){.pass-options{grid-template-columns:1fr}}.tree-workspace{display:flex;flex:1;overflow:hidden;height:500px}.tree-pane{flex:1;display:flex;flex-direction:column;padding:15px;background:#0003;overflow:hidden}.pane-label{font-size:.7rem;color:var(--accent-yellow);margin-bottom:10px;font-family:var(--font-mono);border-left:2px solid var(--accent-yellow);padding-left:8px}.tree-divider{width:30px;display:flex;align-items:center;justify-content:center;border-left:1px solid #333;border-right:1px solid #333;background:#050505;color:#444}.tree-preview{flex:1;background:#050505;border:1px dashed #444;color:var(--accent-cyan);font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;padding:15px;margin:0;overflow:auto;white-space:pre;line-height:1.4}@media(max-width:900px){.tree-workspace{flex-direction:column;height:auto}.tree-pane{min-height:300px}.tree-divider{width:100%;height:30px;border-left:none;border-right:none;border-top:1px solid #333;border-bottom:1px solid #333}}.mermaid-visual-workspace,.mermaid-code-workspace{width:100%}.tool-card:has(.mermaid-visual-workspace),.tool-card:has(.mermaid-code-workspace){width:calc(100% - 40px);max-width:1400px}.mermaid-visual-workspace{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:700px;height:calc(100vh - 200px);max-height:1000px}.mermaid-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background:#0006;border-bottom:1px solid #333;flex-shrink:0}.toolbar-tabs{display:flex;gap:5px}.tab-btn{background:transparent;border:1px solid #444;color:#888;padding:8px 16px;font-size:.75rem;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:6px;white-space:nowrap;text-transform:uppercase}.tab-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff33}.tab-btn.active{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan);font-weight:700;box-shadow:0 0 15px #00f0ff66}.toolbar-right{display:flex;align-items:center;gap:10px}.mermaid-main-area{display:flex;flex:1;overflow:hidden}.mermaid-editor-pane{width:380px;min-width:320px;display:flex;flex-direction:column;background:#0000004d;overflow:hidden;border-right:1px solid #333}.tab-content-area{flex:1;overflow-y:auto;padding:15px}.tab-panel{display:none}.tab-panel.active{display:block;animation:fadeIn .2s ease}.panel-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.75rem;color:var(--accent-cyan);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;opacity:.8}.form-row-inline{display:flex;gap:12px}.form-row-inline .form-group{flex:1}.items-panel{border-top:1px solid #333;max-height:200px;display:flex;flex-direction:column;overflow:hidden}.panel-header{font-size:.8rem;color:var(--accent-cyan);font-family:var(--font-mono);padding:10px 15px;background:#0000004d;display:flex;align-items:center;gap:8px;flex-shrink:0;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 5px rgba(0,240,255,.5);border-bottom:1px solid rgba(0,240,255,.1)}.items-list{flex:1;overflow-y:auto;padding:0 15px 10px}.empty-hint{color:#444;font-size:.8rem;font-family:var(--font-mono);padding:15px 0;text-align:center;letter-spacing:.5px}.item-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0000004d;border-left:2px solid #444;margin-bottom:5px;transition:.2s}.item-row:hover{background:#00f0ff0d;border-left-color:var(--accent-cyan)}.node-item{border-left-color:var(--accent-cyan)}.conn-item{border-left-color:var(--accent-yellow)}.item-icon{width:20px;text-align:center;color:#666;font-size:.75rem}.node-item .item-icon{color:var(--accent-cyan)}.conn-item .item-icon{color:var(--accent-yellow)}.item-content{flex:1;font-size:.85rem;color:#ccc;font-family:var(--font-mono);letter-spacing:.5px}.item-type{color:#666;font-size:.7rem;margin-left:8px;text-transform:uppercase}.item-delete{background:transparent;border:1px solid #444;color:#666;width:24px;height:24px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}.item-delete:hover{border-color:#ff003c;color:#ff003c;background:#ff003c1a;box-shadow:0 0 10px #ff003c33}.mermaid-preview-pane{flex:1;display:flex;flex-direction:column;padding:15px;background:#0003;overflow:hidden;max-height:calc(100vh - 300px)}.mermaid-preview{flex:1;background:#0a0a0a;border:1px dashed #444;padding:20px;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;min-height:300px;max-height:550px;position:relative;background-image:linear-gradient(rgba(0,240,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,240,255,.03) 1px,transparent 1px);background-size:20px 20px}.mermaid-preview svg{max-width:100%;height:auto;position:relative;z-index:1}.mermaid-preview .nodeLabel,.mermaid-preview .edgeLabel,.mermaid-preview text{fill:#e0e0e0!important;font-family:Share Tech Mono,monospace!important;text-shadow:0 0 5px rgba(0,0,0,.8)}.mermaid-preview .node rect,.mermaid-preview .node circle,.mermaid-preview .node polygon{stroke:var(--accent-cyan)!important;stroke-width:2px!important;fill:#00141ecc!important}.mode-toggle{display:flex;margin-left:auto}.mode-btn{background:transparent;border:1px solid #444;color:#666;padding:6px 12px;font-size:.7rem;font-family:var(--font-mono);cursor:pointer;transition:.2s;letter-spacing:1px;text-transform:uppercase}.mode-btn:first-child{border-right:none}.mode-btn.active{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan);font-weight:700;box-shadow:0 0 10px #00f0ff4d}.mode-btn:hover:not(.active){border-color:var(--accent-cyan);color:var(--accent-cyan)}.style-presets{display:flex;gap:6px;flex-wrap:wrap}.preset-dot{width:22px;height:22px;border-radius:50%;border:2px solid #333;cursor:pointer;transition:.2s}.preset-dot:hover{transform:scale(1.2);border-color:#fff;box-shadow:0 0 10px currentColor}.mini-list{margin-top:10px;max-height:80px;overflow-y:auto}.mini-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:#0000004d;margin-bottom:4px;font-size:.75rem;color:#aaa;font-family:var(--font-mono);letter-spacing:.5px}.mini-item span{flex:1}.style-dot{width:14px;height:14px;border-radius:50%;border:2px solid;flex-shrink:0}.item-delete.mini{width:18px;height:18px;font-size:.6rem}.mermaid-code-workspace{display:flex;flex:1;overflow:hidden;min-height:700px;height:calc(100vh - 200px);max-height:1000px}.code-editor-pane{flex:1;display:flex;flex-direction:column;padding:15px;background:#0000004d;max-width:45%}.code-editor{flex:1;font-family:var(--font-mono);font-size:.9rem;line-height:1.6;-moz-tab-size:4;-o-tab-size:4;tab-size:4;background:#080808;color:var(--accent-cyan);border:1px solid #333;padding:15px;border-radius:4px;overflow:auto}.code-editor:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff1a}.code-actions{display:flex;gap:10px;margin-top:10px}.code-actions .cyber-btn{flex:1;margin:0;padding:10px;font-size:.75rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.mermaid-visual-workspace{flex-direction:column;height:auto}.mermaid-editor-pane{width:100%;min-width:auto}.mermaid-main-area{flex-direction:column}.mermaid-preview-pane{min-height:350px}.code-editor-pane{max-width:100%}.mermaid-code-workspace{flex-direction:column;height:auto}}.mermaid-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.mermaid-modal{width:95vw;max-width:1600px;height:90vh;background:#0e0e0e;border:1px solid var(--accent-cyan);box-shadow:0 0 40px #00f0ff33,inset 0 0 20px #00000080;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#00000080;border-bottom:1px solid #333}.modal-title{font-family:var(--font-mono);font-size:1rem;color:var(--accent-cyan);letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 10px var(--accent-cyan)}.modal-actions{display:flex;gap:12px;align-items:center}.modal-actions .mini-btn{padding:8px 16px;gap:8px;text-transform:uppercase;letter-spacing:1px}.modal-feedback{padding:8px 20px;background:#00f0ff1a;color:var(--accent-cyan);font-family:var(--font-mono);font-size:.8rem;text-align:center;animation:pulse .5s ease;letter-spacing:1px;text-transform:uppercase}.mermaid-modal-preview{flex:1;overflow:auto;padding:30px;display:flex;align-items:center;justify-content:center;background:#050505;position:relative;background-image:linear-gradient(rgba(0,240,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,240,255,.03) 1px,transparent 1px);background-size:40px 40px}.mermaid-modal-preview svg{max-width:100%;max-height:100%;z-index:2}.mermaid-modal-preview .nodeLabel,.mermaid-modal-preview .edgeLabel,.mermaid-modal-preview text{fill:#e0e0e0!important;font-family:Share Tech Mono,monospace!important}.mermaid-modal-preview .node rect,.mermaid-modal-preview .node circle,.mermaid-modal-preview .node polygon{stroke:var(--accent-cyan)!important;stroke-width:2px!important;fill:#00141ecc!important}.mermaid-preview-clickable{cursor:zoom-in;transition:.2s}.mermaid-preview-clickable:hover{border-color:var(--accent-cyan);box-shadow:0 0 15px #00f0ff1a}.preview-actions{display:flex;gap:8px;padding:10px 0 0;align-items:center}.copy-feedback{font-family:var(--font-mono);font-size:.75rem;color:var(--accent-cyan);animation:pulse .3s ease;margin-left:auto;letter-spacing:1px;text-transform:uppercase}@keyframes pulse{0%{opacity:0;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.resize-handle{height:20px;background:linear-gradient(to bottom,#0000004d,#00000080);border-top:1px solid #333;cursor:ns-resize;display:flex;align-items:center;justify-content:center;color:#555;font-size:.8rem;transition:.2s;flex-shrink:0}.resize-handle:hover{background:linear-gradient(to bottom,#00f0ff1a,#00f0ff0d);color:var(--accent-cyan);border-top-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff1a}.resize-handle:active{background:#00f0ff26;color:var(--accent-cyan)}.subnet-input-group{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.subnet-input-group .input-row{display:flex;flex-direction:column;gap:6px}.subnet-input-group label{font-size:.7rem;color:var(--text-dim);letter-spacing:1px}.subnet-input-group .cyber-input{background:#0009;border:1px solid var(--accent-cyan);color:var(--main-color);padding:10px 12px;font-family:var(--font-mono);font-size:1rem;border-radius:4px;outline:none;transition:all .2s ease}.subnet-input-group .cyber-input:focus{border-color:var(--accent-yellow);box-shadow:0 0 10px #00f0ff4d}.cidr-slider-group{display:flex;align-items:center;gap:12px}.cidr-slider-group input[type=range]{flex:1;height:6px;background:#1a1a1e;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.cidr-slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--accent-cyan);border-radius:50%;cursor:pointer;box-shadow:0 0 8px var(--accent-cyan)}.cidr-value{font-family:var(--font-mono);font-size:1.2rem;color:var(--accent-cyan);min-width:40px;text-align:right}.subnet-error{background:#ff323226;border:1px solid #ff4444;color:#f66;padding:10px 15px;border-radius:4px;margin-top:15px;font-size:.85rem;display:flex;align-items:center;gap:10px}.subnet-results{margin-top:20px;border:1px solid #1a1a1e;border-radius:4px;overflow:hidden}.result-header{background:#00f0ff1a;padding:10px 15px;font-size:.75rem;color:var(--accent-cyan);letter-spacing:1px;border-bottom:1px solid #1a1a1e}.result-grid{display:flex;flex-direction:column}.result-row{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #1a1a1e}.result-row:last-child{border-bottom:none}.result-label{font-size:.7rem;color:var(--text-dim);letter-spacing:1px}.result-value{font-family:var(--font-mono);font-size:.9rem;color:var(--main-color)}.result-value.copyable{cursor:pointer;padding:4px 8px;border-radius:3px;transition:all .2s ease}.result-value.copyable:hover{background:#00f0ff26;color:var(--accent-cyan)}.binary-display{background:#0006;padding:12px 15px;border-top:1px solid #1a1a1e}.binary-label{font-size:.65rem;color:var(--text-dim);margin-bottom:6px;letter-spacing:1px}.binary-value{font-family:var(--font-mono);font-size:.8rem;color:var(--accent-yellow);word-break:break-all}.nav-switch-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1px solid #444;color:#888;font-size:.75rem;font-family:var(--font-mono);text-decoration:none;transition:all .2s ease;cursor:pointer}.nav-switch-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.nav-switch-btn.active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#000}.nav-switch-btn i{font-size:.8rem}.edit-page{width:100%;min-height:100vh;position:relative;overflow-x:hidden}.edit-page .deck-container{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header header" "sidebar viewport" "footer footer";min-height:100vh}.edit-page .header{grid-area:header}.edit-page .edit-sidebar{grid-area:sidebar;border-right:1px solid #222;background:#0a0a0a;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:15px}.edit-page .edit-viewport{grid-area:viewport;padding:20px;overflow:auto;position:relative}.edit-page .edit-viewport:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#333,var(--accent-cyan),#333)}.edit-page .edit-footer{grid-area:footer;border-top:2px solid #333;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;background:#0a0a0a}.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:15px}.edit-card{border:1px solid #222;background:#070707}.edit-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #222;color:#bbb}.edit-card .card-header .title{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);letter-spacing:1px}.edit-card .card-header .title i{color:var(--accent-cyan)}.edit-card .card-body{padding:14px}.stats-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #222;background:#0a0a0a;color:#777;font-size:.8rem;font-family:var(--font-mono)}.stats-badge strong{color:#bbb}@media(max-width:900px){.edit-page .deck-container{grid-template-columns:1fr;grid-template-areas:"header" "sidebar" "viewport" "footer"}.edit-page .edit-sidebar{border-right:none;border-bottom:1px solid #333;max-height:250px;overflow-y:auto}.edit-page .edit-viewport{padding:15px}.grid-2{grid-template-columns:1fr}}.mode-grid{display:grid;grid-template-columns:1fr;gap:10px}.mode-block{border:1px solid #222;background:#090909;padding:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.15s}.mode-block:hover{border-color:#333;background:#0d0d0d}.mode-block.active{border-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff1a}.mode-left{display:flex;align-items:center;gap:10px}.mode-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #222;background:#050505;color:#777}.mode-block.active .mode-icon{color:var(--accent-cyan);border-color:#00f0ff59}.mode-title{font-family:"Press Start 2P",var(--font-mono);font-size:.7rem;color:#bbb;line-height:1.2}.mode-sub{font-size:.75rem;color:#666;margin-top:4px}.mode-tag{font-size:.7rem;color:#444;border:1px dashed #333;padding:2px 8px}.mode-block.active .mode-tag{color:var(--accent-yellow);border-color:#fcee0a59}.mode-block.disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.mode-block.disabled:hover{background:#090909}.edit-panel{border:1px solid #222;background:#050505;padding:12px}.panel-title{font-size:.75rem;color:var(--accent-yellow);border-bottom:1px solid #222;padding-bottom:8px;margin-bottom:10px;letter-spacing:1px;font-family:var(--font-mono)}.out-block{border:1px solid #222;background:#000;margin-bottom:12px}.out-block:last-child{margin-bottom:0}.out-top{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #222}.out-name{font-size:.75rem;color:#888;letter-spacing:1px;font-family:var(--font-mono)}pre.out{margin:0;padding:10px;color:#ddd;font-family:var(--font-mono);font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;min-height:78px}.hint{font-size:.75rem;color:#666;margin-top:8px;line-height:1.45}.hint code{color:#aaa;background:#111;padding:1px 4px}.edit-user-profile{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #222;background:#070707}.edit-mini-avatar{width:60px;height:60px;border:2px solid var(--accent-cyan);-o-object-fit:cover;object-fit:cover;filter:sepia(100%) hue-rotate(55deg) saturate(280%) contrast(1.4) brightness(1.1);box-shadow:0 0 15px #00f0ff4d;transition:.3s}.edit-mini-avatar:hover{filter:none}.edit-mini-info strong{color:var(--accent-yellow);font-size:.9rem;display:block}.edit-mini-info span{font-size:.7rem;color:#666;margin-top:2px;display:block}@media(max-width:900px){.mode-grid{grid-template-columns:1fr 1fr}.mode-block{flex-direction:column;align-items:flex-start;padding:10px;gap:6px}.mode-sub{display:none}.mode-icon{width:28px;height:28px;font-size:.8rem}.mode-title{font-size:.6rem}.edit-user-profile{padding:8px}.edit-mini-avatar{width:45px;height:45px}}.mode-switch{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #222;background:#0a0a0a;color:#777;padding:8px 10px;font-family:"Press Start 2P",var(--font-mono);font-size:.65rem;cursor:pointer;transition:.15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pill:hover{border-color:#333;color:#999}.pill.active{border-color:#00f0ff73;color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff14}.mini-field{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;margin-top:10px}.mini-label{font-size:.75rem;color:#666;letter-spacing:.5px;font-family:var(--font-mono)}.edit-btn{border:1px solid #222;background:#0a0a0a;color:#aaa;padding:8px 12px;cursor:pointer;font-family:var(--font-mono);font-size:.75rem;transition:.15s;display:inline-flex;align-items:center;gap:6px}.edit-btn:hover{border-color:#333;color:var(--accent-cyan)}.edit-btn:active{transform:translateY(1px)}.edit-btn.copy-btn:hover{border-color:var(--accent-cyan)}.edit-textarea{width:100%;min-height:150px;background:#0b0b0b;border:1px solid #222;color:#ddd;padding:12px;outline:none;font-family:var(--font-mono);font-size:.85rem;resize:vertical;line-height:1.45;transition:.15s}.edit-textarea:focus{border-color:#00f0ff73;box-shadow:0 0 8px #00f0ff14}.edit-input{width:100%;background:#0b0b0b;border:1px solid #222;color:#ddd;padding:10px;outline:none;font-family:var(--font-mono);font-size:.85rem;transition:.15s}.edit-input:focus{border-color:#00f0ff73;box-shadow:0 0 8px #00f0ff14}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}@media(max-width:900px){.mini-field{grid-template-columns:1fr;gap:4px}.edit-btn{padding:10px 15px;flex:1;justify-content:center}.edit-textarea{min-height:120px;font-size:14px}.pill{font-size:.6rem;padding:8px}}
