@layer reset,tokens,base,layout,components,utilities,motion,a11y,print;@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}body{margin:0}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}img,svg{display:block;max-width:100%;height:auto}ul,ol{padding-inline-start:1.4rem}}@layer base{body{min-height:100vh;min-height:100dvh;font-family:var(--font-mono);font-size:var(--fs-base);line-height:1.6;background:var(--bg);color:var(--text);display:flex;justify-content:center;align-items:center;overflow-x:hidden;touch-action:manipulation;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;transition:background-color .5s var(--ease-out),color .5s var(--ease-out)}a{color:var(--accent);text-decoration:none;transition:color .3s var(--ease-out)}a:hover{color:var(--accent-bright)}::selection{background:var(--accent);color:var(--bg)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px}h1,h2,h3,h4,h5,h6{text-wrap:balance;hanging-punctuation:first last allow-end}p,li,blockquote{text-wrap:pretty;hanging-punctuation:first last allow-end;word-break:break-word}[id]{scroll-margin-top:5rem}.skip-link{position:absolute;top:-100px;left:1rem;z-index:10000;padding:.6rem 1rem;background:var(--accent);color:var(--bg);border-radius:0 0 8px 8px;font-size:var(--fs-sm);transition:top .2s var(--ease-out)}.skip-link:focus{top:0}}@layer layout{#particles-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0);transition:opacity .5s var(--ease-out)}.container{position:relative;z-index:1;width:min(100%,var(--container-max));padding:calc(var(--space-3) + var(--safe-top)) calc(var(--container-pad) + var(--safe-right)) calc(var(--space-3) + var(--safe-bottom)) calc(var(--container-pad) + var(--safe-left));text-align:left}header{margin-bottom:var(--space-3);text-align:center}header h1{margin:0;font-size:var(--fs-title);font-weight:400;letter-spacing:.01em;line-height:1.3;color:var(--text);word-break:break-word;transition:color .5s var(--ease-out),text-shadow .5s var(--ease-out)}header h1:hover{color:var(--accent-bright);text-shadow:none}header p{margin:.5rem auto 0;max-width:32rem;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.02em;line-height:1.5;transition:color .5s var(--ease-out),text-shadow .5s var(--ease-out)}header p:hover{color:var(--text);text-shadow:none}}@layer components{.theme-toggle{position:fixed;top:calc(1rem + var(--safe-top));right:calc(1rem + var(--safe-right));width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-subtle);color:var(--muted);z-index:1100;backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);transition:color .4s var(--ease-out),border-color .4s var(--ease-out),background-color .4s var(--ease-out),transform .3s var(--ease-out),box-shadow .4s var(--ease-out)}.theme-toggle:hover{color:var(--accent-bright);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 0 24px var(--accent-dim)}.theme-toggle:active{transform:scale(.95)}.theme-icon{position:absolute;width:18px;height:18px;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-icon-moon{opacity:0;transform:rotate(-90deg) scale(.6)}[data-theme=light] .theme-icon-sun{opacity:0;transform:rotate(90deg) scale(.6)}[data-theme=light] .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}.main-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:var(--space-3);box-shadow:var(--shadow-card);backdrop-filter:blur(var(--blur-parent)) saturate(110%);-webkit-backdrop-filter:blur(var(--blur-parent)) saturate(110%);text-align:left;transition:border-color .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .5s var(--ease-out)}@media(hover:hover){.main-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover)}}.card{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card-sm);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);text-align:left;box-shadow:var(--shadow-card);opacity:0;transform:translateY(16px);animation:fadeUp .8s var(--ease-out) forwards;transition:border-color .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .5s var(--ease-out),transform .35s var(--ease-out);will-change:transform}@media(hover:hover){.card:hover{border-color:var(--border-hover);background:var(--surface-card-hover);box-shadow:var(--shadow-hover);transform:none}.card:hover .card-header h2{transform:none}}#card-about{animation-delay:.1s}#card-projects{animation-delay:.2s}#card-rules{animation-delay:.3s}.card-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.6rem;margin-bottom:.7rem;border-bottom:1px solid var(--border-subtle);text-align:left}.card-header h2{margin:0;font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;text-transform:lowercase;color:var(--muted);transition:transform .35s var(--ease-out);text-align:left}.prompt{color:var(--accent);opacity:.85;margin-right:.3em;font-weight:500}.card-content{text-align:left}.card-content p{margin:.35rem 0;line-height:1.6;color:var(--text-soft);font-size:var(--fs-sm);text-align:left}.icon{display:inline-block;vertical-align:middle;margin-right:.45rem;transform:translateY(-2px);color:var(--accent);width:1.1em;height:1.1em;flex-shrink:0;opacity:.9}.card-content ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;text-align:left}.card-content ul li{display:flex;flex-wrap:wrap;gap:.45rem;align-items:baseline;font-size:var(--fs-sm);line-height:1.5;text-align:left}.card-content ul li .desc{color:var(--muted);font-size:.9em}.stack{display:inline-block;padding:.1em .45em;font-size:.7em;color:var(--muted);border:1px solid var(--border-subtle);border-radius:5px;letter-spacing:.03em;background:var(--hairline);transition:color .25s var(--ease-out),border-color .25s var(--ease-out),background-color .25s var(--ease-out),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}@media(hover:hover){a.stack:hover{color:var(--accent-bright);border-color:var(--border-active);background-color:var(--accent-dim);transform:translateY(-1px);box-shadow:0 0 14px var(--accent-dim)}}.card-more{margin:.8rem 0 0;padding-top:.7rem;border-top:1px dashed var(--border-subtle);font-size:var(--fs-sm);text-align:left}#card-rules ol{margin:0;padding:0 0 0 1.4rem;list-style:decimal;text-align:left}#card-rules ol li{color:var(--text-soft);margin-bottom:.45rem;line-height:1.55;font-size:var(--fs-sm);text-align:left}#card-rules ol li:last-child{margin-bottom:0}#card-rules ol li::marker{color:var(--accent);font-weight:600}.avatar{position:relative;display:block;width:clamp(110px,28vw,170px);aspect-ratio:1 / 1;border-radius:var(--radius-pill);object-fit:cover;margin:calc(-1*clamp(55px,16vw,80px)) auto 12px;border:2px solid var(--border-hover);box-shadow:var(--shadow-avatar);image-rendering:auto;backface-visibility:hidden;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .45s var(--ease-out)}@media(hover:hover){.avatar:hover{transform:scale(1.04);border-color:var(--border-active);box-shadow:var(--shadow-avatar-hover)}}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--footer-icon-gap);margin-top:var(--space-3)}.footer-links a{display:inline-flex;align-items:center;justify-content:center;width:var(--footer-icon-size);height:var(--footer-icon-size);color:var(--muted);font-size:1rem;border-radius:0;background:none;opacity:.85;-webkit-tap-highlight-color:transparent;transition:color .3s var(--ease-out),opacity .3s var(--ease-out),filter .35s var(--ease-out),transform .3s var(--ease-out)}.footer-links a:focus,.footer-links a:active,.footer-links a:focus-visible{background:none}@media(hover:hover){.footer-links a:hover{color:var(--text);opacity:1;filter:drop-shadow(0 0 8px var(--accent-glow));transform:translateY(-1px)}}.footer-links a:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.footer-note{margin:var(--space-3) 0 0;font-size:var(--fs-xs);font-style:italic;color:var(--muted);opacity:.75;letter-spacing:.02em;line-height:1.5;min-height:1.2em;text-align:center}#back-to-top{position:fixed;bottom:calc(1.35rem + var(--safe-bottom));right:calc(1.35rem + var(--safe-right));width:44px;height:44px;border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);font-size:1rem;font-weight:600;opacity:0;transform:scale(.85);z-index:1000;box-shadow:var(--shadow-btn);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),background .3s var(--ease-out),box-shadow .3s var(--ease-out)}#back-to-top.visible{opacity:1;transform:scale(1)}@media(hover:hover){#back-to-top:hover{background:var(--accent-bright);box-shadow:0 12px 40px var(--accent-glow)}}.page-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:var(--space-3);font-size:var(--fs-sm)}.page-nav a{position:relative;display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);transition:color .3s var(--ease-out),text-shadow .3s var(--ease-out)}.page-nav a.active{color:var(--accent-bright)}@media(hover:hover){.page-nav a:hover{color:var(--accent-bright);text-shadow:0 0 16px var(--accent-glow)}}.page-nav-sep{color:var(--muted);opacity:.4}.projects-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin:.9rem 0;padding:.7rem 0;border-top:1px dashed var(--border-subtle);border-bottom:1px dashed var(--border-subtle);font-size:var(--fs-xs);text-align:left}.projects-count{color:var(--muted);letter-spacing:.05em;text-transform:lowercase}.projects-count-num{color:var(--accent);font-weight:600;margin-right:.25em}.project-filters{display:flex;flex-wrap:wrap;gap:.3rem}.filter-btn{padding:.2em .7em;font-family:inherit;font-size:var(--fs-xs);color:var(--muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);letter-spacing:.03em;cursor:pointer;transition:color .25s var(--ease-out),border-color .25s var(--ease-out),background-color .25s var(--ease-out),transform .25s var(--ease-out)}@media(hover:hover){.filter-btn:hover{color:var(--accent-bright);border-color:var(--border-hover);transform:translateY(-1px)}}.filter-btn[aria-pressed=true]{color:var(--accent-bright);border-color:var(--border-active);background:var(--accent-dim);box-shadow:0 0 14px var(--accent-dim)}.project-card{position:relative;padding-left:calc(var(--space-3) + 10px);text-align:left}.project-card:before{content:"";position:absolute;left:0;top:1rem;bottom:1rem;width:2px;background:var(--border-subtle);border-radius:2px;transition:background .4s var(--ease-out),box-shadow .4s var(--ease-out)}@media(hover:hover){.project-card:hover:before{background:var(--accent);box-shadow:0 0 18px var(--accent-glow)}}.project-card:after{content:attr(data-index);position:absolute;top:1rem;right:1rem;font-size:.68rem;color:var(--muted);opacity:.4;letter-spacing:.15em;pointer-events:none;transition:opacity .3s var(--ease-out)}@media(hover:hover){.project-card:hover:after{opacity:.75}}.project-card .card-header{justify-content:flex-start;padding-right:2.2rem;text-align:left}.project-status{margin-left:auto;display:inline-flex;align-items:center;gap:.35em;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.05em;text-transform:lowercase;flex-shrink:0}.project-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6;flex-shrink:0}.project-status--active{color:var(--accent)}.project-status--active:before{animation:statusPulse 2.2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--accent-glow)}50%{opacity:.6;box-shadow:0 0 0 5px transparent}}@media(prefers-reduced-motion:reduce){.project-status--active:before{animation:none}}.project-desc{margin:.4rem 0 .7rem;font-size:var(--fs-sm);color:var(--text-soft);line-height:1.6;text-align:left}.project-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:var(--fs-xs);color:var(--muted);text-align:left}.project-meta li{display:inline-flex;align-items:baseline;gap:.45em}.project-meta .meta-label{color:var(--accent);opacity:.7;font-weight:500;letter-spacing:.05em;text-transform:lowercase}.project-links{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:.85rem;padding-top:.7rem;border-top:1px dashed var(--border-subtle);font-size:var(--fs-sm);text-align:left}.project-links a{display:inline-flex;align-items:center;gap:.5em;color:var(--accent);transition:color .25s var(--ease-out),gap .25s var(--ease-out),text-shadow .25s var(--ease-out)}.project-links a i{font-size:.92em;opacity:.9}.project-links a:after{content:"\2192";opacity:.45;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}@media(hover:hover){.project-links a:hover{color:var(--accent-bright);gap:.7em;text-shadow:0 0 14px var(--accent-glow)}.project-links a:hover:after{opacity:1;transform:translate(2px)}}.project-card[hidden]{display:none}.page-footer{margin:var(--space-3) 0 0;font-size:var(--fs-sm);color:var(--muted);text-align:center}.page-footer a{color:var(--muted);transition:color .3s var(--ease-out),text-shadow .3s var(--ease-out)}@media(hover:hover){.page-footer a:hover{color:var(--accent);text-shadow:0 0 14px var(--accent-glow)}}.body-404{display:block;align-items:initial;justify-content:initial;padding:3rem 1.5rem;overflow-x:hidden;overflow-y:auto;text-align:left}.body-404:before{content:"";position:fixed;inset:-50%;background-image:radial-gradient(circle at center,var(--accent-dim) 0%,transparent 60%);pointer-events:none;z-index:0}.container--404{position:relative;z-index:1;width:min(100%,520px);margin:0 auto;text-align:left}.prompt-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);margin-bottom:1rem;letter-spacing:.02em}.cursor{display:inline-block;color:var(--text);animation:blinkCursor .9s steps(1) infinite;margin-left:.1em}.container--404 h1{font-size:clamp(3rem,12vw,5.5rem);font-weight:500;line-height:1;letter-spacing:-.03em;margin:0 0 1.2rem;color:var(--text)}.container--404 h1 .digit{color:var(--accent);text-shadow:0 0 24px var(--accent-glow);transition:text-shadow .5s var(--ease-out)}.container--404 h1:hover .digit{text-shadow:0 0 36px var(--accent-glow)}.container--404 .message{font-size:.95rem;line-height:1.6;color:var(--text-soft);margin:0 0 1.8rem}.container--404 .message code{color:var(--accent);background:var(--accent-dim);padding:.1em .4em;border-radius:4px;font-size:.92em}.container--404 .actions{display:flex;flex-wrap:wrap;gap:.6rem}.action{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:inherit;font-size:.85rem;color:var(--text-soft);background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;text-decoration:none;cursor:pointer;transition:color .3s var(--ease-out),border-color .3s var(--ease-out),background-color .3s var(--ease-out),transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}@media(hover:hover){.action:hover{color:var(--accent-bright);border-color:var(--border-hover);transform:none;box-shadow:0 0 24px var(--accent-dim)}}.action:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.action .key{font-size:.72rem;color:var(--muted);border:1px solid var(--border-subtle);border-radius:4px;padding:.05em .4em;letter-spacing:.05em}.action--snake{border-color:var(--border-active);background:var(--accent-dim)}.action--snake i{color:var(--accent);margin-right:.35em}.container--404 .footer{margin-top:2rem;font-size:.78rem;color:var(--muted);font-style:italic;opacity:.75}.container--terminal{width:min(100%,900px);padding-top:calc(var(--space-4) + var(--safe-top));padding-bottom:var(--space-3)}.terminal-page{display:flex;flex-direction:column;height:min(78vh,720px);background:var(--term-bg);border:1px solid var(--border-hover);border-radius:var(--radius-card);box-shadow:var(--shadow-terminal);overflow:hidden;font-family:var(--font-mono);font-size:.82rem;color:var(--term-fg);text-align:left}.terminal-page-bar{display:flex;align-items:center;gap:.35rem;padding:.55rem .85rem;background:var(--surface);border-bottom:1px solid var(--term-border)}.term-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent-dim);flex-shrink:0}.term-dot:nth-child(1){background:var(--accent);opacity:.4}.term-dot:nth-child(2){background:var(--accent);opacity:.65}.term-dot:nth-child(3){background:var(--accent);opacity:.9}.term-title{margin-left:.6rem;color:var(--term-muted);font-size:.72rem;letter-spacing:.04em}.terminal-page-output{flex:1;overflow-y:auto;padding:.9rem 1.1rem;line-height:1.65;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.terminal-page-output::-webkit-scrollbar{width:8px}.terminal-page-output::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:999px}.terminal-page-output .term-line{color:var(--term-fg-soft);white-space:pre-wrap;word-break:break-word}.terminal-page-output .term-echo{color:var(--term-muted);margin-top:.6rem}.terminal-page-output .term-echo .prompt{color:var(--accent)}.terminal-page-output .term-head{color:var(--accent);opacity:.9;margin-top:.35rem;letter-spacing:.02em}.terminal-page-output .term-body{color:var(--term-fg-soft);padding-left:.6rem}.terminal-page-output .term-group{color:var(--accent);opacity:.75;margin-top:.7rem;letter-spacing:.06em}.terminal-page-output .term-muted{color:var(--term-muted)}.terminal-page-prompt{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-top:1px solid var(--term-border);background:var(--hairline)}.terminal-page-prompt .prompt{color:var(--accent)}.terminal-page .term-input{flex:1;background:transparent;border:none;outline:none;color:var(--term-fg);font:inherit;caret-color:var(--accent)}.snake-card{padding:var(--space-3);text-align:left}.snake-canvas-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:.9rem;background:var(--snake-bg);border:1px solid var(--border-hover);border-radius:var(--radius-card-sm);box-shadow:0 0 0 1px var(--accent-dim),0 0 40px var(--accent-dim),var(--shadow-snake);overflow:hidden}.snake-canvas-wrap:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background-image:repeating-linear-gradient(0deg,var(--crt-line) 0px,var(--crt-line) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}.snake-canvas-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}#snake-canvas{display:block;width:100%;max-width:320px;aspect-ratio:1 / 1;background:var(--snake-bg);border-radius:4px;image-rendering:pixelated;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snake-difficulty{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.85rem;font-size:.7rem;letter-spacing:.06em;text-transform:lowercase}.snake-difficulty-label{color:var(--accent);opacity:.8;margin-right:.15rem}.snake-diff-btn{padding:.28em .85em;font-family:inherit;font-size:.7rem;letter-spacing:.08em;color:var(--muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;opacity:.75;transition:color .3s var(--ease-out),border-color .3s var(--ease-out),background-color .3s var(--ease-out),transform .3s var(--ease-out),box-shadow .4s var(--ease-out),opacity .3s var(--ease-out)}@media(hover:hover){.snake-diff-btn:hover{color:var(--accent);border-color:var(--accent);opacity:1;transform:translateY(-1px);box-shadow:0 0 14px var(--accent-glow)}}.snake-diff-btn[aria-pressed=true]{color:var(--accent-bright);border-color:var(--accent);background:var(--accent-dim);opacity:1;box-shadow:0 0 16px var(--accent-glow),0 0 0 1px var(--accent) inset}.snake-diff-btn:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}@media(prefers-reduced-motion:no-preference){.snake-diff-btn[aria-pressed=true]{animation:snakeDiffPulse 2.6s var(--ease-out) infinite}}@keyframes snakeDiffPulse{0%,to{box-shadow:0 0 16px var(--accent-glow),0 0 0 1px var(--accent) inset}50%{box-shadow:0 0 22px var(--accent-glow),0 0 0 1px var(--accent) inset}}@media(prefers-reduced-motion:reduce){.snake-diff-btn{transition:none}}.snake-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.85rem;font-size:.72rem;color:var(--muted);letter-spacing:.03em;text-align:left}.snake-stat{display:inline-flex;align-items:baseline;gap:.35em}.snake-stat .meta-label{color:var(--accent);opacity:.8;text-transform:lowercase;letter-spacing:.05em}.snake-stat b{color:var(--text);font-weight:600}.snake-hint{flex:1;min-width:160px;opacity:.7}.snake-hint-touch{display:none;flex:1;min-width:160px;opacity:.7}.snake-restart{min-width:44px;min-height:44px;padding:.4em .95em;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:.72rem;color:var(--accent);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);letter-spacing:.05em;cursor:pointer;transition:color .25s var(--ease-out),border-color .25s var(--ease-out),background-color .25s var(--ease-out),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.snake-restart:hover{color:var(--accent-bright);border-color:var(--border-active);background:var(--accent-dim);transform:translateY(-1px);box-shadow:0 0 14px var(--accent-dim)}#boot{position:fixed;inset:0;z-index:9999;background:var(--bg);color:var(--accent);font-family:var(--font-mono);font-size:.82rem;padding:2rem;display:flex;align-items:flex-start;justify-content:flex-start;text-align:left;transition:opacity .45s var(--ease-out)}#boot.boot-done{opacity:0;pointer-events:none}.boot-output{display:grid;gap:.35rem}.boot-line{opacity:0;animation:bootLine .25s var(--ease-out) forwards}@keyframes bootLine{to{opacity:1}}.typed-line{position:relative;display:inline-block;padding:.15em .55em;margin:-.15em -.55em;cursor:default}.typed-line:before{content:"";position:absolute;inset:0;border:1px solid var(--accent-dim);border-radius:6px;pointer-events:none;opacity:.6;animation:vimBlink 1.8s steps(2,start) infinite}@keyframes vimBlink{0%,55%{opacity:.25}56%,to{opacity:.7}}.player{padding:var(--space-3)}.player .card-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.player .card-header h2{margin:0;font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;text-transform:lowercase;color:var(--muted)}.player-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;padding:0;border-radius:50%;background:transparent;border:1px solid var(--border-subtle);color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .25s var(--ease-out),border-color .25s var(--ease-out),background-color .25s var(--ease-out),box-shadow .3s var(--ease-out),transform .2s var(--ease-out)}@media(hover:hover){.player-btn:hover{color:var(--accent-bright);border-color:var(--border-active);background:var(--accent-dim);box-shadow:0 0 14px var(--accent-dim)}}.player-btn:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.player-btn:active{transform:scale(.94)}.player-btn[disabled]{opacity:.4;cursor:not-allowed}.player-icon{width:14px;height:14px;display:block}.player-icon--pause,.player.is-playing .player-icon--play{display:none}.player.is-playing .player-icon--pause{display:block}.player.is-error .player-track{color:var(--muted);font-style:italic}.player-content{display:grid;gap:.6rem}.player-track{margin:0;color:var(--text);font-size:var(--fs-base);letter-spacing:.03em}.player-timeline{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.7rem}.player-progress{position:relative;height:18px;display:flex;align-items:center;cursor:pointer;outline:none;touch-action:none}.player-progress:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);background:var(--track);border-radius:2px;transition:background .25s var(--ease-out)}.player-progress-bar{position:relative;height:2px;width:0%;background:var(--accent);border-radius:2px;pointer-events:none}.player-progress-bar:after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent-bright);transform:translateY(-50%) scale(.6);box-shadow:0 0 10px var(--accent-glow);opacity:0;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.player-progress:hover .player-progress-bar:after,.player-progress:focus-visible .player-progress-bar:after,.player.is-playing .player-progress-bar:after{opacity:1;transform:translateY(-50%) scale(1)}.player-progress:focus-visible:before{background:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-dim)}.player-time{font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.04em;white-space:nowrap}.player-time-sep{opacity:.5;margin:0 .15em}.player-meta{margin:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--muted);opacity:.85;letter-spacing:.03em}.player-meta a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-dim);text-underline-offset:2px;transition:color .25s var(--ease-out)}.player-meta a:hover{color:var(--accent-bright)}}@layer utilities{.fade-in{opacity:0;transform:translateY(.8rem);animation:fadeIn .9s var(--ease-out) forwards}.fade-in-delay{animation-delay:.25s}.cursor-blink{display:inline-block;color:var(--text);margin-left:.05em;animation:blinkCursor .9s steps(1) infinite}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}}@layer motion{@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes blinkCursor{0%,40%{opacity:1}41%,to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer a11y{@media(forced-colors:active){:root,[data-theme=light]{--accent: Highlight;--accent-bright: Highlight;--bg: Canvas;--text: CanvasText;--muted: GrayText;--border-subtle: CanvasText;--border-hover: CanvasText;--border-active: Highlight}.main-card,.card,.avatar,#back-to-top,.theme-toggle{box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#back-to-top,.theme-toggle{border:1px solid CanvasText}}@media(prefers-contrast:more){:root{--text: #ffffff;--text-soft: #e8e8ea;--muted: #c9c9cd;--border-subtle: #ffffff33;--border-hover: #ffffff66}[data-theme=light]{--text: #000000;--text-soft: #1a1a1a;--muted: #3a3a3a;--border-subtle: #00000040;--border-hover: #00000080}}@media(prefers-reduced-transparency:reduce){:root{--surface: #1a1a1c;--surface-card: #131317}[data-theme=light]{--surface: #ffffff;--surface-card: #ffffff}.main-card,.theme-toggle{backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-data:reduce){#particles-canvas{display:none}}}@layer print{@media print{:root,[data-theme=light]{--bg: #ffffff;--text: #000000;--text-soft: #1a1a1a;--muted: #444444;--accent: #0a6b60;--accent-bright: #0a6b60;--border-subtle: #cccccc}#particles-canvas,#back-to-top,.theme-toggle,.cursor-blink,.projects-toolbar,.snake-card,.terminal-page,.player{display:none!important}body{background:#fff;color:#000}.main-card,.card{box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #cccccc;break-inside:avoid}a{color:#000;text-decoration:underline}}}@media(max-width:480px){:root{--container-max: 100%;--footer-icon-size: 30px}header h1{letter-spacing:0}.card-header h2{font-size:.68rem}.body-404{padding:2rem 1.25rem}.container--404 h1{font-size:clamp(2.5rem,15vw,4rem)}.container--404 .message{font-size:.9rem}.action{padding:.55rem .9rem;font-size:.8rem}.snake-footer{font-size:.66rem}.snake-hint{display:none}.snake-hint-touch{display:inline-flex}.terminal-page{height:min(85vh,640px);font-size:.78rem}.container--terminal{padding-inline:.75rem}.player-track{font-size:.9rem}.player-btn{width:40px;height:40px}}@media(min-width:481px)and (max-width:1024px){:root{--container-max: 640px;--footer-icon-size: 32px}}@media(min-width:1025px)and (max-width:1440px){:root{--container-max: 720px;--footer-icon-size: 34px}}@media(min-width:1441px){:root{--container-max: 780px;--footer-icon-size: 36px;--space-4: clamp(1.4rem, 1.1rem + .7vw, 2rem)}.container{padding-block:var(--space-4)}}@media(pointer:coarse){.snake-hint{display:none}.snake-hint-touch{display:inline-flex}}@media(max-height:500px)and (orientation:landscape){.container{padding-block:var(--space-2)}.avatar{margin-top:calc(-1*clamp(40px,10vw,55px))}}@media(prefers-reduced-motion:reduce){.typed-line:before{animation:none;opacity:.5}.theme-icon,.cursor{transition:none}.cursor{animation:none;opacity:1}}@media print{#boot,.typed-line:before{display:none!important}}@layer a11y{html{scroll-behavior:smooth}::selection{background:var(--accent-dim);color:var(--text)}body{overflow-wrap:anywhere}a,button,input,select,textarea,[tabindex]{scroll-margin-block:6rem}.footer-links{row-gap:.45rem}.footer-links a{min-width:40px;min-height:40px}@media(max-width:480px){.footer-links{max-width:100%;padding-inline:.25rem;gap:clamp(.35rem,2.2vw,.7rem)}.page-nav{flex-wrap:wrap;row-gap:.4rem}.card,.project-card{min-width:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer components{.main-card,.card,.project-card,.snake-card{border-color:var(--border-subtle)}.main-card{backdrop-filter:blur(var(--blur-parent)) saturate(110%);-webkit-backdrop-filter:blur(var(--blur-parent)) saturate(110%)}.card,.project-card{transition:border-color .22s var(--ease-out),background-color .22s var(--ease-out),box-shadow .22s var(--ease-out)}.card:hover,.project-card:hover{border-color:var(--border-hover)}.card a,.project-card a,.card-content a{text-decoration-thickness:1px;text-underline-offset:.18em}.card-content :is(p,li),.project-meta{line-height:1.7}.player-track{overflow-wrap:anywhere}}@media(max-width:600px){.main-card{padding:clamp(.8rem,3.5vw,1.1rem)}.card,.project-card{padding-inline:clamp(.75rem,3.2vw,1rem)}}
