@font-face{font-family:Tiny5;src:url(/fonts/tiny5.woff2)format("woff2");font-weight:250 400;font-display:swap}:root{--bg:#0b0d18;--bg-2:#0f1224;--panel:#151a31;--panel-2:#1b2142;--line:#2a3161;--line-2:#3a4384;--ink:#f2f4ff;--soft:#cfd5f2;--muted:#98a0c3;--blue:#4f6bff;--blue-l:#a4b5ff;--blue-d:#22307f;--violet:#9466ff;--violet-l:#cbb5ff;--violet-d:#432a85;--gold:#ffc94a;--gold-l:#ffe39a;--gold-d:#7a5a10;--green:#3ddc84;--green-l:#9ef2c3;--green-d:#136a3b;--red:#ff5c6c;--red-l:#ffb0b8;--red-d:#861f2c;--amber:#ffa24d;--ring:#e8ecff;--shadow:#04050b;--acc:var(--blue);--acc-l:var(--blue-l);--acc-d:var(--blue-d);--font-pixel:"Tiny5", "Courier New", monospace;--font-term:"VT323", "Courier New", monospace;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--px:4px;--nav-h:64px;--tab-h:0px;--glass:#0b0d18eb;--band:#0f1224b3;--dots:#a4b5ff0f;--prose:#dde2f7;--off:#232a4d;--floor-a:#151a2f;--floor-b:#12162a;color-scheme:dark}[data-accent=gold]{--acc:var(--gold);--acc-l:var(--gold-l);--acc-d:var(--gold-d)}[data-accent=green]{--acc:var(--green);--acc-l:var(--green-l);--acc-d:var(--green-d)}[data-accent=red]{--acc:var(--red);--acc-l:var(--red-l);--acc-d:var(--red-d)}[data-accent=violet]{--acc:var(--violet);--acc-l:var(--violet-l);--acc-d:var(--violet-d)}[data-accent=blue]{--acc:var(--blue);--acc-l:var(--blue-l);--acc-d:var(--blue-d)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{color:var(--ink);font:16px/1.65 var(--font-body);-webkit-tap-highlight-color:transparent;background:radial-gradient(var(--dots) 1px, transparent 1.6px) 0 0 / 24px 24px, radial-gradient(900px 520px at 85% -120px, color-mix(in srgb, var(--acc) 16%, transparent), transparent 70%), var(--bg);padding-bottom:var(--tab-h);margin:0}img{max-width:100%;height:auto}a{color:var(--acc-l)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}::selection{background:var(--acc);color:var(--bg)}.wrap{max-width:1140px;margin:0 auto;padding-inline:24px}.wrap.narrow>*{max-width:760px}.dg{font-family:var(--font-term);font-size:1.25em;line-height:.8}h1,h2,h3,h4{text-wrap:balance;line-height:1.22;font-family:var(--font-pixel);margin:0;font-weight:300}h3,h4{font-weight:350}p{text-wrap:pretty}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--gold);color:var(--bg);font:400 15px var(--font-pixel);padding:8px 12px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}:root[data-theme=light]{--bg:#f4efe2;--bg-2:#ece5d3;--panel:#fffcf4;--panel-2:#f3edde;--line:#2b3054;--line-2:#5a608a;--ink:#14172b;--soft:#363b5a;--muted:#5f6585;--blue:#3d5afe;--blue-l:#2638b8;--blue-d:#c3ccff;--violet:#7a45f0;--violet-l:#5427b8;--violet-d:#ddd0ff;--gold:#f0b400;--gold-l:#7d5a00;--gold-d:#b58400;--green:#12a456;--green-l:#0a6e39;--green-d:#bdeed2;--red:#e5364b;--red-l:#a3132a;--red-d:#ffc7ce;--amber:#c96400;--shadow:#2b3054;--glass:#f4efe2f0;--band:#ece5d3bf;--dots:#2b305417;--prose:#23273f;--off:#ddd6c4;--floor-a:#e3dbc6;--floor-b:#d9d0b8;color-scheme:light}.dark-island{--bg:#0b0d18;--panel:#151a31;--panel-2:#1b2142;--line:#2a3161;--line-2:#3a4384;--ink:#f2f4ff;--soft:#cfd5f2;--muted:#98a0c3;--blue:#4f6bff;--blue-l:#a4b5ff;--blue-d:#22307f;--gold:#ffc94a;--gold-l:#ffe39a;--gold-d:#7a5a10;--green:#3ddc84;--green-l:#9ef2c3;--green-d:#136a3b;--red:#ff5c6c;--red-l:#ffb0b8;--red-d:#861f2c;--violet:#9466ff;--violet-l:#cbb5ff;--violet-d:#432a85;--amber:#ffa24d;--acc:var(--blue);--acc-l:var(--blue-l);--acc-d:var(--blue-d);--shadow:#04050b;--glass:#0b0d18eb;--off:#232a4d;--floor-a:#151a2f;--floor-b:#12162a;color:var(--ink);color-scheme:dark}:root[data-theme=light] .page-head .bg{opacity:.32;filter:saturate(.6)}:root[data-theme=light] .page-head .bg.gunlu{background-image:var(--bg-gun);opacity:.6;filter:none}:root[data-theme=light] .page-head .pose,:root[data-theme=light] .door img{filter:drop-shadow(3px 3px #2b305440)}:root[data-theme=light] .prose pre{background:#1b1f36!important}:root[data-theme=light] ::selection{color:#fff}.theme-btn svg{fill:currentColor;shape-rendering:crispedges;width:18px;height:18px}.theme-btn .sun{display:none}:root[data-theme=light] .theme-btn .sun{display:block}:root[data-theme=light] .theme-btn .moon{display:none}.px-box{background:var(--panel);border:var(--px) solid var(--line);box-shadow:6px 6px 0 var(--shadow)}.bar{background:var(--panel-2);border-bottom:var(--px) solid var(--line);height:30px;font:16px var(--font-term);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:flex;overflow:hidden}.bar i{flex:none;width:10px;height:10px;display:inline-block}.bar i:first-child{background:var(--red)}.bar i:nth-child(2){background:var(--gold)}.bar i:nth-child(3){background:var(--green)}.bar span{text-overflow:ellipsis;margin-left:6px;overflow:hidden}.btn{min-height:48px;font:400 16px var(--font-pixel);color:var(--bg);background:var(--acc-l);border:var(--px) solid var(--bg);box-shadow:5px 5px 0 var(--acc);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:transform 60ms step-end,box-shadow 60ms step-end;display:inline-flex}.btn:hover{box-shadow:3px 3px 0 var(--acc);transform:translate(2px,2px)}.btn:active{box-shadow:0 0 0 var(--acc);transform:translate(5px,5px)}.btn.ghost{color:var(--ink);background:var(--panel);border-color:var(--line);box-shadow:5px 5px 0 var(--shadow)}.btn.gold{color:#14172b;background:var(--gold);box-shadow:5px 5px 0 var(--gold-d)}.btns{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags a,.tags span{font:17px/1.4 var(--font-term);border:2px solid var(--line-2);color:var(--acc-l);padding:0 8px;text-decoration:none;display:inline-block}.tags a:hover{border-color:var(--acc-l)}.tags .st{color:var(--green);border-color:var(--green-d)}.tags .wip{color:var(--gold);border-color:var(--gold-d)}.kicker{font:19px var(--font-term);color:var(--acc-l)}.kicker:before{content:"> ";color:var(--muted)}header.nav{z-index:30;background:var(--glass);border-bottom:var(--px) solid var(--line);backdrop-filter:blur(6px);view-transition-name:nav;position:sticky;top:0}header.nav .wrap{min-height:var(--nav-h);align-items:center;gap:16px;display:flex}.logo{font:400 21px var(--font-pixel);color:var(--ink);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex}.logo .sq{background:var(--acc);width:14px;height:14px;box-shadow:4px 4px 0 var(--acc-l);flex:none}.logo b{color:var(--acc-l);font-weight:400}nav.links{gap:4px;margin-left:auto;display:flex}nav.links a{color:var(--soft);font:400 15px var(--font-pixel);white-space:nowrap;border:3px solid #0000;padding:8px 10px;text-decoration:none}nav.links a:hover{color:var(--ink);background:var(--panel)}nav.links a[aria-current=page]{color:var(--ink);background:var(--panel);border-color:var(--line);box-shadow:inset 0 -4px 0 var(--acc)}nav.links .sheet-head{display:none}.tools{gap:8px;display:flex}.tool{border:3px solid var(--line);background:var(--panel);cursor:pointer;min-width:44px;height:40px;font:400 14px var(--font-pixel);color:var(--soft);justify-content:center;align-items:center;gap:6px;padding:0 10px;text-decoration:none;display:inline-flex}.tool:hover{border-color:var(--line-2);color:var(--ink)}.tool[aria-pressed=true]{color:var(--green);border-color:var(--green-d)}.tool.lang{color:var(--acc-l)}.menu-btn{display:none}.xp{left:0;right:0;bottom:calc(-1 * var(--px));height:var(--px);position:absolute}.xp i{background:linear-gradient(90deg, var(--acc), var(--acc-l));width:0;height:100%;display:block}.xp-label{font:17px var(--font-term);color:var(--green);background:var(--bg);border:2px solid var(--line);opacity:0;pointer-events:none;padding:0 6px;transition:opacity .2s;position:absolute;bottom:-28px;right:12px}.xp-label.show{opacity:1}.tabbar{display:none}.page-head{border-bottom:var(--px) solid var(--line);padding-block:56px 44px;position:relative;overflow:hidden}.page-head .bg{background-image:var(--bg-gece);opacity:.75;image-rendering:pixelated;background-position:50% 62%;background-size:cover;position:absolute;inset:0}.page-head .bg:after{content:"";background:linear-gradient(90deg, var(--bg) 18%, color-mix(in srgb, var(--bg) 72%, transparent) 48%, color-mix(in srgb, var(--bg) 20%, transparent) 100%);position:absolute;inset:0}.page-head .wrap{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid;position:relative}.page-head h1{text-shadow:4px 4px 0 var(--acc-d);margin:8px 0 12px;font-size:clamp(34px,6vw,58px);line-height:1.05}.page-head p{color:var(--soft);max-width:60ch;margin:0;font-size:18px}.page-head .pose{width:auto;height:190px;image-rendering:pixelated;animation:1s steps(2,end) infinite bob}.crumbs{font:18px var(--font-term);color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}section.block{border-bottom:var(--px) solid var(--line);padding-block:72px}section.band{background:var(--band)}.sec-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:28px;display:flex}.sec-head .no{font:22px var(--font-term);color:var(--acc-l)}.sec-head h2{font-size:clamp(26px,4vw,40px);position:relative}.sec-head h2:after{content:"";background:var(--acc);transform-origin:0;width:100%;height:4px;position:absolute;bottom:-8px;left:0}.sec-head.in h2:after{animation:.5s steps(8,end) underline}.sec-head .more{font:400 15px var(--font-pixel);margin-left:auto;text-decoration:none}.sec-head p{color:var(--muted);flex-basis:100%;max-width:none;margin:6px 0 0;padding-right:max(0px,100% - 62ch)}@keyframes underline{0%{transform:scaleX(0)}}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes jump{0%{transform:none}30%{transform:translateY(-28px)scale(.96,1.04)}60%{transform:translateY(0)scale(1.06,.94)}to{transform:none}}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.card{color:inherit;grid-template-rows:auto 1fr auto;text-decoration:none;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end),border-color .1s step-end;display:grid}a.card:hover,a.card:focus-visible{box-shadow:10px 12px 0 var(--shadow);border-color:var(--acc);transform:translate(-4px,-6px)}.card .body{align-content:start;gap:10px;padding:16px 18px;display:grid}.card h3{color:var(--ink);font-size:22px}.card p{color:var(--soft);margin:0;font-size:15px}.card .foot{border-top:3px dashed var(--line);font:400 15px var(--font-pixel);color:var(--acc-l);justify-content:space-between;gap:10px;padding:12px 18px 16px;display:flex}.card .meta{font:17px var(--font-term);color:var(--muted)}.doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.door{min-height:168px;color:inherit;background:var(--panel);border:var(--px) solid var(--line);box-shadow:6px 6px 0 var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 12px;padding:18px 18px 0;text-decoration:none;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end),border-color .1s step-end;display:grid;position:relative;overflow:hidden}.door:before{content:"";background:var(--acc);height:6px;position:absolute;inset:0 0 auto}.door:hover,.door:focus-visible{box-shadow:10px 12px 0 var(--shadow);border-color:var(--acc);transform:translate(-4px,-6px)}.door .txt{align-self:start;gap:6px;padding-bottom:16px;display:grid}.door h3{align-items:center;gap:10px;font-size:24px;display:flex}.door h3:after{content:"→";font-family:var(--font-term);color:var(--acc-l);transition:transform .1s steps(2,end)}.door:hover h3:after{transform:translate(6px)}.door p{color:var(--soft);margin:0;font-size:15px}.door .count{font:18px var(--font-term);color:var(--acc-l)}.door img{width:auto;height:132px;image-rendering:pixelated;transition:transform .15s steps(3,end);transform:translateY(8px)}.door:hover img{transform:translateY(0)}.posts{gap:14px;margin:0;padding:0;list-style:none;display:grid}.post-row{background:var(--panel);border:3px solid var(--line);color:inherit;grid-template-columns:124px minmax(0,1fr);gap:18px;padding:16px 18px;text-decoration:none;transition:transform .1s steps(2,end),border-color .1s step-end;display:grid}a.post-row:hover,a.post-row:focus-visible{border-color:var(--acc);transform:translate(6px)}.post-row time{font:19px var(--font-term);color:var(--acc-l)}.post-row h3{color:var(--ink);margin-bottom:4px;font-size:21px}.post-row p{color:var(--soft);margin:0;font-size:15px}.post-row .kind{font:16px var(--font-term);color:var(--muted)}.post-row .badge{font:15px var(--font-term);border:2px solid;margin-right:8px;padding:0 6px;display:inline-block}.locked{opacity:.72}.locked h3:before{content:"🔒 ";font-size:.8em}.prose{color:var(--prose);font-size:18px;line-height:1.78}.prose>*+*{margin-top:1.1em}.prose h2{color:var(--ink);margin-top:1.8em;font-size:30px}.prose h3{color:var(--ink);margin-top:1.5em;font-size:23px}.prose a{color:var(--acc-l);text-underline-offset:3px}.prose strong{color:var(--ink)}.prose img{border:var(--px) solid var(--line);box-shadow:6px 6px 0 var(--shadow);display:block}.prose blockquote{border-left:var(--px) solid var(--acc);background:var(--panel);color:var(--soft);margin-inline:0;padding:12px 18px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose code{font:.88em var(--font-code);background:var(--panel-2);border:2px solid var(--line);padding:1px 5px}.prose pre{font:14px/1.55 var(--font-code);border:var(--px) solid var(--line);box-shadow:6px 6px 0 var(--shadow);padding:16px 18px;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose hr{height:var(--px);background:repeating-linear-gradient(90deg, var(--line) 0 12px, transparent 12px 20px);border:0;margin-block:2.2em}.prose table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}.prose th,.prose td{border:2px solid var(--line);text-align:left;padding:8px 10px}.cover{border:var(--px) solid var(--line);width:100%;height:auto;box-shadow:6px 6px 0 var(--shadow);margin-bottom:32px;display:block}.portrait{float:right;width:190px;margin:4px 0 18px 26px}.portrait img{border:var(--px) solid var(--line);width:100%;height:auto;box-shadow:6px 6px 0 var(--acc);image-rendering:auto;display:block}.portrait figcaption{font:17px var(--font-term);color:var(--muted);margin-top:10px;line-height:1.2}.lang-note{background:var(--panel);border:3px dashed var(--line-2);color:var(--soft);align-items:center;gap:10px;margin-bottom:28px;padding:10px 14px;font-size:15px;display:flex}.lang-note a{font-weight:600}.sev{font:400 13px var(--font-pixel);letter-spacing:.04em;border:2px solid;padding:2px 8px}.sev.crit{color:var(--red)}.sev.high{color:var(--amber)}.sev.med{color:var(--gold)}.sev.low{color:var(--green)}.cvss{vertical-align:middle;gap:3px;display:inline-flex}.cvss i{background:var(--off);width:12px;height:14px}.cvss i.on{background:var(--amber)}.cvss.med i.on{background:var(--gold)}.cvss.crit i.on{background:var(--red)}.cvss.low i.on{background:var(--green)}.cvss.fill i.on{animation:80ms step-end backwards seg}@keyframes seg{0%{background:var(--off)}}.cve-id{font:30px var(--font-term);color:var(--ink);line-height:1}.cve-meta{font:18px var(--font-term);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.cve-meta b{color:var(--ink);font-weight:400}.phone{aspect-ratio:9/16;border:var(--px) solid var(--line-2);width:min(100%,300px);box-shadow:8px 8px 0 var(--shadow);background:#000;border-radius:18px;position:relative;overflow:hidden}.phone video,.phone>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.phone .soon{text-align:center;background:linear-gradient(180deg, var(--panel), var(--bg));place-content:center;gap:10px;padding:20px;display:grid;position:absolute;inset:0}.phone .soon img{justify-self:center;width:110px;height:auto;animation:1s steps(2,end) infinite bob}.short-card .thumb{aspect-ratio:4/5;border-bottom:var(--px) solid var(--line);background:#000;position:relative;overflow:hidden}.short-card .thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.short-card .thumb .play{background:var(--gold);border:var(--px) solid var(--bg);width:56px;height:56px;box-shadow:4px 4px 0 var(--gold-d);place-items:center;margin:-28px 0 0 -28px;display:grid;position:absolute;top:50%;left:50%}.short-card .thumb .play:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:16px solid #14172b;margin-left:4px}.short-card .no{font:18px var(--font-term);color:var(--acc-l)}.countdown{flex-wrap:wrap;gap:10px;display:flex}.countdown div{text-align:center;background:var(--panel);border:3px solid var(--line);min-width:76px;padding:8px 10px}.countdown b{font:46px/1 var(--font-term);color:var(--acc);font-weight:400;display:block}.countdown small{font:400 12px var(--font-pixel);color:var(--muted);letter-spacing:.06em}.script-lines{counter-reset:sc;gap:10px;margin:0;padding:0;list-style:none;display:grid}.script-lines li{counter-increment:sc;background:var(--panel);border:3px solid var(--line);grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.script-lines li:before{content:counter(sc, decimal-leading-zero);font:22px var(--font-term);color:var(--acc-l)}.script-lines b{color:var(--acc);font-weight:600}.script-lines small{color:var(--muted)}.checks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checks label{cursor:pointer;align-items:baseline;gap:10px;padding:4px 0;font-size:17px;display:flex}.checks label:before{content:"[ ]";font:21px var(--font-term);color:var(--green);flex:none}.checks li.done label:before{content:"[x]"}.checks li.done label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--green-d)}.checks label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.detail{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:44px;display:grid}.detail aside{top:calc(var(--nav-h) + 24px);gap:18px;display:grid;position:sticky}.detail.flip{grid-template-columns:320px minmax(0,1fr)}.post-meta{font:18px var(--font-term);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;display:flex}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;display:grid}.pager a{background:var(--panel);border:3px solid var(--line);color:var(--ink);font:400 17px var(--font-pixel);gap:4px;padding:14px 16px;text-decoration:none;display:grid}.pager a small{font:17px var(--font-term);color:var(--muted)}.pager a:hover{border-color:var(--acc)}.pager .next{text-align:right;grid-column:2}.share{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.share span{font:18px var(--font-term);color:var(--muted)}.share a,.share button{font:400 14px var(--font-pixel);background:var(--panel);border:3px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.share a:hover,.share button:hover{border-color:var(--acc)}.side-box{gap:10px;padding:16px 18px;display:grid}.side-box h2,.side-box h3{font-size:18px;font-weight:400}.side-box a{text-underline-offset:3px}.timeline{border-left:var(--px) dashed var(--line-2);gap:26px;margin:0;padding:0 0 0 26px;list-style:none;display:grid}.timeline>li{position:relative}.timeline>li:before{content:"";background:var(--panel);border:var(--px) solid var(--acc);width:18px;height:18px;position:absolute;top:6px;left:-37px}.timeline>li.now:before{background:var(--green);border-color:var(--green);animation:1s steps(2,end) infinite blink-dot}@keyframes blink-dot{50%{opacity:.4}}.timeline time{font:18px var(--font-term);color:var(--acc-l)}.timeline h3{margin:2px 0;font-size:21px}.timeline .where{color:var(--muted);font-size:14px}.timeline p{color:var(--soft);max-width:72ch;margin:6px 0 0;font-size:15px}.timeline ul{color:var(--soft);gap:4px;margin:8px 0 0;padding-left:1.2em;font-size:15px;display:grid}.mini-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mini-list li{background:var(--panel);border:3px solid var(--line);grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px 14px;display:grid}.mini-list time{font:18px var(--font-term);color:var(--acc-l)}.mini-list b{color:var(--ink);font-weight:600}.mini-list span{color:var(--muted);font-size:14px;display:block}.skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.skills .px-box{padding:0 0 16px}.skills h3{padding:14px 16px 10px;font-size:18px;font-weight:400}.skills .tags{padding:0 16px}.term{font:20px/1.5 var(--font-term);color:var(--soft);overflow-wrap:anywhere;padding:16px 18px}.term .p{color:var(--green)}.term a{color:var(--acc-l)}.cursor{background:var(--acc-l);vertical-align:-.04em;width:.5em;height:.85em;margin-left:.12em;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.contact-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-grid a{color:var(--ink);gap:4px;padding:16px;text-decoration:none;transition:transform .1s steps(2,end),border-color .1s step-end;display:grid}.contact-grid a:hover{border-color:var(--acc);transform:translate(-3px,-4px)}.contact-grid a small{font:18px var(--font-term);color:var(--muted)}.contact-grid a b{font:400 19px var(--font-pixel)}footer.site{color:var(--muted);border-top:var(--px) solid var(--line);padding-block:34px 120px;font-size:14px}footer.site .wrap{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;display:grid}footer.site nav{flex-wrap:wrap;gap:6px 18px;display:flex}footer.site a{font:400 14px var(--font-pixel);color:var(--soft);padding:6px 0;text-decoration:none}footer.site a:hover{color:var(--ink)}footer.site .fine{grid-column:1/-1;font-size:13px}.floor-strip{background:repeating-linear-gradient(90deg, var(--floor-a) 0 32px, var(--floor-b) 32px 64px);border-top:var(--px) solid var(--line);height:24px}.buddy{right:16px;bottom:calc(16px + var(--tab-h) + env(safe-area-inset-bottom,0px));z-index:25;pointer-events:none;justify-items:end;gap:6px;transition:transform .3s steps(5,end),opacity .3s steps(5,end);display:grid;position:fixed}.buddy.hidden{opacity:0;transform:translateY(140%)}.buddy .say{pointer-events:auto;max-width:230px;font:20px/1.15 var(--font-term);background:var(--panel-2);border:3px solid var(--acc);box-shadow:4px 4px 0 var(--shadow);align-items:flex-start;gap:8px;padding:8px 10px 8px 12px;display:flex}.buddy .say.quiet{display:none}.buddy .say button{color:var(--muted);cursor:pointer;font:20px var(--font-term);background:0 0;border:0;min-width:32px;min-height:32px;margin:-4px -6px 0 0;padding:0 2px}.buddy img{pointer-events:auto;cursor:pointer;width:auto;height:110px;animation:1s steps(2,end) infinite bob}.buddy img.swap{animation:.42s steps(6,end) jump}.intruder{left:16px;bottom:calc(16px + var(--tab-h));z-index:50;visibility:hidden;pointer-events:none;justify-items:start;gap:8px;transition:transform .35s steps(5,end),visibility 0s .35s;display:grid;position:fixed;transform:translateY(130%)}.intruder.show{visibility:visible;transition:transform .35s steps(5,end);transform:none}.intruder img{width:auto;height:190px}.msg{font:21px/1.25 var(--font-term);background:var(--panel-2);border:var(--px) solid var(--line);box-shadow:5px 5px 0 var(--shadow);padding:12px 14px}.msg small{font:600 11px var(--font-body);letter-spacing:.12em;color:var(--muted);margin-bottom:4px;display:block}.msg.red{border-color:var(--red)}@view-transition{navigation:auto}::view-transition-old(root){animation:.16s steps(3,end) both vt-out}::view-transition-new(root){animation:.24s steps(4,end) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}@media (width<=1020px){nav.links a{padding:8px 6px;font-size:14px}.doors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){:root{--nav-h:56px;--tab-h:calc(64px + env(safe-area-inset-bottom,0px))}.wrap{padding-inline:16px}header.nav .wrap{gap:10px}.logo{font-size:19px}.tools{margin-left:auto}.tool{min-width:42px;height:38px;font-size:13px}.xp-label{bottom:-26px}header.nav{backdrop-filter:none}nav.links{inset:auto 0 var(--tab-h) 0;z-index:40;background:var(--bg);border-top:var(--px) solid var(--line);max-height:calc(100dvh - var(--nav-h) - var(--tab-h));visibility:hidden;box-shadow:0 -12px 0 color-mix(in srgb, var(--shadow) 40%, transparent);flex-direction:column;gap:0;margin:0;padding:6px 16px 14px;transition:transform .22s steps(4,end),visibility 0s .22s;position:fixed;overflow-y:auto;transform:translateY(110%)}nav.links.open{visibility:visible;transition:transform .22s steps(4,end);transform:none}nav.links .sheet-head{font:18px var(--font-term);color:var(--muted);padding:8px 2px 4px;display:block}nav.links a{border:0;border-bottom:3px solid var(--line);background:0 0;justify-content:space-between;padding:14px 6px;font-size:20px;display:flex}nav.links a:after{content:"→";font-family:var(--font-term);color:var(--muted)}nav.links a[aria-current=page]{box-shadow:inset 4px 0 0 var(--acc);background:var(--panel);padding-left:14px}.tabbar{z-index:45;height:var(--tab-h);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--glass);border-top:var(--px) solid var(--line);backdrop-filter:blur(6px);view-transition-name:tabbar;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{color:var(--muted);font:400 12px var(--font-pixel);cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-content:center;place-items:center;gap:3px;padding:6px 2px 4px;text-decoration:none;display:grid}.tabbar svg{shape-rendering:crispedges;fill:currentColor;width:24px;height:24px}.tabbar [aria-current=page],.tabbar button[aria-expanded=true]{color:var(--ink)}.tabbar [aria-current=page] svg,.tabbar button[aria-expanded=true] svg{color:var(--acc)}.tabbar a,.tabbar button{position:relative}.tabbar [aria-current=page]:before{content:"";background:var(--acc);width:28px;height:4px;margin-left:-14px;position:absolute;top:0;left:50%}.grid-3,.grid-2,.doors{grid-template-columns:1fr;gap:16px}.door{min-height:0;padding:14px 14px 0}.door img{height:96px}.door h3{font-size:21px}section.block{padding-block:48px}.sec-head{margin-bottom:22px}.sec-head .more{margin-left:0}.page-head{padding-block:26px}.page-head .wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.page-head .wrap>div{order:1}.page-head .pose{order:2;align-self:end;height:104px}.page-head p{font-size:16px}.page-head .btns{margin-top:16px}.post-row{grid-template-columns:1fr;gap:4px;padding:14px}.post-row h3{font-size:19px}.prose{font-size:17px;line-height:1.72}.prose h2{font-size:25px}.portrait{float:none;width:150px;margin:0 0 22px}.prose pre{box-shadow:none;border-left:0;border-right:0;margin-inline:-16px}.detail,.detail.flip{grid-template-columns:1fr;gap:28px}.detail aside{position:static}.phone{width:min(100%,280px);margin-inline:auto}.skills,.pager{grid-template-columns:1fr}.pager .next{grid-column:auto}.mini-list li{grid-template-columns:1fr;gap:2px}.countdown div{flex:1;min-width:0;padding:6px 4px}.countdown b{font-size:38px}.btn{min-height:48px}.btns .btn{flex:auto}footer.site{padding-bottom:40px}footer.site .wrap{grid-template-columns:1fr}.buddy{display:none}}@media (width<=380px){.logo{font-size:17px}.tool{padding:0 7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}body.bare{--tab-h:0px;padding-bottom:0}.faq{gap:10px;display:grid}.faq details{border:2px solid var(--line);background:var(--panel);padding:0 18px}.faq summary{cursor:pointer;align-items:baseline;gap:12px;padding:14px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";font-family:var(--font-pixel);color:var(--acc);flex:none;width:1ch}.faq details[open] summary:before{content:"−"}.faq details p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 16px;line-height:1.65}.post-grid{gap:0 56px;display:grid}.post-main{min-width:0;max-width:760px}.post-side{align-content:start;gap:16px;margin-bottom:36px;display:grid}.post-side .lang-note{margin:0}.toc ol{gap:6px;margin:0;padding-left:1.3em;display:grid}.toc a.on{color:var(--acc-l);text-decoration-thickness:2px}@media (width>=1080px){.post-grid{grid-template-columns:minmax(0,760px) 280px;justify-content:space-between}.post-side{top:calc(var(--nav-h) + 28px);order:2;margin:0;position:sticky}.toc ol{font-size:15px}}.piksel-perde{z-index:9999;width:100vw;height:100vh;image-rendering:pixelated;pointer-events:none;position:fixed;inset:0}html.pg body:after{content:"";z-index:9998;background:var(--bg);position:fixed;inset:0}.soc-duvari{box-shadow:inset 0 0 0 3px #10142b, 8px 8px 0 var(--shadow);background:#0b0e1d;border:6px solid #1d2240;padding:18px 18px 22px;position:relative}.soc-duvari .duvar-etiket{font:18px var(--font-term);color:var(--red-l);letter-spacing:.04em;align-items:center;gap:8px;margin:0 0 14px;display:inline-flex}.soc-duvari .duvar-etiket .led{background:var(--red);width:8px;height:8px;box-shadow:0 0 8px var(--red);animation:1.4s step-end infinite soc-led}@keyframes soc-led{50%{opacity:.2}}.soc-duvari .card{background:#050913;border:4px solid #2a3161;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #000,inset 0 0 40px #ff5c6c1a,0 0 0 1px #ff5c6c59}.soc-duvari .card:after{content:"";pointer-events:none;background:repeating-linear-gradient(#ffffff08 0 1px,#0000 1px 3px);position:absolute;inset:0}.soc-duvari .card .bar{background:#0b1222}.soc-duvari .card:hover,.soc-duvari .card:focus-visible{box-shadow:inset 0 0 0 2px #000, inset 0 0 50px #ff5c6c33, 0 0 0 2px var(--red), 0 0 22px #ff5c6c59}.tezgah{padding:8px 6px 46px;position:relative}.tezgah:after{content:"";height:26px;box-shadow:0 8px 0 #3a2412, 8px 8px 0 var(--shadow);background:repeating-linear-gradient(90deg,#6b4423 0 64px,#5a381c 64px 67px);border-top:6px solid #8f5d2f;position:absolute;bottom:0;left:-12px;right:-12px}.tezgah .card{background-color:#0f2f66;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:16px 16px;border:4px solid #cfd8ff;position:relative;box-shadow:6px 6px #04050b8c}.tezgah .card:before{content:"";background:var(--red);z-index:2;width:14px;height:14px;margin-left:-7px;position:absolute;top:-9px;left:50%;box-shadow:inset -3px -3px #0000004d,0 2px #0006}.tezgah .card .bar{background:#050c1e73}.tezgah .card .foot{border-top-color:#cfd8ff59}.tezgah .grid-3>:nth-child(3n+1){transform:rotate(-.6deg)}.tezgah .grid-3>:nth-child(3n){transform:rotate(.5deg)}.tezgah .card:hover,.tezgah .card:focus-visible{transform:rotate(0)translateY(-4px)}@media (prefers-reduced-motion:reduce){.soc-duvari .duvar-etiket .led{animation:none}}
