:root{--ink:#0a0a0a;--ink-2:#1f1f1f;--ink-soft:#4a4a4a;--mute:#7a7a78;--line:#d2d0c8;--paper:#f3f1ea;--paper-2:#ebe9e2;--paper-3:#dfddd5;--accent:var(--ink);--t-press:60ms;--t-hover:.1s;--t-card:.14s;--t-reveal:.5s;--ease:ease-out;--ease-step:steps(2)}[data-theme=dark]{--ink:#f3f1ea;--ink-2:#dcdad3;--ink-soft:#aeaca5;--mute:#7a7872;--line:#2a2a26;--paper:#0c0c0a;--paper-2:#131311;--paper-3:#1b1b17;--accent:var(--ink)}body[data-tint=amber]{--accent:#b76e07}body[data-tint=green]{--accent:#1f7a36}body[data-tint=cyan]{--accent:#186b87}body[data-theme=dark][data-tint=amber]{--accent:#ffb04d}body[data-theme=dark][data-tint=green]{--accent:#6dff8a}body[data-theme=dark][data-tint=cyan]{--accent:#84e1ff}body[data-tint=amber] .chip,body[data-tint=green] .chip,body[data-tint=cyan] .chip,body[data-tint=amber] .tag.solid,body[data-tint=green] .tag.solid,body[data-tint=cyan] .tag.solid,body[data-tint=amber] .dot,body[data-tint=green] .dot,body[data-tint=cyan] .dot{background:var(--accent)}body[data-tint=amber] [data-tinted],body[data-tint=green] [data-tinted],body[data-tint=cyan] [data-tinted],body[data-tint=amber] [data-tinted] *,body[data-tint=green] [data-tinted] *,body[data-tint=cyan] [data-tinted] *{color:var(--accent)!important}*{box-sizing:border-box}html,body{background:var(--paper);margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:68px}@media (width<=600px){html{scroll-padding-top:56px}}body{color:var(--ink);-webkit-font-smoothing:antialiased;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect x='7' y='1' width='2' height='14' fill='black'/><rect x='1' y='7' width='14' height='2' fill='black'/></svg>") 8 8,crosshair;font-family:Pixelify Sans,system-ui,monospace;font-weight:400;overflow-x:hidden}[data-theme=dark] body{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect x='7' y='1' width='2' height='14' fill='white'/><rect x='1' y='7' width='14' height='2' fill='white'/></svg>") 8 8,crosshair}::selection{background:var(--ink);color:var(--paper)}.scanlines{pointer-events:none;z-index:45;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000000b 2px 3px);position:fixed;inset:0}[data-theme=dark] .scanlines{mix-blend-mode:screen;background:repeating-linear-gradient(#fff0 0 2px,#ffffff0d 2px 3px)}.noise{pointer-events:none;z-index:44;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.ff-display{letter-spacing:0;font-family:Pixelify Sans,monospace}.ff-mono{letter-spacing:0;font-family:Silkscreen,monospace}.ff-term{font-family:VT323,monospace}.chip{background:var(--ink);color:var(--paper);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;padding:5px 10px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:inline-flex}.chip-out{border:1px solid var(--ink);color:var(--ink);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;padding:4px 9px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:inline-flex}.tag{border:1px solid var(--ink);letter-spacing:.06em;background:var(--paper);color:var(--ink);align-items:center;padding:3px 7px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:inline-flex}.tag.solid{background:var(--ink);color:var(--paper)}.btn{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step), transform var(--t-press) var(--ease);white-space:nowrap;align-items:center;gap:10px;padding:12px 18px;font-family:Silkscreen,monospace;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn:active{transform:translate(1px,1px)}.btn.filled{background:var(--ink);color:var(--paper)}.btn.filled:hover{background:var(--paper);color:var(--ink)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.nav-mid a,.frame[role=button],.cert,.modal-x,.tw-seg button,.tw-fab{transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step), transform var(--t-press) var(--ease), box-shadow var(--t-press) var(--ease)}.nav-mid a:active,.frame[role=button]:active,.cert:active,.modal-x:active,.tw-seg button:active,a:active,button:active{transform:translate(1px,1px)}.nav-mid a:focus-visible,.modal-x:focus-visible,.frame[role=button]:focus-visible,.tw-fab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@keyframes tap-flash{0%{box-shadow:inset 0 0 0 0 var(--ink)}50%{box-shadow:inset 0 0 0 2px var(--ink)}to{box-shadow:inset 0 0 0 0 var(--ink)}}.frame[role=button]:hover{z-index:46;position:relative;transform:translate(-2px,-2px)}.frame[role=button]:active,.cert:active{animation:tap-flash var(--t-card) var(--ease)}.frame{background:var(--paper);border:1.5px solid var(--ink)}.frame-head{border-bottom:1.5px solid var(--ink);background:var(--paper-2);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:7px 12px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:flex}.win-dots{align-items:center;gap:6px;display:inline-flex}.win-dots span{border:1.5px solid var(--ink);width:9px;height:9px;display:inline-block}.win-dots span.fill{background:var(--ink)}.win-dots span.dot{position:relative}.win-dots span.dot:after{content:"";background:var(--ink);position:absolute;inset:2px}hr.dashed{border:0;border-top:1px dashed var(--ink);opacity:.55;margin:0}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{letter-spacing:.12em;color:var(--mute);text-transform:uppercase;font-family:Silkscreen,monospace;font-size:10px}.form-field input,.form-field textarea{color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);resize:vertical;transition:background var(--t-hover) var(--ease-step), box-shadow var(--t-hover) var(--ease);outline:none;padding:10px 12px;font-family:Pixelify Sans,monospace;font-size:15px}.form-field input:focus,.form-field textarea:focus{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink)}.form-field textarea{min-height:110px;font-family:Pixelify Sans,ui-monospace,monospace;font-size:14px;line-height:1.55}.form-state{border:1.5px dashed var(--ink);letter-spacing:.08em;padding:14px;font-family:Silkscreen,monospace;font-size:11px}.form-state.ok{background:var(--ink);color:var(--paper);border-style:solid}.form-state.err{background:var(--paper-2)}.social-link{transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step)}.social-link:hover{background:var(--ink);color:var(--paper)}.h-section{align-items:baseline;gap:14px;margin:0 0 22px;display:flex}.h-section .num{letter-spacing:.12em;color:var(--mute);text-transform:uppercase;font-family:Silkscreen,monospace;font-size:11px;font-weight:700}.h-section h2{letter-spacing:-.01em;text-transform:lowercase;margin:0;font-family:Pixelify Sans,monospace;font-size:38px;font-weight:700}.h-section .line{border-top:1.5px solid var(--ink);flex:1;transform:translateY(-6px)}.checkered{background-image:linear-gradient(45deg, var(--paper-3) 25%, transparent 25%), linear-gradient(-45deg, var(--paper-3) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--paper-3) 75%), linear-gradient(-45deg, transparent 75%, var(--paper-3) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.reveal{opacity:0;transition:opacity var(--t-reveal) var(--ease), transform var(--t-reveal) var(--ease);transform:translateY(14px)}.reveal.in{opacity:1;transform:translateY(0)}.dot{background:var(--ink);width:9px;height:9px;animation:1.4s steps(2,end) infinite blink;display:inline-block}.navbar{z-index:50;background:var(--paper);border-bottom:1.5px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;height:52px;padding:0 24px;display:grid;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.nav-right{color:var(--ink);justify-self:end;align-items:center;gap:14px;display:flex}.nav-mid{border:1px solid var(--ink);display:flex}.nav-mid a{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-right:1px solid var(--ink);padding:7px 14px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;text-decoration:none}.nav-mid a:last-child{border-right:0}.nav-mid a:hover{background:var(--paper-2)}.nav-mid a.active{background:var(--ink);color:var(--paper)}.nav-hamburger{background:var(--paper);width:36px;height:36px;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step);flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:5px;padding:0;display:none}.nav-hamburger:hover{background:var(--ink)}.nav-hamburger:hover span{background:var(--paper)}.nav-hamburger span{background:var(--ink);width:16px;height:2px;transition:transform var(--t-hover) var(--ease), opacity var(--t-hover) var(--ease), background var(--t-hover) var(--ease-step);display:block}.nav-hamburger.open{background:var(--ink)}.nav-hamburger.open span{background:var(--paper)}.nav-hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-mobile-menu{z-index:49;background:var(--paper);border-bottom:1.5px solid var(--ink);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;position:fixed;top:52px;left:0;right:0;transform:translateY(-8px)}.nav-mobile-menu.open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.nav-mobile-menu a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-top:1px solid var(--ink);transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step);padding:15px 20px;font-family:Silkscreen,monospace;font-size:13px;font-weight:700;text-decoration:none;display:block}.nav-mobile-menu a:first-child{border-top:none}.nav-mobile-menu a:hover{background:var(--paper-2)}.nav-mobile-menu a.active{background:var(--ink);color:var(--paper)}.nav-mobile-status{border-top:1.5px solid var(--ink);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;padding:12px 20px;font-size:11px;display:flex}.stats{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);grid-template-columns:repeat(4,1fr);gap:0;padding:30px 28px;display:grid}.stats>div{padding:0 22px;position:relative}.stats>div+div:before{content:"";background:var(--paper);opacity:.22;width:1px;position:absolute;top:8px;bottom:8px;left:0}.stats h3{letter-spacing:-.02em;margin:0;font-family:Pixelify Sans,monospace;font-size:52px;font-weight:700;line-height:1}.stats small{letter-spacing:.1em;opacity:.75;text-transform:uppercase;margin-top:8px;font-family:Silkscreen,monospace;font-size:11px;display:block}.marquee{overflow:hidden}.marquee-track{white-space:nowrap;animation:50s linear infinite marquee;display:inline-flex}@keyframes marquee{to{transform:translate(-50%)}}.proj-art{z-index:46;border-bottom:1.5px solid var(--ink);justify-content:center;align-items:center;height:240px;display:flex;position:relative;overflow:hidden}@media (width<=880px){main{padding-inline:28px!important}.navbar{grid-template-columns:1fr auto;padding:0 20px}.nav-mid,.nav-right{display:none!important}.nav-hamburger{display:flex}.hero-grid{grid-template-columns:1fr!important;gap:24px!important}.about-grid{grid-template-columns:1fr!important}.about-meta{border-top:1.5px solid var(--ink);border-left:none!important}.skills-grid,.proj-grid{grid-template-columns:1fr!important}.contact-grid{grid-template-columns:1fr!important;gap:22px!important;padding:22px!important}.stats{grid-template-columns:repeat(2,1fr)!important}.stats>div{padding:16px!important}.exp-card-body{gap:22px!important;padding:22px!important}}@media (width<=960px){.nav-clock{display:none!important}}@media (width<=600px){main{padding:70px 16px 16px!important}section[id]:not(#top){margin-top:64px!important}.navbar{height:48px!important;padding:0 14px!important}.nav-mobile-menu{top:48px}.h-section{flex-wrap:wrap;gap:10px!important}.h-section h2{font-size:28px!important}.h-section .line{display:none}.about-grid>div{padding:18px!important}.stats{padding:20px 18px!important}.stats h3{font-size:36px!important}.stats>div{padding:12px 14px!important}.contact-grid{gap:18px!important;padding:18px!important}.contact-heading{font-size:28px!important}.modal-section{padding:18px 16px!important}.modal-back{padding:12px!important}.modal-frame{height:calc(100dvh - 24px)!important}.cf-row{grid-template-columns:1fr!important}.modal-hint{display:none!important}.exp-card-body{gap:16px!important;padding:16px!important}footer{padding:16px!important}}.tw-fab{z-index:71;background:var(--paper);width:44px;height:44px;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;box-shadow:3px 3px 0 0 var(--ink);justify-content:center;align-items:center;display:flex;position:fixed;bottom:18px;right:18px}.tw-fab:hover{background:var(--ink);color:var(--paper)}.tw-fab:active{box-shadow:2px 2px 0 0 var(--ink);transform:translate(1px,1px)}.tw-fab.open{background:var(--ink);color:var(--paper)}.tw-fab svg{display:block}.tw{z-index:70;background:var(--paper);border:1.5px solid var(--ink);width:280px;box-shadow:4px 4px 0 0 var(--ink);font-family:Silkscreen,monospace;font-size:11px;display:none;position:fixed;bottom:76px;right:18px}.tw.open{display:block}.tw-head{border-bottom:1.5px solid var(--ink);background:var(--paper-2);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:7px 10px;font-weight:700;display:flex}.tw-body{flex-direction:column;gap:14px;padding:12px;display:flex}.tw-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.tw-row label{letter-spacing:.08em;text-transform:uppercase}.tw-seg{border:1px solid var(--ink);display:flex}.tw-seg button{background:var(--paper);color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:0;border-right:1px solid var(--ink);padding:4px 8px;font-family:inherit;font-size:11px;font-weight:700}.tw-seg button:last-child{border-right:0}.tw-seg button.on{background:var(--ink);color:var(--paper)}.tw input[type=range]{width:100%;accent-color:var(--ink)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-back{z-index:100;background:var(--paper);background-image:linear-gradient(45deg, var(--paper-3) 25%, transparent 25%), linear-gradient(-45deg, var(--paper-3) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--paper-3) 75%), linear-gradient(-45deg, transparent 75%, var(--paper-3) 75%);animation:fadeIn .18s var(--ease) both;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;padding:24px;position:fixed;inset:0;overflow-y:auto}.modal-frame{background:var(--paper);border:1.5px solid var(--ink);max-width:1100px;animation:fadeUp var(--t-reveal) var(--ease) both;flex-direction:column;height:calc(100dvh - 48px);margin:0 auto;display:flex}.modal-head{z-index:2;background:var(--paper-2);border-bottom:1.5px solid var(--ink);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:flex}.modal-x{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-family:inherit;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.modal-x:hover{background:var(--ink);color:var(--paper)}.modal-body{flex:auto;min-height:0;padding:0;overflow-y:auto}.modal-section{border-bottom:1px dashed var(--ink);padding:28px 32px}.modal-section:last-of-type{border-bottom:0}.modal-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--mute);align-items:center;gap:10px;margin-bottom:14px;font-family:Silkscreen,monospace;font-size:11px;font-weight:700;display:flex}.modal-section-label:before{content:"";background:var(--ink);width:10px;height:10px;display:inline-block}.modal-section-label:after{content:"";border-top:1px dashed var(--ink);opacity:.5;flex:1}.modal-foot{border-top:1.5px solid var(--ink);background:var(--paper-2);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-family:Silkscreen,monospace;font-size:11px;display:flex}.feature-row{border-top:1px dashed var(--line);grid-template-columns:auto 1fr;gap:14px;padding:10px 0;display:grid}.feature-row:first-child{border-top:0}.feature-row .key{color:var(--mute);text-transform:uppercase;letter-spacing:.08em;min-width:56px;font-family:Silkscreen,monospace;font-size:11px}.cert{background:var(--paper);border:1.5px solid var(--ink);cursor:pointer;height:100%;transition:transform var(--t-card) var(--ease);align-items:flex-start;gap:16px;padding:20px;display:flex;position:relative}.cert:hover{z-index:46;transform:translate(-2px,-2px)}.cert:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.cert-body{flex:1;min-width:0}.cert-thumb{z-index:46;border:1.5px solid var(--ink);background:var(--paper-2);flex-shrink:0;width:150px;height:200px;position:relative;overflow:hidden}.cert-thumb img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.cert .stamp{border:1.5px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;background:var(--paper);padding:4px 8px;font-family:Silkscreen,monospace;font-size:9px;position:absolute;top:12px;right:12px;transform:rotate(6deg)}.cert .corner-fold{background:linear-gradient(135deg, var(--paper-3) 50%, var(--paper) 50%);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);width:14px;height:14px;position:absolute;top:0;left:0}.cert-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=880px){.cert-grid{grid-template-columns:1fr!important}.modal-section{padding:22px 18px!important}.modal-grid{grid-template-columns:1fr!important}}.cert-lightbox{z-index:120;animation:fadeIn .18s var(--ease) both;background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.cert-lightbox-frame{background:var(--paper);border:1.5px solid var(--ink);width:100%;max-width:820px;box-shadow:6px 6px 0 0 var(--ink);animation:fadeUp var(--t-reveal) var(--ease) both;flex-direction:column;margin:auto;display:flex}.cert-lightbox-frame img{object-fit:contain;background:var(--paper-2);width:100%;height:auto;max-height:calc(100dvh - 140px);display:block}@media (width<=600px){.cert{gap:12px;padding:16px}.cert-thumb{width:116px;height:150px}.cert-lightbox{padding:12px}}.chat-fab{z-index:71;background:var(--paper);width:44px;height:44px;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;box-shadow:3px 3px 0 0 var(--ink);transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step), transform var(--t-press) var(--ease), box-shadow var(--t-press) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;bottom:18px;right:72px}.chat-fab:hover{background:var(--ink);color:var(--paper)}.chat-fab:active{box-shadow:2px 2px 0 0 var(--ink);transform:translate(1px,1px)}.chat-fab.open{background:var(--ink);color:var(--paper)}.chat-fab svg{display:block}.chat-window{z-index:70;background:var(--paper);border:1.5px solid var(--ink);width:340px;height:460px;box-shadow:4px 4px 0 0 var(--ink);flex-direction:column;display:flex;position:fixed;bottom:76px;right:18px}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper-2);flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:var(--paper-2)}.chat-messages::-webkit-scrollbar-thumb{background:var(--ink)}.chat-msg{flex-direction:column;gap:3px;display:flex}.chat-msg.user{align-items:flex-end}.chat-msg.model{align-items:flex-start}.chat-msg-label{letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-family:Silkscreen,monospace;font-size:9px}.chat-msg-bubble{border:1.5px solid var(--ink);word-break:break-word;max-width:88%;padding:9px 12px;font-family:Pixelify Sans,monospace;font-size:14px;line-height:1.5}.chat-msg.model .chat-msg-bubble{background:var(--paper-2);color:var(--ink)}.chat-msg.user .chat-msg-bubble{background:var(--ink);color:var(--paper)}.chat-typing{border:1.5px solid var(--ink);background:var(--paper-2);align-items:center;gap:4px;padding:10px 12px;display:flex}.chat-typing span{background:var(--ink);width:6px;height:6px;animation:1.2s steps(2,end) infinite blink;display:inline-block}.chat-typing span:nth-child(2){animation-delay:.35s}.chat-typing span:nth-child(3){animation-delay:.7s}.chat-input-area{border-top:1.5px solid var(--ink);background:var(--paper)}.chat-cooldown{letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-align:center;padding:5px 10px 0;font-family:Silkscreen,monospace;font-size:9px}.chat-input-row{align-items:center;gap:8px;padding:10px;display:flex}.chat-input{color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);transition:background var(--t-hover) var(--ease-step), box-shadow var(--t-hover) var(--ease);outline:none;flex:1;padding:8px 10px;font-family:Pixelify Sans,monospace;font-size:14px}.chat-input:focus{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink)}.chat-input:disabled{opacity:.5}.chat-send{background:var(--ink);width:36px;height:36px;color:var(--paper);border:1.5px solid var(--ink);cursor:pointer;transition:background var(--t-hover) var(--ease-step), color var(--t-hover) var(--ease-step);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send:hover:not(:disabled){background:var(--paper);color:var(--ink)}.chat-send:disabled{opacity:.4;cursor:not-allowed}@media (width<=600px){.chat-fab{right:72px}.chat-window{width:auto;height:calc(100svh - 108px);max-height:500px;bottom:76px;left:12px;right:12px}}@keyframes boot-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes boot-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.boot-screen{z-index:200;background:var(--paper);color:var(--ink);justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0;overflow:hidden}.boot-screen.exit{animation:boot-fade-out .4s var(--ease) forwards;pointer-events:none}.boot-screen:before{content:"";pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000000d 2px 3px);position:absolute;inset:0}[data-theme=dark] .boot-screen:before{mix-blend-mode:screen;background:repeating-linear-gradient(#fff0 0 2px,#ffffff0d 2px 3px)}.boot-inner{z-index:2;text-align:center;animation:boot-rise .5s var(--ease) both;position:relative}.boot-label{letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-family:Silkscreen,monospace;font-size:11px}.boot-name{letter-spacing:-.045em;margin:18px 0 0;font-family:Pixelify Sans,monospace;font-size:clamp(64px,14vw,144px);font-weight:700;line-height:.9}.boot-bar{justify-content:center;gap:4px;margin:40px auto 0;display:flex}.boot-bar span{border:1px solid var(--ink);width:14px;height:14px;transition:background var(--t-hover) var(--ease-step);background:0 0}.boot-bar span.on{background:var(--ink)}.boot-hint{letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-top:28px;font-family:Silkscreen,monospace;font-size:10px}.boot-hint .blink{margin-left:6px;animation:1.2s steps(2,end) infinite blink}@media (width<=600px){.boot-bar span{width:10px;height:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}.marquee-track,.dot,.boot-hint .blink,.chat-typing span{animation:none!important}}
