:root{--page-bg: #f4f4f4;--border-blue: #000000;--title-bg: #a1c6ea;--title-shadow: #507dbc;--title-text: #000000;--header-bg: #a1c6ea;--content-bg: #ffffff;--content-text: #000000;--amber: #9b6a00;--skill-fill: #2a5ea0;--skill-track: #d8d8d8;--skill-border: #a0a0a0;--btn-bg: #d4d0c8;--btn-border: #808080;--font: "Courier New", Courier, monospace;--fs: 16px;--fs-sm: 14px;--fs-xs: 12.5px;--fs-lg: 19px;--fs-xl: 22px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--fs)}body{background:var(--page-bg);font-family:var(--font);color:var(--content-text);min-height:100vh;padding-bottom:36px}a{color:inherit;text-decoration:underline}a:hover{color:var(--amber)}.window{border:2px solid #000000;box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000;background:var(--content-bg)}.window-title-bar{background:var(--title-bg);border-bottom:2px solid #000000;color:var(--title-text);padding:3px 7px;display:flex;justify-content:space-between;align-items:center;user-select:none;gap:8px}.window-title-text{font-family:var(--font);font-weight:700;font-size:var(--fs);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-btns{display:flex;gap:2px;flex-shrink:0}.win-btn{min-width:18px;height:16px;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--content-text);font-family:var(--font);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;padding:0 2px;line-height:1}.window-body{background:var(--content-bg);padding:10px 12px;font-size:var(--fs);line-height:1.55}.win-dotted{border:none;border-top:1px dotted #a0a0a0;margin:8px 0}.skill-group{margin-bottom:10px}.skill-category{font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;color:var(--content-text)}.skill-track{background:var(--skill-fill);height:3px;width:60%;margin-bottom:6px}.skill-items{font-size:var(--fs-sm);color:#333;line-height:1.4}.topbar{background:var(--content-bg);border:1px solid #000000;border-top:none;padding:5px 8px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.nav-btn{background:var(--btn-bg);border:1px solid var(--btn-border);font-family:var(--font);font-size:var(--fs-sm);padding:2px 10px;cursor:pointer;color:var(--content-text);text-decoration:none;display:inline-block;letter-spacing:.03em;white-space:nowrap}.nav-btn:hover{background:var(--title-bg);color:var(--content-text);text-decoration:none}.active-btn{background:var(--title-bg);border-color:#000}.topbar-url{font-size:var(--fs-xs);color:#777;padding:0 4px;font-family:var(--font)}.amber{color:var(--amber);font-weight:400}.bold,.year{font-weight:700}.desktop{max-width:1200px;margin:0 auto;padding:16px 14px 50px;display:flex;flex-direction:column;gap:0}.desktop-header{background:var(--header-bg);border:1px solid #000000;box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000;color:var(--content-text);text-align:left;padding:7px 12px;font-family:var(--font);font-size:var(--fs-xl);font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.status-block{margin-bottom:14px}.grid-main{display:grid;grid-template-columns:370px 1fr;gap:10px;align-items:start}.grid-left,.grid-right{display:flex;flex-direction:column;gap:10px}.profil-row{display:flex;gap:8px;align-items:baseline;margin-bottom:5px;font-size:var(--fs-sm)}.profil-icon{font-style:normal;width:16px;flex-shrink:0;color:#666}.section-label{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin:8px 0 5px}.article-entry{padding:8px 0}.article-date{font-size:var(--fs-xs);color:#666;margin-bottom:2px}.article-title{font-weight:700;font-size:var(--fs);color:var(--skill-fill)}.article-excerpt{font-size:var(--fs-sm);color:#333;margin-top:3px;line-height:1.4}.article-tag{display:inline-block;background:var(--skill-track);border:1px solid var(--skill-border);font-size:.65rem;padding:0 5px;margin-right:3px;margin-top:3px;font-family:var(--font)}.project-entry{margin-bottom:8px}.project-name{font-weight:700;color:var(--skill-fill);font-size:var(--fs)}.project-lang{display:inline-block;background:var(--skill-fill);color:#fff;font-size:.62rem;padding:0 5px;margin-left:6px;font-family:var(--font)}.project-desc{font-size:var(--fs-sm);color:#333}.exp-entry{margin-bottom:6px}.exp-header{display:flex;gap:8px;align-items:baseline}.exp-year{font-weight:700;flex-shrink:0}.exp-title{font-weight:700}.exp-company{color:#555;font-size:var(--fs-sm);margin-left:0;padding-left:32px}.exp-bullets{list-style:disc;padding-left:44px;font-size:var(--fs-sm);color:#222;margin-top:3px}.exp-bullets li{margin-bottom:1px}.status-bar{position:fixed;bottom:0;left:0;right:0;background:var(--btn-bg);border-top:1px solid #000000;padding:2px 10px;font-size:var(--fs-xs);display:flex;justify-content:space-between;align-items:center;z-index:100;gap:8px;font-family:var(--font)}.status-cell{border:1px solid var(--btn-border);padding:1px 8px;font-size:var(--fs-xs);white-space:nowrap;background:var(--content-bg)}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:900px){.grid-main{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){:root{--fs: 14px;--fs-sm: 12px;--fs-xs: 11px;--fs-lg: 16px;--fs-xl: 18px}.desktop{padding:8px 8px 50px}.desktop-header{font-size:var(--fs-sm);letter-spacing:.06em;padding:6px 8px}.topbar-url{display:none}.stats-grid{grid-template-columns:1fr}.status-cell:nth-child(2){display:none}.window-title-text{font-size:var(--fs-xs);letter-spacing:.08em}}.blog-content{font-family:var(--font);font-size:var(--fs);line-height:1.65;color:var(--content-text)}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5{font-family:var(--font);font-weight:700;margin:1.4em 0 .5em;letter-spacing:.03em}.blog-content h1{font-size:1.6em;background:var(--title-bg);border:1px solid #000;padding:4px 10px;letter-spacing:.15em;text-transform:uppercase}.blog-content h2{font-size:1.3em;border-bottom:1px dotted #888;padding-bottom:3px;text-transform:uppercase;letter-spacing:.08em}.blog-content h3{font-size:1.1em;color:var(--skill-fill)}.blog-content h4{font-size:1em;color:#444}.blog-content p{margin:0 0 1em}.blog-content a{color:var(--skill-fill);text-decoration:underline}.blog-content a:hover{color:var(--amber)}.blog-content ul,.blog-content ol{padding-left:28px;margin:0 0 1em}.blog-content li{margin-bottom:2px}.blog-content ul ul,.blog-content ol ol{margin:4px 0}.blog-content blockquote{border-left:3px solid var(--skill-fill);padding:4px 12px;background:#f3f6fb;margin:1em 0;font-size:.95em}.callout{border:1px solid #000;background:var(--content-bg);box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000;margin:1em 0}.callout-title{background:var(--title-bg);border-bottom:1px solid #000;padding:3px 10px;font-weight:700;font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase}.callout-body{padding:8px 12px;font-size:var(--fs-sm)}.callout-body>*:first-child{margin-top:0}.callout-body>*:last-child{margin-bottom:0}.callout-note .callout-title,.callout-info .callout-title{background:#cfe6ff}.callout-tip .callout-title,.callout-success .callout-title{background:#d4edda}.callout-warning .callout-title,.callout-caution .callout-title{background:#fff3cd}.callout-danger .callout-title,.callout-error .callout-title{background:#f8d7da}.callout-quote .callout-title{background:#e9e2f3}.callout-example .callout-title{background:#fce0c2}.blog-content code{font-family:var(--font);font-size:.92em;background:#eef0f3;border:1px solid #ccc;padding:0 4px}.blog-content pre{background:#1e1e1e;color:#e7e7e7;border:1px solid #000;box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000;padding:10px 12px;margin:1em 0;overflow-x:auto;font-size:var(--fs-sm);line-height:1.45}.blog-content pre code{background:transparent;border:none;padding:0;font-size:inherit;color:inherit}.blog-content pre.astro-code{background:#f6f8fa!important;color:#24292f!important;border:1px solid #000}.blog-content table{border-collapse:collapse;width:100%;margin:1em 0;font-size:var(--fs-sm);border:1px solid #000}.blog-content th{background:var(--title-bg);border:1px solid #000;padding:4px 8px;font-weight:700;text-align:left}.blog-content td{border:1px solid #888;padding:4px 8px}.blog-content tr:nth-child(2n) td{background:#f6f8fa}.blog-content img{max-width:100%;height:auto;display:block;margin:1em auto;border:1px solid #000;box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000}.blog-content hr{border:none;border-top:1px dotted #888;margin:1.5em 0}.blog-content .mermaid{background:var(--content-bg);border:1px solid #000;padding:12px;margin:1em 0;text-align:center;box-shadow:3px 3px 0 0 var(--title-shadow),3px 3px 0 1px #000}.blog-content .katex{font-size:1em}.blog-content .katex-display{margin:1em 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.article-meta{font-size:var(--fs-sm);color:#555;margin-bottom:4px}@media(max-width:600px){.blog-content{font-size:var(--fs-sm)}.blog-content h1{font-size:1.3em;letter-spacing:.08em}.blog-content h2{font-size:1.15em}.blog-content pre{font-size:var(--fs-xs);padding:8px 10px}}[hidden]{display:none!important}.window{position:relative}.window-title-bar{cursor:grab;touch-action:none}.wm-dragging{opacity:.92}.wm-dragging .window-title-bar{cursor:grabbing}.wm-min>*:not(.window-title-bar){display:none}.wm-closed{display:none}.win-btn{cursor:pointer}.win-btn:active{background:var(--title-bg)}.wm-float{position:fixed;z-index:90;max-width:calc(100vw - 16px)}.task-zone{flex:1;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0}.task-zone::-webkit-scrollbar{display:none}.task-btn{border:1px solid var(--btn-border);background:var(--content-bg);font-family:var(--font);font-size:var(--fs-xs);padding:1px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;cursor:pointer;flex-shrink:0}.task-btn:hover{background:var(--title-bg)}.task-btn.task-active{background:var(--title-bg);border-color:#000;font-weight:700}.task-btn.task-closed{color:#999;font-style:italic}button.status-cell{cursor:pointer}button.status-cell:hover{background:var(--title-bg)}#terminal-window{right:16px;bottom:44px;width:640px}.term-body{padding:0!important}.term-screen{height:300px;overflow-y:auto;font-size:var(--fs-sm);line-height:1.45;white-space:pre-wrap;word-break:break-word;padding:8px 10px}.term-screen a{color:var(--skill-fill)}.term-prompt{color:var(--amber);font-weight:700}.term-err{color:#a02a2a}.term-input-row{display:flex;gap:6px;align-items:center;border-top:1px dotted #a0a0a0;padding:6px 10px;font-size:var(--fs-sm)}.term-input-row input{flex:1;border:none;outline:none;font-family:var(--font);font-size:var(--fs-sm);background:transparent;color:var(--content-text)}#search-window{left:50%;top:90px;width:580px;margin-left:-290px}.search-input-row{display:flex;gap:6px;padding:8px 10px}.search-input-row input{flex:1;font-family:var(--font);font-size:var(--fs);border:1px solid var(--btn-border);padding:3px 6px;outline:none}.search-results{max-height:50vh;overflow-y:auto;padding:0 10px 8px;font-size:var(--fs-sm)}.search-result{padding:7px 0;border-top:1px dotted #a0a0a0}.search-result mark{background:var(--title-bg);color:inherit}.search-hint{color:#777;font-size:var(--fs-xs);padding:4px 0 8px}#arcade-window{left:24px;bottom:44px}.arcade-body{padding:6px!important}#arcade-canvas{display:block;image-rendering:pixelated;border:1px solid #000;background:var(--content-bg)}.arcade-hud{display:flex;justify-content:space-between;font-size:var(--fs-xs);padding:4px 2px 0;color:#555}#boot{position:fixed;inset:0;z-index:9999;background:#000;cursor:pointer;overflow:hidden}#boot.fade-out{opacity:0;transition:opacity .25s ease-out}.boot-screen{position:absolute;inset:0;background:#3a6ea5;display:flex;align-items:center;justify-content:center}.boot-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px)}.boot-screen.crt-on{animation:crt-open .5s cubic-bezier(.23,1,.32,1) both}.boot-screen.crt-off{animation:crt-close .35s ease-in both}@keyframes crt-open{0%{clip-path:inset(50% 0 50% 0);filter:brightness(6)}40%{clip-path:inset(48% 0 48% 0);filter:brightness(3)}to{clip-path:inset(0 0 0 0);filter:brightness(1)}}@keyframes crt-close{0%{clip-path:inset(0 0 0 0);filter:brightness(1)}60%{clip-path:inset(49% 0 49% 0);filter:brightness(4)}to{clip-path:inset(50% 0 50% 0);filter:brightness(0)}}.boot-dlg{width:min(440px,calc(100vw - 32px));background:var(--content-bg);border:1px solid var(--border-blue);box-shadow:4px 4px #00000059;font-family:var(--font);opacity:0;animation:boot-dlg-in .25s ease-out .55s forwards}@keyframes boot-dlg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.boot-title{background:var(--title-bg);color:var(--title-text);border-bottom:1px solid var(--border-blue);box-shadow:inset -2px -2px 0 var(--title-shadow);padding:4px 8px;font-weight:700;font-size:var(--fs);display:flex;justify-content:space-between;align-items:center}.boot-x{border:1px solid var(--border-blue);background:var(--page-bg);line-height:1;padding:0 4px;font-size:var(--fs-sm)}.boot-body{padding:18px 20px 20px;font-size:var(--fs)}.boot-h{font-size:var(--fs-lg);font-weight:700;margin:0 0 10px}#boot-status{margin:0 0 16px;color:#333;min-height:1.4em}.boot-pbar{border:1px solid var(--border-blue);height:18px;padding:2px;display:flex;gap:2px;background:var(--content-bg)}.boot-pbar i{flex:1;background:var(--title-bg);box-shadow:inset -1px -1px 0 var(--title-shadow);opacity:0}.boot-pbar i.on{opacity:1}.boot-foot{margin-top:10px;font-size:var(--fs-xs);color:#777;text-align:right}#screensaver{position:fixed;inset:0;z-index:9998;background:#000;cursor:none}#screensaver canvas{width:100%;height:100%;display:block}.mon-node{font-size:var(--fs-sm);margin-bottom:8px}.mon-row{display:flex;gap:8px;align-items:center;margin-bottom:2px}.mon-name{width:92px;font-weight:700;flex-shrink:0}.mon-label{width:34px;color:#666;font-size:var(--fs-xs);flex-shrink:0}.mon-bar{flex:1;height:12px;background:var(--skill-track);border:1px solid var(--skill-border);position:relative;min-width:40px}.mon-fill{position:absolute;top:0;bottom:0;left:0;background:var(--skill-fill);transition:width .6s ease}.mon-val{width:56px;text-align:right;font-size:var(--fs-xs);flex-shrink:0}.mon-meta{color:#777;font-size:var(--fs-xs)}.mon-demo{color:#999;font-size:var(--fs-xs);font-style:italic}@media(max-width:600px){#terminal-window,#arcade-window{left:8px;right:8px;width:auto}#search-window{left:8px;right:8px;width:auto;margin-left:0}.term-screen{height:220px}.sb-label{display:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.bento-btn[data-astro-cid-lq7i5isa]{display:none;flex-direction:column;justify-content:center;gap:4px;width:28px;height:28px;background:var(--btn-bg);border:1px solid #000;cursor:pointer;padding:5px 6px;flex-shrink:0}.bento-btn[data-astro-cid-lq7i5isa] span[data-astro-cid-lq7i5isa]{display:block;height:2px;background:#000;width:100%}.bento-menu[data-astro-cid-lq7i5isa]{display:none;position:absolute;top:100%;right:0;z-index:200;min-width:200px}.bento-menu[data-astro-cid-lq7i5isa].open{display:block}.bento-link[data-astro-cid-lq7i5isa]{display:block;padding:6px 10px;font-family:var(--font);font-size:var(--fs-sm);text-decoration:none;color:var(--content-text);border-bottom:1px dotted #ccc}.bento-link[data-astro-cid-lq7i5isa]:last-child{border-bottom:none}.bento-link[data-astro-cid-lq7i5isa]:hover{background:var(--title-bg);text-decoration:none}@media(max-width:600px){.topbar-links[data-astro-cid-lq7i5isa],.topbar-url[data-astro-cid-lq7i5isa]{display:none}.bento-btn[data-astro-cid-lq7i5isa]{display:flex}}
