@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-DXYSXa9B.woff2) format("woff2"),url(/assets/vt323-vietnamese-400-normal-CwhZGgAM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-C0dxqyaI.woff2) format("woff2"),url(/assets/vt323-latin-ext-400-normal-QkjK6OZo.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-C5q55ueI.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-JZdnI__-.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-6-AWF9yE.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-BZFL66GJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-DqTcxLwU.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-C8N-B5AP.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D7hk9wLv.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-BifMsNUA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-5raxGPWx.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-C5zKQMXr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-rgB1DpUr.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DeXYNBV7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CcGNpAf3.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-zA2EAszW.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-p0--0TT5.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-XGhtXPWC.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-D7b4BDym.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-bCyYmTho.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-ChDdxD0n.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-DCf1kqJT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-QW6cfU13.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-DP9fNao9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#071b46;--blue:#123b9a;--win-blue:#000080;--terminal:#071c10;--green:#75ff8b;--mint:#b3ffc2;--yellow:#ffd44a;--grey:#c0c0c0;--ink:#08140d;--shadow:#555;--white:#fff}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--navy);color:var(--green);font-family:IBM Plex Mono,monospace;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.site-shell{min-height:100vh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 10%,#193d78 0,var(--navy) 52%,#030b21 100%)}.scene{position:relative;width:min(100vw,1487px);aspect-ratio:1487 / 1024;background-image:url(/assets/desk-scene.png);background-position:center;background-size:100% 100%;background-repeat:no-repeat}.scene:after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 25%,rgba(0,0,0,.14));mix-blend-mode:multiply}.mobile-handset{display:none}.crt-ui{position:absolute;z-index:2;left:22.4%;top:13.1%;width:55.1%;height:59.6%;color:#111;text-shadow:none;overflow:hidden;border-radius:2.3%;transition:opacity .2s ease,filter .2s ease}.crt-ui:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 4px);mix-blend-mode:screen;opacity:.45}.crt-ui.is-off{opacity:1;filter:none;background:#06120b;box-shadow:inset 0 0 30px #000}.crt-ui.is-off .win31-desktop,.crt-ui.is-off .terminal-app,.crt-ui.is-off .window-layer,.crt-ui.is-off .tank-runner{opacity:0;visibility:hidden}.terminal-app{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--grey);border:3px outset #eee;box-shadow:inset 0 0 0 1px #666}.terminal-titlebar,.window-titlebar{height:7.5%;min-height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 1.6%;background:navy;color:#fff;font-family:VT323,monospace;font-size:clamp(14px,1.3vw,22px);letter-spacing:.03em;text-shadow:1px 1px #000}.terminal-titlebar>span:first-child{display:flex;align-items:center;gap:.45em}.terminal-titlebar svg{font-size:1.1em}.window-controls{display:flex;gap:3px;align-items:center}.window-controls button{display:grid;place-items:center;width:1.65em;height:1.45em;padding:0;border:2px outset #ddd;background:var(--grey);color:#111;box-shadow:inset 0 0 0 1px #fff;text-shadow:none}.window-controls button:active{border-style:inset}.window-controls svg{width:.9em;height:.9em}.terminal-main{min-height:0;flex:1;display:flex;gap:1.4%;padding:1.8%;background:var(--grey)}.command-menu{width:22%;flex:0 0 22%;display:flex;flex-direction:column;gap:3px;padding:1.6%;background:#f7f7f7;border:2px inset #eee}.command-menu:before{content:"MAIN";padding:2px 4px 4px;color:navy;border-bottom:1px solid #999;font-family:VT323,monospace;font-size:clamp(14px,1.25vw,20px)}.command-menu button,.mobile-menu button{display:flex;align-items:center;gap:.65em;border:2px outset #eee;color:#111;background:var(--grey);text-align:left;padding:.54em .38em;font-size:clamp(11px,1.1vw,17px);line-height:1;border-radius:0}.command-menu button svg{flex:0 0 1.1em;font-size:1.3em}.command-menu button:hover,.command-menu button:focus-visible,.mobile-menu button:hover,.mobile-menu button:focus-visible{outline:none;border-style:inset;color:#fff;background:navy;box-shadow:none}.terminal-column{display:flex;flex:1;min-width:0;flex-direction:column;background:#fff;border:2px inset #eee}.terminal-output{flex:1;min-height:0;overflow:auto;padding:2.2% 3%;scrollbar-width:thin;scrollbar-color:#000080 #fff}.terminal-rule{display:flex;justify-content:space-between;gap:1em;border-bottom:1px solid #000080;padding-bottom:.55em;margin-bottom:1em;font-family:VT323,monospace;font-size:clamp(14px,1.25vw,21px);color:navy}.terminal-date{color:#555;white-space:nowrap}.profile-hero h1{margin:0;font-family:VT323,monospace;font-size:clamp(30px,4vw,68px);line-height:.85;letter-spacing:.06em;color:navy;text-shadow:none}.profile-hero h1 span{color:#000;animation:blink 1.1s steps(2,end) infinite}.profile-hero .role{margin:.35em 0 .55em;color:#555;font-size:clamp(12px,1.25vw,20px);letter-spacing:.07em}.profile-hero p:last-child{max-width:65ch;margin:.65em 0 1.1em;color:#111;font-size:clamp(11px,1.05vw,16px);line-height:1.5}.output-line{margin:.28em 0;color:#111;font-size:clamp(11px,1vw,16px);line-height:1.35;white-space:pre-wrap}.output-line.command{color:navy;margin-top:.75em}.output-line.system,.output-line.output{color:#111}.command-line{display:flex;align-items:center;gap:.55em;min-height:9%;padding:1% 3% 2%;color:#111;border-top:1px solid #888;font-family:VT323,monospace;font-size:clamp(16px,1.5vw,25px)}.command-line label{color:navy;white-space:nowrap}.command-line input{width:100%;min-width:0;border:0;outline:0;color:#111;background:transparent;caret-color:navy;font-family:VT323,monospace;font-size:1em}.command-line input:focus-visible{box-shadow:0 2px navy}.cursor{width:.55em;height:1em;flex:0 0 .55em;background:navy;animation:blink 1s steps(2,end) infinite}.status-bar{display:flex;align-items:center;gap:1em;min-height:6%;padding:0 1.5%;border-top:2px ridge var(--grey);color:#111;background:var(--grey);font-size:clamp(8px,.75vw,12px);text-shadow:none;white-space:nowrap}.status-bar>span{padding-right:1em;border-right:1px solid #555}.status-bar>span:last-child{margin-left:auto;border:0;padding:0}.status-led{display:inline-block;width:.7em;height:.7em;margin-right:.25em;border:1px solid #111;border-radius:50%;vertical-align:-.03em;background:#e53935}.status-led.on{background:#1ef14c;box-shadow:0 0 5px #1ef14c}.mobile-menu,.s40-mobile-home{display:none}.window-layer{position:absolute;z-index:10;top:7.5%;right:0;bottom:6%;left:0;pointer-events:none}.window-position{position:absolute;width:58%;min-width:190px;pointer-events:auto}.floating-window{overflow:hidden;color:#111;border:3px outset #ddd;background:#eee;box-shadow:7px 7px #0000006b;text-shadow:none}.window-titlebar{height:31px;min-height:31px;padding:0 6px;font-size:17px;cursor:grab;-webkit-user-select:none;user-select:none}.window-titlebar:active{cursor:grabbing}.window-title{display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-title svg{flex:0 0 18px}.window-content{max-height:270px;overflow:auto;background:#f7f7f4;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.45}.notepad-toolbar{display:flex;gap:1.2em;padding:5px 8px;border-bottom:1px solid #a9a9a9;color:#222;background:#ddd;font-size:10px}.notepad-toolbar span{margin-left:1em}.notepad-kicker{margin:10px 12px 6px;font-size:10px;font-weight:700;color:#0e4a2e;letter-spacing:.08em}.project-row{margin:0 12px;padding:7px 0;border-top:1px dotted #9b9b9b}.project-row h3{margin:0;font-family:VT323,monospace;font-size:20px;color:#0d2f91}.project-row p{margin:.2em 0}.tag-list{display:flex;flex-wrap:wrap;gap:4px}.tag-list span{padding:1px 4px;color:#001c0b;background:#9affaa;font-size:9px}.editable-note{margin:12px;color:#666;font-style:italic;font-size:10px}.jobs-content{min-width:530px}.jobs-table{padding:0 10px 12px}.jobs-row{display:grid;grid-template-columns:1.15fr 1.25fr 2fr;gap:7px;padding:5px 2px;border-top:1px solid #d4d4d4}.jobs-head{border-top:0;font-weight:700;color:#0d2f91}.jobs-row a{color:#0d2f91;text-decoration:underline}.tank-runner{position:absolute;z-index:8;bottom:5%;left:-18%;display:flex;align-items:center;gap:5px;padding:3px 7px;border:2px outset #eee;color:#000;background:var(--grey);font-family:VT323,monospace;font-size:clamp(13px,1.1vw,18px);text-shadow:none;pointer-events:none;animation:tank-drive 7s linear both}.tank-runner svg{width:2em;height:2em;color:#355f25}.taskbar{position:absolute;z-index:12;bottom:0;left:0;right:0;display:flex;align-items:center;gap:4px;min-height:6%;padding:3px;color:#111;background:var(--grey);border-top:2px ridge #fff;text-shadow:none}.taskbar button{min-height:24px;max-width:35%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 9px;border:2px outset #fff;background:var(--grey);color:#111;font-size:clamp(8px,.75vw,12px)}.taskbar button:active,.taskbar button.is-minimised{border-style:inset;background:#aaa}.taskbar-start{display:grid;place-items:center;min-width:31px;padding:2px!important;color:navy!important}.power-button{position:absolute;z-index:30;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:transparent;background:transparent;box-shadow:none;opacity:0}.power-button svg{width:62%;height:62%}.power-button:focus-visible{opacity:1;color:#fff;background:#000080c7;outline:2px solid #fff;outline-offset:2px}.desktop-power-button{left:70.3%;top:77.45%;width:2.7%;aspect-ratio:1}.mobile-power-button{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.win31-desktop{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;color:#111;background:silver;border:3px outset #eee;font-family:IBM Plex Mono,monospace;text-shadow:none}.win31-titlebar{min-height:7.5%;display:flex;align-items:center;justify-content:center;padding:0 2.4%;color:#fff;background:navy;font-family:VT323,monospace;font-size:clamp(15px,1.45vw,24px);letter-spacing:.03em;text-shadow:1px 1px #000}.win31-controls{position:absolute;right:1.2%;display:flex;gap:2px}.win31-controls i{display:grid;place-items:center;width:1.45em;height:1.25em;color:#111;border:2px outset #eee;background:silver;font-family:IBM Plex Mono,monospace;font-size:.76em;font-style:normal;line-height:1;text-shadow:none}.win31-menubar{display:flex;align-items:center;gap:1.25em;min-height:6%;padding:0 2.8%;border:2px outset #eee;border-top:0;background:#f5f1e7}.win31-menubar button{padding:0;border:0;color:#111;background:transparent;font-family:IBM Plex Mono,monospace;font-size:clamp(10px,1vw,15px)}.win31-menubar button:first-letter{text-decoration:underline}.win31-menubar button:hover,.win31-menubar button:focus-visible{color:#fff;background:navy;outline:0}.win31-main-window{position:relative;flex:1;min-height:0;margin:2% 4.5% 1%;border:2px outset #eee;background:#fff}.win31-group-title{display:flex;align-items:center;justify-content:space-between;height:12%;min-height:22px;padding:0 1.5%;color:#111;background:#a8c7e8;border-bottom:1px solid #111;font-family:VT323,monospace;font-size:clamp(14px,1.25vw,21px);font-weight:700;letter-spacing:.03em}.win31-group-title span:last-child{padding-left:1em;font-family:IBM Plex Mono,monospace;font-size:.7em;white-space:pre}.win31-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:7% 2%;height:88%;padding:4%}.win31-icon{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;padding:2px;border:0;color:#111;background:transparent;font-family:IBM Plex Mono,monospace;font-size:clamp(8px,.8vw,12px);line-height:1.05;text-align:center}.win31-icon svg,.win31-icon img{width:clamp(22px,2.6vw,35px);height:clamp(22px,2.6vw,35px);object-fit:contain;image-rendering:pixelated}.win31-icon svg{padding:2px;color:navy;border:1px solid #111;background:#f7f7f7;box-shadow:inset 1px 1px #fff,1px 1px #555}.win31-icon span{max-width:100%;overflow-wrap:anywhere}.win31-icon.is-selected span,.win31-icon:hover span,.win31-icon:focus-visible span{color:#fff;background:navy;outline:none}.win31-icon:focus-visible{outline:1px dotted #111;outline-offset:2px}.win31-groups{display:flex;align-items:flex-start;gap:7%;min-height:17%;padding:1% 7% 2%;background:silver}.win31-groups .win31-icon{width:13%;min-width:48px;font-size:clamp(8px,.72vw,11px)}.win31-groups .win31-icon svg,.win31-groups .win31-icon img{width:clamp(22px,2.2vw,30px);height:clamp(22px,2.2vw,30px)}.win31-groups .win31-icon svg{color:#111;background:#d6e7f6}.terminal-app{display:none}.window-layer{top:0;right:0;bottom:0;left:0}.window-position.is-maximised{top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%;height:100%}.floating-window.is-maximised{width:100%!important;height:100%;max-height:none}.floating-window.is-maximised .window-content{height:calc(100% - 31px);max-height:calc(100% - 31px)}.prompt-window{width:48%}.prompt-content{min-height:145px;padding:8px;color:#b6ffad;background:#000;font-family:IBM Plex Mono,monospace;font-size:11px}.prompt-output{min-height:90px}.prompt-output p{margin:0 0 4px;white-space:pre-wrap}.prompt-output .command{color:#fff67a}.prompt-form{display:flex;gap:6px;align-items:center;padding-top:5px;border-top:1px solid #3c753b}.prompt-form label{white-space:nowrap}.prompt-form input{width:100%;min-width:0;border:0;outline:0;color:#b6ffad;background:transparent;font:inherit}.prompt-form input:focus-visible{box-shadow:0 1px #b6ffad}@media(min-width:768px){.crt-ui:before{content:"";position:absolute;z-index:21;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:2.3%;background:radial-gradient(ellipse at center,transparent 54%,rgba(0,0,0,.13) 78%,rgba(0,0,0,.42) 100%);box-shadow:inset 0 0 20px #00000057,inset 0 0 3px #ffffff59}.crt-ui:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.11) 0,rgba(0,0,0,.11) 1px,transparent 1px,transparent 4px);mix-blend-mode:multiply;opacity:.56}.win31-desktop{filter:saturate(.88) contrast(.97)}}@media(max-width:767px){:root{--s40-screen:#7dd405;--s40-screen-dark:#153b0d;--s40-ink:#102a09;--s40-mid:#91e10d;--s40-highlight:#d5fb59}.win31-desktop{display:none}.terminal-app{display:flex}.crt-ui{color:var(--s40-screen-dark);text-shadow:0 1px rgba(220,230,194,.24)}.crt-ui:after{background:repeating-linear-gradient(0deg,rgba(19,35,20,.12) 0,rgba(19,35,20,.12) 1px,transparent 1px,transparent 4px);mix-blend-mode:multiply;opacity:.55}.terminal-app{background:linear-gradient(180deg,#9ae80d 0%,#88df08 9%,var(--s40-screen) 100%);border:2px solid #285f0c;box-shadow:inset 0 0 20px #184a063d}.terminal-titlebar,.window-titlebar{background:linear-gradient(180deg,#afea35,#8bd609);color:#102a09;border-bottom:2px solid #3a750f;text-shadow:0 1px rgba(233,255,157,.45)}.terminal-titlebar>span:first-child{letter-spacing:.06em}.window-controls button{border:1px solid #376e11;background:#b6ec42;color:#102a09;box-shadow:inset 0 0 0 1px #e9ff95}.command-menu{background:#2739283d;border-right:1px solid #304530}.command-menu button,.mobile-menu button{color:var(--s40-ink)}.command-menu button:hover,.command-menu button:focus-visible,.mobile-menu button:hover,.mobile-menu button:focus-visible{color:var(--s40-ink);background:var(--s40-highlight);box-shadow:2px 2px #304530}.terminal-rule{border-bottom-color:#47860f}.terminal-date{color:#1c4c0b}.profile-hero h1{color:#0c2808;text-shadow:0 1px rgba(234,255,151,.35)}.profile-hero h1 span{color:#234f0c}.profile-hero .role{color:#173f09}.profile-hero p:last-child{color:#102a09}.output-line{color:#12310a}.output-line.command{color:#0d2808}.output-line.system,.output-line.output{color:#12310a}.command-line{color:#102a09;border-top-color:#47860f}.command-line label,.command-line input{color:#102a09}.command-line input{caret-color:#ecff9c}.command-line input:focus-visible{box-shadow:0 2px #ecff9c}.cursor{background:#13330a}.floating-window{color:var(--s40-ink);border:2px solid #263827;background:#71826c;box-shadow:5px 5px #00000052}.window-content{background:#71826c;color:var(--s40-ink)}.notepad-toolbar{border-bottom-color:#334833;color:#e2e8c5;background:#4d624c}.notepad-kicker{color:#1c3420}.project-row{border-top-color:#91a18b}.project-row h3{color:#172e1a}.tag-list span{color:#162c18;background:#cbd8ad}.editable-note{color:#304631}.jobs-row{border-top-color:#91a18b}.jobs-head,.jobs-row a{color:#17311b}.tank-content{color:#d6e0b7;background:#263e29}}.mobile-brand{display:none}.desktop-brand{display:inline}@keyframes blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes tank-drive{0%{transform:translate(0)}to{transform:translate(800%)}}@keyframes crt-shutdown{0%{opacity:1;transform:scaleY(1);filter:brightness(1)}68%{opacity:1;transform:scaleY(.075);filter:brightness(2.2)}to{opacity:0;transform:scaleY(.012);filter:brightness(.4)}}@keyframes crt-startup{0%{opacity:0;transform:scaleY(.012);filter:brightness(2.3)}45%{opacity:1;transform:scaleY(.085);filter:brightness(2)}to{opacity:1;transform:scaleY(1);filter:brightness(1)}}.crt-ui.is-shutting-down .win31-desktop,.crt-ui.is-shutting-down .terminal-app,.crt-ui.is-shutting-down .window-layer{transform-origin:center;animation:crt-shutdown .36s ease-in forwards}.crt-ui.is-starting-up .win31-desktop,.crt-ui.is-starting-up .terminal-app,.crt-ui.is-starting-up .window-layer{transform-origin:center;animation:crt-startup .46s ease-out both}@media(max-width:767px){.site-shell{display:block;min-height:100dvh;overflow-x:hidden}.desktop-brand{display:none}.mobile-brand{display:inline}.scene{width:100%;height:100dvh;aspect-ratio:auto;background-image:url(/assets/victorian-school-desk-mobile.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#21140d}.scene:after{display:none}.mobile-handset{display:block;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:url(/assets/nokia-7110-clean.png) center top / auto 100% no-repeat;pointer-events:none}.crt-ui{left:28.5%;top:20.8%;width:45%;height:22%;border-radius:8%}.terminal-titlebar,.terminal-controls{display:none}.mobile-menu{display:flex;gap:1px;overflow:hidden;padding:1px;min-height:22%;background:#c6d2b057;border-bottom:1px solid #344a35;scrollbar-width:none}.mobile-menu::-webkit-scrollbar{display:none}.mobile-menu button{flex:1 1 0;min-width:0;padding:1px 0;font-size:5px;flex-direction:column;justify-content:center;gap:1px;text-align:center}.mobile-menu button svg{font-size:8px}.command-menu,.mobile-menu,.terminal-output,.command-line{display:none}.terminal-main,.terminal-column{min-height:0;height:100%;padding:0;gap:0;background:var(--s40-screen);border:0}.s40-mobile-home{display:flex;min-height:0;height:100%;flex-direction:column;padding:5px 6px 3px;color:#152716;background:var(--s40-screen);font-family:IBM Plex Mono,monospace;text-shadow:none}.s40-status{display:none}.s40-heading{display:flex;flex-direction:column;gap:0;padding:1px 1px 5px;border-bottom:1px solid #405740}.s40-heading strong{font-family:VT323,monospace;font-size:20px;line-height:.85;letter-spacing:.05em}.s40-heading span{margin-top:4px;font-size:9px;letter-spacing:.06em}.s40-list{display:grid;margin-top:5px}.s40-list button{display:flex;align-items:center;justify-content:space-between;min-height:21px;padding:2px 4px;border:0;border-bottom:1px dotted rgba(28,52,28,.5);color:#162b17;background:transparent;text-align:left;font-size:10px;line-height:1}.s40-list button.is-selected{color:#d9e9bc;background:#1d391f}.s40-list button:focus-visible{outline:1px solid #e7efc8;outline-offset:-2px}.s40-softkeys{display:flex;justify-content:space-between;gap:3px;margin-top:auto;padding-top:3px;border-top:1px solid #274028}.s40-softkeys button{min-width:44%;padding:2px 4px;border:1px solid #304a31;border-radius:0;color:#142415;background:#aab89b;font-family:VT323,monospace;font-size:13px;line-height:1;text-align:left}.s40-softkeys button:last-child{text-align:right}.terminal-rule{font-size:6px;margin-bottom:.35em;padding-bottom:.2em}.terminal-date{display:none}.profile-hero h1{font-size:12px}.profile-hero .role{margin:.15em 0 .25em;font-size:5px}.profile-hero p:last-child,.output-line{font-size:5px;line-height:1.15}.command-line{min-height:12%;padding:1% 3% 2%;font-size:8px}.status-bar{min-height:9%;gap:.45em;font-size:7px;overflow:hidden}.status-bar>span{padding-right:.4em}.status-location{display:none}.window-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;padding:14px;background:transparent}.window-position{left:0!important;top:0!important;width:100%;min-width:0;height:100%}.floating-window{width:100%!important;height:100%;max-height:100%;box-shadow:4px 4px #0000006b}.window-content{max-height:calc(100% - 31px)}.jobs-content{min-width:0}.jobs-row{display:block;padding:7px 2px}.jobs-row span{display:block}.jobs-row span:first-child{color:#0d2f91;font-weight:700}.jobs-head,.tank-runner,.desktop-power-button{display:none}.mobile-power-button{display:grid;left:calc(50% + 7.5dvh);top:11.25dvh;width:4.3dvh;min-width:29px;aspect-ratio:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
