:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand:#174e9e;--brand-strong:#0e2e5c;--on-brand:#fff;--accent:#c8102e;--accent-text:#a50d26;--accent-soft:#fce9eb;--tech:#f2b800;--tech-soft:#fff8dc;--line:#0e2e5c;--neutral-900:#161c26;--ring-focus:#174e9e73;--bg-base:#eef1f6;--bg-surface:#fff;--bg-muted:#e1e7ef;--bg-inverse:#0b0f16;--text-primary:#161c26;--text-secondary:#3f4c5e;--text-tertiary:#5b6878;--text-inverse:#f5f7fa;--border-subtle:#d7dee7;--border-default:#b9c4d0;--blue-500:#1e5ebf;--blue-600:#174e9e;--blue-700:#123d7c;--blue-800:#0e2e5c;--blue-950:#06152c;--red-300:#e77e88;--red-500:#c8102e;--red-700:#7e0a1d;--yellow-300:#ffe066;--yellow-400:#ffd200;--yellow-500:#f2b800;--yellow-600:#c99400;--yellow-700:#9a7000;--neutral-100:#eaeef3;--neutral-300:#b9c4d0;--neutral-800:#262f3d;--neutral-950:#0b0f16;--font-heading:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-24:96px;--r-sm:2px;--r-md:3px;--r-lg:4px;--r-full:9999px;--shadow-hard:4px 4px 0 0 var(--line);--dur-1:.1s;--dur-2:.15s;--dur-3:.25s;--dur-4:.4s;--ease:cubic-bezier(.2, 0, 0, 1);--container:1120px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0b0f16;--bg-surface:#131a24;--bg-muted:#1c2531;--bg-inverse:#05070b;--text-primary:#e8edf3;--text-secondary:#a9b6c6;--text-tertiary:#8391a3;--border-subtle:#26313f;--border-default:#3a4657;--brand:#3b7bd6;--brand-strong:#a8c5f1;--on-brand:#06152c;--ring-focus:#3b7bd680;--accent:#e23b4a;--accent-text:#f26d6d;--accent-soft:#c8102e29;--tech:#ffd200;--tech-soft:#ffd2001f;--line:#000}[data-accent=crimson]{--brand:#c8102e;--brand-strong:#7e0a1d;--on-brand:#fff;--accent:#174e9e;--accent-text:#123d7c;--accent-soft:#eaf1fc;--tech:#f2b800;--tech-soft:#fff8dc;--line:#7e0a1d}[data-theme=dark][data-accent=crimson]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#e23b4a;--brand-strong:#f58a98;--on-brand:#2a0a0f;--accent:#3b7bd6;--accent-text:#7db0f0;--accent-soft:#3b7bd629;--tech:#ffd200;--tech-soft:#ffd2001f;--line:#000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .25s var(--ease), color .25s var(--ease);line-height:1.6}main,#main{min-width:0;overflow-x:clip}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.skip-link{left:var(--sp-4);z-index:2000;background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--brand);transition:top .15s var(--ease);padding:10px 16px;font-size:14px;font-weight:700;position:absolute;top:-64px}.skip-link:focus{top:var(--sp-4)}.stripe{background:repeating-linear-gradient(45deg, var(--tech) 0 9px, var(--neutral-900,#161c26) 9px 18px);height:8px}[data-accent=crimson] .stripe{background:repeating-linear-gradient(45deg, var(--brand) 0 9px, #161c26 9px 18px)}.container{width:100%;max-width:var(--container);padding-inline:var(--sp-5);margin-inline:auto}@media (width>=768px){.container{padding-inline:var(--sp-8)}}@media (width>=1024px){.container{padding-inline:var(--sp-12)}}.section{padding-block:var(--sp-16)}@media (width>=1024px){.section{padding-block:var(--sp-24)}}.section--muted{background:var(--bg-muted)}section[id]{scroll-margin-top:88px}.list-hero{padding-block:var(--sp-16);background-image:linear-gradient(#174e9e0f 1px,#0000 1px),linear-gradient(90deg,#174e9e0f 1px,#0000 1px);background-size:28px 28px;position:relative;overflow:hidden}[data-theme=dark] .list-hero{background-image:linear-gradient(#3b7bd61a 1px,#0000 1px),linear-gradient(90deg,#3b7bd61a 1px,#0000 1px)}.list-hero h1{margin-top:var(--sp-3);font-size:clamp(32px,6vw,54px);font-weight:800}.list-hero h1 .hl{color:var(--accent);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:5px}.list-hero p{color:var(--text-secondary);max-width:620px;margin-top:var(--sp-4);font-size:clamp(16px,2.2vw,19px)}.search{gap:var(--sp-3);margin-top:var(--sp-6);max-width:560px;display:flex}.search input{height:48px;padding-inline:var(--sp-4);border:2px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);flex:1;font-size:16px}.filters{gap:var(--sp-2);margin-top:var(--sp-8);flex-wrap:wrap;display:flex}@media (width<=639px){.filters{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-bottom:6px;flex-wrap:nowrap;padding-inline:2px;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters>*{flex-shrink:0}}.chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);padding:9px 14px;font-size:12px;font-weight:700}.filters--lang{margin-top:var(--sp-3);align-items:center}.filter-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-size:11px}.chip .count{opacity:.65;font-size:11px}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.14}.overline{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);font-size:12px;font-weight:700;display:inline-block}.lead{color:var(--text-secondary);max-width:620px;font-size:clamp(16px,2.2vw,19px)}.mono{font-family:var(--font-mono)}header.site{z-index:1020;background:var(--bg-base);background:color-mix(in srgb, var(--bg-base) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:2px solid var(--border-default);transition:border-color .2s var(--ease), transform .26s var(--ease);will-change:transform;position:sticky;top:0}header.site.is-hidden{transform:translateY(-100%)}header.site:before{content:"";background:repeating-linear-gradient(45deg, var(--tech) 0 8px, #161c26 8px 16px);height:5px;display:block}[data-accent=crimson] header.site:before{background:repeating-linear-gradient(45deg, var(--brand) 0 8px, #161c26 8px 16px)}header.site.is-scrolled{border-bottom-color:var(--brand-strong)}.nav{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:60px;display:flex}.brand{align-items:center;gap:var(--sp-2);letter-spacing:-.03em;padding-block:6px;font-size:18px;font-weight:800;display:flex}.brand .mark{border:2px solid var(--brand-strong);background:var(--brand);width:32px;height:32px;color:var(--tech);place-items:center;font-size:14px;font-weight:800;display:grid}.brand .dash{color:var(--accent)}.nav-links{align-items:center;gap:var(--sp-1);display:none}@media (width>=900px){.nav-links{display:flex}}.nav-links a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);transition:color .15s var(--ease);padding:10px 12px;font-size:13px;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .18s var(--ease);position:absolute;bottom:4px;left:12px;right:12px;transform:scaleX(0)}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after,.nav-links a[aria-current]:after{transform:scaleX(1)}.nav-links a[aria-current]{color:var(--accent)}.eco{background:var(--bg-surface);border:2px solid var(--border-default);align-items:stretch;height:38px;display:none}@media (width>=1080px){.eco{display:inline-flex}}.eco a{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);transition:background-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.eco a+a{border-left:2px solid var(--border-default)}.eco a:hover{background:var(--bg-muted);color:var(--text-primary)}.eco a.active{background:var(--brand);color:var(--on-brand)}.eco-dot{background:var(--border-default);flex-shrink:0;width:6px;height:6px}.eco a.active .eco-dot{background:var(--tech)}.eco .ext{opacity:.5;width:11px;height:11px}.eco a:hover .ext{opacity:1}.lang{display:none;position:relative}@media (width>=900px){.lang{display:block}}.lang-toggle{border:2px solid var(--border-default);background:var(--bg-surface);height:38px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.lang-toggle:hover{background:var(--bg-muted);color:var(--text-primary)}.lang-toggle svg{width:14px;height:14px}.lang-toggle .chev{transition:transform var(--dur-2) var(--ease)}.lang-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.lang-menu{z-index:1060;background:var(--bg-surface);border:2px solid var(--border-default);min-width:190px;box-shadow:5px 5px 0 0 var(--line);list-style:none;position:absolute;top:calc(100% + 6px);right:0}.lang-menu[hidden]{display:none}.lang-menu a{justify-content:space-between;align-items:center;gap:var(--sp-3);color:var(--text-secondary);padding:10px 12px;font-size:14px;display:flex}.lang-menu a+a{border-top:1px solid var(--border-subtle)}.lang-menu a:hover{background:var(--bg-muted);color:var(--text-primary)}.lang-menu a[aria-current]{color:var(--brand);font-weight:600}.lang-menu a span{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;font-size:11px}.nav-actions{align-items:center;gap:var(--sp-2);display:flex}.nav-cta,.nav-actions .nav-cta,.btn.nav-cta{display:none!important}@media (width>=900px){.nav-cta,.nav-actions .nav-cta,.btn.nav-cta{display:inline-flex!important}}.nav .theme-toggle{width:38px;height:38px;display:none!important}@media (width>=900px){.nav .theme-toggle{display:grid!important}}.nav .theme-toggle .theme-icon,.nav .theme-toggle .theme-icon svg{width:16px;height:16px}.nav-cta.btn{letter-spacing:.04em;border-radius:0;gap:6px;height:38px;padding:0 13px;font-size:12px}.nav-cta.btn svg{width:14px;height:14px}.icon-btn{border:2px solid var(--border-default);background:var(--bg-surface);width:44px;height:44px;color:var(--text-secondary);transition:background-color .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);place-items:center;display:grid}.icon-btn:hover{background:var(--bg-muted);color:var(--accent);border-color:var(--accent)}.icon-btn svg{width:18px;height:18px}.menu-toggle{display:grid}@media (width>=900px){.menu-toggle{display:none}}.burger{gap:4px;width:18px;height:14px;display:grid}.burger span{height:2px;transition:transform .2s var(--ease), opacity .15s var(--ease);background:currentColor;display:block}.menu-toggle[aria-expanded=true] .burger span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle[aria-expanded=true] .burger span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .burger span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.theme-icon{place-items:center;width:18px;height:18px;display:grid;position:relative}.theme-icon svg{width:18px;height:18px;transition:transform .28s var(--ease), opacity .2s var(--ease);position:absolute;inset:0}.theme-icon .icon-sun{opacity:1;transform:rotate(0)scale(1)}.theme-icon .icon-moon{opacity:0;transform:rotate(-90deg)scale(.4)}.theme-toggle[aria-pressed=true] .icon-sun{opacity:0;transform:rotate(90deg)scale(.4)}.theme-toggle[aria-pressed=true] .icon-moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:active{transform:scale(.94)}body.nav-open{overflow:hidden}.nav-scrim{z-index:1030;opacity:0;transition:opacity .2s var(--ease);background:#06152c8c;position:fixed;inset:0}.nav-scrim[hidden]{display:none}.nav-scrim.is-open{opacity:1}.nav-drawer{z-index:1040;width:min(360px,88vw);padding:var(--sp-5);background:var(--bg-surface);border-left:3px solid var(--brand-strong);transition:transform .22s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.nav-drawer[hidden]{display:none}.nav-drawer.is-open{transform:translate(0)}.drawer-head{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.drawer-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:13px;font-weight:700}.drawer-nav{flex-direction:column;display:flex}.drawer-nav a{min-height:56px;padding:0 var(--sp-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.drawer-nav a:last-child{border-bottom:0}.drawer-nav a:hover,.drawer-nav a[aria-current]{color:var(--accent)}.drawer-nav a svg{width:16px;height:16px;color:var(--text-tertiary)}.drawer-section{margin-top:var(--sp-6)}.drawer-label{margin-bottom:var(--sp-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:12px;font-weight:700;display:block}.drawer-eco{gap:var(--sp-2);display:flex}.drawer-eco a,.drawer-eco button{text-align:center;border:2px solid var(--border-default);background:var(--bg-base);font-family:var(--font-mono);text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:13px;font-weight:700;display:inline-flex}.drawer-eco a:hover,.drawer-eco button:hover{background:var(--bg-muted);color:var(--text-primary)}.drawer-eco a.active,.drawer-eco button.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand-strong)}.drawer-eco button svg{flex-shrink:0;width:15px;height:15px}.drawer-cta{width:100%;margin-top:var(--sp-6)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:44px;padding-inline:var(--sp-5);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--on-brand);box-shadow:var(--shadow-hard);transition:background-color .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease), box-shadow .12s var(--ease), transform .12s var(--ease);white-space:nowrap;border:2px solid #0000;border-radius:0;font-size:14px;font-weight:700;display:inline-flex}.btn-lg{height:52px;padding-inline:var(--sp-6);font-size:15px}.btn-sm{height:34px;padding-inline:var(--sp-4);font-size:12px}.btn-primary{background:var(--brand);border-color:var(--brand-strong)}.btn-primary:hover{filter:brightness(1.08);box-shadow:5px 5px 0 0 var(--line);transform:translate(-1px,-1px)}.btn-primary:active{box-shadow:2px 2px 0 0 var(--line);transform:translate(1px,1px)}.btn-outline{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary);box-shadow:4px 4px 0 0 var(--border-default)}.btn-outline:hover{border-color:var(--brand);color:var(--brand);transform:translate(-1px,-1px)}.btn-tech{background:var(--tech);color:#161c26;border-color:var(--tech)}.btn-tech:hover{filter:brightness(1.06);box-shadow:5px 5px 0 0 var(--line);transform:translate(-1px,-1px)}.btn-ghost{color:var(--text-secondary);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--bg-muted);color:var(--text-primary)}.btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn svg{width:16px;height:16px}.badge{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--tech-soft);color:var(--text-primary);border:2px solid var(--tech);padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.badge .dot{background:var(--accent);width:8px;height:8px}.status{font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--border-default);align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status--live{color:var(--tech);border-color:var(--tech)}.status--wip{color:var(--accent-text);border-color:var(--accent)}.status--arsip{color:var(--text-tertiary)}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font-family:var(--font-mono);background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-subtle);text-transform:uppercase;padding:3px 8px;font-size:11px;font-weight:700}.chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);transition:all .15s var(--ease);padding:9px 14px;font-size:12px;font-weight:700}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand-strong)}.grid-3{gap:var(--sp-6);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width>=1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-2{gap:var(--sp-6);grid-template-columns:1fr;display:grid}@media (width>=768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.card{background:var(--bg-surface);border:2px solid var(--border-default);box-shadow:5px 5px 0 0 var(--line);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;display:flex;position:relative}.card:before,.card:after{content:"";border:0 solid var(--accent);z-index:3;pointer-events:none;width:12px;height:12px;position:absolute}.card:before{border-top-width:3px;border-left-width:3px;top:5px;left:5px}.card:after{border-bottom-width:3px;border-right-width:3px;bottom:5px;right:5px}.card:hover{box-shadow:7px 7px 0 0 var(--line);border-color:var(--brand);transform:translate(-2px,-2px)}.card:focus-within{border-color:var(--brand);box-shadow:7px 7px 0 0 var(--line)}.card-link{z-index:2;position:absolute;inset:0}.card .cover{aspect-ratio:16/10;color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-strong));place-items:center;display:grid}.card .cover svg{width:40px;height:40px}.card .body{padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;flex:1;display:flex}.card .kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:11px;font-weight:700}.card h3{font-size:19px;font-weight:700;line-height:1.3}.card p{color:var(--text-secondary);font-size:14.5px}.card .meta{font-family:var(--font-mono);color:var(--text-tertiary);align-items:center;gap:var(--sp-2);text-transform:uppercase;margin-top:auto;font-size:12px;display:flex}.field{margin-bottom:var(--sp-4);align-content:start;gap:6px;display:grid}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);font-size:12px;font-weight:700}.field input,.field textarea,.field select{border:2px solid var(--border-default);background:var(--bg-surface);width:100%;color:var(--text-primary);transition:border-color .15s var(--ease), background-color .15s var(--ease);padding:11px 13px;font-size:15px}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary);opacity:1}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:3px solid var(--brand);outline-offset:1px}.field input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0px 1000px var(--bg-surface) inset;-webkit-box-shadow:0 0 0px 1000px var(--bg-surface) inset;transition:background-color 5000s ease-in-out}.field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0px 1000px var(--bg-surface) inset;-webkit-box-shadow:0 0 0px 1000px var(--bg-surface) inset;transition:background-color 5000s ease-in-out}.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0px 1000px var(--bg-surface) inset;-webkit-box-shadow:0 0 0px 1000px var(--bg-surface) inset;transition:background-color 5000s ease-in-out}.field .hint{color:var(--text-tertiary);font-size:12.5px}.field .error{font-family:var(--font-mono);color:var(--accent-text);min-height:15px;font-size:12px;font-weight:700}.form-row{gap:var(--sp-4);align-items:start;display:grid}@media (width>=640px){.form-row{grid-template-columns:1fr 1fr}}.article-head{max-width:780px;margin-top:var(--sp-6);min-width:0}.article-grid{gap:var(--sp-10);margin-top:var(--sp-12);align-items:start;min-width:0;display:grid}@media (width>=1024px){.article-grid{grid-template-columns:minmax(0,720px) 240px;justify-content:space-between}}.prose{overflow-wrap:break-word;word-break:break-word;min-width:0;max-width:720px;font-size:17.5px}.prose>*+*{margin-top:var(--sp-5)}.prose p{line-height:1.75}.prose h2{margin-top:var(--sp-10);scroll-margin-top:90px;font-size:clamp(24px,3.4vw,30px);font-weight:800}.prose h2:before{content:"// ";color:var(--accent);font-family:var(--font-mono)}.prose h3{margin-top:var(--sp-8);font-size:20px;font-weight:700}.prose a{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{padding-left:var(--sp-6);gap:var(--sp-2);display:grid}.prose blockquote{border-left:4px solid var(--accent);background:var(--bg-surface);padding:var(--sp-4) var(--sp-5);color:var(--text-secondary);font-style:italic}.prose code{font-family:var(--font-mono);background:var(--bg-muted);border:1px solid var(--border-subtle);padding:1px 6px;font-size:.88em}.prose img{border:2px solid var(--border-default)}.prose figcaption,.figure figcaption{margin-top:var(--sp-2);font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.figure{margin:var(--sp-8) 0}.codeblock{border:2px solid var(--brand-strong);background:var(--bg-inverse);color:#e8edf3}.codeblock .cb-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#a9b6c6;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;display:flex}.codeblock pre{padding:var(--sp-4);margin:0;overflow-x:auto}.codeblock code{font-family:var(--font-mono);color:#e8edf3;background:0 0;border:0;padding:0;font-size:13.5px;line-height:1.6}.callout{gap:var(--sp-3);padding:var(--sp-4);background:var(--tech-soft);border:2px solid var(--tech);display:flex}.callout svg{flex-shrink:0;width:20px;height:20px;margin-top:2px}.callout b{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:12px;display:block}.callout p{margin:0;font-size:15px}.callout--warn{background:var(--accent-soft);border-color:var(--accent)}.prose table{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;display:block;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14.5px}table.data th,table.data td{border:2px solid var(--border-default);text-align:left;padding:9px 12px}table.data th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-muted);font-size:12px}.author-box{gap:var(--sp-4);margin-top:var(--sp-10);padding:var(--sp-5);background:var(--bg-surface);border:2px solid var(--border-default);box-shadow:4px 4px 0 0 var(--line);align-items:flex-start;max-width:720px;display:flex}.author-box .avatar{flex-shrink:0;width:48px;height:48px;font-size:18px}.author-box b{font-size:16px}.author-box p{color:var(--text-secondary);margin-top:2px;font-size:14px}.embed{aspect-ratio:16/9;border:2px solid var(--border-default);background:var(--bg-inverse);color:var(--text-tertiary);box-shadow:5px 5px 0 0 var(--line);place-items:center;display:grid;position:relative}.timeline{gap:var(--sp-6);border-left:3px solid var(--border-default);padding-left:var(--sp-5);list-style:none;display:grid}.timeline li{position:relative}.timeline li:before{content:"";left:calc(-1 * var(--sp-5) - 8px);background:var(--brand);border:2px solid var(--brand-strong);width:12px;height:12px;position:absolute;top:4px}.timeline time{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);font-size:12px}.stats{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat{border:2px solid var(--border-default);background:var(--bg-surface);padding:var(--sp-4)}.stat b{font-family:var(--font-mono);color:var(--brand);font-size:24px;font-weight:700;display:block}.stat span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:12px}.trust-stats .stat{background:0 0;border:0;padding:0}.toc{display:none}@media (width>=1024px){.toc{align-self:start;display:block;position:sticky;top:96px}}.toc h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:var(--sp-4);font-size:12px}.toc ol{gap:var(--sp-2);border-left:2px solid var(--border-default);list-style:none;display:grid}.toc a{padding:4px 0 4px var(--sp-4);color:var(--text-secondary);border-left:3px solid #0000;margin-left:-2px;font-size:14px;display:block}.toc a:hover{color:var(--accent);border-left-color:var(--accent)}.newsletter-wrap{padding-block:var(--sp-16)}.newsletter-card{background:linear-gradient(150deg, var(--brand), var(--brand-strong) 80%);border:3px solid var(--brand-strong);box-shadow:8px 8px 0 0 var(--line);color:#fff;position:relative;overflow:hidden}.newsletter-card .stripe{position:absolute;top:0;left:0;right:0}.newsletter-inner{padding:var(--sp-8)}@media (width>=768px){.newsletter-inner{padding:var(--sp-12)}}.newsletter-card h2{font-size:clamp(24px,4vw,34px)}.newsletter-card p{color:#ffffffeb;margin-top:var(--sp-3);max-width:520px}.newsletter-form{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;max-width:520px;display:flex}.newsletter-form input{height:48px;padding-inline:var(--sp-4);color:#fff;background:#ffffff24;border:2px solid #ffffff8c;flex:100%;font-size:15px}.newsletter-form input::placeholder{color:#ffffffd9}.newsletter-form .btn{flex:100%;height:48px}@media (width>=520px){.newsletter-form input{flex:220px}.newsletter-form .btn{flex:none}}.newsletter-note{margin-top:var(--sp-3);color:#ffffffd9;font-size:13px}.newsletter-status{margin-top:var(--sp-3);font-family:var(--font-mono);min-height:20px;font-size:13px;font-weight:700}footer.site{background:var(--bg-surface);border-top:2px solid var(--border-default)}.footer-grid{gap:var(--sp-10);padding-block:var(--sp-16) var(--sp-8);grid-template-columns:1fr;display:grid}@media (width>=768px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}footer.site h2.footer-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:var(--sp-4);font-size:12px}footer.site ul{gap:var(--sp-3);flex-direction:column;list-style:none;display:flex}footer.site ul a{color:var(--text-secondary);font-size:14.5px}footer.site ul a:hover{color:var(--accent)}.socials{gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}.socials a{border:2px solid var(--border-default);width:44px;height:44px;color:var(--text-secondary);place-items:center;display:grid}.socials a:hover{color:var(--accent);border-color:var(--accent)}.socials svg{width:18px;height:18px}.footer-bottom{border-top:2px solid var(--border-default);padding-block:var(--sp-6);gap:var(--sp-4);font-family:var(--font-mono);color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:12px;display:flex}.footer-brand p{color:var(--text-secondary);max-width:340px;margin-top:var(--sp-4);font-size:14.5px}.modal{color:var(--text-primary);background:0 0;border:0;width:min(520px,100% - 32px);padding:0}.modal::backdrop{background:#06152c8c}.modal-card{background:var(--bg-surface);border:3px solid var(--brand-strong);box-shadow:8px 8px 0 0 var(--line);padding:var(--sp-6)}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.modal-card h3{font-size:20px}.modal-close{border:2px solid var(--border-default);background:var(--bg-base);width:36px;height:36px;color:var(--text-secondary);font-size:20px;line-height:1}.modal-actions{justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.toast-wrap{left:50%;bottom:var(--sp-6);z-index:1100;gap:var(--sp-2);justify-items:center;display:grid;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-4);max-width:calc(100vw - 32px);padding:var(--sp-4) var(--sp-5);background:var(--bg-inverse);color:#fff;border:2px solid var(--brand-strong);box-shadow:6px 6px 0 0 var(--line);font-size:14px;display:flex}.toast button{font-family:var(--font-mono);text-transform:uppercase;color:var(--tech);background:0 0;border:0;font-size:12px;font-weight:700}.skeleton{background:var(--bg-muted);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);animation:1.2s infinite sk;position:absolute;inset:0;transform:translate(-100%)}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000)}@keyframes sk{to{transform:translate(100%)}}.skeleton-line{height:12px;margin-bottom:8px}.empty-state{text-align:center;padding:var(--sp-16) var(--sp-5);border:2px dashed var(--border-default)}.empty-state svg{width:40px;height:40px;color:var(--text-tertiary);margin:0 auto var(--sp-4)}.empty-state h3{font-size:18px}.empty-state p{color:var(--text-secondary);margin-top:var(--sp-2);font-size:14.5px}.admin{grid-template-columns:1fr;min-height:100vh;display:grid}@media (width>=900px){.admin{grid-template-columns:240px 1fr}}.admin-side{background:var(--bg-inverse);color:#e8edf3;border-right:2px solid var(--border-default);padding:var(--sp-5);display:none}@media (width>=900px){.admin-side{display:block}}.admin-side .brand{color:#fff;margin-bottom:var(--sp-6)}.admin-nav{gap:2px;list-style:none;display:grid}.admin-nav a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:#a9b6c6;border-left:3px solid #0000;padding:11px 12px;font-size:13px;display:block}.admin-nav a:hover{color:#fff;background:#ffffff0f}.admin-nav a[aria-current]{color:#fff;border-left-color:var(--tech);background:#ffffff14}.admin-main{padding:var(--sp-6)}@media (width>=1024px){.admin-main{padding:var(--sp-10)}}.admin-bar{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.panel{background:var(--bg-surface);border:2px solid var(--border-default);box-shadow:5px 5px 0 0 var(--line);padding:var(--sp-5)}.row-list{gap:var(--sp-3);list-style:none;display:grid}.row-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:2px solid var(--border-default);flex-wrap:wrap;display:flex}.row-item .grip{cursor:grab;color:var(--text-tertiary)}.row-item .row-main{flex:220px;min-width:0}.row-item b{font-size:15px}.row-item small{font-family:var(--font-mono);color:var(--text-tertiary);overflow-wrap:anywhere;font-size:12px;display:block}.switch{flex-shrink:0;width:44px;height:24px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch .track{background:var(--border-default);border:2px solid var(--border-default);transition:background-color .15s var(--ease);position:absolute;inset:0}.switch .track:after{content:"";background:var(--bg-surface);width:16px;height:16px;transition:transform .15s var(--ease);position:absolute;top:1px;left:1px}.switch input:checked+.track{background:var(--brand);border-color:var(--brand-strong)}.switch input:checked+.track:after{transform:translate(20px)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.section-head h2,.section-simple h2{margin-top:var(--sp-2);font-size:clamp(26px,4vw,34px);font-weight:800}.section-simple{margin-bottom:var(--sp-8)}.display{margin-top:var(--sp-3);font-size:clamp(34px,6vw,60px);font-weight:800}.hl{color:var(--accent)}.lead-top{margin-top:var(--sp-4)}.cta-row{gap:var(--sp-3);margin-top:var(--sp-8);flex-wrap:wrap;display:flex}.link-more{font-family:var(--font-mono);text-transform:uppercase;color:var(--brand);font-size:13px;font-weight:700}.link-more:hover{color:var(--accent)}.dim{color:var(--text-secondary)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mt-10{margin-top:var(--sp-10)}.panel-cta{gap:var(--sp-6);padding:var(--sp-8);background:var(--bg-surface);border:3px solid var(--brand-strong);box-shadow:8px 8px 0 0 var(--line);display:grid}@media (width>=900px){.panel-cta{grid-template-columns:1.4fr 1fr;align-items:center}}.panel-cta h2{margin-top:var(--sp-2);font-size:clamp(24px,3.6vw,32px);font-weight:800}.panel-cta .lead{margin-top:var(--sp-3)}.stack-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.stack-grid span{font-family:var(--font-mono);text-transform:uppercase;border:2px solid var(--border-default);background:var(--bg-surface);padding:8px 12px;font-size:12px;font-weight:700}.newsletter-status[data-state=success]{color:#a7f3d0}.newsletter-status[data-state=error]{color:#fecaca}[data-theme=light] .newsletter-status[data-state=success]{color:#065f46}[data-theme=light] .newsletter-status[data-state=error]{color:#991b1b}.breadcrumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:12px}.breadcrumb a:hover{color:var(--accent)}.grid-top{align-items:start}.facts{gap:var(--sp-3);list-style:none;display:grid}.facts .k{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);font-size:12px;display:block}.center{text-align:center}.mw-720{max-width:720px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.anim-rise{animation:rise var(--dur-4) var(--ease) both}.anim-fade{animation:fade var(--dur-4) var(--ease) both}.anim-d1{animation-delay:60ms}.anim-d2{animation-delay:.12s}.anim-d3{animation-delay:.18s}.anim-d4{animation-delay:.24s}.text-xs{font-size:12px}.w-60{width:60%}.w-80{width:80%}.w-90{width:90%}.field--flush{min-width:200px;margin:0}.row-center{justify-content:center}.attachment{border:2px solid var(--border-default);background:var(--bg-surface);box-shadow:4px 4px 0 0 var(--line)}.attachment-link{align-items:center;gap:var(--sp-3);padding:var(--sp-4);color:var(--text-primary);text-decoration:none;display:flex}.attachment-link:hover{color:var(--brand)}.attachment-icon{border:2px solid var(--brand-strong);background:var(--brand);color:#fff;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.attachment-name{font-weight:600}.attachment-size{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;margin-left:auto;font-size:12px}.callout--note{background:var(--bg-muted);border-color:var(--border-default)}.prose .embed-frame,.prose iframe{aspect-ratio:16/9;border:2px solid var(--border-default);width:100%}.toc a.is-sub{padding-left:calc(var(--sp-4) + var(--sp-4));font-size:13px}.toc a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:600}.codeblock .hljs-comment,.codeblock .hljs-quote{color:#7b8a9e;font-style:italic}.codeblock .hljs-keyword,.codeblock .hljs-selector-tag,.codeblock .hljs-built_in{color:#7fb3ff}.codeblock .hljs-string,.codeblock .hljs-attr,.codeblock .hljs-template-variable{color:#9be39b}.codeblock .hljs-number,.codeblock .hljs-literal{color:#f0b37e}.codeblock .hljs-title,.codeblock .hljs-function .hljs-title,.codeblock .hljs-section{color:#ffd479}.codeblock .hljs-type,.codeblock .hljs-name,.codeblock .hljs-tag{color:#7fd6e0}.codeblock .hljs-meta{color:#c79bff}.article-wrap{padding-block:var(--sp-8) var(--sp-16)}.article-head h1{margin-top:var(--sp-3);font-size:clamp(30px,5.4vw,52px);font-weight:800}.kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:12px;font-weight:700}.dek{color:var(--text-secondary);margin-top:var(--sp-4);font-size:clamp(16px,2.2vw,19px)}.article-meta{align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);font-family:var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);flex-wrap:wrap;font-size:12px;display:flex}.article-meta .avatar,.avatar{border:2px solid var(--brand-strong);background:var(--brand);color:#fff;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.author-mini{align-items:center;gap:var(--sp-2);display:inline-flex}.cover-banner{margin-top:var(--sp-8);aspect-ratio:21/9;border:3px solid var(--brand-strong);box-shadow:8px 8px 0 0 var(--line);background:linear-gradient(135deg, var(--blue-600), var(--blue-950));place-items:center;display:grid;position:relative;overflow:hidden}.cover-banner:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.cover-banner.c1{background:linear-gradient(135deg, var(--blue-600), var(--blue-950))}.cover-banner.c2{background:linear-gradient(135deg, var(--red-500), var(--red-700))}.cover-banner.c3{background:linear-gradient(135deg, var(--neutral-800), var(--neutral-950))}.cover-banner svg{z-index:1;width:20%;min-width:72px;position:relative}.cover-banner .code{bottom:var(--sp-4);left:var(--sp-4);z-index:2;font-family:var(--font-mono);letter-spacing:.14em;color:var(--yellow-300);text-transform:uppercase;font-size:11px;font-weight:700;position:absolute}.cover-banner.has-image:before{display:none}.cover-banner.has-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.article-tags{margin-top:var(--sp-8);flex-wrap:wrap;gap:6px;display:flex}.ssr-island{display:block}.ssr-island .article-grid{margin-top:var(--sp-10)}.ssr-island .prose>*+*{margin-top:var(--sp-5)}.toc-actions{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:2px solid var(--border-default)}.article-actions-mobile{margin-top:var(--sp-6);display:block}@media (width>=1024px){.article-actions-mobile{display:none}}.composer-who{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:12px;display:flex}.account,.nav-actions .account{position:relative;display:none!important}@media (width>=900px){.account,.nav-actions .account{display:block!important}}.account-toggle{border:2px solid var(--border-default);background:var(--bg-surface);height:40px;color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.account-toggle:hover{border-color:var(--brand);color:var(--brand)}.account-toggle .chev{width:14px;height:14px}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.avatar--sm{width:24px;height:24px;font-size:11px;overflow:hidden}.avatar--sm img{object-fit:cover;width:100%;height:100%}.account-menu{background:var(--bg-surface);border:2px solid var(--border-default);min-width:180px;box-shadow:5px 5px 0 0 var(--line);z-index:1200;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.account-menu li a,.account-menu li button{text-align:left;width:100%;font-family:var(--font-mono);text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-size:12px;display:block}.account-menu li a:hover,.account-menu li button:hover{background:var(--bg-muted);color:var(--brand)}.account-login{border:2px solid var(--brand-strong);background:var(--brand);color:#fff;height:40px;font-family:var(--font-mono);text-transform:uppercase;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.drawer-nav .drawer-logout{border:0;border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:14px 0;font-size:16px;font-weight:600;display:flex}.drawer-nav .drawer-logout svg{width:18px;height:18px}@media (width<=640px){.account-name{display:none}}.comments{max-width:760px;margin-top:var(--sp-16)}.comments-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.comments-controls{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.comments-controls select{border:2px solid var(--border-default);background:var(--bg-surface);height:40px;color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;padding:0 8px;font-size:12px}.admin-toggle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.composer{padding:var(--sp-5);background:var(--bg-surface);border:2px solid var(--border-default);box-shadow:4px 4px 0 0 var(--line);margin-top:var(--sp-6);margin-bottom:var(--sp-6)}.composer--reply{box-shadow:none;margin:0}.composer .form-row{gap:var(--sp-4);display:grid}@media (width>=640px){.composer .form-row{grid-template-columns:1fr 1fr}}.composer .field{margin-top:var(--sp-3);gap:6px;display:grid}.composer textarea,.comment-list textarea{border:2px solid var(--border-default);background:var(--bg-surface);width:100%;color:var(--text-primary);min-height:120px;padding:12px 14px;font-size:15px}.composer-tools{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:6px;display:flex}.composer-tools .md{color:var(--text-tertiary);font-size:12px}.composer-tools .md code{font-family:var(--font-mono);background:var(--bg-muted);border:1px solid var(--border-subtle);padding:1px 4px}.composer-tools .counter{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.composer-actions{align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.composer-actions .policy{color:var(--text-tertiary);font-size:12.5px}.auth-cta{margin-top:var(--sp-4);padding:var(--sp-4);border:2px dashed var(--border-default);background:var(--bg-muted)}.auth-cta p{color:var(--text-secondary);font-size:13.5px}.auth-cta .cta-row{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.comment-status{margin-top:var(--sp-3);font-family:var(--font-mono);min-height:18px;font-size:13px;font-weight:700}.comment-status[data-state=success]{color:var(--brand)}.comment-status[data-state=error]{color:var(--accent-text)}.comment-list{gap:var(--sp-5);list-style:none;display:grid}.comment-list.nested{margin-top:var(--sp-4);margin-left:var(--sp-6);padding-left:var(--sp-5);border-left:3px solid var(--border-default)}.comment{gap:var(--sp-4);scroll-margin-top:90px;display:flex}.comment-body{padding:var(--sp-4) var(--sp-5);background:var(--bg-surface);border:2px solid var(--border-default);flex:1}.comment.is-author .comment-body{border-left:4px solid var(--accent);background:var(--accent-soft)}.comment.is-pending .comment-body{border-style:dashed}.comment.is-own .comment-body{border-left:4px solid var(--brand)}.comment.is-highlighted .comment-body{box-shadow:0 0 0 3px var(--tech)}.comment .avatar{border:2px solid var(--brand-strong);background:var(--brand);color:#fff;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid;overflow:hidden}.comment .avatar img{object-fit:cover;width:100%;height:100%}.comment-head{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.badge-author{font-family:var(--font-mono);text-transform:uppercase;color:var(--neutral-900);background:var(--tech);padding:2px 6px;font-size:10px}.badge-pending{font-family:var(--font-mono);text-transform:uppercase;color:var(--neutral-900);background:var(--yellow-300);padding:2px 6px;font-size:10px}.badge-spam{font-family:var(--font-mono);text-transform:uppercase;color:#fff;background:var(--accent);padding:2px 6px;font-size:10px}.comment-head time,.comment-head .edited{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.comment-text{margin-top:var(--sp-2);color:var(--text-secondary);overflow-wrap:anywhere;font-size:15px}.comment-text.is-clamped{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-more{font-family:var(--font-mono);text-transform:uppercase;color:var(--brand);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:12px;font-weight:700}.comment-actions{margin-top:var(--sp-3);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.comment-actions .act{min-height:34px;color:var(--text-tertiary);font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.comment-actions .act:hover{color:var(--brand)}.comment-actions .act[aria-pressed=true]{color:var(--accent)}.comment-actions .act svg{width:14px;height:14px}.act--ok{color:var(--brand)}.act--warn{color:var(--accent-text)}.reply-holder{margin-top:var(--sp-4);display:none}.reply-holder.is-open{display:block}.reply-context{align-items:center;gap:var(--sp-2);color:var(--text-tertiary);margin-bottom:var(--sp-2);font-size:13px;display:flex}.reply-cancel{font-family:var(--font-mono);text-transform:uppercase;color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:11px}.comments-more{margin-top:var(--sp-6)}.report-options{margin-top:var(--sp-2);gap:6px;list-style:none;display:grid}.report-options .opt{align-items:center;gap:8px;display:flex}.mention{color:var(--brand);font-weight:700}.video-card .video-facade{aspect-ratio:16/9;cursor:pointer;background:#000;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.video-facade img{object-fit:cover;width:100%;height:100%;transition:transform .2s var(--ease), opacity .2s var(--ease)}.video-facade:hover img{opacity:.85;transform:scale(1.03)}.video-play{place-items:center;display:grid;position:absolute;inset:0}.video-play svg{color:#fff;background:var(--accent);border:3px solid #fff;width:56px;height:56px;padding:8px;box-shadow:4px 4px #00000059}.video-cat{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--tech);color:var(--neutral-900);padding:4px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.nation-board{justify-content:center;align-items:center;gap:var(--sp-4) var(--sp-8);flex-wrap:wrap;list-style:none;display:flex}@media (width<=639px){.nation-board{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-inline:var(--sp-2);padding-block:var(--sp-2);justify-content:flex-start;gap:var(--sp-5);flex-wrap:nowrap;display:flex;overflow-x:auto}.nation-board::-webkit-scrollbar{display:none}.nation-item{flex-shrink:0}}.nation-item{transition:transform .15s var(--ease);align-items:center;gap:8px;display:inline-flex}.nation-item:hover{transform:translateY(-2px)}.nation-landmark{width:26px;height:26px;color:var(--brand);transition:color .15s var(--ease);place-items:center;display:inline-grid}.nation-item:hover .nation-landmark{color:var(--accent)}.nation-landmark svg{width:100%;height:100%;display:block}.nation-name{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:700}.nation-board.is-live .nation-item{animation:nationRise .5s var(--ease) both;animation-delay:var(--d,0s)}@keyframes nationRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.nation--id .flame{transform-box:fill-box;transform-origin:bottom;animation:1.8s ease-in-out infinite flameFlicker}@keyframes flameFlicker{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.72;transform:scaleY(.8)}}.nation--sg .bridge{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite bridgeBob}@keyframes bridgeBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4px)}}.nation--kr .roofs{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite roofGlow}@keyframes roofGlow{0%,to{opacity:1}50%{opacity:.55}}.nation--ca .beacon{animation:1.6s step-end infinite beaconBlink}@keyframes beaconBlink{0%,60%{opacity:1}61%,to{opacity:.15}}.nation--jp .cloud{transform-box:fill-box;transform-origin:50%;animation:6s linear infinite cloudDrift}@keyframes cloudDrift{0%{opacity:.35;transform:translate(-5px)}50%{opacity:.9}to{opacity:.35;transform:translate(7px)}}@media (prefers-reduced-motion:reduce){.nation-board.is-live .nation-item,.nation--id .flame,.nation--sg .bridge,.nation--kr .roofs,.nation--ca .beacon,.nation--jp .cloud{animation:none!important}}@media (width<=768px){.field input,.field textarea,.field select,.search input,.newsletter-form input{font-size:16px!important}}.scroll-rail{gap:var(--sp-2);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-block:4px;padding-inline:2px;display:flex;overflow-x:auto}.scroll-rail::-webkit-scrollbar{display:none}.scroll-rail>*{flex-shrink:0}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin-block:var(--sp-6);border:2px solid var(--border-default);background:var(--bg-surface);box-shadow:4px 4px 0 0 var(--line);display:block;overflow-x:auto}.table-scroll table,.table-scroll table.data{border-collapse:collapse;border:0;width:100%;min-width:520px;margin:0;display:table}.table-scroll th,.table-scroll td{border:1px solid var(--border-subtle);padding:10px 14px}.table-scroll th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);background:var(--bg-muted);border-bottom:2px solid var(--border-default);white-space:nowrap;font-size:11.5px}.mobile-reading-bar{z-index:1025;background:var(--bg-surface);border-top:2px solid var(--border-default);padding-bottom:env(safe-area-inset-bottom,0px);transition:transform .25s var(--ease);display:none;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -4px 16px #00000014}@media (width<=1023px){.mobile-reading-bar{display:block}.mobile-reading-bar.is-visible{transform:translateY(0)}}.bar-progress{background:var(--accent);height:3px;transition:width .1s linear;position:absolute;top:-2px;left:0}.bar-content{justify-content:space-between;align-items:center;gap:2px;padding:6px 8px;display:flex}.bar-btn{min-width:0;min-height:44px;color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:color .15s var(--ease), transform .1s var(--ease);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:10px;font-weight:700;display:inline-flex;position:relative}.bar-btn:active{transform:scale(.92)}.bar-btn svg{flex-shrink:0;width:18px;height:18px}.bar-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;line-height:1;overflow:hidden}.bar-btn.active{color:var(--accent)}.bar-btn-toc{color:var(--brand)}.toc-sheet-scrim{z-index:1050;opacity:0;pointer-events:none;transition:opacity .22s var(--ease);background:#06152c99;position:fixed;inset:0}.toc-sheet-scrim.is-open{opacity:1;pointer-events:auto}.toc-sheet{z-index:1060;background:var(--bg-surface);border-top:3px solid var(--brand-strong);max-height:80vh;padding:var(--sp-4) var(--sp-5) max(var(--sp-6), env(safe-area-inset-bottom));transition:transform .26s var(--ease);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -8px 24px #0003}.toc-sheet.is-open{transform:translateY(0)}.sheet-handle{background:var(--border-default);border-radius:var(--r-full);width:38px;height:4px;margin:0 auto var(--sp-3)}.sheet-head{padding-bottom:var(--sp-3);border-bottom:2px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.sheet-close{border:2px solid var(--border-default);background:var(--bg-base);cursor:pointer;place-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:grid}.sheet-list{padding-top:var(--sp-3);gap:2px;list-style:none;display:grid;overflow-y:auto}.sheet-list a{color:var(--text-secondary);border-left:3px solid #0000;padding:10px 12px;font-size:14.5px;display:block}.sheet-list a.is-sub{padding-left:var(--sp-6);font-size:13.5px}.sheet-list a.is-active{color:var(--accent);background:var(--bg-muted);border-left-color:var(--accent);font-weight:700}@media (width<=639px){.comment-list.nested{margin-top:var(--sp-3);margin-left:var(--sp-3);padding-left:var(--sp-3);border-left-width:2px}.comment{gap:var(--sp-3)}.comment .avatar{width:28px;height:28px;font-size:11px}.comment-actions{gap:4px}.comment-actions .act{min-height:40px;padding:6px 10px}}.fab-scroll-top{right:var(--sp-5);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:990;border:2px solid var(--brand-strong);background:var(--brand);color:#fff;width:44px;height:44px;box-shadow:4px 4px 0 0 var(--line);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease);pointer-events:none;border-radius:0;place-items:center;display:grid;position:fixed;transform:translateY(12px)scale(.9)}.fab-scroll-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.fab-scroll-top:hover{filter:brightness(1.08);box-shadow:6px 6px 0 0 var(--line);transform:translateY(-2px)scale(1)}.fab-scroll-top:active{box-shadow:2px 2px 0 0 var(--line);transform:translateY(1px)scale(.98)}.fab-scroll-top:focus-visible{outline:3px solid var(--tech);outline-offset:2px}.fab-scroll-top svg{width:20px;height:20px;transition:transform .18s var(--ease)}.fab-scroll-top:hover svg{transform:translateY(-2px)}@media (width<=1023px){body:has(.mobile-reading-bar) .fab-scroll-top{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.fab-scroll-top{transition:opacity .1s linear!important;transform:none!important}.fab-scroll-top:hover svg{transform:none!important}}
