@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-italic.woff2)format("woff2");font-weight:400 700;font-style:italic;font-display:swap}:root{--bg:oklch(15% .012 285);--bg-2:oklch(18% .015 285);--surface:oklch(21% .018 285);--surface-2:oklch(25% .02 285);--line:oklch(34% .025 285);--line-soft:oklch(28% .02 285);--text:oklch(93% .012 120);--text-dim:oklch(72% .02 285);--text-mute:oklch(56% .025 285);--acid:oklch(90% .2 125);--acid-deep:oklch(78% .19 128);--acid-glow:oklch(90% .2 125/.35);--acid-wash:oklch(90% .2 125/.07);--violet:oklch(65% .24 300);--violet-2:oklch(58% .25 300);--violet-glow:oklch(65% .24 300/.35);--violet-wash:oklch(65% .24 300/.08);--text-body:var(--text);--text-meta:var(--text-mute);--surface-card:var(--surface);--surface-sunken:var(--bg-2);--border-card:var(--line-soft);--accent-action:var(--acid);--accent-topic:var(--violet);--danger:oklch(60% .22 25);--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sans:"IBM Plex Sans", system-ui, sans-serif;--fs-body:17.5px;--lh-body:1.68;--fs-lead:20px;--fs-ui:13px;--fs-ui-sm:12px;--fs-ui-xs:11px;--fs-card-h:16px;--fs-masthead:clamp(44px, 7.5vw, 104px);--fs-h1:clamp(34px, 5.2vw, 60px);--fs-h2:clamp(24px, 3vw, 33px);--track-kicker:.18em;--track-label:.12em;--track-tight:-.025em;--fw-body:400;--fw-medium:500;--fw-semi:600;--fw-bold:700;--fw-black:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:26px;--space-7:34px;--space-8:46px;--space-9:56px;--radius:3px;--radius-sm:2px;--radius-lg:6px;--border:1px;--border-thick:1.5px;--maxw:1180px;--maxw-read:740px;--gutter:28px;--glow-acid:0 0 0 1px var(--acid), 0 0 22px var(--acid-glow);--glow-violet:0 0 0 1px var(--violet), 0 0 22px var(--violet-glow);--glow-soft:0 0 12px var(--acid-glow);--shadow-pop:0 8px 30px oklch(0% 0 0/.5);--t-fast:.12s;--t-base:.15s;--t-slow:.26s;--ease:ease;--lift:translateY(-3px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(oklch(100% 0 0/.018) 1px,#0000 1px),linear-gradient(90deg,oklch(100% 0 0/.018) 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;mask-image:radial-gradient(110% 90% at 50% 0,#000 35%,#0000 90%)}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.wrap{max-width:var(--maxw);padding:0 var(--gutter);z-index:1;margin:0 auto;position:relative}.col{max-width:var(--maxw-read);padding:0 var(--gutter);z-index:1;margin:0 auto;position:relative}.kicker{font-family:var(--mono);font-size:var(--fs-ui-sm);font-weight:var(--fw-semi);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--acid)}.mono{font-family:var(--mono)}.dim{color:var(--text-dim)}.mute{color:var(--text-mute)}a{color:var(--acid);text-decoration:none}a:hover{color:var(--acid-deep)}::selection{background:var(--acid);color:var(--bg)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--bg);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--violet-2)}.glitch-stripes{background:repeating-linear-gradient(90deg, var(--acid) 0 8px, var(--bg) 8px 11px, var(--violet) 11px 16px, var(--bg) 16px 20px, var(--acid-deep) 20px 23px, var(--bg) 23px 31px);background-size:62px 100%;width:100%;height:10px;animation:9s linear infinite stripe-shift}@keyframes stripe-shift{to{background-position:124px 0}}.cursor{background:var(--acid);vertical-align:-.14em;width:.62em;height:1.05em;box-shadow:0 0 10px var(--acid-glow);margin-left:.12em;animation:1.05s step-end infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.scanlines{z-index:9000;pointer-events:none;mix-blend-mode:multiply;opacity:.6;background:repeating-linear-gradient(oklch(0% 0 0/0) 0 2px,oklch(0% 0 0/.16) 3px 4px);position:fixed;inset:0}.scanlines:after{content:"";background:radial-gradient(130% 100%,#0000 60%,oklch(0% 0 0/.4) 100%);position:absolute;inset:0}.glitch{display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);pointer-events:none;opacity:0;clip-path:inset(0);width:100%;position:absolute;top:0;left:0}.glitch:before{color:var(--acid)}.glitch:after{color:var(--violet)}.glitch:hover:before,.glitch.is-glitching:before{opacity:.9;animation:.5s steps(2,end) infinite glitch-a}.glitch:hover:after,.glitch.is-glitching:after{opacity:.9;animation:.5s steps(2,end) infinite glitch-b}@keyframes glitch-a{0%{clip-path:inset(0 0 72%);transform:translate(0)}50%{clip-path:inset(40% 0 20%);transform:translate(-2px,1px)}to{clip-path:inset(75% 0 5%);transform:translate(2px,-1px)}}@keyframes glitch-b{0%{clip-path:inset(70% 0 5%);transform:translate(0)}50%{clip-path:inset(15% 0 50%);transform:translate(2px,-1px)}to{clip-path:inset(5% 0 80%);transform:translate(-2px,1px)}}.progressbar{font-family:var(--mono);font-size:var(--fs-ui);letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;user-select:none}.progressbar .pb-fill{color:var(--acid);text-shadow:0 0 8px var(--acid-glow)}.progressbar .pb-empty{color:var(--line)}.progressbar .pb-pct{color:var(--text);font-weight:var(--fw-semi)}.crumb{font-family:var(--mono);letter-spacing:.06em;color:var(--text-dim);font-size:12.5px}.crumb a{color:var(--text-mute)}.crumb a:hover{color:var(--acid)}.crumb .gt{color:var(--text-mute);margin:0 7px}.crumb b{color:var(--acid);font-weight:var(--fw-semi)}.mascot{width:78px;height:78px;display:block;position:relative}.mascot-svg{width:100%;height:100%;color:var(--text);animation:7s ease-in-out infinite mascot-chroma;display:block}.mascot-svg .scr{fill:oklch(13% .012 285)}.mascot-svg .eye{fill:var(--acid);animation:4.3s infinite mascot-blink}.mascot-svg .prompt{fill:var(--acid)}.mascot-svg .bezel{fill:none;stroke:currentColor;stroke-width:3px}.mascot-svg .ant{stroke:currentColor;stroke-width:3px}.mascot-svg .antdot{fill:var(--violet)}.mascot-svg .vln{stroke:var(--violet);stroke-width:3px}.mascot:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000 0% 38%,oklch(90% .2 125/0) 44%,oklch(90% .2 125/.55) 50%,oklch(90% .2 125/0) 56%,#0000 62% 100%) 0 0/100% 220%;border-radius:7px;height:44px;animation:3.6s linear infinite mascot-scan;position:absolute;top:15px;left:12px;right:12px;overflow:hidden}@keyframes mascot-scan{0%{background-position:0 -110%}to{background-position:0 110%}}@keyframes mascot-blink{0%,46%,52%,to{opacity:1}48%,50%{opacity:.15}}@keyframes mascot-chroma{0%,70%,to{filter:drop-shadow(0 0 #0000)drop-shadow(0 0 #0000);transform:translate(0)}80%{filter:drop-shadow(1.5px 0 oklch(65% .24 300/.5))drop-shadow(-1.5px 0 oklch(90% .2 125/.5));transform:translate(.6px)}86%{filter:drop-shadow(2.4px 0 oklch(65% .24 300/.75))drop-shadow(-2.4px 0 oklch(90% .2 125/.75));transform:translate(-.6px)}92%{filter:drop-shadow(1px 0 oklch(65% .24 300/.35))drop-shadow(-1px 0 oklch(90% .2 125/.35));transform:translate(.3px)}}.btn{font-family:var(--mono);font-size:var(--fs-ui);font-weight:var(--fw-semi);letter-spacing:.06em;text-transform:uppercase;color:var(--bg);background:var(--acid);border:1px solid var(--acid);border-radius:var(--radius);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-base), background var(--t-base);align-items:center;gap:9px;padding:11px 18px;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--glow-acid);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--ghost{color:var(--acid);background:0 0}.btn--ghost:hover{background:oklch(90% .2 125/.08)}.btn--violet{background:var(--violet);border-color:var(--violet);color:#fff}.btn--violet:hover{box-shadow:var(--glow-violet)}.sect-head{align-items:baseline;gap:14px;margin-bottom:8px;display:flex}.sect-head .sh-no{font-family:var(--mono);font-size:var(--fs-ui);color:var(--acid);font-weight:var(--fw-semi)}.sect-head h2{font-family:var(--mono);font-weight:var(--fw-black);font-size:var(--fs-h2);letter-spacing:-.02em;margin:0}.sect-sub{font-family:var(--mono);font-size:var(--fs-ui);color:var(--text-mute);letter-spacing:.04em;margin:0 0 var(--space-6)}.tools{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tool{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);transition:border-color var(--t-base);padding:18px 20px}.tool:hover{border-color:var(--violet)}.tool h4{font-family:var(--mono);font-weight:var(--fw-bold);font-size:var(--fs-card-h);align-items:center;gap:9px;margin:0 0 6px;display:flex}.tool h4 .dot{background:var(--acid);width:8px;height:8px;box-shadow:0 0 8px var(--acid-glow);border-radius:50%;flex:none}.tool.v h4 .dot{background:var(--violet);box-shadow:0 0 8px var(--violet-glow)}.tool p{color:var(--text-dim);margin:0;font-size:14.5px;line-height:1.5}.checklist{gap:10px;display:grid}.check{cursor:pointer;user-select:none;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);transition:border-color var(--t-base), background var(--t-base);align-items:flex-start;gap:15px;padding:16px 18px;display:flex}.check:hover{border-color:var(--line)}.check .box{border:var(--border-thick) solid var(--line);border-radius:var(--radius-sm);width:24px;height:24px;font-family:var(--mono);font-weight:var(--fw-black);color:var(--bg);transition:all var(--t-base);flex:none;place-items:center;margin-top:1px;font-size:15px;display:grid}.check .ctxt b{font-family:var(--mono);font-weight:var(--fw-bold);font-size:var(--fs-card-h);margin-bottom:4px;display:block}.check .ctxt span{color:var(--text-dim);font-size:15px;line-height:1.5}.check.checked{border-color:var(--acid);background:oklch(90% .2 125/.06)}.check.checked .box{background:var(--acid);border-color:var(--acid);box-shadow:0 0 12px var(--acid-glow)}.check.checked .box:after{content:"✓"}.check.checked .ctxt b{color:var(--acid)}.checklist-foot{border:1px dashed var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;padding:14px 18px;display:flex}.reset{font-family:var(--mono);font-size:var(--fs-ui-sm);color:var(--text-mute);cursor:pointer;background:0 0;border:none;margin-left:auto}.reset:hover{color:var(--acid)}.acc{gap:10px;display:grid}.acc-item{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);overflow:hidden}.acc-q{text-align:left;cursor:pointer;width:100%;color:var(--text);font-family:var(--mono);font-weight:var(--fw-bold);transition:color var(--t-base);background:0 0;border:none;align-items:center;gap:14px;padding:18px 20px;font-size:16.5px;display:flex}.acc-q:hover{color:var(--acid)}.acc-q .ix{font-family:var(--mono);font-size:var(--fs-ui);color:var(--text-mute);flex:none;width:22px}.acc-q .tg{font-family:var(--mono);color:var(--text-mute);transition:transform .2s, color var(--t-base);flex:none;margin-left:auto;font-size:20px;line-height:1}.acc-item.open .acc-q{color:var(--acid)}.acc-item.open .acc-q .tg{color:var(--acid);transform:rotate(45deg)}.acc-body{transition:grid-template-rows var(--t-slow) var(--ease);grid-template-rows:0fr;display:grid}.acc-body>div{overflow:hidden}.acc-item.open .acc-body{grid-template-rows:1fr}.acc-inner{padding:0 20px 20px}.acc-inner .brief{font-size:14px;font-family:var(--mono);color:var(--acid);background:var(--acid-wash);border-radius:var(--radius);margin:0 0 16px;padding:11px 14px;line-height:1.5}.acc-inner p{font-size:var(--fs-card-h);color:var(--text-dim);margin:0 0 14px;line-height:1.6}.acc-inner p:last-child{margin-bottom:0}.promptbox{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.pb-head{border-bottom:1px solid var(--line-soft);background:var(--surface);align-items:center;gap:10px;padding:9px 14px;display:flex}.pb-head .dotrow{gap:6px;display:flex}.pb-head .dotrow i{background:var(--line);border-radius:50%;width:9px;height:9px}.pb-head .dotrow i:first-child{background:var(--violet)}.pb-head .dotrow i:nth-child(2){background:var(--acid)}.pb-head .nm{font-family:var(--mono);font-size:var(--fs-ui-sm);color:var(--text-mute);letter-spacing:.04em}.pb-copy{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--line);color:var(--text-dim);border-radius:var(--radius-sm);transition:all var(--t-base);background:0 0;margin-left:auto;padding:5px 11px;font-size:11.5px}.pb-copy:hover{border-color:var(--acid);color:var(--acid)}.pb-copy.done{border-color:var(--acid);color:var(--bg);background:var(--acid)}.pb-code{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;font-size:13.5px;line-height:1.6}.pb-code .c{color:var(--text-mute)}.pb-code .k{color:var(--acid)}.qz{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);padding:20px 22px}.qz .q{font-family:var(--mono);font-weight:var(--fw-bold);gap:10px;margin:0 0 14px;font-size:16.5px;display:flex}.qz .q .qn{color:var(--acid)}.qz .opts{gap:8px;display:grid}.qz .opt{cursor:pointer;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text-dim);transition:all var(--t-base);align-items:center;gap:12px;padding:12px 15px;font-size:15.5px;display:flex}.qz .opt:hover{border-color:var(--line);color:var(--text)}.qz .opt .mk{font-family:var(--mono);font-size:var(--fs-ui);color:var(--text-mute);flex:none;width:18px}.qz .opt.correct{border-color:var(--acid);color:var(--text);background:oklch(90% .2 125/.08)}.qz .opt.correct .mk{color:var(--acid)}.qz .opt.wrong{border-color:var(--danger);color:var(--text);background:oklch(60% .22 25/.08)}.qz .opt.wrong .mk{color:oklch(70% .2 25)}.qz .opt.locked{pointer-events:none}.qz .expl{color:var(--text-dim);font-size:14.5px;font-family:var(--sans);border-top:1px dashed var(--line);margin:14px 0 0;padding-top:12px;line-height:1.5;display:none}.qz.answered .expl{display:block}.qz .expl b{color:var(--acid);font-family:var(--mono)}.callout{border-left:3px solid var(--violet);border-radius:0 var(--radius) var(--radius) 0;background:oklch(65% .24 300/.07);padding:20px 24px}.callout .ttl{font-family:var(--mono);font-size:var(--fs-ui-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin-bottom:8px}.callout p{margin:0;font-size:17px}.line-card{color:inherit;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color var(--t-base), transform var(--t-fast), background var(--t-base);flex-direction:column;gap:12px;padding:22px 22px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.line-card:hover{border-color:var(--acid);transform:var(--lift);background:var(--surface-2)}.line-card .lc-no{font-family:var(--mono);font-size:var(--fs-ui-sm);color:var(--text-mute);letter-spacing:.1em}.line-card:hover .lc-no{color:var(--acid)}.line-card h3{font-family:var(--mono);font-weight:var(--fw-bold);letter-spacing:-.01em;margin:0;font-size:18px;line-height:1.18}.line-card p{color:var(--text-dim);margin:0;font-size:14.5px;line-height:1.45}.line-card .lc-go{font-family:var(--mono);font-size:var(--fs-ui-sm);color:var(--text-mute);letter-spacing:.06em;margin-top:6px}.line-card:hover .lc-go{color:var(--acid)}.line-card.violet:hover{border-color:var(--violet)}.line-card.violet:hover .lc-no,.line-card.violet:hover .lc-go{color:var(--violet)}@media (prefers-reduced-motion:reduce){.glitch-stripes,.cursor,.mascot-svg,.mascot:after{animation:none!important}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (width<=640px){:root{--gutter:16px}}.logo[data-astro-cid-f7espo7c]{font-family:var(--mono);font-weight:var(--fw-black);letter-spacing:-.035em;color:var(--text);white-space:nowrap;line-height:.9}.logo[data-astro-cid-f7espo7c]>span[data-astro-cid-f7espo7c]:first-child{font-weight:var(--fw-body)}.logo-x[data-astro-cid-f7espo7c]{color:var(--violet)}.logo--bar[data-astro-cid-f7espo7c]{font-size:20px}.logo--masthead[data-astro-cid-f7espo7c]{font-size:var(--fs-masthead)}
