@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=VT323&display=swap";@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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;--spacing:.25rem;--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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::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]){appearance:button}::file-selector-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{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.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}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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,-webkit-backdrop-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))}}:root{--font-display:"VT323", "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--glow-body:none;--glow-strong:0 0 4px #00ff4180, 0 0 12px #00ff4140;--scanline-alpha:.07;--scanline-step:3px;--flicker-anim:none;--noise-opacity:.012;--cursor-glow-max:.45;--seg-glow:none;--seg-fill:#17c94a;--panel-border-glow:0 0 14px #00ff411f;--overlay-bg:#000802fb}:root[data-fx=max]{--glow-body:0 0 5px #00ff41, 0 0 10px #00ff41, 0 0 20px #00ff4180;--glow-strong:-1px 0 #ff005047, 1px 0 #00b4ff47, 0 0 5px #00ff41, 0 0 10px #00ff41, 0 0 20px #00ff41, 0 0 40px #00ff4180, 0 0 80px #00ff4140;--scanline-alpha:.15;--scanline-step:2px;--flicker-anim:crt-flicker .15s infinite;--noise-opacity:.035;--cursor-glow-max:1;--seg-glow:0 0 6px #00ff4199;--seg-fill:#00ff41;--panel-border-glow:0 0 40px #00ff4140;--overlay-bg:#000d02f0}html,body,#root,.app{width:100%;height:100%}.app{flex-direction:column;display:flex}body{color:#00ff41;background-color:#000d02;background-image:radial-gradient(120% 90% at 50% 35%,#001c09 0%,#000d02 55%,#000702 100%);font-family:JetBrains Mono,Courier New,monospace;overflow:hidden}.crt-container{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.crt-container:before{content:"";background:repeating-linear-gradient(0deg, rgba(0, 0, 0, var(--scanline-alpha)), rgba(0, 0, 0, var(--scanline-alpha)) 1px, transparent 1px, transparent var(--scanline-step));pointer-events:none;z-index:1000;width:100%;height:100%;position:absolute;top:0;left:0}.crt-container:after{content:"";pointer-events:none;z-index:999;will-change:opacity;width:100%;height:100%;animation:var(--flicker-anim);background:#00ff4105;position:absolute;top:0;left:0}@keyframes crt-flicker{0%{opacity:.97}50%{opacity:1}to{opacity:.98}}.crt-frame{pointer-events:none;z-index:1004;border-radius:22px;position:fixed;inset:0;box-shadow:0 0 0 60px #010401,inset 0 0 90px #0000008c,inset 0 0 3px #00ff412e}.crt-vignette{pointer-events:none;z-index:1001;background:radial-gradient(#0000 55%,#00000047 82%,#0000009e 100%);position:fixed;inset:0}.crt-sweep{will-change:transform;pointer-events:none;z-index:1002;background:linear-gradient(#0000,#00ff410b 45%,#00ff4117 50%,#00ff410b 55%,#0000);width:100%;height:140px;animation:9s linear infinite crt-sweep;position:fixed;top:-140px;left:0}@keyframes crt-sweep{0%{transform:translateY(0)}to{transform:translateY(calc(100vh + 280px))}}.crt-noise{opacity:var(--noise-opacity);pointer-events:none;z-index:1003;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.cursor-glow{pointer-events:none;z-index:5;will-change:transform;opacity:0;background:radial-gradient(circle,#00ff4112,#00ff4106 45%,#0000 65%);border-radius:50%;width:440px;height:440px;transition:opacity .6s;position:fixed;top:0;left:0}.ascii-rain{pointer-events:none;z-index:0;will-change:transform;width:100%;height:100%;position:absolute;inset:0}.text-glow{text-shadow:var(--glow-body)}.text-glow-strong{text-shadow:var(--glow-strong)}@keyframes glitch{0%{filter:none;transform:translate(0)}20%{filter:hue-rotate(90deg);transform:translate(-2px,2px)}40%{filter:hue-rotate(-90deg);transform:translate(2px,-2px)}60%{filter:none;transform:translate(-1px,1px)}80%{filter:hue-rotate(180deg);transform:translate(1px,-1px)}to{filter:none;transform:translate(0)}}.glitch-active{animation:.3s ease-in-out glitch}@keyframes screen-glitch{0%{opacity:1;filter:none;transform:translate(0)}10%{opacity:.8;filter:contrast(2)brightness(2);transform:translate(-10px)}20%{opacity:.6;filter:contrast(.5)brightness(.5);transform:translate(10px)}30%{opacity:.9;filter:hue-rotate(90deg);transform:translate(-5px)}40%{opacity:.7;filter:hue-rotate(-90deg);transform:translate(5px)}50%{opacity:.5;filter:contrast(3);transform:translate(-15px)}60%{opacity:.8;filter:brightness(3);transform:translate(15px)}70%{opacity:.6;filter:invert();transform:translate(-8px)}80%{opacity:.9;filter:none;transform:translate(8px)}90%{opacity:.7;filter:contrast(2);transform:translate(-3px)}to{opacity:0;filter:none;transform:translate(0)}}.screen-glitch{will-change:transform, filter, opacity;animation:.8s ease-in-out forwards screen-glitch}.terminal-input{color:#00ff41;font-family:JetBrains Mono,monospace;font-size:inherit;caret-color:#00ff41;background:0 0;border:none;outline:none;width:100%}.terminal-input::placeholder{color:#00ff4180}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink{animation:1s step-end infinite cursor-blink}.typing-text{display:inline}@keyframes shake-x{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-2px)}}.shake{animation:.4s ease-in-out shake-x}.neon-pulse{position:relative}.neon-pulse:after{content:"";opacity:.2;pointer-events:none;will-change:opacity;border:1px solid #00ff41;animation:2.4s ease-in-out infinite neon-pulse-glow;position:absolute;inset:-1px;box-shadow:0 0 16px #00ff4166,inset 0 0 20px #00ff411a}@keyframes neon-pulse-glow{0%,to{opacity:.2}50%{opacity:1}}.tui-corners{position:relative}.tui-corners:before,.tui-corners:after{content:"";opacity:.35;pointer-events:none;width:14px;height:14px;transition:all .25s;position:absolute}.tui-corners:before{border-top:2px solid #00ff41;border-left:2px solid #00ff41;top:5px;left:5px}.tui-corners:after{border-bottom:2px solid #00ff41;border-right:2px solid #00ff41;bottom:5px;right:5px}.tui-corners:hover:before,.tui-corners:hover:after{opacity:1;width:24px;height:24px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#00ff410a}::-webkit-scrollbar-thumb{background:#00ff4138;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00ff4166}@media (prefers-reduced-motion:reduce){.crt-container:after,.crt-sweep,.crt-noise,.neon-pulse:after,.marquee-track,.vault-boy-img{animation:none!important}.cursor-glow{display:none}}::selection{color:#000d02;background:#00ff4180}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.terminal-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:relative;overflow:hidden}.terminal-content{z-index:1;width:100%;max-width:800px;padding:20px;position:relative}.header-section{justify-content:center;align-items:center;gap:20px;margin-bottom:30px;display:flex}.ascii-art{white-space:pre;margin:0;font-size:14px;line-height:1.2}@media (width<=768px){.header-section{flex-direction:column;gap:10px}.ascii-art{font-size:8px}}@media (width<=480px){.ascii-art{font-size:6px}}.boot-sequence{margin-bottom:20px}.terminal-line{min-height:24px;font-size:16px;line-height:1.6}@media (width<=768px){.terminal-line{min-height:20px;font-size:14px}}.input-section{margin-top:20px}.prompt-line{background:#00ff410d;border:1px solid #00ff4180;margin-bottom:15px;padding:10px;font-size:14px}@media (width<=768px){.prompt-line{font-size:12px}}.input-line{align-items:center;padding:10px 0;font-size:16px;display:flex}.input-line .terminal-input{flex:1;font-size:16px}.error-line{background:#ff33331a;border:1px solid #ff333380;margin-top:10px;padding:10px;font-size:14px}.authenticating{margin-top:15px;font-size:16px}.skip-hint{letter-spacing:2px;opacity:.4;margin-top:14px;font-size:11px;animation:1.6s step-end infinite cursor-blink}.vault-boy-container{flex-shrink:0;justify-content:center;align-items:center;display:flex}.vault-boy-img{filter:sepia()hue-rotate(50deg)saturate(200%)brightness(1.45)contrast(1.15);will-change:opacity;width:150px;height:auto;animation:var(--flicker-anim);box-shadow:0 0 10px #00ff4180,0 0 20px #00ff414d,0 0 30px #00ff4133}@keyframes vault-boy-flicker{0%{opacity:.97}50%{opacity:1}to{opacity:.98}}@media (width<=768px){.vault-boy-img{width:100px}}@media (width<=480px){.vault-boy-img{width:80px}}.cmd-log{max-height:40vh;margin:8px 0;overflow-y:auto}.cmd-entry{margin-bottom:6px}.cmd-echo{opacity:.55}.cmd-resp{color:#8fa}.boot-cta{gap:12px;margin:14px 0 4px;display:flex}.boot-cta-primary,.boot-cta-secondary{letter-spacing:1px;cursor:pointer;padding:8px 18px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.boot-cta-primary{color:#000d02;background:#00ff41;border:1px solid #00ff41}.boot-cta-primary:hover{background:#66ffa0;border-color:#66ffa0}.boot-cta-secondary{color:#00ff41;background:#00ff4114;border:1px solid #00ff4199}.boot-cta-secondary:hover{background:#00ff412e}.book-overlay{background:var(--overlay-bg);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.book{--book-lh:26px;--book-lines:16;box-shadow:var(--panel-border-glow), inset 0 0 60px #00ff410d;will-change:transform, opacity;background:radial-gradient(at 50% 0,#00ff4112,#0000 70%),#02150a;border:2px solid #00ff41;flex-direction:column;gap:14px;padding:46px 26px 16px;animation:.45s ease-out book-flash;display:flex;position:relative}@keyframes book-flash{0%{filter:brightness(2.4)}to{filter:brightness()}}.book-close{color:#00ff41;cursor:pointer;z-index:2;background:0 0;border:1px solid #00ff4180;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .25s;position:absolute;top:10px;right:12px}.book-close:hover{background:#00ff4133;border-color:#00ff41}.book-viewport{width:min(88vw,780px);height:calc(var(--book-lh) * var(--book-lines));position:relative;overflow:hidden}@media (height<=820px){.book{--book-lines:13}}@media (height<=680px){.book{--book-lines:10}}.book-viewport.one-page{width:min(88vw,380px)}.book-gutter{pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#0000008c 30%,#000c 50%,#0000008c 70%,#0000);width:44px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.book-gutter:after{content:"";background:linear-gradient(#0000,#00ff418c 12% 88%,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 8px #00ff4159}.book-flow{-moz-column-fill:auto;column-fill:auto;will-change:transform;height:100%;transition:transform .45s cubic-bezier(.19,1,.22,1)}.book-titlepage{-moz-column-break-after:column;break-after:column;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:0 6px;display:flex}.book-emblem{border:2px solid #ffaa0080;justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:22px;display:flex;transform:rotate(45deg);box-shadow:0 0 18px #fa03}.book-emblem-mark{font-family:var(--font-display);color:#fa0;text-shadow:0 0 12px #fa09;font-size:40px;line-height:1;transform:rotate(-45deg)}.book-title{font-family:var(--font-display);color:#3f6;text-shadow:0 0 10px #00ff4180;margin:0;font-size:27px;font-weight:400;line-height:1.25}.book-rule{background:#ffaa0090;width:54px;height:1px;margin:14px 0}.book-meta{flex-direction:column;align-items:center;gap:8px;display:flex}.book-type{letter-spacing:2px;border:1px solid;padding:2px 8px;font-size:10px}.book-date{color:#6a8;letter-spacing:1px;font-size:11px}.book-body{font-size:13.5px;line-height:var(--book-lh);color:#b6e6c8;text-align:left;word-break:keep-all;overflow-wrap:break-word}.book-body p{orphans:2;widows:2;margin:0 0 1em}.book-body.verse p{white-space:pre-line}.book-body:not(.verse) p:first-of-type:first-letter{float:left;font-family:var(--font-display);color:#fa0;text-shadow:0 0 14px #ffaa0073;padding:6px 10px 0 0;font-size:52px;line-height:.82}.book-footer{border-top:1px solid #00ff4140;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.book-arrow{color:#fa0;cursor:pointer;background:0 0;border:1px solid #ffaa0060;padding:7px 16px;font-size:14px;line-height:1;transition:all .2s}.book-arrow:hover:not(:disabled){background:#ffaa0026;border-color:#fa0;box-shadow:0 0 12px #ffaa004d}.book-arrow:disabled{opacity:.22;cursor:default}.book-pagebox{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.book-pageno{letter-spacing:2px;color:#6a8;font-variant-numeric:tabular-nums;font-size:11px}.book-navhint{letter-spacing:1px;color:#6a8;opacity:.55;white-space:nowrap;font-size:9.5px}@media (width<=480px){.book-navhint{display:none}}@media (prefers-reduced-motion:reduce){.book{animation:none}.book-flow{transition:none}}.arcade-overlay{background:var(--overlay-bg);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.arcade-cabinet{box-shadow:var(--panel-border-glow), inset 0 0 60px #00ff410d;color:#00ff41;background:radial-gradient(at 50% 0,#00ff4112,#0000 70%),#02150a;border:2px solid #00ff41;flex-direction:column;gap:10px;padding:14px 18px 12px;font-family:JetBrains Mono,monospace;display:flex}.arcade-header{align-items:center;gap:16px;display:flex}.arcade-title{letter-spacing:2px;font-size:15px;font-weight:700}.arcade-hiscore{opacity:.75;letter-spacing:1px;margin-left:auto;font-size:11px}.arcade-close{color:#00ff41;cursor:pointer;background:0 0;border:1px solid #00ff4180;padding:3px 8px;font-family:inherit;font-size:12px;transition:all .25s}.arcade-close:hover{background:#00ff4133;border-color:#00ff41}.arcade-screen{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #00ff4159;line-height:0;position:relative}.arcade-canvas{aspect-ratio:600/460;width:min(88vw,600px);display:block}.arcade-splash{text-align:center;pointer-events:none;background:#020f06d1;flex-direction:column;justify-content:center;align-items:center;gap:12px;line-height:1.5;display:flex;position:absolute;inset:0}.arcade-logo{letter-spacing:3px;margin:0;font-size:22px}.arcade-logo.gameover{color:#f54;text-shadow:0 0 12px #ff5544b3}.arcade-tag{opacity:.8;margin:0;font-size:12px}.arcade-blink{margin:6px 0 0;font-size:13px;animation:1.1s step-end infinite arcade-blink}@keyframes arcade-blink{50%{opacity:.15}}.arcade-howto{opacity:.65;flex-direction:column;gap:3px;margin-top:8px;font-size:11px;display:flex}.arcade-final{letter-spacing:2px;margin:0;font-size:16px}.arcade-record{color:gold;text-shadow:0 0 8px #ffd700b3;margin:0;font-size:13px;animation:.7s step-end infinite arcade-blink}.arcade-bomb-btn{color:#fa0;cursor:pointer;touch-action:manipulation;background:#020f06cc;border:1px solid #fa09;padding:8px 12px;font-family:inherit;font-size:12px;position:absolute;bottom:10px;right:10px}.arcade-bomb-btn:active{background:#ffaa0040}.arcade-hud{letter-spacing:1px;flex-wrap:wrap;align-items:center;gap:18px;font-size:11px;display:flex}.hud-item b{color:#afc;margin-left:4px;font-weight:700}.hud-item b.combo-hot{color:gold;text-shadow:0 0 8px #ffd700cc}.bomb-wrap{flex:1;align-items:center;gap:6px;min-width:90px;display:inline-flex}.bomb-meter{background:#ffaa0014;border:1px solid #ffaa0080;flex:1;height:8px;overflow:hidden}.bomb-meter i{background:#fa0;width:0%;height:100%;transition:width .15s linear;display:block}.bomb-meter i.bomb-ready{background:gold;animation:.5s step-end infinite arcade-blink;box-shadow:0 0 10px #ffd700e6}.arcade-footer{opacity:.5;letter-spacing:1px;text-align:center;font-size:10px}@media (width<=640px){.arcade-hud{gap:10px;font-size:10px}.arcade-cabinet{padding:10px 12px 8px}}.hub-slots{gap:14px;width:min(88vw,600px);padding:8px 0;display:flex}.hub-slot{color:#00ff41;text-align:left;cursor:pointer;background:#00ff410a;border:1px solid #00ff4166;flex-direction:column;flex:1;align-items:flex-start;gap:6px;padding:16px 14px;font-family:inherit;transition:all .2s;display:flex}.hub-slot:hover:not(:disabled):not(.locked){background:#00ff411f;border-color:#00ff41;box-shadow:0 0 18px #00ff414d}.hub-slot:disabled{cursor:wait;opacity:.7}.hub-slot.locked{cursor:default;color:#00ff4180;border-style:dashed;border-color:#00ff4140}.hub-slot-no{letter-spacing:2px;opacity:.5;font-size:10px}.hub-slot-title{letter-spacing:2px;font-size:17px;font-weight:700}.hub-slot-desc{opacity:.75;min-height:2.6em;font-size:11px}.hub-slot-meta{letter-spacing:1px;opacity:.65;font-size:10px}.hub-slot-meta.lock-progress{color:gold;opacity:.9}.hub-slot-play{letter-spacing:1px;margin-top:4px;font-size:12px;font-weight:700;animation:1.2s step-end infinite arcade-blink}.hub-slot.locked .hub-slot-play{opacity:.5;animation:none}@media (width<=640px){.hub-slots{flex-direction:column}}.howto-bestiary{color:#fd5;opacity:.9;letter-spacing:.5px;font-size:10px}.resume-overlay{background:var(--overlay-bg);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.resume-sheet{width:min(94vw,760px);max-height:92vh;box-shadow:var(--panel-border-glow), inset 0 0 60px #00ff410a;color:#c9f2d6;background:radial-gradient(at 50% 0,#00ff410f,#0000 70%),#02150a;border:2px solid #00ff41;padding:18px 26px 20px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.65;overflow-y:auto}.resume-toolbar{border-bottom:1px dashed #00ff4166;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.resume-toolbar-title{color:#00ff41;letter-spacing:1px;flex:1;font-weight:700}.resume-btn{color:#00ff41;font:inherit;cursor:pointer;background:0 0;border:1px solid #00ff4180;padding:3px 9px;font-size:12px}.resume-btn:hover{background:#00ff4126}.resume-head{flex-wrap:wrap;justify-content:space-between;gap:18px;margin-bottom:16px;display:flex}.resume-name{color:#fff;letter-spacing:1px;margin:0 0 4px;font-size:22px}.resume-alias{color:#6fdc94;letter-spacing:2px;font-size:12px;font-weight:400}.resume-role{color:#9fe8b8;margin:0}.resume-contacts{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.resume-contacts a{color:#38f8ff;text-decoration:none}.resume-contacts a:hover{text-decoration:underline}.resume-label{opacity:.55;letter-spacing:1px;min-width:74px;font-size:10px;display:inline-block}.resume-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.resume-metric{background:#00ff410a;border:1px solid #00ff4159;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.resume-metric-value{color:#00ff41;font-size:22px;font-weight:700}.resume-metric-label{color:#d9ffe6;font-size:11px}.resume-metric-sub{opacity:.6;font-size:10px}.resume-section-title{letter-spacing:2px;color:#00ff41;border-bottom:1px dashed #00ff4159;margin:18px 0 8px;padding-bottom:4px;font-size:13px}.resume-career{margin-bottom:12px}.resume-career-head{color:#fff;flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.resume-period{opacity:.65;font-variant-numeric:tabular-nums;font-size:11px}.resume-career-role{color:#9fe8b8;margin:2px 0 4px;font-size:12px}.resume-career ul,.resume-side,.resume-etc{margin:0;padding-left:18px}.resume-career li,.resume-side li,.resume-etc li{margin-bottom:3px}.resume-side strong{color:#d9ffe6}.resume-skills{margin:0;padding:0;list-style:none}.resume-skills li{gap:10px;margin-bottom:4px;display:flex}.resume-foot{opacity:.7;border-top:1px dashed #00ff4159;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;padding-top:10px;font-size:11px;display:flex}.resume-entry{color:#000d02;font:inherit;letter-spacing:1px;cursor:pointer;white-space:nowrap;background:#00ff41;border:1px solid #00ff41;padding:4px 14px;font-size:12px;font-weight:700;animation:2.4s ease-in-out infinite resume-pulse}@keyframes resume-pulse{0%,to{box-shadow:0 0 4px #00ff414d}50%{box-shadow:0 0 16px #00ff41bf}}.resume-entry:hover{background:#66ffa0;border-color:#66ffa0}@media print{body.resume-open .crt-fx,body.resume-open .cursor-glow,body.resume-open .ach-toast-host,body.resume-open .portfolio-content{display:none!important}body.resume-open{background:#fff!important}body.resume-open .resume-overlay{background:#fff;padding:0;display:block;position:static}body.resume-open .resume-sheet{width:100%;max-height:none;box-shadow:none;color:#111;background:#fff;border:none;font-size:12px;overflow:visible}body.resume-open .resume-sheet *{color:#111!important;text-shadow:none!important;background:0 0!important}body.resume-open .resume-metric{border:1px solid #999}body.resume-open .resume-section-title,body.resume-open .resume-toolbar{border-color:#999}body.resume-open .resume-btn,body.resume-open .resume-foot-hint{display:none}}.portfolio-container{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.portfolio-content{z-index:1;flex-direction:column;flex:1;width:100%;max-width:1000px;min-height:0;margin:0 auto;padding:20px;display:flex;position:relative}.portfolio-header{border-bottom:3px double #00ff4180;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px;padding-bottom:12px;display:flex}.header-title{font-family:var(--font-display);letter-spacing:1px;font-size:30px;font-weight:400;line-height:1}.header-readouts{letter-spacing:1px;flex-wrap:wrap;gap:18px;font-size:11px;display:flex}.readout{white-space:nowrap}.readout-label{opacity:.5;margin-right:4px}.status-online{color:#3f6;animation:2.5s step-end infinite status-blink}@keyframes status-blink{0%,92%{opacity:1}93%,to{opacity:.35}}.uptime-display{font-variant-numeric:tabular-nums;letter-spacing:2px}.tab-navigation{flex-wrap:wrap;flex-shrink:0;gap:10px;margin-bottom:20px;display:flex}.tab-button{color:#00ff41;cursor:pointer;background:0 0;border:1px solid #00ff4180;align-items:center;gap:8px;padding:10px 20px;font-family:JetBrains Mono,monospace;font-size:14px;transition:border-color .3s,box-shadow .3s,color .3s;display:flex;position:relative}.tab-button:hover{background:#00ff4114;border-color:#00ff41}.tab-button.active{text-shadow:0 0 8px #00ff41cc;border-color:#00ff41;box-shadow:0 0 12px #00ff414d}.tab-active-bg{pointer-events:none;background:#00ff4129;position:absolute;inset:0;box-shadow:inset 0 0 18px #00ff4133}.tab-fkey{opacity:.55;border:1px solid #00ff4166;padding:2px 4px;font-size:9px;line-height:1}.tab-button.active .tab-fkey,.tab-button:hover .tab-fkey{opacity:1}.tab-container{flex:1;min-height:0;padding-right:10px;overflow-y:auto}.tab-wrapper{min-height:0}.tab-content{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-header{font-family:var(--font-display);letter-spacing:1px;border-bottom:1px dashed #00ff4160;margin-bottom:15px;padding-bottom:8px;font-size:22px;font-weight:400}.stat-pitch{background:#00ff410d;border-left:3px solid #00ff41;margin-bottom:20px;padding:12px 16px;font-size:14px;line-height:1.7}.stat-layout{align-items:flex-start;gap:30px;display:flex}.stat-layout .data-grid{flex:1;min-width:0}.stat-portrait{background:#00ff4108;border:1px solid #00ff4160;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:14px 18px;display:flex}.stat-portrait-img{filter:sepia()hue-rotate(50deg)saturate(200%)brightness(1.45)contrast(1.15);width:110px;height:auto}.stat-portrait-label{letter-spacing:2px;opacity:.6;font-size:10px}@media (width<=640px){.stat-portrait{display:none}}.data-grid{flex-direction:column;gap:10px;display:flex}.data-row{border-bottom:1px solid #00ff4120;gap:15px;padding:8px 0;display:flex}.data-row .label{opacity:.7;min-width:120px;font-size:14px}.data-row .value{font-size:14px;font-weight:500}.skills-container{flex-direction:column;gap:18px;display:flex}.skill-bar{flex-direction:column;gap:6px;display:flex}.skill-head{justify-content:space-between;align-items:baseline;display:flex}.skill-name{opacity:.8;letter-spacing:1px;font-size:12px}.skill-note{color:#8da;opacity:.85;text-align:right;font-size:11px}@media (width<=640px){.skill-head{flex-direction:column;align-items:flex-start;gap:2px}.skill-note{text-align:left}}.skill-segments{gap:3px;display:flex}.seg{background:#00ff410f;border:1px solid #00ff412e;flex:1;height:12px}.seg.on{background:var(--seg-fill);border-color:var(--seg-fill);box-shadow:var(--seg-glow);animation:.25s both seg-on;animation-delay:calc(var(--i) * 40ms)}@keyframes seg-on{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}.quest-filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.quest-filter{letter-spacing:1px;color:#8da;cursor:pointer;background:0 0;border:1px solid #00ff4140;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.quest-filter:hover{color:#00ff41;background:#00ff410f;border-color:#00ff4180}.quest-filter.active{color:#000d02;background:#00ff41;border-color:#00ff41;box-shadow:0 0 12px #00ff4159}.filter-count{opacity:.65;font-variant-numeric:tabular-nums;font-size:10px}.quest-filter.active .filter-count{opacity:.8}.project-tags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.project-tag{letter-spacing:1px;white-space:nowrap;border:1px solid;border-radius:2px;padding:2px 7px;font-size:9px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:15px;padding:5px;display:grid;overflow:hidden}.project-card{background:#00ff4108;border:1px solid #00ff4180;flex-direction:column;min-height:200px;padding:20px;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex}.spotlight-card{--mx:-999px;--my:-999px;position:relative;overflow:hidden}.card-spotlight{width:240px;height:240px;transform:translate(var(--mx), var(--my));will-change:transform;opacity:0;pointer-events:none;background:radial-gradient(circle,#00ff411f,#00ff410a 45%,#0000 70%);border-radius:50%;transition:opacity .25s;position:absolute;top:-120px;left:-120px}.project-card.clickable:hover .card-spotlight{opacity:1}.project-card:hover{border-color:#00ff41;transform:translateY(-3px);box-shadow:0 0 20px #00ff4138,inset 0 0 30px #00ff410a}.project-media{aspect-ratio:16/9;border:1px solid #00ff4140;margin-bottom:14px;overflow:hidden}.project-media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:filter .35s;display:block}.project-media.card img{filter:sepia(22%)hue-rotate(18deg)saturate(115%)brightness(.92)}.project-card.clickable:hover .project-media.card img,.project-media.modal img{filter:none}.project-media.is-logo{background-color:#0014068c;background-image:linear-gradient(#00ff410d 1px,#0000 1px),linear-gradient(90deg,#00ff410d 1px,#0000 1px);background-size:22px 22px}.project-media.is-logo img{-o-object-fit:contain;object-fit:contain;padding:10px}.project-media.is-logo.modal img{padding:22px}.project-media.placeholder{background:repeating-linear-gradient(-45deg,#00ff410b 0 10px,#0000 10px 20px);border-style:dashed;border-color:#00ff4150;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.media-nosignal{font-family:var(--font-display);letter-spacing:4px;font-size:20px;animation:2.4s ease-in-out infinite media-pulse}@keyframes media-pulse{0%,to{opacity:.7}50%{opacity:.3}}.media-hint{letter-spacing:2px;opacity:.35;font-size:10px}.project-media.modal{margin-bottom:0}.media-thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.media-thumb{aspect-ratio:16/9;cursor:pointer;opacity:.5;background:0 0;border:1px solid #00ff4140;flex:1 1 0;min-width:56px;max-width:120px;padding:0;transition:opacity .2s,border-color .2s,box-shadow .2s;overflow:hidden}.media-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.media-thumb:hover{opacity:.85;border-color:#00ff4180}.media-thumb.active{opacity:1;border-color:#00ff41;box-shadow:0 0 10px #00ff4159}.media-caption{color:#8da;opacity:.85;margin-top:8px;font-size:11px;line-height:1.6}.project-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-name{font-size:16px;font-weight:600}.project-status{background:#00ff411a;border:1px solid #00ff4180;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.status-led{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.4s ease-in-out infinite led-pulse;display:inline-block;box-shadow:0 0 6px}.project-status.released .status-led{animation:none}@keyframes led-pulse{0%,to{opacity:1}50%{opacity:.25}}.project-status.progress{color:#fa0;background:#ffaa001a;border-color:#ffaa0080}.project-status.released{color:#00ff41;background:#00ff411a;border-color:#00ff4180}.repo-stats{color:#6a8;letter-spacing:.5px;gap:14px;font-size:12px;display:flex}.repo-stats.card{justify-content:center;margin-top:auto;padding-top:15px}.repo-stats.card+.project-click-hint{margin-top:8px}.repo-stats.modal{color:#00ff41;font-size:15px}.repo-stat{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.repo-stat-icon{font-size:1.5em;line-height:1}.project-description{opacity:.8;margin-bottom:15px;font-size:13px;line-height:1.5}.project-tech{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{color:#8da;border:1px dashed #00ff4160;padding:4px 10px;font-size:11px}.mini-segments{flex:1;gap:2px;display:flex}.mseg{background:#ffaa0012;border:1px solid #ffaa0040;flex:1;height:8px}.mseg.on{background:#fa0;border-color:#fa0;box-shadow:0 0 5px #ffaa0080}.progress-text{color:#fa0;text-align:right;min-width:35px;font-size:11px}.portfolio-footer{border-top:1px solid #00ff4180;flex-shrink:0;align-items:center;margin-top:20px;padding-top:15px;font-size:14px;display:flex;overflow:hidden}.footer-ready{white-space:nowrap}.footer-marquee{flex:1;min-width:0;margin-left:24px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{white-space:nowrap;will-change:transform;animation:28s linear infinite marquee;display:inline-flex}.marquee-track span{opacity:.55;letter-spacing:2px;padding-right:48px;font-size:12px}@keyframes marquee{to{transform:translate(-50%)}}.project-card.clickable{cursor:pointer;flex-direction:column;display:flex}.project-tech{flex-shrink:0}.project-progress{align-items:center;gap:10px;margin-top:auto;padding-top:15px;display:flex}.project-click-hint{text-align:center;opacity:.5;margin-top:auto;padding-top:10px;font-size:11px;transition:opacity .3s}.project-card.clickable:hover .project-click-hint{opacity:1}.modal-overlay{background:var(--overlay-bg);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{will-change:transform, opacity;background:#020804;border:2px solid #00ff41;width:100%;max-width:600px;max-height:80vh;animation:.45s ease-out modal-flash;overflow-y:auto;box-shadow:0 0 30px #00ff414d,inset 0 0 50px #00ff410d}@keyframes modal-flash{0%{filter:brightness(2.4)}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.modal-content{animation:none}}.modal-header{background:repeating-linear-gradient(-45deg,#00ff4117 0 8px,#00ff4108 8px 16px);border-bottom:1px solid #00ff4180;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-title{font-family:var(--font-display);color:#3f6;font-size:24px;font-weight:400;line-height:1}.modal-close{color:#00ff41;cursor:pointer;background:0 0;border:1px solid #00ff4180;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:14px;transition:all .3s}.modal-close:hover{background:#00ff4133;border-color:#00ff41}.modal-body{padding:20px}.modal-section{margin-bottom:20px}.modal-section:last-child{margin-bottom:0}.modal-label{color:#6a8;letter-spacing:1px;margin-bottom:8px;font-size:12px;display:block}.modal-value{color:#3f6;font-size:16px;font-weight:500}.modal-description{color:#acb;white-space:pre-line;font-size:13px;line-height:1.7}.modal-tech{flex-wrap:wrap;gap:8px;display:flex}.modal-features{margin:0;padding:0;list-style:none}.modal-features li{color:#9db;padding:5px 0 5px 20px;font-size:13px;position:relative}.modal-features li:before{content:">";color:#00ff41;position:absolute;left:0}.modal-links{flex-wrap:wrap;gap:15px;display:flex}.modal-link{color:#00ff41;border:1px solid #00ff4180;padding:8px 15px;font-size:14px;text-decoration:none;transition:all .3s}.modal-link:hover{background:#00ff4133;border-color:#00ff41}.modal-footer{color:#6a8;border-top:1px solid #00ff4180;padding:15px 20px;font-size:12px}.logs-timeline{flex-direction:column;gap:20px;display:flex}.log-year-group{border-left:2px solid #00ff4180;padding-left:20px;position:relative}.log-year{font-family:var(--font-display);margin-bottom:15px;font-size:30px;font-weight:400;line-height:1}.log-year:before{content:"";background:#000d02;border:2px solid #00ff41;width:10px;height:10px;position:absolute;top:6px;left:-6px;box-shadow:0 0 8px #00ff4199}.log-events{flex-direction:column;gap:10px;display:flex}.log-entry{background:#00ff4108;border:1px solid #00ff4140;border-left:3px solid #00ff4160;flex-direction:column;gap:3px;padding:10px 10px 10px 14px;transition:border-color .25s,background .25s,transform .25s;display:flex}.log-entry:hover{background:#00ff4112;border-left-color:#00ff41;transform:translate(4px)}.log-date{opacity:.6;font-size:11px}.log-title{font-size:14px;font-weight:600}.log-desc{opacity:.7;font-size:12px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px;display:grid}.inventory-item{background:#00000080;border:2px solid;padding:15px;transition:all .3s}.inventory-item:hover{transform:translateY(-3px);box-shadow:0 0 15px}.item-year{opacity:.6;margin-bottom:5px;font-size:12px}.item-title{margin-bottom:5px;font-size:14px;font-weight:600}.item-type{margin-bottom:8px;font-size:10px}.item-desc{opacity:.7;white-space:pre-line;text-align:left;font-size:12px}.item-link{background:0 0;border:1px solid;margin-top:12px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;text-decoration:none;transition:all .3s;display:inline-block}.item-link:hover{opacity:.2;background:currentColor}.notes-list{flex-direction:column;gap:12px;margin-top:15px;display:flex}.note-row{text-align:left;width:100%;color:inherit;cursor:pointer;background:#00ff4108;border:1px solid #00ff4140;gap:0;padding:0;font-family:JetBrains Mono,monospace;transition:border-color .25s,background .25s,transform .25s;display:flex;overflow:hidden}.note-row:hover{background:#00ff4112;border-color:#00ff41;transform:translate(4px)}.note-spine{opacity:.75;flex:0 0 5px;align-self:stretch;transition:opacity .25s}.note-row:hover .note-spine{opacity:1}.note-main{flex-direction:column;flex:1;gap:7px;min-width:0;padding:14px 18px;display:flex}.note-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.note-title{font-family:var(--font-display);font-size:21px;line-height:1.1}.note-type{letter-spacing:1px;white-space:nowrap;border:1px solid;padding:2px 7px;font-size:9px}.note-excerpt{color:#9ca;opacity:.85;font-size:12.5px;line-height:1.65}.note-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.note-date{color:#6a8;letter-spacing:1px;font-size:10px}.note-open{letter-spacing:1px;color:#fa0;opacity:0;font-size:10px;transition:opacity .25s}.note-row:hover .note-open{opacity:1}.notes-empty{opacity:.5;margin-top:24px;font-size:12px}.notes-hint{text-align:center;opacity:.55;word-break:keep-all;margin-top:26px;font-size:11.5px;line-height:1.9}.hint-key{color:#fa0;border:1px solid #ffaa0060;margin:0 1px;padding:1px 6px;font-size:10.5px;line-height:1.5;display:inline-block}.contact-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:15px;display:grid}.contact-item{color:#00ff41;background:#00ff4108;border:1px solid #00ff4180;align-items:center;gap:15px;padding:15px 20px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.contact-item:after{content:"▸";opacity:0;font-size:16px;transition:all .3s;position:absolute;top:50%;right:20px;transform:translateY(-50%)translate(12px)}.contact-item:hover{background:#00ff411a;transform:translate(4px);box-shadow:0 0 15px #00ff4133}.contact-item:hover:after{opacity:1;transform:translateY(-50%)translate(0)}.contact-item.internal{text-align:left;cursor:pointer;border-style:dashed;width:100%;font-family:JetBrains Mono,monospace}.contact-item.internal:after{content:"▸ OPEN TAB";letter-spacing:1px;font-size:10px;right:18px}.contact-icon{font-family:JetBrains Mono,monospace;font-size:18px}.contact-info{flex-direction:column;gap:3px;display:flex}.contact-label{opacity:.6;font-size:11px}.contact-value{font-size:14px;font-weight:500}.contact-hint{opacity:.5;text-align:center;margin-top:30px;font-size:12px}@media (width<=768px){.portfolio-content{padding:15px}.tab-navigation{gap:5px}.tab-button{padding:8px 12px;font-size:12px}.data-row{flex-direction:column;gap:5px}.data-row .label{min-width:auto}.projects-grid{grid-template-columns:1fr}}.expl-star{color:gold;text-shadow:0 0 6px #ffd700b3}.tab-button.visited .tab-fkey{color:#3f6;opacity:.85;border-color:#00ff41bf}.unlock-banner{color:gold;text-shadow:0 0 5px #ffd70066;background:#ffd7000d;border:1px dashed #ffd7008c;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;font-size:12px;display:flex}.unlock-banner button{color:gold;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none}.unlock-banner button:hover{text-shadow:0 0 8px #ffd700e6}.skill-lv{color:#3f6;letter-spacing:1px;border:1px solid #00ff4180;margin-right:8px;padding:1px 5px;font-size:10px}.skill-pct{opacity:.7;margin-left:8px;font-size:11px}.unlock-banner{border-style:solid;border-width:2px;animation:1.6s ease-in-out infinite unlock-pulse}@keyframes unlock-pulse{0%,to{box-shadow:0 0 6px #ffd70040}50%{box-shadow:0 0 22px #ffd70099}}.unlock-msg{flex:1}.unlock-banner .unlock-play{letter-spacing:1px;background:#ffd7001f;border:1px solid gold;padding:6px 14px;font-weight:700;animation:1.1s ease-in-out infinite unlock-play-blink}@keyframes unlock-play-blink{0%,to{background:#ffd7001f}50%{text-shadow:0 0 10px gold;background:#ffd7004d}}.unlock-banner .unlock-dismiss{opacity:.6}.unlock-banner .unlock-dismiss:hover{opacity:1}.expl-arcade-btn{color:gold;cursor:pointer;font:inherit;text-shadow:0 0 5px #ffd70066;background:0 0;border:1px solid #ffd70080;padding:1px 7px;animation:1.8s ease-in-out infinite unlock-pulse}.expl-arcade-btn:hover{background:#ffd70024}.expl-arcade-btn .readout-label{color:gold}.expl-play{font-weight:700}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.ach-card{background:#00ff4108;border:1px solid #00ff4140;align-items:center;gap:10px;padding:9px 12px;display:flex}.ach-card.unlocked{background:#ffd7000d;border-color:#ffd70099}.ach-card-star{opacity:.35;font-size:18px}.ach-card.unlocked .ach-card-star{opacity:1;color:gold;text-shadow:0 0 8px #ffd700b3}.ach-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ach-card-title{letter-spacing:1px;font-size:12px;font-weight:700}.ach-card.unlocked .ach-card-title{color:gold}.ach-card.locked .ach-card-title,.ach-card.locked .ach-card-desc{opacity:.55}.ach-card-desc{color:#8da;font-size:11px}.readout.expl-pop{transform-origin:50%;animation:.55s cubic-bezier(.19,1,.22,1) expl-pop;display:inline-block}@keyframes expl-pop{0%{transform:scale(1)}22%{color:#f33;text-shadow:0 0 12px #ff3333e6;transform:scale(2)}60%{color:#f33;text-shadow:0 0 8px #f339}to{color:inherit;transform:scale(1)}}.fx-toggle{color:#00ff41;font:inherit;letter-spacing:1px;cursor:pointer;white-space:nowrap;background:#00ff4114;border:1px solid #00ff41b3;padding:4px 12px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s}.fx-toggle:hover{background:#00ff412e;border-color:#00ff41}.fx-toggle.on{background:#00ff4129;border-color:#00ff41}.stat-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-metric{background:#00ff410a;border:1px solid #00ff4166;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.stat-metric-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.1}.stat-metric-suffix{margin-left:2px;font-size:16px}.stat-metric-label{color:#d9ffe6;font-size:12px}.stat-metric-sub{opacity:.6;font-size:10px}.tab-label-wrap{flex-direction:column;align-items:center;line-height:1.25;display:flex}.tab-sub{letter-spacing:1px;opacity:.75;color:#8da;font-size:11px}.tab-button.active .tab-sub,.tab-button:hover .tab-sub{opacity:1}.modal-tldr{background:#00ff410d;border-left:3px solid #00ff41;flex-direction:column;gap:5px;padding:10px 14px;font-size:13px;line-height:1.6;display:flex}.tldr-key{letter-spacing:2px;color:gold;opacity:.9;min-width:44px;margin-right:8px;font-size:10px;display:inline-block}.ach-toast-host{z-index:1100;pointer-events:none;position:fixed;bottom:18px;right:18px}.ach-toast{background:radial-gradient(at 0%,#ffd7001f,#0000 70%),#0a0e02;border:2px solid gold;align-items:center;gap:12px;padding:10px 16px;font-family:JetBrains Mono,monospace;display:flex;box-shadow:0 0 24px #ffd70059,inset 0 0 18px #ffd7000f}.ach-star{color:gold;text-shadow:0 0 10px #ffd700e6;font-size:22px;animation:.6s ease-out ach-star-spin}@keyframes ach-star-spin{0%{transform:rotate(-180deg)scale(.3)}to{transform:rotate(0)scale(1)}}.ach-body{flex-direction:column;gap:2px;display:flex}.ach-label{letter-spacing:2px;color:#ffd700b3;font-size:9px}.ach-title{letter-spacing:1px;color:gold;text-shadow:0 0 8px #ffd70099;font-size:14px;font-weight:700}
