:root{--bg: #f3f3f3;--surface: #ffffff;--surface-2: #e9e9e9;--tonal: #dedede;--ink: #000000;--ink-soft: #5b5b5b;--line: #d4d4d4;--outline: #8c8c8c;--on-ink: #ffffff;--state: rgba(0, 0, 0, .07);--state-2: rgba(0, 0, 0, .12);--danger: #b3261e;--ok: #1a7f37;--warn: #a15c00;--code-bg: #f1f1f1;--e1: 0 1px 2px rgba(0, 0, 0, .1), 0 1px 3px 1px rgba(0, 0, 0, .06);--e2: 0 1px 2px rgba(0, 0, 0, .12), 0 2px 6px 2px rgba(0, 0, 0, .08);--e3: 0 4px 8px 3px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .14);--r-xs: 4px;--r-s: 8px;--r-m: 12px;--r-l: 16px;--r-xl: 20px;--r-2xl: 28px;--r-full: 999px;--radius-s: var(--r-s);--radius-m: var(--r-l);--paper: var(--bg);--font-head: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Source Serif 4", Georgia, serif;--font-ui: "Roboto Flex", Roboto, system-ui, sans-serif;--font-code: "JetBrains Mono", ui-monospace, monospace;--font-serif: "Source Serif 4", Georgia, serif;--font-sans: "Roboto Flex", Roboto, system-ui, sans-serif;--accent: var(--ink);--on-accent: var(--on-ink);--ease: cubic-bezier(.2, 0, 0, 1);--hero-bg: #000000;--hero-ink: #ffffff;--hero-soft: rgba(255, 255, 255, .72);--hero-btn-bg: #ffffff;--hero-btn-ink: #000000;--hero-edge: transparent;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #000000;--surface: #141414;--surface-2: #1f1f1f;--tonal: #2e2e2e;--ink: #ffffff;--ink-soft: #ababab;--line: #2f2f2f;--outline: #7a7a7a;--on-ink: #000000;--state: rgba(255, 255, 255, .08);--state-2: rgba(255, 255, 255, .14);--danger: #ffb4ab;--ok: #6fd69d;--warn: #f5b94a;--code-bg: #0c0c0c;--e1: 0 0 0 1px #222, 0 1px 3px rgba(0, 0, 0, .8);--e2: 0 0 0 1px #2a2a2a, 0 4px 12px rgba(0, 0, 0, .8);--e3: 0 0 0 1px #333, 0 8px 24px rgba(0, 0, 0, .9);--hero-bg: radial-gradient(120% 140% at 0% 0%, #262626 0%, #171717 55%, #101010 100%);--hero-ink: #ededed;--hero-soft: #a9a9a9;--hero-btn-bg: #ededed;--hero-btn-ink: #000000;--hero-edge: #2b2b2b;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");color-scheme:dark}}:root[data-theme=dark]{--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");--bg: #000000;--surface: #141414;--surface-2: #1f1f1f;--tonal: #2e2e2e;--ink: #ffffff;--ink-soft: #ababab;--line: #2f2f2f;--outline: #7a7a7a;--on-ink: #000000;--state: rgba(255, 255, 255, .08);--state-2: rgba(255, 255, 255, .14);--danger: #ffb4ab;--ok: #6fd69d;--warn: #f5b94a;--code-bg: #0c0c0c;--e1: 0 0 0 1px #222, 0 1px 3px rgba(0, 0, 0, .8);--e2: 0 0 0 1px #2a2a2a, 0 4px 12px rgba(0, 0, 0, .8);--e3: 0 0 0 1px #333, 0 8px 24px rgba(0, 0, 0, .9);--hero-bg: radial-gradient(120% 140% at 0% 0%, #262626 0%, #171717 55%, #101010 100%);--hero-ink: #ededed;--hero-soft: #a9a9a9;--hero-btn-bg: #ededed;--hero-btn-ink: #000000;--hero-edge: #2b2b2b;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}:root{--scroll-thumb: color-mix(in srgb, var(--accent) 55%, transparent);--scroll-thumb-hover: var(--accent)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid transparent;border-radius:var(--r-full);background-clip:padding-box;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--scroll-thumb-hover);border-width:2px}@supports not selector(::-webkit-scrollbar){:root{scrollbar-color:var(--scroll-thumb) transparent}}.admin-side,.admin-main .editor-side{scrollbar-color:var(--scroll-thumb) transparent}body{margin:0;background-color:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--font-body);transition:background-color .25s var(--ease),color .25s var(--ease)}img{max-width:100%;display:block}a{color:var(--ink);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--font-head);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}h1{font-size:clamp(2rem,4vw,2.6rem);font-weight:750}h2{font-size:1.6rem;font-weight:650}h3{font-size:1.25rem;font-weight:650}h1 a,h2 a,h3 a{color:inherit;text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover{text-decoration:underline;text-decoration-thickness:2px}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}@media(min-width:720px){.wrap{padding:0 32px}}.reading{max-width:780px}.narrow{max-width:460px;padding-top:32px}main{min-height:70vh;padding-bottom:72px}.muted{color:var(--ink-soft)}.nowrap{white-space:nowrap}.error{color:var(--danger);font:500 .92rem var(--font-ui);margin:0}.empty{font-family:var(--font-ui);padding:40px 0;color:var(--ink-soft)}.btn,.nav a,.nav .link-btn,.theme-btn,.tags a,.tags-toggle,.pager button,.social a,.rte-bar button,.tabs button,.contact-links a,.back,.icon-btn{position:relative;overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent}.btn:after,.nav a:after,.nav .link-btn:after,.theme-btn:after,.tags a:after,.tags-toggle:after,.pager button:after,.social a:after,.rte-bar button:after,.tabs button:after,.contact-links a:after,.back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;pointer-events:none;transition:opacity .15s var(--ease);z-index:-1}.btn:hover:after,.nav a:hover:after,.nav .link-btn:hover:after,.theme-btn:hover:after,.tags a:hover:after,.tags-toggle:hover:after,.pager button:hover:not(:disabled):after,.social a:hover:after,.rte-bar button:hover:not(:disabled):after,.tabs button:hover:after,.contact-links a:hover:after,.back:hover:after{opacity:.08}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;pointer-events:none;transform:scale(0);animation:ripple .55s var(--ease) forwards;z-index:-1}@keyframes ripple{to{transform:scale(1);opacity:0}}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);transition:background-color .25s var(--ease),box-shadow .25s var(--ease)}.scrolled .site-header{background:var(--surface);box-shadow:var(--e1)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.site-header{background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.scrolled .site-header{background:color-mix(in srgb,var(--surface) 68%,transparent)}}.header-row{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:1.35rem;color:var(--ink);text-decoration:none;letter-spacing:-.03em}.brand img{width:34px;height:34px}.brand-tagline{font:400 .92rem var(--font-ui);letter-spacing:0;color:var(--ink-soft);padding-left:12px;border-left:1px solid var(--line);white-space:nowrap}.nav{display:flex;align-items:center;gap:4px;font:500 .92rem var(--font-ui);flex-wrap:wrap;justify-content:flex-end}.nav a,.nav .link-btn{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--r-full);color:var(--ink-soft);text-decoration:none}.nav a:hover,.nav .link-btn:hover{color:var(--ink);text-decoration:none}.nav a.active{background:var(--tonal);color:var(--ink);font-weight:600}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--ink-soft);cursor:pointer}.link-btn:hover{color:var(--ink);text-decoration:underline}.link-btn.danger{color:var(--danger)}.theme-btn{display:grid;place-items:center;width:40px;height:40px;margin-left:4px;border:0;background:none;color:var(--ink);border-radius:50%;cursor:pointer}@media(max-width:760px){.brand-tagline{display:none}}.nav-mobile{display:none;align-items:center;gap:2px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;right:0;z-index:41;width:min(320px,86vw);display:flex;flex-direction:column;padding:12px 12px max(16px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:var(--r-2xl) 0 0 var(--r-2xl);box-shadow:var(--e3);transform:translate(105%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s linear .3s}.drawer.open{transform:none;visibility:visible;transition:transform .3s var(--ease)}.drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 0 0 12px}.drawer-head .brand{font-size:1.25rem}.drawer-tagline{margin:0 12px 12px;font:400 .88rem var(--font-ui);color:var(--ink-soft)}.drawer-nav{display:grid;gap:2px;padding-top:12px;border-top:1px solid var(--line)}.drawer-nav a,.drawer-item{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:0 18px;border:0;border-radius:var(--r-full);background:none;font:500 .98rem var(--font-ui);color:var(--ink);text-decoration:none;text-align:left;cursor:pointer}.drawer-nav a svg,.drawer-item svg{flex:none;color:var(--ink-soft)}.drawer-nav a:hover,.drawer-item:hover{background:var(--state)}.drawer-nav a.active{background:var(--tonal);font-weight:650}.drawer-nav a.active svg{color:var(--ink)}.drawer-section{margin:14px 18px 4px;font:500 .78rem var(--font-ui);color:var(--ink-soft)}.drawer-foot{display:grid;gap:2px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.drawer-item.danger,.drawer-item.danger svg{color:var(--danger)}@media(max-width:760px){.nav-desktop{display:none}.nav-mobile{display:flex}.header-row{height:60px}.brand{font-size:1.25rem;gap:8px}.brand img{width:30px;height:30px}}@media(max-width:600px){.hero{margin:12px 0 28px;padding:32px 22px 28px;border-radius:var(--r-2xl);gap:20px}.hero h1{font-size:clamp(2rem,9vw,2.6rem);margin-bottom:14px}.hero .lede{font-size:1.05rem;line-height:1.6}.hero .hero-btn{margin-top:22px;width:100%}.hero-img{max-height:220px}.feature{border-radius:var(--r-2xl);margin-bottom:28px}.feature-body{padding:12px 8px}.feature h2{font-size:1.5rem}.feature-read{width:100%}.toolbar{padding-bottom:16px}.search{width:100%}.tag-filter{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px;scrollbar-width:none;scroll-snap-type:x proximity}.tag-filter::-webkit-scrollbar{display:none}.tag-filter li{flex:none;scroll-snap-align:start}.post-list{gap:12px}.post-row{border-radius:var(--r-xl)}.post-row h3{font-size:1.15rem}.post-head h1{font-size:2rem}.post-hero{margin-bottom:28px}.post-hero img{border-radius:var(--r-xl)}.project-links .btn{flex:1}.prose{font-size:1.06rem}.prose pre{margin-left:-4px;margin-right:-4px;padding:14px 16px;font-size:.82rem}.admin-head{padding-top:20px}.admin-head .btn{width:100%}.panel{padding:18px;border-radius:var(--r-l)}.settings-save{border-radius:var(--r-l);bottom:8px}.contact-email a{padding:12px 18px}.footer{flex-direction:column-reverse;align-items:flex-start}.footer .subscribe-foot{order:9;flex:none;width:100%}}.btn,.pager button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 24px;border:1px solid var(--outline);border-radius:var(--r-full);background:transparent;color:var(--ink);font:500 .92rem var(--font-ui);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:box-shadow .2s var(--ease),background-color .2s var(--ease)}.btn:hover{text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{box-shadow:var(--e1)}.btn.tonal{background:var(--tonal);border-color:transparent}.btn:disabled,.pager button:disabled{opacity:.38;cursor:default;box-shadow:none}input,textarea,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--outline);border-radius:var(--r-s);background:transparent;color:var(--ink);font:400 1rem var(--font-ui);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}textarea{line-height:1.5}input:hover,textarea:hover,select:hover{border-color:var(--ink)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:44px;background:var(--surface) var(--select-arrow) no-repeat right 12px center / 24px 24px}select option,select optgroup{background:var(--surface);color:var(--ink)}select:disabled{opacity:.5;cursor:default}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}input[type=file]{min-height:0;padding:8px;font-size:.88rem;border-style:dashed}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}label,.field{display:grid;gap:8px;font:500 .9rem var(--font-ui)}.field-label{font-weight:500}.form{display:grid;gap:18px}.form small,.field small{font:400 .82rem var(--font-ui)}label.check{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}label.check input{width:18px}.panel{background:var(--surface);border-radius:var(--r-xl);padding:24px;box-shadow:var(--e1)}.panel h2{font-size:1.25rem;margin:0}.notice{position:fixed;left:50%;bottom:24px;z-index:50;margin:0;max-width:calc(100vw - 32px);padding:14px 20px;border-radius:var(--r-xs);background:var(--ink);color:var(--on-ink);font:500 .92rem var(--font-ui);box-shadow:var(--e3);transform:translate(-50%);animation:snackbar 4.5s var(--ease) forwards;pointer-events:none}@keyframes snackbar{0%{opacity:0;transform:translate(-50%,16px)}6%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%);visibility:hidden}}.hero{display:grid;gap:32px;align-items:center;margin:24px 0 40px;padding:40px 28px;background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-edge);border-radius:32px;overflow:hidden}.hero h1{color:inherit;font-size:clamp(2.3rem,6vw,4.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.03;margin-bottom:18px;font-variation-settings:"opsz" 96;max-width:14em}.hero .lede{font-size:1.2rem;color:var(--hero-soft);max-width:36em;margin:0}.hero .hero-btn{margin-top:28px;min-height:48px;padding:0 28px;font-size:1rem;color:#fff;--hero-btn-deep: color-mix(in srgb, var(--hero-btn-bg) 60%, #000);background:var(--hero-btn-deep);border-color:var(--hero-btn-deep);background:oklch(from var(--hero-btn-bg) min(l,.5) c h);border-color:oklch(from var(--hero-btn-bg) min(l,.5) c h)}.hero-img{width:100%;max-height:380px;object-fit:contain}@media(min-width:720px){.hero{padding:64px 56px}}@media(min-width:860px){.hero.has-image{grid-template-columns:1.3fr 1fr}}.hero-term{position:relative;isolation:isolate}.hero-term:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(90% 80% at 100% 0%,#000 0%,transparent 75%);mask-image:radial-gradient(90% 80% at 100% 0%,#000 0%,transparent 75%)}.hero-term:after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-140px;top:-200px;pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.1),transparent);filter:blur(10px)}.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:6px 14px 6px 12px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-full);font:500 .8rem var(--font-code);color:var(--hero-soft);background:#ffffff0a}.hero-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffff80;animation:hero-pulse 2.4s ease-out infinite}@keyframes hero-pulse{0%{box-shadow:0 0 #ffffff73}70%,to{box-shadow:0 0 0 9px #fff0}}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-actions .hero-btn{margin-top:0}.hero .hero-btn-ghost{min-height:48px;padding:0 24px;font-size:1rem;background:transparent;color:var(--hero-ink);border-color:#ffffff47}.hero .hero-btn-ghost:hover{background:#ffffff14;border-color:#ffffff80}.hero-terminal{margin:0;min-width:0;border-radius:var(--r-xl);overflow:hidden;background:#0a0a0ab8;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px -20px #000000b3,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-terminal{position:relative;isolation:isolate}.hero-terminal-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:var(--term-bg-opacity, .35);filter:blur(var(--term-bg-blur, 0px))}.hero-terminal.has-blur .hero-terminal-bg{transform:scale(1.1)}.hero-terminal.has-bg pre{text-shadow:0 1px 2px rgba(0,0,0,.8)}.hero-terminal-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0a}.hero-terminal-bar i{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4)}.hero-terminal-bar span{margin-left:auto;font:500 .75rem var(--font-code);color:#ffffff80}.hero-terminal pre{margin:0;padding:20px 22px 24px;min-height:15.5em;font:400 .88rem/1.85 var(--font-code);color:#ededed;background:none;white-space:pre-wrap;overflow-wrap:anywhere}.hero-terminal .t-step{display:block}.hero-terminal .t-prompt{color:#ffffff80}.hero-terminal .t-soft{color:#ffffff8c}.hero-terminal .t-out{display:block;margin-bottom:10px}.hero-terminal .t-row{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-terminal a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff4d;text-underline-offset:3px}.hero-terminal a:hover{text-decoration-color:#fff}.hero-terminal a:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px}.t-cursor{display:inline-block;width:.6em;height:1.15em;margin-left:1px;vertical-align:-.2em;background:#ededed;animation:t-blink 1.05s steps(1) infinite}@keyframes t-blink{50%{opacity:0}}@media(min-width:960px){.hero-term{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}}@media(max-width:600px){.hero-kicker{margin-bottom:16px}.hero-actions{margin-top:22px}.hero-actions .btn{flex:1 1 auto;white-space:nowrap;padding:0 18px}.hero-terminal pre{font-size:.78rem;padding:16px;min-height:13.5em}}@media(prefers-reduced-motion:reduce){.hero-dot,.t-cursor{animation:none}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:8px 0 24px}.search{position:relative;width:340px;max-width:100%}.search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--ink-soft);pointer-events:none}.search input{height:52px;padding-left:52px;border:0;border-radius:var(--r-full);background:var(--surface-2)}.search input:hover{box-shadow:var(--e1)}.search input:focus{background:var(--surface);box-shadow:var(--e2)}.filter-note{font-family:var(--font-ui);margin-top:0}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;font:500 .85rem var(--font-ui)}.tags a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-s);color:var(--ink-soft);text-decoration:none}.tags a:hover{color:var(--ink)}.tag-filter a.active{background:var(--tonal);border-color:transparent;color:var(--ink);padding-left:8px}.tag-filter a.active:before{content:"";width:16px;height:16px;margin-right:6px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat}.feature .tags a,.post-row .tags a,.post-head .tags a{height:28px;padding:0 10px;font-size:.8rem}.tags-more{display:inline-flex;align-items:center;height:28px;padding:0 6px;color:var(--ink-soft);font-size:.82rem;cursor:default}.thumb{aspect-ratio:16 / 9;background:var(--surface-2);overflow:hidden;border-radius:var(--r-l);position:relative}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.thumb-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:800 3rem var(--font-head);color:var(--tonal);text-transform:uppercase}.meta{font:400 .86rem var(--font-ui);color:var(--ink-soft);margin:0 0 8px}.feature{display:grid;gap:8px;background:var(--surface);border-radius:var(--r-2xl);padding:12px;margin:0 0 40px;box-shadow:var(--e1);transition:box-shadow .25s var(--ease)}.feature:hover{box-shadow:var(--e2)}.feature:hover .thumb img{transform:scale(1.02)}.feature .thumb{border-radius:20px}.feature-body{padding:16px 16px 20px}.feature h2{font-size:clamp(1.6rem,3vw,2.2rem)}.feature-body p{margin:0 0 16px}.feature .meta:first-letter{text-transform:uppercase}.feature-read{margin-top:20px}@media(min-width:820px){.feature{grid-template-columns:1.35fr 1fr;align-items:center;gap:24px}.feature .thumb{aspect-ratio:16 / 10}.feature-body{padding:16px 24px 16px 0}}.post-list{display:grid;gap:16px}.post-row{display:grid;grid-template-columns:1fr;gap:16px;padding:12px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);transition:box-shadow .25s var(--ease)}.post-row:hover{box-shadow:var(--e2)}.post-row:hover .thumb img{transform:scale(1.03)}.post-row>div:last-child{padding:4px 8px 8px}.post-row h3{margin-bottom:6px}.post-row p{margin:0 0 12px;color:var(--ink-soft)}.row-foot{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.row-foot .meta{margin:0}@media(min-width:640px){.post-row{grid-template-columns:240px 1fr;gap:20px;align-items:center}.post-row>div:last-child{padding:8px 12px 8px 0}}.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px;font-family:var(--font-ui)}.back{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 16px 0 10px;margin:24px 0 16px -10px;border-radius:var(--r-full);font:500 .92rem var(--font-ui);color:var(--ink);text-decoration:none}.back:before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11H7.8l5.6-5.6L12 4l-8 8 8 8 1.4-1.4L7.8 13H20z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11H7.8l5.6-5.6L12 4l-8 8 8 8 1.4-1.4L7.8 13H20z'/%3E%3C/svg%3E") center / contain no-repeat}.post-head{margin-bottom:32px}.post-head h1{font-size:clamp(2.1rem,5vw,3.2rem);font-weight:800;letter-spacing:-.025em}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.post-hero{margin:0 0 40px}.post-hero img{width:100%;border-radius:var(--r-2xl);box-shadow:var(--e1)}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-s);font:500 .76rem var(--font-ui);border:1px solid var(--line);color:var(--ink-soft)}.badge.published{background:var(--tonal);border-color:transparent;color:var(--ink)}.badge.published:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}.badge.draft{border-style:dashed}.badge.role-admin{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.badge.featured{margin-left:6px;background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.post-head .badge{margin-bottom:12px}.prose{font-size:1.125rem;line-height:1.75;overflow-wrap:anywhere}.prose h2{margin-top:1.8em}.prose h3{margin-top:1.5em}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.2em}.prose blockquote{margin-left:0;padding:12px 20px;border-radius:var(--r-l);background:var(--surface-2);color:var(--ink-soft);font-style:italic}.prose img{border-radius:var(--r-l)}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.prose .table-scroll{margin:0 0 1.4em;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);-webkit-overflow-scrolling:touch}.prose table{width:100%;margin:0;border-collapse:collapse;font:400 .94rem/1.55 var(--font-ui);overflow-wrap:normal;word-break:normal}.prose thead th{background:var(--surface-2);font-weight:600;font-size:.86rem;color:var(--ink);white-space:nowrap}.prose th,.prose td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:hover{background:var(--state)}.prose td:first-child,.prose th:first-child{white-space:nowrap;font-weight:600}.prose td:first-child{min-width:7em}.prose td code{white-space:nowrap}.prose td{min-width:10em}.prose td:only-child{min-width:0}.prose :not(pre)>code{font-family:var(--font-code);font-size:.86em;background:var(--surface-2);padding:2px 6px;border-radius:var(--r-xs)}.prose pre{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;overflow-x:auto;font-size:.88rem;line-height:1.6}.prose pre code{font-family:var(--font-code);background:none;padding:0}.hljs-comment,.hljs-quote{color:var(--ink-soft);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-type{color:#6a3fb5}.hljs-string,.hljs-attr-value,.hljs-template-tag,.hljs-addition{color:#1d7a52}.hljs-number,.hljs-literal,.hljs-symbol{color:#b25a00}.hljs-title,.hljs-function .hljs-title,.hljs-title.function_{color:#1f5fbf}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-property{color:#a3305c}.hljs-meta,.hljs-deletion{color:var(--danger)}:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-type{color:#c7a0ff}:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-addition{color:#8fdcab}:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-literal{color:#f5c36b}:root[data-theme=dark] .hljs-title,:root[data-theme=dark] .hljs-title.function_{color:#8ec2ff}:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-variable,:root[data-theme=dark] .hljs-property{color:#ff9ec4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hljs-keyword,:root:not([data-theme=light]) .hljs-built_in{color:#c7a0ff}:root:not([data-theme=light]) .hljs-string{color:#8fdcab}:root:not([data-theme=light]) .hljs-number,:root:not([data-theme=light]) .hljs-literal{color:#f5c36b}:root:not([data-theme=light]) .hljs-title,:root:not([data-theme=light]) .hljs-title.function_{color:#8ec2ff}:root:not([data-theme=light]) .hljs-attr,:root:not([data-theme=light]) .hljs-variable,:root:not([data-theme=light]) .hljs-property{color:#ff9ec4}}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:32px 0 24px}.admin-head h1{margin:0 0 4px}.admin-head p{margin:0;font-family:var(--font-ui)}.table-wrap{overflow-x:auto;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1)}.table{width:100%;border-collapse:collapse;font:400 .94rem var(--font-ui)}.table th{text-align:left;font-weight:500;color:var(--ink-soft);font-size:.82rem;padding:14px 16px;border-bottom:1px solid var(--line)}.table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr{transition:background-color .15s var(--ease)}.table tbody tr:hover{background:var(--state)}.table tr:last-child td{border-bottom:0}.table td a{text-decoration:none;font-weight:500}.table td a:hover{text-decoration:underline}.cell-thumb{width:88px}.cell-thumb .thumb{width:64px;border-radius:var(--r-s)}.cell-thumb .thumb-empty{font-size:1.2rem}.actions{text-align:right;white-space:nowrap}.editor{display:grid;gap:24px;margin-top:8px}.editor-main,.editor-side{display:grid;gap:18px;align-content:start}@media(min-width:900px){.editor{grid-template-columns:1fr 330px}.editor-side{position:sticky;top:84px}}.content-field{display:grid;gap:12px}.tabs{display:inline-flex;align-items:center;justify-self:start;border:1px solid var(--outline);border-radius:var(--r-full);overflow:hidden;font-family:var(--font-ui)}.tabs button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 20px;background:none;border:0;font:500 .9rem var(--font-ui);color:var(--ink);cursor:pointer}.tabs button+button{border-left:1px solid var(--outline)}.tabs button[aria-selected=true]{background:var(--tonal)}.tabs button[aria-selected=true]:before{content:"✓";font-size:.85rem}.tabs .hint{display:none}.content-input{font-family:var(--font-code);font-size:.92rem;line-height:1.6;resize:vertical;min-height:380px;border-radius:var(--r-l);background:var(--surface)}.preview-box{background:var(--surface);border-radius:var(--r-l);padding:20px;min-height:360px;box-shadow:var(--e1)}.thumb-pick{aspect-ratio:16 / 9;border:1px dashed var(--outline);border-radius:var(--r-m);display:grid;place-items:center;overflow:hidden;background:var(--surface-2);font-weight:400}.thumb-pick img{width:100%;height:100%;object-fit:cover}.editor-actions{display:flex;gap:10px;flex-wrap:wrap}.editor-actions .btn{flex:1}.users-layout{display:grid;gap:24px;align-items:start;margin-top:16px}@media(min-width:960px){.users-layout{grid-template-columns:1fr 340px}}.settings{display:grid;gap:24px;max-width:760px;margin-top:8px}.settings .short input{max-width:120px}.two-col{display:grid;gap:18px}@media(min-width:640px){.two-col{grid-template-columns:1fr 1fr}}.footer{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:32px;font:.88rem var(--font-ui);color:var(--ink-soft)}.footer:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:var(--line)}@media(min-width:720px){.footer:before{left:32px;right:32px}}.social{list-style:none;display:flex;gap:4px;margin:0;padding:0}.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink-soft)}.social a:hover{color:var(--ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation-duration:.01ms!important}.ripple{display:none}.notice{animation:snackbar-static 4.5s steps(1,end) forwards!important;transform:translate(-50%)}}@keyframes snackbar-static{0%{opacity:1}to{opacity:0;visibility:hidden}}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer}.icon-btn:hover{background:var(--state)}.mod-actions .link-btn,.actions .link-btn{font:500 .92rem var(--font-ui)}.post-meta{display:flex;flex-wrap:wrap;gap:4px 0}.post-meta>*+*:before{content:"·";margin:0 8px;color:var(--ink-soft)}.post-meta a{color:var(--ink)}.prose h2,.prose h3{scroll-margin-top:84px;position:relative}.prose .anchor{margin-left:10px;color:var(--ink-soft);text-decoration:none;font-weight:500;opacity:0;transition:opacity .15s var(--ease)}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.prose .anchor:focus{opacity:1}@media(hover:none){.prose .anchor{opacity:.4}}.code-block{margin:0 0 1.4em;border:1px solid var(--line);border-radius:var(--r-l);background:var(--code-bg);overflow:hidden}.code-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 4px 16px;border-bottom:1px solid var(--line);font:500 .78rem var(--font-ui);color:var(--ink-soft)}.code-lang{text-transform:lowercase;letter-spacing:.02em}.code-copy{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:var(--r-full);background:none;color:var(--ink);font:500 .8rem var(--font-ui);cursor:pointer}.code-copy:hover{background:var(--state)}.prose .code-block pre{margin:0;border:0;border-radius:0;background:none}.section-title{font-size:1.3rem;margin:40px 0 16px}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat-tile{display:grid;gap:2px;padding:18px 20px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);font-family:var(--font-ui)}.stat-value{font:750 2rem/1.1 var(--font-head);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{color:var(--ink-soft);font-size:.86rem}.stat-extra{font-size:.82rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-loading{padding-top:40px}@media(max-width:600px){.share{padding:16px}.stat-tiles{grid-template-columns:1fr 1fr}.stat-value{font-size:1.6rem}}.account{position:relative;display:inline-flex;margin-left:4px}.avatar-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}.avatar-btn:hover .avatar,.avatar-btn[aria-expanded=true] .avatar{box-shadow:0 0 0 4px var(--state-2, var(--state))}.avatar-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--on-ink);font:600 .95rem/1 var(--font-ui);-webkit-user-select:none;user-select:none;transition:box-shadow .15s var(--ease)}.avatar-lg{width:48px;height:48px;font-size:1.3rem;flex:none}.account-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(320px,calc(100vw - 24px));background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e3);overflow:hidden;animation:notif-in .18s var(--ease);font-family:var(--font-ui)}.account-head{display:flex;align-items:center;gap:14px;padding:18px 18px 16px;border-bottom:1px solid var(--line)}.account-who{display:grid;gap:2px;min-width:0;flex:1}.account-who strong{font-size:.98rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-who span{font-size:.82rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role{align-self:flex-start;padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-s);font-size:.72rem;font-weight:500;color:var(--ink-soft)}.account-links{display:grid;gap:2px;padding:8px}.account-links a,.account-logout{display:flex;align-items:center;gap:14px;height:42px;padding:0 14px;border:0;border-radius:var(--r-m);background:none;color:var(--ink);font:500 .92rem var(--font-ui);text-decoration:none;cursor:pointer;width:100%;text-align:left}.account-links a svg,.account-logout svg{flex:none;width:20px;height:20px;color:var(--ink-soft)}.account-links a:hover,.account-logout:hover,.account-links a:focus-visible,.account-logout:focus-visible{background:var(--state);outline:none;text-decoration:none}.account-links a.active{background:var(--tonal);font-weight:600}.account-links a.active svg{color:var(--ink)}.account-foot{padding:8px;border-top:1px solid var(--line)}@media(max-width:760px){.account{position:static}.account-panel{left:12px;right:12px;width:auto}}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.post-nav-link{display:flex;align-items:center;gap:16px;padding:14px;min-width:0;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.post-nav-link:hover{text-decoration:none;border-color:var(--outline);box-shadow:var(--e1)}.post-nav-link.next{flex-direction:row-reverse;text-align:right}.post-nav-thumb{flex:none;width:96px}.post-nav-thumb .thumb{border-radius:var(--r-m)}.post-nav-text{display:grid;gap:4px;min-width:0}.post-nav-dir{display:inline-flex;align-items:center;gap:6px;font:500 .82rem var(--font-ui);color:var(--ink-soft)}.post-nav-link.next .post-nav-dir{justify-content:flex-end}.post-nav-title{font:600 1.05rem/1.3 var(--font-head);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:700px){.post-nav{grid-template-columns:1fr}.post-nav>span:empty{display:none}.post-nav-thumb{width:72px}}.post-nav-thumb .thumb-empty{font-size:1.6rem}.list-head{padding:24px 0 8px}.list-head .back{margin-top:0}.list-head h1{margin:0 0 10px;font-size:clamp(2.2rem,5vw,3.4rem)}.list-intro{font-size:1.15rem;color:var(--ink-soft);max-width:40em;margin:0 0 8px}.chip-count{margin-left:8px;font-size:.78rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.cat-chip,.type-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-full);background:var(--tonal);color:var(--ink);font:600 .76rem var(--font-ui);text-decoration:none;letter-spacing:.01em}.cat-chip:hover{text-decoration:none;background:var(--ink);color:var(--on-ink)}.type-chip{background:none;border:1px solid var(--line);color:var(--ink-soft)}.row-kicker:empty{display:none}.row-kicker{margin-bottom:8px}.post-head .cat-chip,.post-head .type-chip{margin-bottom:12px}.post-head .badge.draft{margin-right:8px}.feature-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.home-section{margin:48px 0 0}.home-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.home-section-head h2{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.brand-row{display:flex;align-items:center;gap:12px;min-width:0}.footer-login{color:var(--ink-soft)}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.editor-toolbar .file-btn{min-height:40px;display:inline-flex}.thumb-pick{cursor:pointer}.settings{max-width:860px}.settings h2+.two-col,.settings h2{margin-top:4px}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3em}.users-layout .panel h2{margin:0}.section-title:first-of-type{margin-top:24px}.rte{border-radius:var(--r-l);background:var(--surface);box-shadow:var(--e1)}.rte-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:8px;border-bottom:1px solid var(--line);position:sticky;top:64px;background:var(--surface);z-index:2;border-radius:var(--r-l) var(--r-l) 0 0}.rte-bar button{min-width:34px;height:34px;padding:0 9px;border:0;background:none;color:var(--ink);font:500 .85rem var(--font-ui);border-radius:var(--r-s);cursor:pointer}.rte-bar button.on{background:var(--ink);color:var(--on-ink)}.rte-bar button:disabled{opacity:.3;cursor:default}.rte-bar button code{font-family:var(--font-code);font-size:.8rem}.rte-bar .sep{width:1px;height:20px;background:var(--line);margin:0 4px}.rte-body li p{margin:0}.rte-error{padding:8px 12px 0;font-size:.9rem}.rte-body .tiptap{min-height:420px;padding:24px;outline:none}.rte-body .tiptap>:first-child{margin-top:0}.rte-body .tiptap .is-empty:not(li):before{content:attr(data-placeholder);color:var(--ink-soft);opacity:.7;float:left;height:0;pointer-events:none}.rte-body .tiptap li .is-empty:before,.rte-body .tiptap td .is-empty:before,.rte-body .tiptap th .is-empty:before,.rte-body .tiptap blockquote .is-empty:before{content:none}.rte-body .tiptap img{max-width:100%;height:auto}.rte-body .tiptap img.ProseMirror-selectednode{outline:2px solid var(--ink)}.rte-body .tiptap a{cursor:text}.field .rte{font-weight:400;box-shadow:none;border:1px solid var(--outline)}.field .rte-bar{top:64px}.field .rte-body .tiptap{min-height:260px}.field .rte-body{font:400 1.125rem/1.75 var(--font-body)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.settings-save .notice{bottom:96px}.settings-save{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 12px 12px 20px;background:var(--surface);border-radius:var(--r-full);box-shadow:var(--e3)}.term-bg-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}.term-bg-field .hero-terminal{max-width:420px}.term-bg-field .hero-terminal pre{min-height:0;font-size:.8rem}.term-bg-controls{display:grid;gap:14px}.term-bg-controls input[type=range]{width:100%;accent-color:var(--accent);padding:0;min-height:0;border:0;box-shadow:none;background:none}.range-row{display:flex;justify-content:space-between;gap:8px}@media(max-width:760px){.term-bg-field{grid-template-columns:1fr}}.hero-preview{max-width:280px;max-height:180px;object-fit:contain;border-radius:var(--r-m);background:var(--surface-2)}.row-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.file-btn{display:inline-flex;cursor:pointer}.label-row{display:flex;justify-content:space-between;gap:8px}.counter{font-weight:400;color:var(--ink-soft);font-size:.8rem}.counter.over{color:var(--danger)}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.about-preview{aspect-ratio:4 / 5;max-height:200px;object-fit:cover}.contact-page{padding-top:40px}.contact-hero{max-width:760px;margin-bottom:36px}.contact-hero h1{font-size:clamp(2.4rem,6vw,3.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.03;margin-bottom:14px}.contact-hero .lede{font-size:1.2rem;color:var(--ink-soft);margin:0 0 .6em}.contact-grid{display:grid;gap:24px;align-items:start}@media(min-width:900px){.contact-grid{grid-template-columns:minmax(280px,360px) 1fr;gap:32px}.contact-side{position:sticky;top:88px}.contact-grid.no-form{grid-template-columns:minmax(280px,420px)}}.contact-side{display:grid;gap:16px}.contact-logo-card{margin:0;padding:36px;background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--e1);display:grid;place-items:center}.contact-logo-card img{width:100%;max-width:240px;height:auto}.info-card{display:flex;align-items:center;gap:14px;padding:16px 12px 16px 18px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);font-family:var(--font-ui)}.info-icon{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tonal);color:var(--ink)}.info-body{flex:1;min-width:0;display:grid;gap:1px}.info-label{font-size:.8rem;color:var(--ink-soft)}.info-value{font-weight:600;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.info-value:hover{text-decoration:underline}.info-links{display:grid;gap:6px;padding:16px 10px}.info-links>.info-label{padding:0 10px}.info-links ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.info-links a{display:flex;align-items:center;gap:14px;padding:8px 10px;border-radius:var(--r-l);color:var(--ink);text-decoration:none}.info-links a:hover{background:var(--state)}.info-links a>svg{color:var(--ink-soft)}.info-name{font-weight:600}.info-handle{font-size:.85rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-form-card{padding:28px;border-radius:var(--r-2xl)}@media(min-width:720px){.contact-form-card{padding:36px 40px}}.contact-form h2{font-size:1.6rem;margin:0 0 4px}.form-intro{margin:0;font:.95rem var(--font-ui)}.contact-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contact-submit .btn{min-height:48px;padding:0 28px;font-size:1rem}.contact-sent{display:grid;justify-items:center;text-align:center;gap:8px;padding:48px 16px}.contact-sent h2{margin:8px 0 0;font-size:1.8rem}.contact-sent p{margin:0 0 16px;color:var(--ink-soft);max-width:36em}.sent-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--on-ink);animation:pop .35s var(--ease)}@keyframes pop{0%{transform:scale(.6);opacity:0}}@media(max-width:899px){.contact-logo-card{padding:24px}.contact-logo-card img{max-width:160px}}.two-col.tight{gap:12px}.msg-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.msg{padding:0;overflow:hidden}.msg-head{display:flex;align-items:flex-start;gap:14px;width:100%;padding:16px 20px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font-family:var(--font-ui)}.msg-head:hover{background:var(--state)}.msg-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--tonal);font-weight:600}.msg-summary{flex:1;min-width:0;display:grid;gap:2px}.msg-from{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-subject{font-weight:500}.msg.unread .msg-subject,.msg.unread .msg-from{font-weight:700}.msg.unread{box-shadow:var(--e1),inset 3px 0 0 var(--ink)}.msg-preview{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-date{flex:none;font-size:.8rem}.msg-body{display:grid;gap:12px;padding:0 20px 20px 74px}@media(max-width:600px){.msg-body{padding-left:20px}.msg-date{display:none}}.rte{position:relative}.rte.dragging .rte-body{outline:2px dashed var(--ink);outline-offset:-6px;background:var(--state)}.rte-hint{margin:0;padding:4px 24px 12px;font:.8rem var(--font-ui)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.project-card{display:flex;flex-direction:column;padding:10px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);transition:box-shadow .25s var(--ease)}.project-card:hover{box-shadow:var(--e2)}.project-card:hover .thumb img{transform:scale(1.03)}.project-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:14px 10px 8px}.project-body h3{margin:0;font-size:1.25rem}.project-body p{margin:0;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-body .tags a{height:28px;padding:0 10px;font-size:.8rem}.project-links-sm{display:flex;gap:6px;margin-top:auto;padding-top:6px;border-top:1px solid var(--line)}.project-links-sm a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--r-full);color:var(--ink);font:500 .86rem var(--font-ui);text-decoration:none}.project-links-sm a:hover{background:var(--state);text-decoration:none}@media(max-width:400px){.project-grid{grid-template-columns:1fr}}.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}.posts-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:40px 0 16px}.posts-head .section-title{margin:0}.seg{display:inline-flex;border:1px solid var(--outline);border-radius:var(--r-full);overflow:hidden}.seg button{height:36px;padding:0 16px;border:0;background:none;color:var(--ink);font:500 .88rem var(--font-ui);cursor:pointer}.seg button+button{border-left:1px solid var(--outline)}.seg button.on{background:var(--tonal);font-weight:600}.seg button:hover:not(.on){background:var(--state)}.type-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-pick label{position:relative;display:grid;gap:2px;padding:14px 16px 14px 46px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);cursor:pointer;font-family:var(--font-ui)}.type-pick label.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.type-pick input{position:absolute;left:16px;top:17px;width:18px;height:18px;margin:0;accent-color:var(--accent)}.type-pick strong{font-size:.98rem}.type-pick span{font-size:.82rem;color:var(--ink-soft)}@media(max-width:560px){.type-pick{grid-template-columns:1fr}}.avatar-btn{position:relative}.avatar-dot{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--bg)}.project-links .btn svg{flex:none}.content-field>small{font:.82rem var(--font-ui)}.settings+.account-form{margin-top:24px;max-width:860px}.settings-save .error{margin-right:auto}.rte-body .tiptap pre{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 18px;font-family:var(--font-code);font-size:.88rem}.rte-body .tiptap pre code{background:none;padding:0}.rte-body .tiptap blockquote{margin-left:0}.rte-body .tiptap table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font:400 .94rem/1.55 var(--font-ui)}.rte-body .tiptap th,.rte-body .tiptap td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.rte-body .tiptap th{background:var(--surface-2);font-weight:600}.rte-body .tiptap td p,.rte-body .tiptap th p{margin:0}.rte-body .tiptap .selectedCell{background:var(--state-2)}.perma-list{display:grid;gap:8px}.form label.perma-opt{display:grid;grid-template-columns:auto minmax(140px,180px) 1fr;align-items:center;gap:4px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-m);cursor:pointer;font-weight:400;transition:border-color .15s,background-color .15s}.form label.perma-opt.on{border-color:var(--ink);background:var(--tonal)}.perma-opt input[type=radio]{margin:0;width:auto}.perma-opt strong{font-weight:500}.perma-opt code{font-size:.85rem;overflow-wrap:anywhere;color:var(--ink-soft)}.perma-custom{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.perma-custom .muted{font-size:.85rem}.perma-custom input{flex:1;min-width:180px;font-family:var(--font-code);font-size:.9rem}.perma-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-btn:hover{background:var(--state)}.chip-btn{font:inherit;font-family:var(--font-code);font-size:.8rem;padding:4px 10px;border-radius:var(--r-s);cursor:pointer;border:1px solid var(--line);background:transparent;color:inherit}.chip-btn.on{background:var(--ink);color:var(--on-ink);border-color:transparent}.perma-example{flex-basis:100%;font-size:.85rem;overflow-wrap:anywhere}.settings h3{margin:8px 0 0;font-size:1rem}@media(max-width:640px){.form label.perma-opt{grid-template-columns:auto 1fr}.perma-opt code,.perma-custom{grid-column:2}}.seo-panel{padding:0}.seo-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;font:600 1.05rem var(--font-head)}.seo-panel>summary::-webkit-details-marker{display:none}.seo-panel>summary:after{content:"▾";color:var(--ink-soft);margin-left:4px;transition:transform .2s var(--ease)}.seo-panel:not([open])>summary:after{transform:rotate(-90deg)}.seo-summary-title{margin-right:auto}.seo-panel>:not(summary){margin:0 20px 20px}.seo-score{font:500 .8rem var(--font-ui);padding:4px 10px;border-radius:var(--r-full);background:var(--tonal);display:inline-flex;align-items:center;gap:6px}.seo-score:before,.seo-checks li:before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--warn)}.seo-score.good:before,.seo-checks li.good:before{background:var(--ok)}.seo-score.bad:before,.seo-checks li.bad:before{background:var(--danger)}.seo-preview-label{display:block;font:500 .8rem var(--font-ui);margin-bottom:6px}.serp{display:grid;gap:2px;padding:14px 16px;border-radius:var(--r-m);background:var(--surface-2);font-family:Arial,system-ui,sans-serif;overflow-wrap:anywhere}.serp-url{font-size:.8rem;color:var(--ink-soft)}.serp-title{font-size:1.15rem;color:#1a0dab;line-height:1.3}.serp-desc{font-size:.87rem;color:var(--ink-soft);line-height:1.5}:root[data-theme=dark] .serp-title{color:#8ab4f8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .serp-title{color:#8ab4f8}}.seo-fields{display:grid;gap:16px}.seo-count{display:grid;gap:4px;margin-top:2px}.seo-meter{display:block;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.seo-meter>span{display:block;height:100%;background:var(--warn);transition:width .2s var(--ease)}.seo-meter.good>span{background:var(--ok)}.seo-meter.bad>span{background:var(--danger)}.seo-checks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:.9rem var(--font-ui)}.seo-checks li{display:flex;align-items:baseline;gap:10px}.seo-checks li:before{transform:translateY(-1px)}.og-card{display:grid;grid-template-columns:140px 1fr;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin:6px 0 10px;font:.85rem var(--font-ui);max-width:520px}.og-card img,.og-noimg{width:100%;height:100%;min-height:80px;aspect-ratio:1.91;object-fit:cover;background:var(--surface-2);display:grid;place-items:center}.og-card>div{display:grid;gap:2px;padding:10px 12px;align-content:center;min-width:0}.og-card strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seo-advanced>summary{cursor:pointer;font:500 .9rem var(--font-ui);color:var(--ink-soft)}.seo-advanced[open]{display:grid;gap:14px}@media(max-width:520px){.og-card{grid-template-columns:1fr}}.sep-btn{min-width:40px;font-size:1rem}.seo-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;font:.88rem var(--font-ui)}.og-preview{aspect-ratio:1.91;object-fit:cover}textarea.mono{font-family:var(--font-code);font-size:.88rem}.comments{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}.comments>h2{font-size:1.5rem;margin-bottom:20px}.comment-list{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:12px}.comment{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 18px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1)}.comment-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--tonal);font:600 1rem var(--font-ui)}.comment-main{min-width:0}.comment-meta{margin:0 0 4px;font:400 .9rem var(--font-ui)}.comment-text{margin:0;white-space:pre-line;overflow-wrap:anywhere;font-size:1rem;line-height:1.65}.comment-form h3{margin:0}.optional{font-weight:400}.captcha-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.captcha-box{display:flex;align-items:center;gap:4px}.captcha-box img{border-radius:var(--r-s);border:1px solid var(--line);background:#f5f5f5}.captcha-input{flex:1;min-width:160px;max-width:240px}.captcha-input input{text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-code)}.filter-tabs{margin-bottom:20px}.mod-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.mod-item{display:grid;gap:12px;padding:18px 20px}.mod-head{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-ui)}.mod-head .meta{margin:2px 0 0}.mod-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.mod-actions .btn{min-height:36px;padding:0 18px}@media(max-width:600px){.comment{padding:14px;gap:12px}.captcha-input{max-width:none}}.comment.reply{margin-left:54px}.comment-meta .badge-author{font:600 .72rem var(--font-ui);padding:2px 8px;border-radius:var(--r-full);background:var(--ink);color:var(--on-ink);margin-left:6px;vertical-align:1px}.comment-actions{margin-top:6px;display:flex;gap:14px;font:500 .85rem var(--font-ui)}.comment-actions .link-btn{font:inherit}.comment-actions{align-items:center}.like-btn{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px 0 8px;margin-left:-8px;border:0;border-radius:var(--r-full);background:none;color:var(--ink-soft);font:inherit;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.like-btn:hover{background:var(--surface-2);color:var(--ink)}.like-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.like-btn.on{color:var(--ink);font-weight:600}.like-btn.on svg{animation:like-pop .35s var(--ease)}.like-btn span{font-variant-numeric:tabular-nums}@keyframes like-pop{0%{transform:scale(1)}45%{transform:scale(1.3)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.like-btn.on svg{animation:none}}.replying-to{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--r-m);background:var(--tonal);font:.9rem var(--font-ui)}.comments-closed{margin:0;padding:14px 16px;border-radius:var(--r-m);background:var(--surface-2);font-family:var(--font-ui)}.mod-item.reply-box textarea{width:100%}.comment-count-link{color:inherit}@media(max-width:600px){.comment.reply{margin-left:24px}}.check-group{display:flex;flex-wrap:wrap;gap:8px 24px;padding-left:30px}.inline-field{display:flex;align-items:center;gap:10px;font-weight:400}.inline-field input{max-width:110px}.cell-sub{font:.85rem var(--font-ui)}.role-chip{display:inline-block;justify-self:start;font:600 .72rem var(--font-ui);letter-spacing:.02em;padding:3px 10px;border-radius:var(--r-full);background:var(--tonal);color:var(--ink)!important}.role-chip.admin{background:var(--ink);color:var(--on-ink)!important}.account-who .role-chip{margin-top:4px}.user-form{margin-bottom:24px;max-width:860px}.danger-btn{background:var(--danger);color:#fff;border-color:transparent}:root[data-theme=dark] .danger-btn{color:#000}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .danger-btn{color:#000}}.code-input{font-family:var(--font-code);font-size:1.3rem;letter-spacing:.25em;max-width:220px}.login-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font:500 .9rem var(--font-ui)}.settings-note{margin-top:24px;font-family:var(--font-ui)}.inline-form{display:grid;gap:12px;max-width:420px}.section-head h2{display:flex;align-items:center;gap:8px}.tfa-setup{display:grid;gap:14px}.tfa-steps{margin:0;padding-left:22px;display:grid;gap:4px;font-family:var(--font-ui)}.tfa-qr-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.tfa-qr{width:180px;height:180px;padding:8px;background:#fff;border-radius:var(--r-m);border:1px solid var(--line)}.tfa-qr svg{width:100%;height:100%;display:block}.tfa-key{display:grid;gap:6px;min-width:0;font-family:var(--font-ui)}.tfa-key code{font-size:1rem;letter-spacing:.08em;overflow-wrap:anywhere;padding:8px 10px;background:var(--code-bg);border-radius:var(--r-s)}.tfa-key .link-btn{justify-self:start;font-size:.88rem}.backup-box{display:grid;gap:12px;padding:16px;border-radius:var(--r-m);background:var(--surface-2)}.backup-box p{margin:0}.backup-codes{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.backup-codes code{display:block;text-align:center;padding:8px;font-size:1rem;background:var(--surface);border-radius:var(--r-s);letter-spacing:.05em}.stats-grid{display:grid;gap:16px}@media(min-width:960px){.stats-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.stats-grid>*,.top-list>li{min-width:0}.stats-h{font-size:1.05rem;margin:0 0 12px}.stats-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.stats-head .stats-h{margin:0}.mini-tabs button{height:32px;padding:0 12px;font-size:.8rem}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--ink-soft);font:400 13px var(--font-ui)}.chart .bar{fill:var(--ink);opacity:.85;transition:opacity .12s}.chart .bar.on{opacity:1}.chart:hover .bar:not(.on){opacity:.45}.chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 8px));display:grid;padding:6px 10px;border-radius:var(--r-s);background:var(--ink);color:var(--on-ink);font:400 .8rem var(--font-ui);white-space:nowrap;pointer-events:none;box-shadow:var(--e2)}.chart-tip .tip-day{opacity:.7;font-size:.75rem}.top-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-family:var(--font-ui)}.top-row{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.top-row a{color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-row a:hover{text-decoration:underline}.top-row span{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.top-bar{height:6px;margin-top:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.top-bar span{display:block;height:100%;border-radius:3px;background:var(--ink)}.stats{display:grid;gap:16px;margin-bottom:32px}.stats .stat-tiles{margin-bottom:0}.stats .panel{padding:20px;min-width:0}.top-row a{flex:1;min-width:0}.top-row .type-chip.sm{font-size:.68rem;padding:1px 8px;margin-left:6px;flex:none}.top-row{align-items:center}.row-icons{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.icon-action{position:relative;display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer;text-decoration:none!important;transition:background-color .15s var(--ease),color .15s var(--ease)}.icon-action:hover,.icon-action:focus-visible{background:var(--state-2);color:var(--ink)}.icon-action.danger:hover,.icon-action.danger:focus-visible{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.icon-action:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.icon-action:after{content:attr(data-tip);position:absolute;right:calc(100% + 4px);top:50%;transform:translate(4px,-50%);padding:4px 8px;border-radius:var(--r-xs);background:var(--ink);color:var(--on-ink);font:500 .75rem var(--font-ui);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s,transform .12s;z-index:3}.icon-action:hover:after,.icon-action:focus-visible:after{opacity:1;transform:translateY(-50%)}.table td.actions{padding-top:6px;padding-bottom:6px;width:1%}@media(hover:none){.icon-action:after{display:none}}.related{margin-top:48px}.related>h2{font-size:1.5rem;margin:0 0 16px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-card{position:relative;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);transition:box-shadow .2s var(--ease)}.related-card:hover{box-shadow:var(--e2)}.related-card .thumb{border-radius:0}.related-card .thumb img{transition:transform .3s var(--ease)}.related-card:hover .thumb img{transform:scale(1.03)}.related-body{display:grid;gap:6px;align-content:start;padding:14px 16px 16px}.related-kicker{font:500 .75rem var(--font-ui);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.related-body h3{margin:0;font:650 1.02rem/1.3 var(--font-head);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.related-body h3 a{color:var(--ink);text-decoration:none}.related-body h3 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.related-body h3 a:focus-visible{outline:none}.related-card:has(h3 a:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.related-body .meta{font-size:.8rem}@media(max-width:720px){.related-grid{grid-template-columns:1fr}.related-card{grid-template-columns:120px 1fr;grid-template-rows:none}.related-card .thumb{height:100%;aspect-ratio:auto;min-height:90px}}.toc{margin:0 0 40px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface)}.toc summary{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;list-style:none;font:500 1rem var(--font-ui);color:var(--ink);border-radius:var(--r-l)}.toc summary::-webkit-details-marker{display:none}.toc summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.toc-count{margin-left:auto;font-size:.84rem;font-weight:400;color:var(--ink-soft)}.toc-chevron{color:var(--ink-soft);transition:transform .2s var(--ease)}.toc[open] .toc-chevron{transform:rotate(180deg)}.toc nav{padding:4px 12px 14px;border-top:1px solid var(--line)}.toc ol{list-style:none;margin:0;padding:8px 0 0;counter-reset:toc}.toc li{counter-increment:toc}.toc li.sub{counter-increment:none}.toc a{display:flex;gap:12px;padding:7px 12px;border-radius:var(--r-s);color:var(--ink-soft);text-decoration:none;font:400 .95rem/1.4 var(--font-ui);border-left:2px solid transparent}.toc li:not(.sub)>a:before{content:counter(toc);min-width:1.2em;color:var(--ink-soft);font-variant-numeric:tabular-nums}.toc li.sub>a{padding-left:44px;font-size:.9rem}.toc a:hover{background:var(--surface-2);color:var(--ink)}.toc a.active{color:var(--ink);font-weight:500;border-left-color:var(--accent);background:var(--surface-2)}@media(prefers-reduced-motion:reduce){.toc-chevron{transition:none}}@media(max-width:600px){.toc summary{padding:12px 16px}.toc nav{padding:4px 6px 10px}.toc li.sub>a{padding-left:36px}}.share{margin-top:48px;padding:20px 24px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1)}.share-title{margin:0 0 14px;font-size:1.05rem}.share-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.share-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-s);background:none;color:var(--ink);font:500 .85rem var(--font-ui);text-decoration:none;cursor:pointer}.share-btn:hover{background:var(--state);text-decoration:none}.share-btn.primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}@media(max-width:600px){.share{padding:16px}}.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:var(--r-2xl);background:var(--surface);color:var(--ink);box-shadow:0 24px 64px #00000059;overflow:hidden}.modal-s{width:min(420px,calc(100vw - 32px))}.modal::backdrop{background:#00000080}.modal[open]{display:flex;animation:modal-in .18s var(--ease)}.modal[open]::backdrop{animation:fade-in .18s var(--ease)}.modal-box{display:flex;flex-direction:column;width:100%;max-height:inherit}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 12px 8px 24px}.modal-head h2{margin:0;font-size:1.3rem}.modal-body{padding:4px 24px 24px;overflow-y:auto}.modal-body>p{margin:0;color:var(--ink-soft);font-family:var(--font-ui)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 20px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.modal[open],.modal[open]::backdrop{animation:none}}@media(max-width:600px){.modal-head{padding-left:16px}.modal-body{padding:4px 16px 20px}.modal-foot{padding:0 16px 16px}}.cat-list{list-style:none;margin:0 0 20px;padding:0;border:1px solid var(--line);border-radius:var(--r-l)}.cat-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 8px 6px 16px;font-family:var(--font-ui)}.cat-list li+li{border-top:1px solid var(--line)}.cat-list li.editing{background:var(--surface-2)}.cat-name{display:flex;flex-direction:column;min-width:0}.cat-name small{font-size:.8rem}.cat-confirm{font-size:.92rem}.cat-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.cat-form h3{margin:0;font-size:1.05rem}.cat-form{padding-top:4px}.rte-top{position:sticky;top:64px;z-index:3;background:var(--surface);border-bottom:1px solid var(--line);border-radius:var(--r-l) var(--r-l) 0 0}.rte-top .rte-bar{position:static;border-bottom:0;border-radius:inherit}.field .rte-top{top:64px}.rte-bar button{display:inline-grid;place-items:center}.rte-bar button.wide,.rte-sub button{min-width:0;padding:0 10px;font-size:.82rem}.rte-spacer{flex:1}.rte-block{height:34px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:var(--r-s);background-color:var(--surface);color:var(--ink);font:500 .85rem var(--font-ui);cursor:pointer;width:auto}.rte-block:disabled{opacity:.4;cursor:default}.rte-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:6px 10px;border-top:1px solid var(--line);background:var(--surface-2);font:400 .85rem var(--font-ui)}.rte-sub .sep{width:1px;height:18px;background:var(--line);margin:0 4px}.rte-sub button{height:30px;border:0;background:none;color:var(--ink);border-radius:var(--r-s);cursor:pointer;font:500 .82rem var(--font-ui)}.rte-sub button:hover{background:var(--state)}.rte-sub .btn{height:32px;padding:0 14px}.rte-sub .btn.primary{background:var(--ink);color:var(--on-ink)}.rte-sub .btn.primary:hover{background:var(--ink);opacity:.9}.rte-sub .danger{color:var(--danger)}.rte-sub-title{font-weight:600;margin-right:4px}.rte-sub-hint{font-size:.8rem;margin-left:auto}.rte-inline-label{display:inline-flex;align-items:center;gap:8px;font-weight:500;margin:0}.rte-inline-label select{height:30px;width:auto;padding:0 28px 0 8px;font:400 .85rem var(--font-ui)}.rte-linkbar svg{color:var(--ink-soft);flex-shrink:0}.rte-linkbar input{flex:1;min-width:180px;height:32px;padding:0 10px;font:400 .9rem var(--font-ui)}.rte-bubble{display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--r-m);background:var(--surface);box-shadow:var(--e3);border:1px solid var(--line);z-index:30}.rte-bubble button{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:0;border-radius:var(--r-s);background:none;color:var(--ink);font:600 .8rem var(--font-ui);cursor:pointer}.rte-bubble button:hover{background:var(--state)}.rte-bubble button.on{background:var(--ink);color:var(--on-ink)}.rte-bubble .sep{width:1px;height:18px;background:var(--line);margin:0 3px}.rte-image-menu{padding:6px 6px 6px 12px;gap:8px}.rte-alt{display:flex;align-items:center;gap:8px;margin:0;font:500 .82rem var(--font-ui);white-space:nowrap}.rte-alt input{width:260px;height:32px;padding:0 10px;font:400 .88rem var(--font-ui)}.rte-slash{position:fixed;z-index:40;list-style:none;margin:0;padding:6px;width:270px;max-height:320px;overflow-y:auto;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--e3);font-family:var(--font-ui)}.rte-slash li{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:var(--r-s);cursor:pointer}.rte-slash li[aria-selected=true]{background:var(--state-2, var(--surface-2))}.rte-slash li>span:last-child{display:flex;flex-direction:column;line-height:1.25}.rte-slash strong{font-size:.9rem;font-weight:500}.rte-slash small{font-size:.76rem;color:var(--ink-soft)}.rte-slash-icon{position:relative;display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--r-s);border:1px solid var(--line);background:var(--surface-2)}.rte-slash-icon small{position:absolute;right:3px;bottom:1px;font:700 .6rem var(--font-ui);color:var(--ink)}.rte-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 24px 12px;border-top:1px solid var(--line);font:.8rem var(--font-ui)}.rte-count{font-variant-numeric:tabular-nums}kbd{display:inline-block;min-width:1.4em;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-xs);background:var(--surface-2);font:500 .78em var(--font-code);text-align:center;color:var(--ink)}.rte-body .tiptap h4{font-size:1.05rem;margin:1.4em 0 .6em}.rte-body .tiptap ul[data-type=taskList]{list-style:none;padding-left:4px}.rte-body .tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:10px}.rte-body .tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.3em;-webkit-user-select:none;user-select:none}.rte-body .tiptap ul[data-type=taskList] li>label input{width:17px;height:17px;margin:0;accent-color:var(--accent);cursor:pointer}.rte-body .tiptap ul[data-type=taskList] li>div{flex:1;min-width:0}.rte-body .tiptap ul[data-type=taskList] li[data-checked=true]>div{color:var(--ink-soft);text-decoration:line-through}.rte-body .tiptap pre{position:relative}.prose .contains-task-list{list-style:none;padding-left:4px}.prose .task-list-item{display:flex;align-items:flex-start;gap:10px}.prose .task-list-item input{width:17px;height:17px;margin:.35em 0 0;flex-shrink:0;accent-color:var(--accent)}.prose .task-list-item .contains-task-list{width:100%}.prose h4{font-size:1.1rem;margin:1.4em 0 .6em}.rte.full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border-radius:0;box-shadow:none;border:0;display:flex;flex-direction:column;overflow-y:auto}.rte.full .rte-top,.field .rte.full .rte-top{top:0;border-radius:0}.rte.full .rte-body{flex:1}.rte.full .rte-body .tiptap{max-width:780px;margin:0 auto;min-height:100%;padding:40px 24px 80px}.rte.full .rte-foot{position:sticky;bottom:0;background:var(--surface)}.rte-full-open,.rte-full-open body{overflow:hidden}@media(max-width:600px){.rte-foot{padding:8px 14px 10px}.rte-alt input{width:160px}.rte-sub-hint{display:none}}.rte-bar{gap:0;padding:6px 8px}.rte-bar button{min-width:32px;width:32px;height:32px;padding:0}.rte-bar .sep{margin:0 4px}.rte select.rte-block,.rte .rte-inline-label select,.rte .rte-linkbar input,.rte .rte-alt input{min-height:0;border-radius:var(--r-s);background-position:right 4px center;background-size:20px 20px}.rte select.rte-block{height:32px;width:132px;padding:0 26px 0 10px;font:500 .85rem var(--font-ui);border-color:var(--line)}.rte .rte-inline-label select{padding-right:26px}.rte .rte-linkbar input,.rte .rte-alt input{padding:0 10px}.nf{padding-top:40px}.nf-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}.nf-code{margin:0 0 4px;font:800 clamp(5rem,13vw,9rem)/.9 var(--font-head);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--ink);background:repeating-linear-gradient(135deg,var(--ink) 0 2px,transparent 2px 9px);-webkit-background-clip:text;background-clip:text;-webkit-user-select:none;user-select:none}.nf h1{margin:12px 0 10px;font-size:clamp(1.8rem,4vw,2.6rem)}.nf .lede{margin:0 0 24px;max-width:34em}.nf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.nf-actions .btn{display:inline-flex;align-items:center;gap:8px}.nf-search{width:100%;max-width:420px}.nf-term{margin:0;border-radius:var(--r-xl);background:var(--code-bg);border:1px solid var(--line);box-shadow:var(--e2);overflow:hidden}.nf-term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.nf-term-bar i{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--ink-soft)}.nf-term-bar span{margin-left:auto;font:500 .75rem var(--font-code);color:var(--ink-soft)}.nf-term pre{margin:0;padding:20px 22px 24px;font:400 .9rem/1.9 var(--font-code);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.nf-prompt{color:var(--ink-soft);-webkit-user-select:none;user-select:none}.nf-err{color:var(--danger)}.nf-hl{font-weight:700}.nf-term a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.nf-term a:hover{text-decoration-color:var(--ink)}.nf-cursor{display:inline-block;width:.6em;height:1.15em;vertical-align:text-bottom;background:var(--ink);animation:nf-blink 1.1s steps(1) infinite}@keyframes nf-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.nf-cursor{animation:none}}.nf-posts{margin-top:64px}@media(max-width:860px){.nf{padding-top:16px}.nf-hero{grid-template-columns:1fr;gap:28px}.nf-actions .btn{flex:1 1 auto;justify-content:center}.nf-search{max-width:none}.nf-term pre{font-size:.82rem;padding:16px}}.backup-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}.backup-pick label{gap:6px}.backup-pick strong{display:inline-flex;align-items:center;gap:8px}.backup-pick small{font-size:.8rem;margin-top:4px}.backup-help{display:grid;gap:16px}.backup-help .panel{padding:20px 22px}.backup-help h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1.1rem}.backup-help p{margin:0 0 10px;font:400 .92rem/1.5 var(--font-ui)}.backup-help p.small{font-size:.82rem;margin:0}.backup-help code{font-family:var(--font-code);font-size:.85em;background:var(--surface-2);padding:1px 5px;border-radius:var(--r-xs)}.cmd{margin:0 0 12px;padding:12px 14px;border-radius:var(--r-m);background:var(--code-bg);border:1px solid var(--line);font:400 .8rem/1.6 var(--font-code);white-space:pre;overflow-x:auto}.notice-inline{display:flex;align-items:center;gap:8px;margin:0;font:500 .92rem var(--font-ui);color:var(--ok, var(--ink))}@media(max-width:860px){.backup-layout,.backup-pick{grid-template-columns:1fr}}.reading-progress{position:fixed;top:0;left:0;right:0;z-index:25;height:3px;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;will-change:transform}.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;cursor:pointer;background:var(--surface);color:var(--ink);box-shadow:var(--e2);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s,box-shadow .2s var(--ease)}.back-to-top.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}.back-to-top:hover{box-shadow:var(--e3)}.btt-circle{position:relative;display:grid;place-items:center;width:52px;height:52px;flex:none}.btt-circle>svg:not(.btt-ring-svg){position:relative;transition:transform .2s var(--ease)}.back-to-top:hover .btt-circle>svg:not(.btt-ring-svg){transform:translateY(-2px)}.back-to-top:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.back-to-top .btt-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:2.5}.btt-track{stroke:var(--line)}.btt-ring{stroke:var(--ink);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}@media(max-width:600px){.back-to-top{width:46px;height:46px;right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top>svg{transition:none}}@media print{.reading-progress,.back-to-top{display:none}}.callout,.rte-body blockquote[data-callout]{--c: var(--ink);margin:0 0 1.4em;padding:14px 20px 14px 18px;border-left:4px solid var(--c);border-radius:var(--r-s) var(--r-l) var(--r-l) var(--r-s);background:color-mix(in srgb,var(--c) 7%,var(--surface));color:var(--ink);font-style:normal}.callout-tip,.rte-body blockquote[data-callout=tip]{--c: var(--ok)}.callout-warning,.rte-body blockquote[data-callout=warning]{--c: var(--warn)}.callout-caution,.rte-body blockquote[data-callout=caution]{--c: var(--danger)}.rte-body blockquote[data-callout=quote]{--c: var(--accent);background:none;font:600 1.3rem/1.4 var(--font-head);border-radius:0}.rte-body blockquote[data-callout=quote]:before{content:"Pull quote"}.callout>:last-child{margin-bottom:0}.callout-title{display:flex;align-items:center;gap:8px;margin:0 0 6px!important;font:600 .82rem var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--c)}.rte-body blockquote[data-callout]:before{content:attr(data-callout);display:block;margin-bottom:4px;font:600 .78rem var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--c)}.code-bar{gap:8px}.code-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font:600 .8rem var(--font-code);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-title svg{flex:none;color:var(--ink-soft)}.code-block.has-title .code-lang{margin-left:auto}.code-block:not(.has-title) .code-copy,.code-block.has-title .code-copy{margin-left:0}.code-block:not(.has-title) .code-lang{margin-right:auto}.prose pre code.has-lines{display:block;min-width:max-content;counter-reset:line}.prose pre:has(code.has-lines){padding-left:0;padding-right:0}.code-line{display:block;min-height:1lh;padding:0 20px;border-left:3px solid transparent}.code-line.hl{background:color-mix(in srgb,var(--accent) 11%,transparent);border-left-color:var(--accent)}.numbered .code-line{padding-left:12px}.numbered .code-line:before{counter-increment:line;content:counter(line);display:inline-block;width:2.6em;margin-right:16px;padding-right:8px;text-align:right;color:var(--ink-soft);opacity:.6;border-right:1px solid var(--line);-webkit-user-select:none;user-select:none}.numbered .code-line.hl:before{opacity:1;color:var(--ink)}.rte .rte-mini-input{height:30px;min-height:0;width:150px;padding:0 10px;border-radius:var(--r-s);border-color:var(--line);font:400 .85rem var(--font-code)}.rte .rte-mini-input.narrow{width:96px}.rte-check{gap:6px;font-weight:500;cursor:pointer}.rte-check input{width:16px;height:16px;margin:0}.rte-sub button.on{background:var(--ink);color:var(--on-ink)}.rte-body pre[data-meta]:before{content:attr(data-meta);display:block;margin:-6px 0 8px;font:500 .75rem var(--font-ui);color:var(--ink-soft)}.reactions{margin:40px 0 0;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);text-align:center}.reactions-title{margin:0 0 14px;font-size:1.1rem}.reaction-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.reaction{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px 0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink);font:500 .9rem var(--font-ui);cursor:pointer;transition:transform .15s var(--ease),background-color .15s,border-color .15s}.reaction:hover{background:var(--state);border-color:var(--outline)}.reaction:active{transform:scale(.95)}.reaction.on{border-color:var(--ink);background:var(--tonal);box-shadow:inset 0 0 0 1px var(--ink)}.reaction.on .reaction-emoji{animation:pop .3s var(--ease)}.reaction-emoji{font-size:1.3rem;line-height:1}.reaction-count{min-width:1ch;font-variant-numeric:tabular-nums;font-weight:600}.reaction-count:empty{display:none}.reaction-label{color:var(--ink-soft)}.reactions-note{margin:12px 0 0;font-family:var(--font-ui)}@keyframes pop{50%{transform:scale(1.35)}}@media(max-width:600px){.reactions{padding:18px 14px}.reaction{height:44px;padding:0 14px 0 10px}.reaction-label{display:none}}.nav-icons{display:inline-flex;align-items:center;margin-left:4px}.nav-icons .theme-btn{margin-left:0}.bell,.bell-btn{position:relative}.bell-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--danger);color:#fff;font:700 .68rem/18px var(--font-ui);text-align:center;box-shadow:0 0 0 2px var(--bg)}.bell-panel{position:absolute;top:calc(100% + 8px);right:-48px;z-index:30;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - 90px));background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e3);overflow:hidden;animation:notif-in .18s var(--ease);font-family:var(--font-ui)}.bell-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px 18px;border-bottom:1px solid var(--line)}.bell-head strong{font-size:1rem}.bell-head .link-btn,.admin-head .btn svg{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.bell-list{overflow-y:auto;padding:6px}.bell-empty{display:grid;justify-items:center;gap:10px;padding:28px 20px;margin:0;text-align:center;font-size:.9rem}.bell-all{display:block;padding:12px;border-top:1px solid var(--line);text-align:center;font:500 .88rem var(--font-ui);color:var(--ink);text-decoration:none}.bell-all:hover{background:var(--state)}.notif{position:relative;display:flex;gap:12px;width:100%;padding:10px 28px 10px 10px;border:0;border-radius:var(--r-m);background:none;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.notif:hover,.notif:focus-visible{background:var(--state);outline:none}.notif-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--ink-soft)}.notif.unread .notif-icon{background:var(--ink);color:var(--on-ink)}.notif-icon.kind-security{color:var(--danger)}.notif.unread .notif-icon.kind-security{background:var(--danger);color:#fff}.notif-body{display:grid;gap:2px;min-width:0}.notif-text{font-size:.9rem;line-height:1.35;color:var(--ink-soft)}.notif.unread .notif-text{color:var(--ink);font-weight:600}.notif-detail{font-size:.82rem;color:var(--ink-soft);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-time{font-size:.76rem;color:var(--ink-soft)}.notif-dot{position:absolute;top:50%;right:12px;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--ink)}.notif-tabs{margin-bottom:16px}.notif-page{display:grid;gap:2px;padding:8px}.notif-note{margin-top:20px;text-align:center}.center{text-align:center}@media(max-width:760px){.bell{position:static}.bell-panel{left:12px;right:12px;width:auto}}.search-dialog{width:min(640px,calc(100vw - 24px));max-height:min(640px,calc(100dvh - 48px));margin:10vh auto auto;padding:0;border:0;border-radius:var(--r-2xl);background:var(--surface);color:var(--ink);box-shadow:0 24px 64px #00000059;overflow:hidden}.search-dialog::backdrop{background:#00000080}.search-dialog[open]{display:flex;animation:modal-in .16s var(--ease)}.search-box{display:flex;flex-direction:column;width:100%;max-height:inherit;font-family:var(--font-ui)}.search-field{display:flex;align-items:center;gap:12px;padding:0 16px 0 20px;border-bottom:1px solid var(--line)}.search-field>svg{flex:none;color:var(--ink-soft)}.search-field input{flex:1;height:62px;min-height:0;padding:0;border:0;border-radius:0;background:none;font:400 1.1rem var(--font-ui);color:var(--ink);box-shadow:none;outline:none}.search-field input::-webkit-search-cancel-button{display:none}.search-esc{cursor:pointer}.search-body{overflow-y:auto;padding:8px}.search-label{margin:8px 12px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.search-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 8px}.search-tags a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink);text-decoration:none;font-size:.88rem}.search-tags a:hover{background:var(--state)}.search-tags small{color:var(--ink-soft)}.search-tags .search-all-tags{border-style:dashed}.search-hint{margin:14px 12px;font-size:.9rem}.search-results{list-style:none;margin:0;padding:0}.search-results a{display:grid;gap:3px;padding:12px 14px;border-radius:var(--r-m);color:var(--ink);text-decoration:none}.search-results [aria-selected=true] a{background:var(--tonal)}.search-kind{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.search-results strong{font:600 1rem var(--font-head)}.search-excerpt{font-size:.86rem;color:var(--ink-soft);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.search-meta{font-size:.76rem;color:var(--ink-soft)}.search-results mark{background:color-mix(in srgb,var(--ink) 16%,transparent);color:inherit;border-radius:3px;padding:0 1px}.search-more a{font-size:.9rem;font-weight:500}.search-foot{display:flex;gap:18px;padding:10px 20px;border-top:1px solid var(--line);font-size:.78rem}.search-foot kbd+kbd{margin-left:3px}.search-foot span{display:inline-flex;align-items:center;gap:6px}@media(max-width:600px){.search-dialog{margin-top:12px;max-height:calc(100dvh - 24px)}.search-foot{display:none}}.kbd-help{display:grid;gap:18px;font-family:var(--font-ui)}.kbd-help h3{margin:0 0 8px;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.kbd-help dl{display:grid;gap:2px;margin:0}.kbd-help dl>div{display:flex;align-items:center;gap:14px;padding:6px 0;border-bottom:1px solid var(--line)}.kbd-help dt{min-width:44px}.kbd-help dd{margin:0}.kbd-help kbd{min-width:26px;height:26px;line-height:22px;font-size:.85rem}.footer-keys{display:inline-flex;align-items:center;gap:4px;font-size:inherit;vertical-align:middle}.tags-filter{position:relative;display:block;max-width:420px;margin:0 0 28px}.tags-filter svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-soft);pointer-events:none}.tags-filter input{height:48px;padding-left:46px;border:0;border-radius:var(--r-full);background:var(--surface-2)}.tag-cloud{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;padding:28px 30px;margin-bottom:40px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--e1)}.tag-cloud a{font:700 1rem/1.2 var(--font-head);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.tag-cloud a:hover{text-decoration:underline;text-underline-offset:4px}.tag-index{columns:3 220px;column-gap:32px}.tag-group{break-inside:avoid;margin-bottom:22px}.tag-group h2{margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:1.1rem}.tag-group ul{list-style:none;margin:0;padding:0;font-family:var(--font-ui)}.tag-group li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0}.tag-group a{color:var(--ink);text-decoration:none}.tag-group a:hover{text-decoration:underline}.tag-count{min-width:26px;padding:1px 8px;border-radius:var(--r-full);background:var(--surface-2);font-size:.78rem;color:var(--ink-soft);text-align:center}@media(max-width:600px){.tag-cloud{padding:20px;gap:8px 16px}}.autosave-line{margin:-4px 0 0;min-height:1.3em;font-family:var(--font-ui)}.history-btn{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-size:.88rem}.recover-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding:14px 18px;border-radius:var(--r-xl);background:var(--ink);color:var(--on-ink);font-family:var(--font-ui);box-shadow:var(--e2)}.recover-bar p{flex:1 1 280px;margin:0;font-size:.92rem}.recover-actions{display:flex;gap:8px}.recover-bar .btn{background:transparent;color:var(--on-ink);border-color:color-mix(in srgb,var(--on-ink) 40%,transparent)}.recover-bar .btn.primary{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}.modal-l{width:min(1040px,calc(100vw - 32px))}.modal-l .modal-body{padding-bottom:16px}.rev-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;min-height:0}.rev-list{list-style:none;margin:0;padding:0;max-height:62dvh;overflow-y:auto;display:grid;gap:2px;align-content:start}.rev-list button{display:grid;gap:2px;width:100%;padding:10px 12px;border:0;border-radius:var(--r-m);background:none;color:var(--ink);text-align:left;font:400 .8rem var(--font-ui);cursor:pointer}.rev-list button strong{font-size:.9rem}.rev-list button span{color:var(--ink-soft)}.rev-list button:hover{background:var(--state)}.rev-list button.on{background:var(--tonal)}.rev-view{min-width:0;display:grid;gap:10px;align-content:start}.rev-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.rev-head h3{margin:0;font-size:1.15rem}.rev-head p{margin:2px 0 0}.rev-view>p{margin:0;font-family:var(--font-ui)}.rev-preview{max-height:56dvh;overflow-y:auto;padding:4px 16px;border:1px solid var(--line);border-radius:var(--r-l)}.diff{margin:0;max-height:56dvh;overflow:auto;padding:8px 0;border:1px solid var(--line);border-radius:var(--r-l);background:var(--code-bg);font:400 .82rem/1.6 var(--font-code)}.diff>span{display:block;min-height:1lh;padding:0 14px 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.diff-sign{display:inline-block;width:1.4em;color:var(--ink-soft);-webkit-user-select:none;user-select:none}.diff-add{background:color-mix(in srgb,var(--ok) 16%,transparent)}.diff-del{background:color-mix(in srgb,var(--danger) 14%,transparent);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--danger) 50%,transparent)}.diff-add .diff-sign{color:var(--ok)}.diff-del .diff-sign{color:var(--danger)}.diff-skip{color:var(--ink-soft);font-family:var(--font-ui);font-size:.78rem;padding:4px 14px!important;background:var(--surface-2)}.diff-add-text{color:var(--ok);font-weight:600}.diff-del-text{color:var(--danger);font-weight:600}@media(max-width:760px){.rev-layout{grid-template-columns:1fr}.rev-list{max-height:180px}}.comment.flash{animation:flash 2.4s var(--ease);border-radius:var(--r-m)}@keyframes flash{0%,40%{background:var(--tonal)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.reaction,.reaction.on .reaction-emoji,.comment.flash,.search-dialog[open]{animation:none;transition:none}}@keyframes notif-in{0%{opacity:0;transform:translateY(-6px)}}.small,.autosave-line{font-size:.85rem}.history-btn{font-family:var(--font-ui)}.nav .bell-panel a,.nav .bell-panel .link-btn{height:auto;border-radius:0;color:var(--ink)}.nav .bell-panel .bell-all{display:block;padding:12px;border-radius:0;text-align:center;color:var(--ink);font-weight:500}.nav .bell-panel .bell-head .link-btn{display:inline-flex;padding:4px 8px;border-radius:var(--r-s);color:var(--ink-soft);font-size:.85rem}.nav .bell-panel .bell-head .link-btn:hover{color:var(--ink);background:var(--state);text-decoration:none}.nav .bell-panel .notif{font-weight:400}.nav-drop{position:relative;display:inline-flex;align-items:center}.nav .nav-drop>a{padding-right:6px}.nav-drop-btn{display:grid;place-items:center;width:28px;height:28px;margin-left:-2px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer}.nav-drop-btn:hover{background:var(--state);color:var(--ink)}.nav-drop-btn:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.nav-drop-btn svg{transition:transform .2s var(--ease)}.nav-drop.open .nav-drop-btn svg{transform:rotate(180deg)}.nav-drop-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:grid;gap:2px;min-width:210px;max-width:300px;padding:6px;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--e3);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s var(--ease),transform .15s var(--ease),visibility 0s .15s}.nav-drop-panel:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.nav-drop:hover .nav-drop-panel,.nav-drop:has(:focus-visible) .nav-drop-panel,.nav-drop.open .nav-drop-panel{opacity:1;visibility:visible;transform:none;transition-delay:0s}.nav .nav-drop-panel a{height:auto;min-height:40px;padding:8px 14px;border-radius:var(--r-m);white-space:normal;line-height:1.3}.nav .nav-drop-panel a:hover{background:var(--state)}.nav .nav-drop-panel a.sub{padding-left:28px}@media(max-width:1040px){.site-header.many .nav-desktop{display:none}.site-header.many .nav-mobile{display:flex}}.drawer-nav a.sub{min-height:46px;font-size:.94rem}.drawer-nav a.sub svg{width:18px;height:18px}.drawer-nav a.sub-1{padding-left:38px}.drawer-nav a.sub-2{padding-left:58px}.drawer-nav a.sub-3{padding-left:78px}.page-view article{padding-bottom:24px}.page-view.tpl-default article,.page-view.tpl-default .comments{max-width:780px;margin-left:auto;margin-right:auto}.page-head{padding-top:48px}.page-head h1{margin:0}.page-head .post-meta{margin-top:12px}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:28px 0 0;padding:0;list-style:none;font:400 .88rem var(--font-ui);color:var(--ink-soft)}.breadcrumb li{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumb li+li:before{content:"›";color:var(--ink-soft)}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.breadcrumb a:hover{color:var(--ink);text-decoration:underline}.breadcrumb [aria-current]{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb+.page-head{padding-top:16px}.page-tools{display:flex;align-items:center;gap:12px;margin:20px 0}.page-view.tpl-landing .prose>:first-child{margin-top:32px}.page-opts .page-url{font-size:.8rem;overflow-wrap:anywhere}.layout-pick{display:grid;gap:8px}.layout-pick label{position:relative;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);cursor:pointer;font-family:var(--font-ui)}.layout-pick label.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.layout-pick input{position:absolute;opacity:0;pointer-events:none}.layout-pick label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.layout-pick strong{display:block;font-size:.92rem}.layout-pick small{display:block;font-size:.78rem;color:var(--ink-soft);line-height:1.35}.layout-mini{display:grid;align-content:start;gap:3px;width:46px;height:36px;padding:5px;border-radius:6px;background:var(--surface-2)}.layout-mini i{display:block;height:4px;border-radius:2px;background:var(--ink-soft);opacity:.55}.lm-default i{width:64%;margin:0 auto}.lm-default i:first-child,.lm-wide i:first-child{width:50%;height:6px;opacity:.9}.lm-landing i:first-child{height:12px;opacity:.9}.page-title-cell{display:flex;align-items:flex-start;gap:8px;padding-left:calc(var(--depth, 0) * 22px)}.page-branch{color:var(--ink-soft);font-family:var(--font-ui);line-height:1.4}.page-sub{display:block;margin-top:2px;font-size:.8rem;overflow-wrap:anywhere}.pages-empty{display:grid;justify-items:center;gap:12px;text-align:center;max-width:460px;margin:0 auto}.pages-empty svg{color:var(--ink-soft)}.pages-empty p{margin:0}.pages-hint{margin-top:12px}.switch{position:relative;width:40px;height:24px;padding:0;border:0;border-radius:12px;background:var(--line);cursor:pointer;transition:background .15s var(--ease);flex:none}.switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0000004d;transition:transform .15s var(--ease)}.switch.on{background:var(--ink)}.switch.on span{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){.switch,.switch span,.nav-drop-panel,.nav-drop-btn svg{transition:none}}.admin-shell{--admin-bar: 52px;--admin-side: 236px;--admin-mini: 64px;min-height:100vh}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;padding:8px 14px;border-radius:var(--r-m);background:var(--ink);color:var(--on-ink);font:600 .9rem var(--font-ui)}.skip-link:focus{left:8px}.admin-bar{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--admin-bar);display:flex;align-items:center;gap:4px;padding:0 12px 0 10px;background:var(--surface);border-bottom:1px solid var(--line);font-family:var(--font-ui)}.admin-bar-space{flex:1}.admin-bar-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer;flex:none}.admin-bar-btn:hover{background:var(--state);color:var(--ink)}.admin-bar-btn:focus-visible,.admin-site:focus-visible,.side-link:focus-visible,.side-sub a:focus-visible,.side-collapse:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.admin-menu-btn{display:none}.admin-site{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 8px;border-radius:var(--r-full);color:var(--ink);text-decoration:none;font-weight:650;font-size:.95rem;min-width:0}.admin-site:hover{background:var(--state);text-decoration:none}.admin-site img{border-radius:6px;flex:none}.admin-site svg{color:var(--ink-soft);flex:none}.admin-site-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.admin-new{position:relative}.admin-new-btn{display:inline-flex;gap:4px;width:auto;padding:0 14px 0 10px;border-radius:var(--r-full);font:500 .9rem var(--font-ui);color:var(--ink)}.new-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;display:grid;gap:2px;min-width:180px;padding:6px;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--e3);animation:notif-in .15s var(--ease)}.new-panel a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-m);color:var(--ink);text-decoration:none;font-size:.92rem}.new-panel a:hover,.new-panel a:focus-visible{background:var(--state);outline:none}.new-panel a svg{color:var(--ink-soft)}.admin-bar .account-panel{top:calc(100% + 6px)}.admin-side{position:fixed;top:var(--admin-bar);bottom:0;left:0;z-index:35;width:var(--admin-side);display:flex;flex-direction:column;padding:12px 10px;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;font-family:var(--font-ui)}.admin-side-head{display:none}.admin-nav{flex:1}.side-group{list-style:none;margin:0;padding:4px 0;display:grid;gap:2px}.side-group+.side-group{margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}.side-item{position:relative}.side-link{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:var(--r-full);color:var(--ink-soft);text-decoration:none;font-weight:500;font-size:.92rem}.side-link:hover{background:var(--state);color:var(--ink);text-decoration:none}.side-link svg{flex:none}.side-item.on>.side-link{background:var(--tonal);color:var(--ink);font-weight:650}.side-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ink);color:var(--on-ink);font:650 .72rem/20px var(--font-ui);text-align:center;flex:none}.side-sub{display:none;list-style:none;margin:2px 0 6px;padding:0 0 0 44px}.side-item.on>.side-sub{display:grid;gap:1px}.side-sub-title{display:none}.side-sub a{display:block;padding:7px 12px;border-radius:var(--r-m);color:var(--ink-soft);text-decoration:none;font-size:.88rem}.side-sub a:hover{background:var(--state);color:var(--ink);text-decoration:none}.side-sub a.on{color:var(--ink);font-weight:650}.side-collapse{display:flex;align-items:center;gap:12px;height:40px;margin-top:8px;padding:0 12px;border:0;border-radius:var(--r-full);background:none;color:var(--ink-soft);font:500 .85rem var(--font-ui);cursor:pointer;text-align:left}.side-collapse:hover{background:var(--state);color:var(--ink)}.side-collapse svg{flex:none;transition:transform .2s var(--ease)}.admin-scrim{display:none}.admin-main{min-height:100vh;padding-top:var(--admin-bar);margin-left:var(--admin-side);transition:margin-left .2s var(--ease)}.admin-main:focus{outline:none}.admin-main .wrap{max-width:1280px;padding:0 32px 56px}.admin-shell.collapsed .admin-side{width:var(--admin-mini);padding:12px 8px;overflow-x:hidden;scrollbar-width:none}.admin-shell.collapsed .admin-side::-webkit-scrollbar{width:0}.admin-shell.collapsed .admin-main{margin-left:var(--admin-mini)}.admin-shell.collapsed .side-link{justify-content:center;padding:0}.admin-shell.collapsed .side-label{display:none}.admin-shell.collapsed .side-badge{position:absolute;top:5px;right:6px;min-width:9px;height:9px;padding:0;font-size:0;border:2px solid var(--surface);box-sizing:content-box}.admin-shell.collapsed .side-collapse{justify-content:center;padding:0}.admin-shell.collapsed .side-collapse svg{transform:rotate(180deg)}.admin-shell.collapsed .side-item>.side-sub{display:none}.admin-shell.collapsed .side-item:hover>.side-sub,.admin-shell.collapsed .side-item:focus-within>.side-sub{display:grid;position:fixed;top:var(--fly-top, 0);left:calc(var(--fly-left, 64px) + 10px);z-index:50;min-width:190px;max-height:calc(100vh - 16px);overflow-y:auto;margin:0;padding:6px;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--e3)}.admin-shell.collapsed .side-sub:before{content:"";position:absolute;top:0;bottom:0;left:-12px;width:12px}.admin-shell.collapsed .side-sub-title{display:block;padding:6px 12px 4px;font-size:.78rem;font-weight:650;color:var(--ink)}.admin-shell.collapsed .side-item:not(.has-sub):hover>.side-link:after,.admin-shell.collapsed .side-item:not(.has-sub)>.side-link:focus-visible:after{content:attr(data-tip);position:fixed;left:calc(var(--fly-left, 64px) + 10px);top:var(--fly-mid, 50%);transform:translateY(-50%);z-index:50;padding:6px 10px;border-radius:var(--r-m);background:var(--ink);color:var(--on-ink);font-size:.8rem;font-weight:500;white-space:nowrap;pointer-events:none}@media(max-width:782px){.admin-menu-btn{display:grid}.admin-side{top:0;z-index:60;width:min(300px,86vw);transform:translate(-102%);transition:transform .25s var(--ease),box-shadow .25s;border-right:0}.admin-shell.drawer-open .admin-side{transform:none;box-shadow:var(--e3)}.admin-shell.drawer-open .admin-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000073}.admin-side-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 8px 12px;font-weight:650}.admin-main{margin-left:0}.admin-main .wrap{padding:0 16px 40px}.admin-bar{padding:0 6px;gap:2px}}@media(max-width:560px){.admin-site-name,.admin-site>svg,.admin-new-btn span{display:none}.admin-new-btn{padding:0;width:40px;justify-content:center}}@media(prefers-reduced-motion:reduce){.admin-side,.admin-main,.side-collapse svg{transition:none}}.dash-grid{display:grid;gap:16px;margin-top:16px}@media(min-width:1000px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-grid>*{min-width:0}.widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.widget-head h2{margin:0;font-size:1.1rem}.widget-more{font:500 .85rem var(--font-ui);color:var(--ink-soft)}.dash-list,.dash-comments{list-style:none;margin:0;padding:0;font-family:var(--font-ui)}.dash-list li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}.dash-list li:last-child,.dash-comments li:last-child{border-bottom:0;padding-bottom:0}.dash-list a{color:var(--ink);font-weight:550;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-list a:hover{text-decoration:underline}.dash-list .muted{font-size:.82rem}.dash-comments li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.dash-avatar{width:36px;height:36px;font-size:.9rem}.dash-comment-meta{margin:0 0 4px;font-size:.88rem}.dash-comment-meta a{color:var(--ink)}.dash-comment-meta .badge{margin-left:8px}.dash-comment-text{margin:0 0 4px;font-family:var(--font-body, inherit);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.quick-draft-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:400 .9rem var(--font-ui)}.dash-activity{display:grid;margin:0 -8px}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.status-tabs{display:flex;gap:6px;flex-wrap:wrap}.status-tabs button{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink-soft);font:500 .88rem var(--font-ui);cursor:pointer}.status-tabs button:hover{color:var(--ink);border-color:var(--ink-soft)}.status-tabs button.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.status-tabs .count{margin-left:4px;opacity:.7;font-variant-numeric:tabular-nums}.list-search{display:flex;align-items:center;gap:8px;height:40px;width:min(320px,100%);padding:0 14px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink-soft);font-family:var(--font-ui)}.list-search:focus-within{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.list-search input{flex:1;min-width:0;height:100%;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--ink);font:inherit;font-size:.92rem}.list-search input:focus,.list-search input:hover{box-shadow:none;border:0}.list-search .link-btn{font-size:.85rem}.row-title{font-weight:600}.row-sub{display:block;margin-top:2px;font-size:.8rem;font-family:var(--font-ui)}.admin-main .rte-top,.admin-main .rte-bar{top:var(--admin-bar)}.admin-main .rte.full .rte-top{top:0}@media(min-width:900px){.admin-main .editor-side{top:calc(var(--admin-bar) + 16px);max-height:calc(100vh - var(--admin-bar) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:2px;margin:-2px;scrollbar-width:thin}}.analytics .panel{margin-bottom:16px}.live-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r-full);background:var(--surface);box-shadow:var(--e1);font:500 .88rem var(--font-ui)}.live-dot{width:8px;height:8px;border-radius:50%;background:#1e8e3e;box-shadow:0 0 #1e8e3e80;animation:live 2s infinite}@keyframes live{0%{box-shadow:0 0 #1e8e3e80}70%{box-shadow:0 0 0 8px #1e8e3e00}to{box-shadow:0 0 #1e8e3e00}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}.stat-country{font-size:1.4rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-grid{display:grid;gap:16px;margin-bottom:16px}@media(min-width:1000px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.analytics-grid>*{min-width:0;margin-bottom:0!important}.bar-card .widget-head h2,.visitor-log .widget-head h2{display:inline-flex;align-items:center;gap:8px}.bar-card .widget-head h2 svg,.visitor-log .widget-head h2 svg{color:var(--ink-soft)}.bar-note{margin:-6px 0 10px}.bar-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-family:var(--font-ui)}.bar-row{position:relative;isolation:isolate;display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:var(--r-s);background:none;color:var(--ink);font:400 .9rem var(--font-ui);text-align:left}button.bar-row{cursor:pointer}button.bar-row:hover .bar-fill{opacity:.32}button.bar-row:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.bar-fill{position:absolute;inset:2px auto 2px 0;z-index:-1;min-width:4px;border-radius:var(--r-s);background:var(--ink);opacity:.14;transition:opacity .15s var(--ease)}.bar-label{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label>*{overflow:hidden;text-overflow:ellipsis}.bar-link{color:var(--ink);text-decoration:none}.bar-link:hover{text-decoration:underline}.bar-value{flex:none;font-variant-numeric:tabular-nums;font-weight:600}.bar-value .muted{font-weight:400}.flag{font-size:1.1rem;line-height:1;flex:none}.device-cols{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));font-family:var(--font-ui)}.mini-list h3{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.mini-list ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.mini-top{display:flex;justify-content:space-between;gap:8px;font-size:.88rem}.mini-top span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.mini-bar{display:block;height:6px;margin-top:4px;border-radius:3px;background:var(--surface-2);overflow:hidden}.mini-bar span{display:block;height:100%;border-radius:3px;background:var(--ink)}.log-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.log-tools .list-search{margin-left:auto}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 12px;border:0;border-radius:var(--r-full);background:var(--ink);color:var(--on-ink);font:500 .85rem var(--font-ui);cursor:pointer}.filter-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.table-wrap.flat{box-shadow:none;border:1px solid var(--line)}.log-table td{font-size:.88rem;padding:10px 14px}.log-table .mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem}.log-table .link-btn{font:inherit;color:var(--ink)}.log-page{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-note{margin-top:4px}.widget-head .small,.bar-note,.analytics-note{font-family:var(--font-ui)}.prose .anchor.copied{opacity:1}.anchor-copied{display:inline-block;padding:2px 10px;border-radius:var(--r-full);background:var(--ink);color:var(--on-ink);font:500 .75rem var(--font-ui);vertical-align:middle;letter-spacing:0}.prose [data-footnote-ref]{padding:0 2px;font:600 .75em var(--font-ui);text-decoration:none}.prose [data-footnote-ref]:before{content:"["}.prose [data-footnote-ref]:after{content:"]"}.prose .footnotes{margin-top:2.6em;padding-top:1.2em;border-top:1px solid var(--line);font-size:.92em;color:var(--ink-soft)}.prose .footnotes ol{padding-left:1.4em}.prose .footnotes li{scroll-margin-top:100px;border-radius:var(--r-s)}.prose .footnotes li p{margin:0 0 .5em}.prose [data-footnote-backref]{margin-left:4px;text-decoration:none;font-family:var(--font-ui)}.prose li.flash{animation:flash 1.6s var(--ease)}.archive{padding-bottom:32px}.archive-years{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;font-family:var(--font-ui)}.archive-years a{display:inline-flex;align-items:baseline;gap:6px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink);text-decoration:none;font-weight:600}.archive-years a:hover{border-color:var(--ink)}.archive-years small{color:var(--ink-soft);font-weight:400}.archive-year{margin-bottom:32px;scroll-margin-top:90px}.archive-year h2{font-size:2rem;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.archive-month h3{margin:20px 0 8px;font:600 .82rem var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.archive-month h3 .muted{font-weight:400;margin-left:4px}.archive-month ul{list-style:none;margin:0;padding:0}.archive-month li{display:flex;align-items:baseline;gap:14px;padding:8px 0;border-bottom:1px dashed var(--line)}.archive-month li:last-child{border-bottom:0}.archive-month time{flex:none;width:2ch;text-align:right;font:500 .9rem var(--font-ui);color:var(--ink-soft);font-variant-numeric:tabular-nums}.archive-month li>a:first-of-type{flex:1;min-width:0;color:var(--ink);text-decoration:none;font-weight:500;font-size:1.05rem}.archive-month li>a:first-of-type:hover{text-decoration:underline}.archive-cat{flex:none;font:400 .8rem var(--font-ui);color:var(--ink-soft);text-decoration:none}.archive-cat:hover{color:var(--ink);text-decoration:underline}@media(max-width:520px){.archive-cat{display:none}}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.media-grid.picker{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:60vh;overflow-y:auto;padding:4px}.media-tile{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:var(--r-l);overflow:hidden;background:var(--surface-2);cursor:pointer;box-shadow:var(--e1)}.media-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s var(--ease)}.media-tile:hover img{transform:scale(1.03)}.media-tile:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.media-tile.on{box-shadow:0 0 0 3px var(--ink)}.media-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--on-ink)}.media-badge{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:var(--r-full);background:#000000b3;color:#fff;font:500 .72rem var(--font-ui)}.media-page.dragging{outline:3px dashed var(--ink);outline-offset:8px;border-radius:var(--r-xl)}.media-foot-space{flex:1}.media-detail{display:grid;gap:20px}@media(min-width:760px){.media-detail{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}.media-preview{display:grid;place-items:center;min-height:200px;padding:12px;border-radius:var(--r-l);background:var(--surface-2);background-image:repeating-conic-gradient(var(--line) 0 25%,transparent 0 50%);background-size:20px 20px}.media-preview img{max-width:100%;max-height:55vh;border-radius:var(--r-s)}.media-info{margin:0;display:grid;gap:14px;font-family:var(--font-ui);font-size:.9rem}.media-info dt{font-size:.78rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.media-info dd{margin:2px 0 0;overflow-wrap:anywhere}.media-used{margin:0;padding-left:18px;display:grid;gap:4px}.media-del-q{flex:1;font:500 .9rem var(--font-ui)}.btn.danger-text{color:var(--danger);border-color:transparent}.btn.danger-text:hover{border-color:var(--danger)}.modal-foot{flex-wrap:wrap;align-items:center}.post-stats{font-family:var(--font-ui);display:grid;gap:12px}.post-stats-head{display:flex;justify-content:space-between;align-items:center}.post-stats-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.post-stats-nums div{display:grid}.post-stats-nums strong{font:750 1.3rem/1.2 var(--font-head);font-variant-numeric:tabular-nums}.post-stats-nums span{font-size:.74rem;color:var(--ink-soft)}.spark{width:100%;height:44px;display:block}.spark rect{fill:var(--ink)}.spark line{stroke:var(--line);stroke-width:1}.post-stats-list ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:.86rem}.post-stats-list li{display:flex;justify-content:space-between;gap:8px}.post-stats-list li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-stats-list li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.side-links{display:flex;flex-wrap:wrap;gap:4px 16px}.thumb-actions{display:flex;flex-wrap:wrap;gap:4px 14px}.md-image-btns{display:inline-flex;gap:8px;flex-wrap:wrap}.bulk-bar{position:sticky;top:calc(var(--admin-bar, 0px) + 8px);z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;border-radius:var(--r-l);background:var(--ink);color:var(--on-ink);font-family:var(--font-ui);box-shadow:var(--e2)}.bulk-bar select{width:auto;min-height:36px;padding:0 36px 0 12px;background-color:var(--surface);color:var(--ink)}.bulk-bar .btn.primary{background:var(--surface);color:var(--ink)}.bulk-bar .link-btn{color:var(--on-ink);opacity:.85}.cell-check{width:36px;padding-right:0!important}.cell-check input{margin:0}.table tr.picked{background:var(--state)}.menu-locs{margin-bottom:16px}.menus-grid{display:grid;gap:16px;align-items:start}@media(min-width:960px){.menus-grid{grid-template-columns:300px minmax(0,1fr)}}.menus-add{display:grid;gap:16px}.menus-add .panel h2,.menus-structure h2{font-size:1.05rem;margin:0 0 6px}.menus-checks{display:grid;gap:6px;max-height:240px;overflow-y:auto;margin-bottom:4px}.menus-checks .check{font-size:.92rem}.menus-builtins{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:500 .86rem var(--font-ui);cursor:pointer}.chip-btn:hover{border-color:var(--ink)}.menu-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;font-family:var(--font-ui)}.menu-row{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);transition:box-shadow .15s var(--ease),border-color .15s}.menu-row.depth-1{margin-left:36px}.menu-row.over{border-color:var(--ink);box-shadow:0 -3px 0 0 var(--ink)}.menu-row.open{border-color:var(--ink-soft)}.menu-row-main{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px}.drag-handle{cursor:grab;color:var(--ink-soft);font-size:1.1rem;line-height:1;-webkit-user-select:none;user-select:none;padding:4px}.menu-row-title{flex:1;min-width:0;display:grid;gap:1px;padding:6px 4px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.menu-row-title strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-row-title span{font-size:.78rem}.menu-row-title em{font-style:normal;color:var(--danger)}.menu-row-tools{display:flex;gap:2px;flex:none}.menu-row-tools .icon-action:disabled{opacity:.3;cursor:default}.menu-row-edit{display:grid;gap:10px;padding:4px 14px 14px 40px}.menus-unsaved{margin-top:12px}@media(max-width:600px){.menu-row.depth-1{margin-left:18px}.menu-row-edit{padding-left:14px}}.smtp-presets{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.two-col.tight{gap:12px;grid-template-columns:minmax(80px,.7fr) 1.3fr}.smtp-test{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.smtp-test .error{margin:0}.notice-inline{font:500 .9rem var(--font-ui);color:#1e8e3e}.check.inline-check{display:inline-flex;margin-top:6px;font-size:.85rem}#email .two-col{align-items:start}.list-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.feed-link{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ink-soft)}.feed-link:hover{background:var(--state);color:var(--ink)}.subscribe{display:flex;gap:18px;align-items:flex-start;margin:32px 0;padding:24px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1)}.subscribe-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--on-ink)}.subscribe-body{flex:1;min-width:0}.subscribe h2{margin:0 0 4px;font-size:1.25rem}.subscribe .muted{margin:0 0 12px;font-family:var(--font-ui);font-size:.92rem}.subscribe-form{display:flex;gap:8px;flex-wrap:wrap}.subscribe-form input[type=email]{flex:1 1 220px;min-width:0}.subscribe-off{display:flex;align-items:center;gap:10px;margin:32px 0;padding:14px 18px;border:1px dashed var(--line);border-radius:var(--r-xl);font:.92rem var(--font-ui);color:var(--ink-soft)}.subscribe-off a{color:var(--ink);font-weight:600}.subscribe-done{display:flex;align-items:center;gap:8px;margin:6px 0 0;font:500 .95rem var(--font-ui)}@media(max-width:520px){.subscribe{flex-direction:column;padding:18px}.subscribe-form .btn{width:100%}}.subscribe-band{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,380px);align-items:center;gap:28px;margin:48px 0;padding:32px 36px;border-radius:var(--r-2xl);box-shadow:var(--e1);background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--accent) 30%,var(--surface)) 0%,var(--surface) 55%),var(--surface)}.subscribe-band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.5;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1.5px);background-size:18px 18px;-webkit-mask-image:linear-gradient(110deg,transparent 35%,#000 100%);mask-image:linear-gradient(110deg,transparent 35%,#000 100%)}.subscribe-band-art{position:relative;display:grid;place-items:center;width:96px;height:96px}.sb-env{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;border-radius:22px;transform:rotate(-8deg);color:#fff;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#000));background:linear-gradient(140deg,oklch(from var(--accent) min(l,.55) c h),color-mix(in srgb,var(--accent) 45%,#000));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 1px #ffffff40}.sb-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);animation:sb-pulse 3.2s var(--ease) infinite}.sb-ring.two{animation-delay:1.6s}@keyframes sb-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.35);opacity:0}}.subscribe-kicker{margin:0 0 6px;font:700 .75rem var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.subscribe-band h2{margin:0 0 6px;font-size:clamp(1.35rem,2.6vw,1.75rem);line-height:1.2}.subscribe-band-text p:not(.subscribe-kicker){margin:0;font:.95rem/1.5 var(--font-ui);color:var(--ink-soft)}.subscribe-band .subscribe-form{flex-wrap:nowrap;padding:6px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.subscribe-band .subscribe-form input[type=email]{flex:1;border:0;background:transparent;box-shadow:none;padding-left:14px}.subscribe-band .subscribe-form input[type=email]:focus{outline:none}.subscribe-band .subscribe-form:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.subscribe-band .subscribe-form .btn{border-radius:999px}.subscribe-band .error{margin:8px 0 0 14px}@media(max-width:820px){.subscribe-band{grid-template-columns:auto minmax(0,1fr);padding:26px}.subscribe-band-form{grid-column:1 / -1}}@media(max-width:520px){.subscribe-band{grid-template-columns:1fr;gap:16px;padding:22px 18px}.subscribe-band-art{width:72px;height:72px}.sb-env{width:52px;height:52px;border-radius:16px}.subscribe-band .subscribe-form{flex-wrap:wrap;border-radius:var(--r-xl)}.subscribe-band .subscribe-form .btn{width:100%}}@media(prefers-reduced-motion:reduce){.sb-ring{animation:none;opacity:.4}.sb-ring.two{display:none}}.subscribe-foot{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;margin-bottom:8px;padding:18px 20px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--accent) 7%,var(--surface));box-shadow:inset 0 0 0 1px var(--line)}.subscribe-foot-text{min-width:0;flex:1 1 260px}.subscribe-foot h2{display:flex;align-items:center;gap:8px;margin:0 0 2px;font:700 1rem var(--font-head);color:var(--ink)}.subscribe-foot h2 svg{color:var(--accent)}.subscribe-foot-text p{margin:0;font-size:.85rem}.subscribe-foot-form{flex:1 1 340px;max-width:420px}.subscribe-foot .subscribe-form{flex-wrap:nowrap}.subscribe-foot .subscribe-form input[type=email]{flex:1}.subscribe-foot .error{margin:6px 0 0}@media(max-width:520px){.subscribe-foot{padding:16px}.subscribe-foot-form{max-width:none}.subscribe-foot .subscribe-form{flex-wrap:wrap}.subscribe-foot .subscribe-form .btn{width:100%}}.newsletter-page{padding:48px 0}.newsletter-card{text-align:center;display:grid;justify-items:center;gap:4px;padding:36px 24px}.newsletter-card h1{font-size:1.8rem;margin:8px 0 4px}.newsletter-card .muted{font-family:var(--font-ui);max-width:440px}.newsletter-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--ink);color:var(--on-ink)}.author-page{padding-bottom:40px}.author-head{display:flex;gap:24px;align-items:center;padding:40px 0 24px;border-bottom:1px solid var(--line);margin-bottom:8px}.author-photo{flex:none;width:112px;height:112px;border-radius:50%;object-fit:cover;background:var(--surface-2)}.author-initial{display:grid;place-items:center;font:750 2.6rem var(--font-head);background:var(--tonal)}.author-head h1{margin:0 0 6px}.author-bio{margin:0 0 10px;font-size:1.06rem;line-height:1.6;white-space:pre-line}.author-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font:400 .9rem var(--font-ui)}.author-links a{display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft)}.author-posts{list-style:none;margin:0;padding:0}.author-posts li{display:grid;gap:2px;padding:14px 0;border-bottom:1px dashed var(--line)}.author-posts a{color:var(--ink);font-weight:600;font-size:1.1rem;text-decoration:none}.author-posts a:hover{text-decoration:underline}.author-posts .muted{font:400 .85rem var(--font-ui)}@media(max-width:560px){.author-head{flex-direction:column;align-items:flex-start}.author-photo{width:88px;height:88px}}.author-box{display:flex;gap:16px;align-items:flex-start;margin:32px 0;padding:20px;border-radius:var(--r-xl);border:1px solid var(--line)}.author-box .author-photo{width:64px;height:64px;font-size:1.6rem}.author-box h2{margin:0 0 4px;font-size:1.1rem}.author-box p{margin:0 0 6px;font-size:.98rem;line-height:1.55}.author-box .small{font-family:var(--font-ui)}.post-updated{font-style:normal}.reply-notify{font-size:.92rem}.notice-box{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 0 16px;border-radius:var(--r-l);background:var(--surface-2);font:400 .92rem var(--font-ui)}.sending-box{display:grid;gap:6px;margin-bottom:16px;font-family:var(--font-ui)}.sent-list{margin-top:16px}.sent-list h2{font-size:1.05rem;margin:0 0 8px}.sent-list ul{margin:0;padding-left:18px;display:grid;gap:4px;font-family:var(--font-ui);font-size:.92rem}.btn.small-btn{min-height:32px;height:32px;padding:0 12px;font-size:.84rem}.redirect-suggest{list-style:none;margin:-6px 0 0;padding:0;display:grid;gap:4px}.redirect-suggest button{display:grid;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;font:400 .9rem var(--font-ui)}.redirect-suggest button:hover,.redirect-suggest button.on{border-color:var(--ink)}.redirect-suggest .mono{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-summary{display:flex;align-items:center;gap:14px;padding:16px 20px;margin-bottom:16px;border-radius:var(--r-xl);font-family:var(--font-ui)}.health-summary div{display:grid}.health-summary span{font-size:.85rem;opacity:.8}.health-summary.good{background:#e6f4ea;color:#0d5323}.health-summary.warn{background:#fef7e0;color:#6b4c00}.health-summary.bad{background:#fce8e6;color:#8c1d18}:root[data-theme=dark] .health-summary.good{background:#0f2e19;color:#a8dab5}:root[data-theme=dark] .health-summary.warn{background:#3a2e05;color:#fde293}:root[data-theme=dark] .health-summary.bad{background:#3b1513;color:#f6aea9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .health-summary.good{background:#0f2e19;color:#a8dab5}:root:not([data-theme=light]) .health-summary.warn{background:#3a2e05;color:#fde293}:root:not([data-theme=light]) .health-summary.bad{background:#3b1513;color:#f6aea9}}.health-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.health-item{display:flex;align-items:center;gap:16px;padding:14px 18px!important;font-family:var(--font-ui)}.health-main{flex:1;min-width:0;display:grid;gap:2px}.health-main .muted{font-size:.88rem;overflow-wrap:anywhere}.health-help{font-size:.85rem}.health-badge{flex:none;display:inline-flex;align-items:center;gap:4px;width:92px;justify-content:center;padding:4px 0;border-radius:var(--r-full);font-size:.78rem;font-weight:650}.health-badge.good{background:#e6f4ea;color:#0d5323}.health-badge.warn{background:#fef7e0;color:#6b4c00}.health-badge.bad{background:#fce8e6;color:#8c1d18}.health-act{flex:none;display:flex;gap:12px;align-items:center}.health-grid{display:grid;gap:16px}@media(min-width:900px){.health-grid{grid-template-columns:1fr 1fr}}.health-grid h2{font-size:1.05rem;margin:0 0 10px}.kv{margin:0;display:grid;gap:8px;font-family:var(--font-ui);font-size:.9rem}.kv div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:6px}.kv dt{color:var(--ink-soft)}.kv dd{margin:0;text-align:right;overflow-wrap:anywhere}@media(max-width:600px){.health-item{flex-wrap:wrap}.health-badge{width:auto;padding:4px 10px}}.saved-backups{margin-top:16px}.saved-backups h2{display:flex;align-items:center;gap:8px}.saved-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}.saved-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-family:var(--font-ui)}.saved-list li>svg{color:var(--ink-soft);flex:none}.saved-main{flex:1;min-width:0;display:grid}.saved-main strong{font-size:.82rem;overflow-wrap:anywhere;font-weight:500}.saved-main .muted{font-size:.8rem}.author-edit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.author-edit .author-photo{width:72px;height:72px;font-size:1.8rem}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-family:var(--font-ui)}.check-list>li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-l);background:var(--surface-2)}.check-list>li.warn>svg{color:#b06000;flex:none;margin-top:2px}.check-list>li.info>svg{color:var(--ink-soft);flex:none;margin-top:2px}.check-list p{margin:0;font-size:.92rem;line-height:1.5}.check-list ul{margin:6px 0 0;padding-left:18px;display:grid;gap:2px}.check-list ul li{font-size:.8rem;overflow-wrap:anywhere}.newsletter-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-family:var(--font-ui);color:var(--ink-soft)}.backup-layout>*{min-width:0}.cmd{overflow-x:auto;max-width:100%}td.actions.nowrap{white-space:nowrap}td.actions.nowrap>*{vertical-align:middle}.list-tools .link-btn,.list-tools .check{font:500 .88rem var(--font-ui)}.backup-help{grid-template-columns:minmax(0,1fr)}.prose a:not(.anchor):not(.footnote-backref){color:var(--accent)}.prose a:not(.anchor):hover{color:var(--ink)}.reader{position:relative;display:inline-flex}.reader-btn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px 0 8px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:600 .82rem var(--font-ui);cursor:pointer}.reader-btn:hover{background:var(--state)}.reader-btn.on{border-color:var(--accent)}.reader-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:grid;gap:14px;width:300px;padding:16px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e3);font-family:var(--font-ui);color:var(--ink)}.reader-row{display:grid;gap:6px}.reader-label{font:600 .74rem var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.reader-size{display:flex;align-items:center;gap:8px}.reader-size button{display:grid;place-items:center;width:40px;height:36px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);cursor:pointer}.reader-size button:hover:not(:disabled){background:var(--state)}.reader-size button:disabled{opacity:.35;cursor:default}.reader-size output{min-width:52px;text-align:center;font:600 .95rem var(--font-ui)}.reader-reset{justify-self:start;font-size:.86rem}@media(max-width:600px){.reader-panel{position:fixed;top:auto;left:12px;right:12px;bottom:12px;width:auto}}.segmented{display:inline-flex;flex-wrap:wrap;padding:3px;gap:2px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface)}.segmented button{min-height:32px;padding:0 14px;border:0;border-radius:var(--r-full);background:none;color:var(--ink-soft);font:500 .86rem var(--font-ui);cursor:pointer}.segmented button:hover:not(:disabled){color:var(--ink);background:var(--state)}.segmented button.on{background:var(--tonal);color:var(--ink);font-weight:600}.segmented button:disabled{opacity:.4;cursor:not-allowed}[data-reader-size="90"] .reader-page .prose{font-size:1.0125rem}[data-reader-size="112"] .reader-page .prose{font-size:1.26rem}[data-reader-size="125"] .reader-page .prose{font-size:1.406rem}[data-reader-size="140"] .reader-page .prose{font-size:1.575rem}[data-reader-width=narrow] .reader-page>article,[data-reader-width=narrow] .reader-page>.related,[data-reader-width=narrow] .reader-page>.comments{max-width:660px;margin-left:auto;margin-right:auto}[data-reader-width=medium] .reader-page>article,[data-reader-width=medium] .reader-page>.related,[data-reader-width=medium] .reader-page>.comments{max-width:820px;margin-left:auto;margin-right:auto}[data-reader-font=serif] .reader-page .prose{font-family:var(--font-serif)}[data-reader-font=sans] .reader-page .prose{font-family:var(--font-sans)}.prose img.zoomable,.post-hero img.zoomable{cursor:zoom-in}.lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#04050af2;color:#fff;animation:lb-in .18s var(--ease);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes lb-in{0%{opacity:0}}.lb-top{display:flex;align-items:center;gap:6px;padding:10px 12px}.lb-count{margin-right:auto;padding-left:8px;font:500 .9rem var(--font-ui);color:#ffffffbf;font-variant-numeric:tabular-nums}.lb-btn{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer;text-decoration:none}.lb-btn:hover:not(:disabled){background:#ffffff2e}.lb-btn:disabled{opacity:.35;cursor:default}.lb-btn:focus-visible,.lb-pct:focus-visible,.lb-strip button:focus-visible{outline:2px solid #fff;outline-offset:2px}.lb-zoom{display:flex;align-items:center;gap:2px;margin-right:6px;padding:0;border-radius:var(--r-full);background:#ffffff0f}.lb-zoom .lb-btn{background:none;width:40px;height:40px}.lb-pct{min-width:54px;height:40px;padding:0 4px;border:0;background:none;color:#ffffffd9;font:500 .85rem var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:var(--r-s)}.lb-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;padding:0 72px}.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r-s);cursor:zoom-in;user-select:none;-webkit-user-select:none;touch-action:none;opacity:0;transition:transform .2s var(--ease),opacity .2s var(--ease);will-change:transform}.lb-stage img.ready{opacity:1;animation:lb-img .25s var(--ease)}.lb-stage img.ready.from-right{animation-name:lb-from-right}.lb-stage img.ready.from-left{animation-name:lb-from-left}.lb-stage.zoomed img{cursor:grab;border-radius:0}.lb-stage.zoomed img:active{cursor:grabbing}@keyframes lb-img{0%{opacity:0;scale:.97}}@keyframes lb-from-right{0%{opacity:0;translate:40px 0}}@keyframes lb-from-left{0%{opacity:0;translate:-40px 0}}.lb-spinner{position:absolute;width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;animation:lb-spin .8s linear infinite}@keyframes lb-spin{to{transform:rotate(1turn)}}.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px}.lb-prev{left:12px}.lb-next{right:12px}.lb-foot{display:grid;gap:10px;justify-items:center;padding:10px 16px 16px}.lb-caption{margin:0;max-width:800px;text-align:center;font:400 .95rem/1.5 var(--font-ui);color:#ffffffd9}.lb-strip{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:4px;scrollbar-width:none;scroll-snap-type:x proximity}.lb-strip::-webkit-scrollbar{display:none}.lb-strip button{flex:none;width:64px;height:48px;padding:0;border:2px solid transparent;border-radius:var(--r-s);background:#ffffff0f;overflow:hidden;cursor:pointer;opacity:.5;transition:opacity .2s,border-color .2s,transform .2s var(--ease);scroll-snap-align:center}.lb-strip button:hover{opacity:.85}.lb-strip button.on{opacity:1;border-color:#fff;transform:translateY(-2px)}.lb-strip img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0}@media(max-width:700px){.lb-stage{padding:0 8px}.lb-nav{top:auto;bottom:14px;transform:none;width:44px;height:44px}.lb:has(.lb-strip) .lb-nav{display:none}.lb-caption{padding:0 52px;font-size:.88rem}.lb-top a.lb-btn[download]{display:none}.lb-zoom .lb-btn{width:36px}.lb-pct{min-width:46px}.lb-strip button{width:52px;height:40px}}@media(prefers-reduced-motion:reduce){.lb,.lb-stage img,.lb-stage img.ready{animation:none;transition:none}}.prose .gallery{--cols: 3;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px;margin:0 0 1.4em}.prose .gallery-cols-1{--cols: 1}.prose .gallery-cols-2{--cols: 2}.prose .gallery-cols-4{--cols: 4}.prose .gallery figure{margin:0;display:grid;gap:6px;align-content:start}.prose .gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-m);background:var(--surface-2)}.prose .gallery-cols-1 img{aspect-ratio:auto}.prose .gallery figcaption{font:400 .82rem/1.4 var(--font-ui);color:var(--ink-soft)}@media(max-width:560px){.prose .gallery-cols-3,.prose .gallery-cols-4{--cols: 2}}.prose .pullquote{margin:2em 0;padding:4px 0 4px 26px;border-left:4px solid var(--accent)}.prose .pullquote blockquote{margin:0;padding:0;background:none;color:var(--ink);font:650 clamp(1.3rem,2.6vw,1.75rem)/1.35 var(--font-head);font-style:normal;letter-spacing:-.01em}.prose .pullquote blockquote p{margin:0 0 .4em}.prose .pullquote .pullquote-cite{margin:14px 0 0;font:500 .95rem var(--font-ui);color:var(--ink-soft);letter-spacing:0}.prose .pullquote .pullquote-cite:before{content:"— "}.code-block.folded pre{max-height:30em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.code-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:40px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:500 .85rem var(--font-ui);cursor:pointer}.code-more:hover{background:var(--state)}.prose .code-tabs{margin:0 0 1.4em;border:1px solid var(--line);border-radius:var(--r-l);background:var(--code-bg);overflow:hidden}.code-tab-bar{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.code-tab-bar button{display:inline-flex;align-items:center;gap:6px;flex:none;height:42px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-soft);font:500 .82rem var(--font-ui);cursor:pointer}.code-tab-bar button:hover{color:var(--ink);background:var(--state)}.code-tab-bar button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.code-tabs .code-block{margin:0;border:0;border-radius:0}.code-tabs .code-title{display:none}.code-tabs .code-block.has-title .code-lang{margin-left:0;margin-right:auto}.cat-dot{display:inline-block;flex:none;width:8px;height:8px;margin-right:6px;border-radius:50%}.cat-name-link{display:inline-flex;align-items:center}.cat-name .cat-dot,.cat-name strong .cat-dot{vertical-align:middle}.row-media,.grid-media,.project-media{position:relative;display:block;border-radius:var(--r-l);overflow:hidden}.card-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:16px;pointer-events:none;background:linear-gradient(to top,#000000e0,#0000008c 60%,#00000059);color:#fff;font:400 .86rem/1.5 var(--font-ui);opacity:0;transition:opacity .2s var(--ease)}.card-preview>span{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;transform:translateY(6px);transition:transform .25s var(--ease)}@media(hover:hover)and (pointer:fine){article:hover>a>.card-preview{opacity:1;transition-delay:.45s}article:hover>a>.card-preview>span{transform:none;transition-delay:.45s}}@media(prefers-reduced-motion:reduce){.card-preview,.card-preview>span{transition:none}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.grid-card{display:flex;flex-direction:column;padding:10px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1);transition:box-shadow .25s var(--ease);min-width:0}.grid-card:hover{box-shadow:var(--e2)}.grid-card:hover .thumb img{transform:scale(1.03)}.grid-body{display:flex;flex-direction:column;flex:1;padding:14px 8px 6px}.grid-body .row-kicker{margin-bottom:8px}.grid-card h3{margin:0 0 6px;font-size:1.15rem;line-height:1.25}.grid-card p{margin:0 0 12px;color:var(--ink-soft);font-size:.98rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid-card .row-foot{margin-top:auto}.grid-card .tags a{height:26px;padding:0 9px;font-size:.78rem}@media(min-width:720px){.grid-card.big{grid-column:span 2}.featured-grid:not(.n1):not(.n2) .grid-card.big{grid-row:span 2}.featured-grid .grid-card.big .thumb{aspect-ratio:16 / 10}.grid-card.big h3{font-size:clamp(1.4rem,2.4vw,1.8rem)}}.featured-grid.n1{grid-template-columns:1fr}.featured-grid.n1 .grid-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:20px}@media(max-width:719px){.featured-grid.n1 .grid-card{grid-template-columns:1fr}}.home-featured .home-section-head h2{display:flex;align-items:center;gap:10px}.home-featured .home-section-head h2 svg{color:var(--accent)}.compact-list{display:grid;border-top:1px solid var(--line)}.compact-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:6px 20px;align-items:baseline;padding:16px 6px;border-bottom:1px solid var(--line)}.compact-row .meta{margin:0;white-space:nowrap}.compact-row h3{margin:0;font-size:1.1rem;line-height:1.3;display:flex;align-items:center;gap:8px}.compact-row h3 a{text-decoration:none}.compact-row h3 a:hover{text-decoration:underline}.compact-row p{margin:4px 0 0;font-size:.93rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.compact-side{display:flex;align-items:center;gap:10px}.pin-mark{display:inline-grid;place-items:center;color:var(--accent)}@media(max-width:640px){.compact-row{grid-template-columns:minmax(0,1fr);padding:14px 2px}.compact-side{order:3}}.home-list .compact-list{background:var(--surface);border:0;border-radius:var(--r-xl);box-shadow:var(--e1);padding:4px 18px}.home-list .compact-row:last-child{border-bottom:0}.sk{display:block;border-radius:var(--r-s);background:var(--surface-2);position:relative;overflow:hidden}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 60%,transparent),transparent);animation:sk-shine 1.4s infinite}@keyframes sk-shine{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.sk:after{animation:none}}.sk-wrap>div{display:contents}.sk-card{pointer-events:none}.sk-thumb{aspect-ratio:16 / 9;border-radius:var(--r-l)}.sk-lines{display:grid;gap:10px;align-content:center;padding:6px 8px}.sk-pill{border-radius:var(--r-full)}.sk-post .post-head{display:grid;gap:12px;margin-top:64px}.sk-hero{aspect-ratio:21 / 9;border-radius:var(--r-2xl);margin-bottom:40px}.sk-text{padding:0;gap:14px}.sk-page{display:grid;gap:14px;padding-top:40px}.compact-list.sk-wrap .compact-row{grid-template-columns:130px 1fr}.sk-back{margin:24px 0 0}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:vt-out .16s var(--ease) both}::view-transition-new(root){animation:vt-in .26s var(--ease) both}::view-transition-group(post-hero){animation-duration:.38s;animation-timing-function:var(--ease)}::view-transition-old(post-hero),::view-transition-new(post-hero){animation-duration:.38s;height:100%;object-fit:cover}::view-transition-group(post-title){animation-duration:.4s;animation-timing-function:var(--ease)}::view-transition-old(post-title),::view-transition-new(post-title){animation-duration:.4s;height:100%;width:auto;object-fit:none;object-position:left top}::view-transition-old(post-title){animation-name:vt-title-out}::view-transition-new(post-title){animation-name:vt-title-in}}@keyframes vt-out{to{opacity:0}}@keyframes vt-title-out{to{opacity:0}}@keyframes vt-title-in{0%{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.appearance-form{max-width:980px}.swatches{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.swatch{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer}.swatch>span:first-child{width:28px;height:28px;border-radius:50%;background:var(--sw, var(--ink));display:grid;place-items:center;color:#fff}.swatch.none>span:first-child{background:linear-gradient(135deg,#000 50%,#fff 50%);box-shadow:inset 0 0 0 1px var(--line)}.swatch.on{border-color:var(--ink)}.swatch.picker>span:first-child{background:conic-gradient(#ef4444,#eab308,#22c55e,#06b6d4,#3b82f6,#a855f7,#ef4444)}.swatch.picker.on>span:first-child{background:var(--sw)}.swatch.picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.hex-input{width:110px;min-height:38px}.pair{display:inline-flex;align-items:center;gap:5px;margin-left:10px;font-family:var(--font-code);font-size:.8rem}.pair i{width:12px;height:12px;border-radius:50%}.theme-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.theme-sample{position:relative;display:grid;gap:12px;padding:14px;border-radius:var(--r-xl);background:var(--bg);color:var(--ink);font-family:var(--font-body);border:1px solid var(--line);overflow:hidden}.theme-sample.tp-light{--bg: #f3f3f3;--surface: #ffffff;--surface-2: #e9e9e9;--tonal: #dedede;--ink: #000000;--ink-soft: #5b5b5b;--line: #d4d4d4;--on-ink: #ffffff;--state: rgba(0, 0, 0, .07);--e1: 0 1px 2px rgba(0, 0, 0, .1), 0 1px 3px 1px rgba(0, 0, 0, .06);--accent: var(--ink);--on-accent: var(--on-ink);color-scheme:light}.theme-sample.tp-dark{--bg: #000000;--surface: #141414;--surface-2: #1f1f1f;--tonal: #2e2e2e;--ink: #ffffff;--ink-soft: #ababab;--line: #2f2f2f;--on-ink: #000000;--state: rgba(255, 255, 255, .08);--e1: 0 0 0 1px #222, 0 1px 3px rgba(0, 0, 0, .8);--accent: var(--ink);--on-accent: var(--on-ink);color-scheme:dark}.ts-bar{display:flex;align-items:center;gap:8px;font:700 .95rem var(--font-head)}.ts-logo{width:20px;height:20px;border-radius:50%;background:var(--ink)}.ts-nav{margin-left:auto;display:flex;gap:12px;font:500 .8rem var(--font-ui);color:var(--ink-soft)}.ts-progress{height:3px;border-radius:2px;background:var(--surface-2);overflow:hidden}.ts-progress span{display:block;width:45%;height:100%;background:var(--accent)}.ts-card{display:grid;gap:8px;justify-items:start;padding:16px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--e1)}.ts-card h3{margin:4px 0 0;font-family:var(--font-head);font-size:1.25rem}.ts-card p{margin:0;font-size:1rem;line-height:1.55}.ts-card a{color:var(--accent)}.ts-card code{font-family:var(--font-code);font-size:.85em;background:var(--surface-2);padding:1px 5px;border-radius:var(--r-xs)}.ts-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.ts-row .btn{pointer-events:none}.ts-row .check{font:500 .85rem var(--font-ui)}.ts-mode{position:absolute;top:14px;right:14px;display:none}.layout-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.layout-cards label{position:relative;display:grid;gap:4px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:var(--r-l);cursor:pointer;font-weight:400}.layout-cards label:hover{background:var(--state)}.layout-cards label.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.layout-cards input{position:absolute;opacity:0;pointer-events:none}.layout-cards label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.layout-cards strong{font:600 .95rem var(--font-ui)}.layout-cards small{font-size:.82rem;line-height:1.4}.lc-pic{display:grid;gap:4px;height:84px;padding:8px;margin-bottom:6px;border-radius:var(--r-s);background:var(--surface-2)}.lc-pic i{display:block;border-radius:3px;background:var(--tonal)}.lc-featured{grid-template-columns:1.4fr 1fr;grid-template-rows:1.6fr 1fr 1fr}.lc-featured i:nth-child(1){grid-row:1;grid-column:1}.lc-featured i:nth-child(2){grid-row:1;grid-column:2;background:none;border:2px solid var(--tonal)}.lc-featured i:nth-child(3),.lc-featured i:nth-child(4){grid-column:1 / -1}.lc-featured i:nth-child(5){display:none}.lc-grid{grid-template-columns:2fr 1fr;grid-template-rows:1.3fr 1fr}.lc-grid i:nth-child(1){grid-row:1}.lc-grid i:nth-child(n+3){display:none}.lc-grid:after{content:"";grid-column:1 / -1;background:repeating-linear-gradient(90deg,var(--tonal) 0 31%,transparent 31% 34.5%);border-radius:3px}.lc-list{grid-template-rows:repeat(5,1fr)}.lc-list i{background:linear-gradient(90deg,var(--tonal) 0 18%,transparent 18% 22%,var(--tonal) 22% 80%,transparent 80%)}.ll-rows{grid-template-rows:repeat(3,1fr)}.ll-rows i{background:linear-gradient(90deg,var(--tonal) 0 30%,transparent 30% 34%,var(--tonal) 34%)}.ll-rows i:nth-child(4){display:none}.ll-grid{grid-template-columns:repeat(2,1fr)}.ll-compact{grid-template-rows:repeat(4,1fr)}.ll-compact i{height:6px;align-self:center}.layout-cards.small .lc-pic{height:64px}.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.logo-pick{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logo-box{display:grid;place-items:center;width:88px;height:88px;padding:10px;border-radius:var(--r-l);border:1px dashed var(--outline);background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--surface) 0 50%) 0 0 / 16px 16px}.logo-box img{max-width:100%;max-height:100%;object-fit:contain}.logo-actions{display:grid;gap:6px;justify-items:start}.brand-preview{display:grid;gap:12px;padding:14px;border-radius:var(--r-l);background:var(--surface-2)}.bp-tab{display:inline-flex;align-items:center;gap:8px;justify-self:start;max-width:260px;height:34px;padding:0 12px;border-radius:10px 10px 0 0;background:var(--surface);font:400 .82rem var(--font-ui)}.bp-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-tab img{object-fit:contain}.bp-header{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;border-radius:var(--r-l);background:var(--surface);font:700 1.05rem var(--font-head)}.bp-header img{object-fit:contain}.bp-header .bp-wide img{height:36px;width:auto;max-width:240px}.bp-icons{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.bp-icons>span{display:grid;justify-items:center;gap:4px;font:.72rem var(--font-ui);color:var(--ink-soft)}.bp-icons img{object-fit:contain}.bp-home{display:grid;place-items:center;width:60px;height:60px;padding:6px;border-radius:14px;background:#fff;box-shadow:var(--e1)}.bp-home img{width:100%;height:100%}.og-design{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;align-items:start}@media(max-width:860px){.og-design{grid-template-columns:minmax(0,1fr)}}.og-options{display:grid;gap:16px}.og-live{margin:0;display:grid;gap:6px}.og-live img{width:100%;height:auto;border-radius:var(--r-l);box-shadow:var(--e1);background:var(--surface-2);transition:opacity .2s}.og-live.loading img{opacity:.55}.color-dots{display:flex;flex-wrap:wrap;gap:8px}.color-dot{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid var(--surface);background:var(--dot);box-shadow:0 0 0 1px var(--line);cursor:pointer}.color-dot.none{background:linear-gradient(135deg,transparent 45%,var(--danger) 45% 55%,transparent 55%),var(--surface)}.color-dot.on{box-shadow:0 0 0 2px var(--ink)}.brand-wide img{width:auto;height:36px;max-width:220px;object-fit:contain}.appearance p,.appearance .section-head a{font-family:var(--font-ui)}.appearance .field>.segmented{justify-self:start}.post-meta>.reader:before{content:none}.post-meta>.reader{margin-left:12px}@media(max-width:600px){.post-meta>.reader{margin-left:0;flex-basis:100%;margin-top:6px}}.loading-bar{position:fixed;top:0;left:0;right:0;z-index:120;height:3px;pointer-events:none}.loading-bar span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(.08);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.loading-bar.loading span{animation:fx-bar 6s cubic-bezier(.1,.7,.2,1) forwards}.loading-bar.done span{transform:scaleX(1);opacity:0;transition:transform .2s var(--ease),opacity .35s ease .15s}@keyframes fx-bar{to{transform:scaleX(.92)}}html:not([data-fx]) .loading-bar{display:none}@media(prefers-reduced-motion:no-preference){html[data-fx] [data-fx-wait]{opacity:0;transform:translateY(22px)}html[data-fx] .fx-in{animation:fx-rise .65s var(--ease) backwards;animation-delay:var(--fx-d, 0ms)}html[data-fx] .prose>.fx-in{animation-name:fx-rise-soft}html[data-fx] :is(.thumb,.post-hero,.prose) img:not(.is-loaded){opacity:0}html[data-fx] :is(.thumb,.post-hero,.prose) img.is-loaded{animation:fx-img .7s var(--ease)}html[data-fx] .thumb:has(>img:not(.is-loaded),>picture>img:not(.is-loaded)):after,html[data-fx] .post-hero:has(>img:not(.is-loaded),>picture>img:not(.is-loaded)):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 55%,transparent),transparent);animation:sk-shine 1.4s infinite}html[data-fx] .post-hero:has(>img:not(.is-loaded),>picture>img:not(.is-loaded)){position:relative;overflow:hidden;min-height:200px;border-radius:var(--r-2xl);background:var(--surface-2)}html[data-fx] .sk-wrap{animation:fx-fade .3s ease backwards}}@keyframes fx-rise{0%{opacity:0;transform:translateY(22px)}}@keyframes fx-rise-soft{0%{opacity:0;transform:translateY(10px)}}@keyframes fx-fade{0%{opacity:0}}@keyframes fx-img{0%{opacity:0;filter:blur(10px);transform:scale(1.03)}}.hero-word{display:inline-block}.hero-shine{display:none}@media(prefers-reduced-motion:no-preference){html[data-fx] .hero{animation:hero-card .7s var(--ease) backwards}html[data-fx] .hero-term:before{animation:fx-fade 1.2s ease .2s backwards}html[data-fx] .hero-term:after{animation:hero-glow-in 1.4s var(--ease) .15s backwards,hero-glow 14s ease-in-out 1.6s infinite alternate}html[data-fx] .hero-kicker{animation:fx-rise .6s var(--ease) .15s backwards}html[data-fx] .hero-word{animation:hero-word .7s var(--ease) backwards;animation-delay:calc(.25s + var(--w, 0) * .07s)}html[data-fx] .hero .lede{animation:fx-rise .7s var(--ease) .55s backwards}html[data-fx] .hero-actions>*{animation:fx-rise .6s var(--ease) .7s backwards}html[data-fx] .hero-actions>:nth-child(2){animation-delay:.78s}html[data-fx] .hero-terminal{animation:hero-term .9s var(--ease) .35s backwards}html[data-fx] .hero-shine{display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.06) 47%,rgba(255,255,255,.11) 50%,rgba(255,255,255,.06) 53%,transparent 65%);transform:translate(-120%);animation:hero-shine 1.6s ease-out 1s forwards}}@keyframes hero-card{0%{opacity:0;transform:translateY(16px) scale(.98)}}@keyframes hero-word{0%{opacity:0;transform:translateY(.45em);filter:blur(6px)}}@keyframes hero-term{0%{opacity:0;transform:translate(28px) translateY(8px) rotate(1.5deg);filter:blur(4px)}}@keyframes hero-glow-in{0%{opacity:0;transform:scale(.6)}}@keyframes hero-glow{0%{transform:translate(0)}to{transform:translate(-120px,70px) scale(1.15)}}@keyframes hero-shine{to{transform:translate(120%)}}.prose img.sized{display:block;height:auto}.prose img.sized.align-center{margin-left:auto;margin-right:auto}.prose img.sized.align-right{margin-left:auto}.prose p:has(>img.sized:only-child,>picture:only-child>img.sized){margin-bottom:1.2em}@media(max-width:520px){.prose img.sized{min-width:60%}}.rte-img{display:block;margin:0 0 1.2em;line-height:0}.rte-img.align-left{text-align:left}.rte-img.align-center{text-align:center}.rte-img.align-right{text-align:right}.rte-img-box{position:relative;display:inline-block;max-width:100%;width:100%;vertical-align:top}.rte-img-box[style]{width:auto}.rte-img-box img{display:block;width:100%;height:auto;border-radius:var(--r-l)}.rte-img.selected .rte-img-box img{outline:3px solid var(--accent);outline-offset:2px}.rte-img-handle{position:absolute;top:50%;width:12px;height:48px;margin-top:-24px;border-radius:6px;background:var(--surface);border:2px solid var(--accent);box-shadow:var(--e2);cursor:ew-resize;opacity:0;transition:opacity .15s;touch-action:none;z-index:2}.rte-img-handle.left{left:-6px}.rte-img-handle.right{right:-6px}.rte-img:hover .rte-img-handle,.rte-img.selected .rte-img-handle,.rte-img.resizing .rte-img-handle{opacity:1}@media(hover:none){.rte-img.selected .rte-img-handle{width:18px;height:56px;margin-top:-28px}.rte-img-handle.left{left:-9px}.rte-img-handle.right{right:-9px}}.rte-img-size{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:var(--r-full);background:#000000bf;color:#fff;font:600 .78rem/1.4 var(--font-ui);pointer-events:none}.rte-img.resizing{-webkit-user-select:none;user-select:none}.rte-image-menu{flex-wrap:wrap;max-width:min(640px,calc(100vw - 24px))}.rte-img-sizes{display:inline-flex;gap:2px}.rte-image-menu{row-gap:6px}.rte-image-menu .rte-alt{flex:1 1 100%}.rte-image-menu .rte-alt+.sep{display:none}html[data-palette=dracula]{--bg: #f7f3df;--surface: #fffbeb;--surface-2: #efebd6;--tonal: #e4dfc6;--ink: #1f1f1f;--ink-soft: #6c664b;--line: #ddd8c0;--outline: #9a9478;--on-ink: #fffbeb;--state: rgba(100, 74, 201, .08);--state-2: rgba(100, 74, 201, .14);--danger: #cb3a2a;--ok: #14710a;--warn: #a34d14;--code-bg: #f6f2dd;--e1: 0 1px 2px rgba(60, 50, 20, .1), 0 1px 3px 1px rgba(60, 50, 20, .06);--e2: 0 1px 2px rgba(60, 50, 20, .12), 0 2px 6px 2px rgba(60, 50, 20, .08);--e3: 0 4px 8px 3px rgba(60, 50, 20, .1), 0 1px 3px rgba(60, 50, 20, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #3b3554 0%, #282a36 55%, #21222c 100%);--hero-ink: #f8f8f2;--hero-soft: #c4c8e2;--hero-btn-bg: #bd93f9;--hero-btn-ink: #1f1f1f;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=dracula]:not([data-theme=light]){--bg: #14151c;--surface: #1c1d26;--surface-2: #262833;--tonal: #343746;--ink: #f8f8f2;--ink-soft: #a7aed3;--line: #2c2e3b;--outline: #6272a4;--on-ink: #14151c;--state: rgba(189, 147, 249, .1);--state-2: rgba(189, 147, 249, .17);--danger: #ff6e6e;--ok: #50fa7b;--warn: #ffb86c;--code-bg: #101117;--e1: 0 0 0 1px #262833, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #2c2e3b, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #343746, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #2c2542 0%, #1c1d26 55%, #14151c 100%);--hero-ink: #f8f8f2;--hero-soft: #a7aed3;--hero-btn-bg: #bd93f9;--hero-btn-ink: #14151c;--hero-edge: #2c2e3b;color-scheme:dark}}html[data-palette=dracula][data-theme=dark]{--bg: #14151c;--surface: #1c1d26;--surface-2: #262833;--tonal: #343746;--ink: #f8f8f2;--ink-soft: #a7aed3;--line: #2c2e3b;--outline: #6272a4;--on-ink: #14151c;--state: rgba(189, 147, 249, .1);--state-2: rgba(189, 147, 249, .17);--danger: #ff6e6e;--ok: #50fa7b;--warn: #ffb86c;--code-bg: #101117;--e1: 0 0 0 1px #262833, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #2c2e3b, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #343746, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #2c2542 0%, #1c1d26 55%, #14151c 100%);--hero-ink: #f8f8f2;--hero-soft: #a7aed3;--hero-btn-bg: #bd93f9;--hero-btn-ink: #14151c;--hero-edge: #2c2e3b;color-scheme:dark}html[data-palette=dracula] ::selection{background:#644ac938}html[data-palette=dracula] .hljs-comment,html[data-palette=dracula] .hljs-quote{font-style:italic}html[data-palette=dracula] .hljs-keyword,html[data-palette=dracula] .hljs-selector-tag{color:#a3144d}html[data-palette=dracula] .hljs-built_in,html[data-palette=dracula] .hljs-type{color:#036a96}html[data-palette=dracula] .hljs-string,html[data-palette=dracula] .hljs-attr-value,html[data-palette=dracula] .hljs-template-tag,html[data-palette=dracula] .hljs-addition{color:#7a6512}html[data-palette=dracula] .hljs-number,html[data-palette=dracula] .hljs-literal,html[data-palette=dracula] .hljs-symbol{color:#644ac9}html[data-palette=dracula] .hljs-title,html[data-palette=dracula] .hljs-title.function_,html[data-palette=dracula] .hljs-function .hljs-title{color:#14710a}html[data-palette=dracula] .hljs-attr,html[data-palette=dracula] .hljs-attribute,html[data-palette=dracula] .hljs-variable,html[data-palette=dracula] .hljs-property,html[data-palette=dracula] .hljs-params{color:#a34d14}html[data-palette=dracula] .hljs-comment,html[data-palette=dracula] .hljs-quote{color:#635d97}html[data-palette=dracula] .hljs-meta,html[data-palette=dracula] .hljs-deletion{color:#cb3a2a}@media(prefers-color-scheme:dark){html[data-palette=dracula]:not([data-theme=light]) .hljs-keyword,html[data-palette=dracula]:not([data-theme=light]) .hljs-selector-tag{color:#ff79c6}html[data-palette=dracula]:not([data-theme=light]) .hljs-built_in,html[data-palette=dracula]:not([data-theme=light]) .hljs-type{color:#8be9fd}html[data-palette=dracula]:not([data-theme=light]) .hljs-string,html[data-palette=dracula]:not([data-theme=light]) .hljs-attr-value,html[data-palette=dracula]:not([data-theme=light]) .hljs-template-tag,html[data-palette=dracula]:not([data-theme=light]) .hljs-addition{color:#f1fa8c}html[data-palette=dracula]:not([data-theme=light]) .hljs-number,html[data-palette=dracula]:not([data-theme=light]) .hljs-literal,html[data-palette=dracula]:not([data-theme=light]) .hljs-symbol{color:#bd93f9}html[data-palette=dracula]:not([data-theme=light]) .hljs-title,html[data-palette=dracula]:not([data-theme=light]) .hljs-title.function_,html[data-palette=dracula]:not([data-theme=light]) .hljs-function .hljs-title{color:#50fa7b}html[data-palette=dracula]:not([data-theme=light]) .hljs-attr,html[data-palette=dracula]:not([data-theme=light]) .hljs-attribute,html[data-palette=dracula]:not([data-theme=light]) .hljs-variable,html[data-palette=dracula]:not([data-theme=light]) .hljs-property,html[data-palette=dracula]:not([data-theme=light]) .hljs-params{color:#ffb86c}html[data-palette=dracula]:not([data-theme=light]) .hljs-comment,html[data-palette=dracula]:not([data-theme=light]) .hljs-quote{color:#7f8ec4}html[data-palette=dracula]:not([data-theme=light]) .hljs-meta,html[data-palette=dracula]:not([data-theme=light]) .hljs-deletion{color:#ff6e6e}html[data-palette=dracula]:not([data-theme=light]) ::selection{background:#bd93f94d}}html[data-palette=dracula][data-theme=dark] .hljs-keyword,html[data-palette=dracula][data-theme=dark] .hljs-selector-tag{color:#ff79c6}html[data-palette=dracula][data-theme=dark] .hljs-built_in,html[data-palette=dracula][data-theme=dark] .hljs-type{color:#8be9fd}html[data-palette=dracula][data-theme=dark] .hljs-string,html[data-palette=dracula][data-theme=dark] .hljs-attr-value,html[data-palette=dracula][data-theme=dark] .hljs-template-tag,html[data-palette=dracula][data-theme=dark] .hljs-addition{color:#f1fa8c}html[data-palette=dracula][data-theme=dark] .hljs-number,html[data-palette=dracula][data-theme=dark] .hljs-literal,html[data-palette=dracula][data-theme=dark] .hljs-symbol{color:#bd93f9}html[data-palette=dracula][data-theme=dark] .hljs-title,html[data-palette=dracula][data-theme=dark] .hljs-title.function_,html[data-palette=dracula][data-theme=dark] .hljs-function .hljs-title{color:#50fa7b}html[data-palette=dracula][data-theme=dark] .hljs-attr,html[data-palette=dracula][data-theme=dark] .hljs-attribute,html[data-palette=dracula][data-theme=dark] .hljs-variable,html[data-palette=dracula][data-theme=dark] .hljs-property,html[data-palette=dracula][data-theme=dark] .hljs-params{color:#ffb86c}html[data-palette=dracula][data-theme=dark] .hljs-comment,html[data-palette=dracula][data-theme=dark] .hljs-quote{color:#7f8ec4}html[data-palette=dracula][data-theme=dark] .hljs-meta,html[data-palette=dracula][data-theme=dark] .hljs-deletion{color:#ff6e6e}html[data-palette=dracula][data-theme=dark] ::selection{background:#bd93f94d}html[data-palette=dracula] .hero-term:after{background:radial-gradient(closest-side,rgba(189,147,249,.22),transparent)}html[data-palette=dracula] .hero-dot{background:#50fa7b;animation-name:hero-pulse-green}@keyframes hero-pulse-green{0%{box-shadow:0 0 #50fa7b80}70%,to{box-shadow:0 0 0 9px #50fa7b00}}html[data-palette=dracula] .hero-terminal{background:#14151cc7;border-color:#bd93f938}html[data-palette=dracula] .hero-terminal .t-prompt{color:#ff79c6}html[data-palette=dracula] .hero-terminal a{color:#8be9fd;text-decoration-color:#8be9fd59}html[data-palette=dracula] .hero-terminal .t-soft{color:#a7aed3}html[data-palette=dracula] .hero .hero-btn-ghost{border-color:#bd93f973}.theme-sample.tp-light.pal-dracula{--bg: #f7f3df;--surface: #fffbeb;--surface-2: #efebd6;--tonal: #e4dfc6;--ink: #1f1f1f;--ink-soft: #6c664b;--line: #ddd8c0;--outline: #9a9478;--on-ink: #fffbeb;--state: rgba(100, 74, 201, .08);--state-2: rgba(100, 74, 201, .14);--danger: #cb3a2a;--ok: #14710a;--warn: #a34d14;--code-bg: #f6f2dd;--e1: 0 1px 2px rgba(60, 50, 20, .1), 0 1px 3px 1px rgba(60, 50, 20, .06);--e2: 0 1px 2px rgba(60, 50, 20, .12), 0 2px 6px 2px rgba(60, 50, 20, .08);--e3: 0 4px 8px 3px rgba(60, 50, 20, .1), 0 1px 3px rgba(60, 50, 20, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #3b3554 0%, #282a36 55%, #21222c 100%);--hero-ink: #f8f8f2;--hero-soft: #c4c8e2;--hero-btn-bg: #bd93f9;--hero-btn-ink: #1f1f1f;--hero-edge: transparent}.theme-sample.tp-dark.pal-dracula{--bg: #14151c;--surface: #1c1d26;--surface-2: #262833;--tonal: #343746;--ink: #f8f8f2;--ink-soft: #a7aed3;--line: #2c2e3b;--outline: #6272a4;--on-ink: #14151c;--state: rgba(189, 147, 249, .1);--state-2: rgba(189, 147, 249, .17);--danger: #ff6e6e;--ok: #50fa7b;--warn: #ffb86c;--code-bg: #101117;--e1: 0 0 0 1px #262833, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #2c2e3b, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #343746, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #2c2542 0%, #1c1d26 55%, #14151c 100%);--hero-ink: #f8f8f2;--hero-soft: #a7aed3;--hero-btn-bg: #bd93f9;--hero-btn-ink: #14151c;--hero-edge: #2c2e3b;color-scheme:dark}.palette-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.palette-cards label{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-l);cursor:pointer;font-weight:400}.palette-cards label.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.palette-cards input{position:absolute;opacity:0;pointer-events:none}.palette-cards label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.palette-cards strong{font:600 .95rem var(--font-ui)}.palette-cards small{grid-column:2;font-size:.8rem}.pal-dots{grid-row:span 2;display:grid;grid-template-columns:repeat(3,14px);gap:3px;padding:6px;border-radius:var(--r-s);background:var(--pd-bg)}.pal-dots i{width:14px;height:14px;border-radius:50%}html[data-palette=dracula] .chart .bar,html[data-palette=dracula] svg.spark rect{fill:var(--accent)}.prose .embed{margin:1.8em 0}.embed-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-l);overflow:hidden;background:#0d0d10;box-shadow:var(--e1)}.embed-video.tall .embed-frame{aspect-ratio:9 / 16;max-width:360px;margin:0 auto}.embed-pen .embed-frame{aspect-ratio:auto;height:460px}.embed-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;padding:0;border:0;background:#0d0d10;color:#fff;cursor:pointer}.embed-play img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;transition:transform .4s var(--ease),filter .3s var(--ease)}.embed-play:hover img{transform:scale(1.03);filter:brightness(.85)}.embed-play-btn{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#0000009e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 0 0 1px #ffffff40;transition:transform .2s var(--ease),background .2s var(--ease)}.embed-play:hover .embed-play-btn,.embed-play:focus-visible .embed-play-btn{transform:scale(1.08);background:var(--accent);color:var(--on-accent)}.embed-play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.embed-pen-start{align-content:center;gap:8px;background:radial-gradient(120% 90% at 30% 20%,#2a2a33,#111116);font-family:var(--font-ui)}.embed-pen-start strong{font-size:1.1rem}.embed-pen-start small{color:#ffffffb3}.embed-pen-start:hover{background:radial-gradient(120% 90% at 30% 20%,#34343f,#15151b)}.embed-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:8px;font:.82rem var(--font-ui);color:var(--ink-soft)}.prose .embed-cap a{display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft)}.prose .embed-cap a:hover{color:var(--ink)}.prose a.embed-card{display:flex;align-items:stretch;min-height:112px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.prose a.embed-card:hover{border-color:var(--outline);box-shadow:var(--e2);color:var(--ink)}.prose a.embed-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.embed-card-text{flex:1;min-width:0;display:grid;align-content:center;gap:4px;padding:14px 18px;font-family:var(--font-ui)}.embed-card-site{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-soft)}.embed-card-title{font:600 1rem/1.35 var(--font-head);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.embed-card-desc{font-size:.86rem;line-height:1.45;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.embed-card-url{font:.76rem var(--font-code);color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embed-card-img{flex:0 0 min(34%,220px);background:var(--surface-2)}.prose .embed-card-img img{width:100%;height:100%;object-fit:cover;margin:0;border-radius:0}.embed-card .sk-line{display:block;height:14px;width:70%;border-radius:var(--r-xs);background:var(--surface-2);animation:embed-pulse 1.2s ease-in-out infinite alternate}.embed-card .sk-line.short{width:45%;height:11px}@keyframes embed-pulse{to{opacity:.45}}@media(max-width:520px){.prose a.embed-card.has-image{flex-direction:column-reverse}.embed-card-img{flex-basis:auto;aspect-ratio:1.91 / 1}.embed-pen .embed-frame{height:380px}}.rte-body p.rte-embed{position:relative;padding:30px 14px 12px;border:1px dashed var(--outline);border-radius:var(--r-m);background:var(--surface-2)}.rte-body p.rte-embed:before{content:"▶  " attr(data-embed) " (shown on the post)";position:absolute;top:8px;left:14px;font:600 .72rem var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.rte-body p.rte-embed-card:before{content:"🔗  " attr(data-embed) " (shown on the post)"}.series-box{margin:0 0 28px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-l);background:var(--surface);font-family:var(--font-ui)}.series-box summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;color:var(--ink);border-radius:var(--r-l)}.series-box summary::-webkit-details-marker{display:none}.series-box summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.series-box summary>svg:first-child{color:var(--accent);flex:none}.series-box summary>span{display:grid;gap:2px;flex:1;min-width:0}.series-box summary small{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.series-box summary strong{font:600 1.02rem var(--font-head)}.series-box summary>svg:last-child{color:var(--ink-soft);transition:transform .2s var(--ease);flex:none}.series-box[open] summary>svg:last-child{transform:rotate(180deg)}.series-box ol{margin:0;padding:4px 18px 16px;list-style:none;counter-reset:part;border-top:1px solid var(--line)}.series-box li{counter-increment:part;display:flex;align-items:center;gap:10px;padding:8px 0 0;font-size:.94rem}.series-box li:before{content:counter(part);display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);font:600 .76rem var(--font-ui);color:var(--ink-soft)}.series-box li.done:before{background:var(--tonal);border-color:transparent;color:var(--ink)}.series-box li.current:before{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.series-box li.current span{font-weight:600}.series-box li a{color:var(--ink);text-decoration:none}.series-box li a:hover{color:var(--accent);text-decoration:underline}.series-box .badge{height:20px;font-size:.7rem}.series-next{margin:32px 0 8px;padding:18px;border-radius:var(--r-l);background:var(--surface-2);font-family:var(--font-ui)}.series-next-head{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:600;color:var(--ink)}.series-next-head svg{color:var(--accent)}.series-next>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.series-step{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-m);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--e1);transition:box-shadow .15s var(--ease)}.series-step:hover{box-shadow:var(--e2)}.series-step span{display:grid;gap:2px;min-width:0;font-weight:600;font-size:.94rem}.series-step small{font-weight:400;font-size:.76rem;color:var(--ink-soft)}.series-step.next{justify-content:flex-end;text-align:right}.series-step svg{flex:none;color:var(--ink-soft)}@media(max-width:600px){.series-next>div{grid-template-columns:1fr}.series-next>div>span:empty{display:none}}.series-fields{display:grid;grid-template-columns:1fr 84px;gap:10px;align-items:end}.series-fields label:only-child{grid-column:1 / -1}.series-hint{margin-top:-6px}.listen-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px 0 9px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:600 .82rem var(--font-ui);cursor:pointer}.listen-btn:hover{background:var(--state)}.listen-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.post-meta>.listen-btn{margin-left:12px}.post-meta>.listen-btn:before,.post-meta>.listen-btn+.reader:before{content:none}.post-meta>.listen-btn+.reader{margin-left:8px}@media(max-width:600px){.post-meta>.listen-btn{margin-left:0;margin-top:6px}.post-meta>.listen-btn+.reader{flex-basis:auto;margin-top:6px}}.listen-bar{position:fixed;left:50%;bottom:16px;z-index:45;transform:translate(-50%);display:flex;align-items:center;gap:4px;width:min(620px,calc(100vw - 24px));padding:10px 10px 10px 8px;overflow:hidden;border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--e3);font-family:var(--font-ui);color:var(--ink);animation:listen-in .3s var(--ease)}@keyframes listen-in{0%{opacity:0;transform:translate(-50%,20px)}}.listen-progress{position:absolute;left:0;right:0;top:0;height:3px;background:var(--line)}.listen-progress i{display:block;height:100%;background:var(--accent);transition:width .4s var(--ease)}.listen-main{display:grid;place-items:center;flex:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer}.listen-main:hover{filter:brightness(1.08)}.listen-bar .icon-btn:disabled{opacity:.35;cursor:default;background:none}.listen-info{display:grid;flex:1;min-width:0;margin-left:8px;line-height:1.25}.listen-info strong{font-size:.9rem}.listen-info small{font-size:.76rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listen-rate{flex:none;min-width:48px;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:600 .82rem var(--font-ui);cursor:pointer}.listen-rate:hover{background:var(--state)}.listen-voice{flex:0 1 150px;min-width:0;height:32px;padding:0 26px 0 10px;font-size:.8rem;border-radius:var(--r-full)}@media(max-width:560px){.listen-voice,.listen-info small{display:none}}.prose .tts-current,.post-head h1.tts-current{background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:var(--r-s);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 14%,transparent);transition:background .3s var(--ease),box-shadow .3s var(--ease)}@media print{.listen-btn,.listen-bar{display:none!important}}.badge.scheduled{border-style:solid;border-color:var(--accent);color:var(--accent)}.badge.scheduled:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.schedule-box,.schedule-box label{display:grid;gap:6px}.schedule-box small{line-height:1.45}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.cal{padding:16px}.cal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:12px}.cal-bar h2{min-width:170px;text-align:center;font-size:1.15rem}.cal-legend{display:flex;gap:14px;margin-left:auto}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend .dot,.cal-chip:before{width:8px;height:8px;border-radius:50%;flex:none}.dot.published{background:var(--ok)}.dot.scheduled{background:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-m);background:var(--line)}.cal-wd{padding:8px 6px;background:var(--surface-2);font:600 .74rem var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);text-align:center}.cal-day{display:flex;flex-direction:column;gap:4px;min-height:108px;padding:6px;background:var(--surface);transition:background .12s var(--ease)}.cal-day.other{background:color-mix(in srgb,var(--surface) 55%,var(--bg))}.cal-day.other .cal-num{opacity:.5}.cal-day.over{background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:inset 0 0 0 2px var(--accent)}.cal-num{align-self:flex-start;display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:var(--r-full);font:600 .8rem var(--font-ui);color:var(--ink-soft)}.cal-day.today .cal-num{background:var(--accent);color:var(--on-accent)}.cal-chip{display:flex;align-items:center;gap:5px;width:100%;min-width:0;padding:4px 7px;border:1px solid transparent;border-radius:var(--r-s);background:var(--surface-2);color:var(--ink);font:500 .76rem/1.25 var(--font-ui);text-align:left;cursor:grab}.cal-chip:before{content:"";background:var(--outline)}.cal-chip.published:before{background:var(--ok)}.cal-chip.scheduled{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.cal-chip.scheduled:before{background:var(--accent)}.cal-chip.draft{border-style:dashed;border-color:var(--outline);background:none}.cal-chip:hover{border-color:var(--outline)}.cal-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-chip:active{cursor:grabbing}.cal-chip .cal-cat{width:4px;height:14px;border-radius:2px;flex:none}.cal-chip.wide .cal-cat{order:2}.cal-time{flex:none;font-weight:700;color:var(--accent)}.cal-title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.cal-chip.scheduled:not(.wide){flex-wrap:wrap;row-gap:2px}.cal-chip.scheduled:not(.wide) .cal-title{flex-basis:100%}.cal-more{align-self:flex-start;padding:2px 6px;border:0;border-radius:var(--r-s);background:none;color:var(--ink-soft);font:600 .74rem var(--font-ui);cursor:pointer}.cal-more:hover{background:var(--state);color:var(--ink)}.cal-chip.wide{padding:8px 10px;font-size:.84rem}.cal-drafts{position:sticky;top:84px;display:grid;gap:10px;padding:18px;transition:box-shadow .15s var(--ease)}.cal-drafts h2{font-size:1.05rem}.cal-drafts p{margin:0}.cal-drafts.over{box-shadow:inset 0 0 0 2px var(--accent),var(--e1)}.cal-draft-list{display:grid;gap:6px;max-height:60vh;overflow:auto}.cal-loading{margin:12px 0 0}.cal-dialog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:0}.cal-dialog-field{display:grid;gap:6px;margin:14px 0}.cal-dialog-links{display:flex;flex-wrap:wrap;gap:8px;margin:0}@media(max-width:1000px){.cal-layout{grid-template-columns:1fr}.cal-drafts{position:static}}@media(max-width:700px){.cal{padding:10px}.cal-day{min-height:74px;padding:3px;gap:3px}.cal-chip:not(.wide){padding:3px 4px;font-size:.68rem}.cal-chip:not(.wide) .cal-time,.cal-chip:not(.wide) .cal-cat,.cal-chip:not(.wide) svg{display:none}.cal-legend{margin-left:0;width:100%}.cal-bar h2{min-width:0;flex:1}}.md-export{margin-top:20px}.md-export h2{display:flex;align-items:center;gap:8px}.md-export p{margin:0}.prose a.embed-card .embed-card-title{color:var(--ink)}.prose a.embed-card:hover .embed-card-title{color:var(--accent)}.embed-file-video video{display:block;width:100%;max-height:80vh;border-radius:var(--r-l);background:#000;box-shadow:var(--e1)}.embed-audio{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface)}.embed-audio-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:var(--r-m);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.embed-audio-body{flex:1;min-width:0;display:grid;gap:8px}.embed-audio-title{font:600 1rem/1.3 var(--font-head);color:var(--ink);overflow-wrap:anywhere}.embed-audio audio{width:100%;height:40px}.embed-file-bad{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:14px;border-radius:var(--r-m);background:var(--surface-2);font:.9rem var(--font-ui);color:var(--ink-soft)}@media(max-width:480px){.embed-audio{padding:12px;gap:12px}.embed-audio-icon{width:40px;height:40px}}.rte-progress{position:relative;display:inline-block;min-width:220px;padding-bottom:6px;font-weight:600;color:var(--ink)}.rte-progress i{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;background:var(--accent);transition:width .2s}.rte-body p.rte-embed-video:before{content:"🎬  Video (shown as a player · the text is its caption)"}.rte-body p.rte-embed-audio:before{content:"🎵  Sound (shown as a player · the text is its caption)"}.media-tile.av{position:relative;display:grid;place-items:center;background:var(--surface-2)}.media-tile.av video{width:100%;height:100%;object-fit:cover;pointer-events:none}.media-kind{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 4px;border-radius:var(--r-full);background:#000000a6;color:#fff;font:600 .7rem var(--font-ui)}.media-audio{display:grid;justify-items:center;gap:8px;color:var(--accent);font:600 .74rem var(--font-ui)}.media-audio span{color:var(--ink-soft)}.media-preview video{display:block;width:100%;max-height:60vh;border-radius:var(--r-m);background:#000}.media-preview audio{width:100%}.db-lock{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);font-family:var(--font-ui)}.db-lock>svg{color:var(--ink-soft)}.db-lock span{display:grid;line-height:1.2}.db-lock small{font-size:.76rem;color:var(--ink-soft)}.db-lock.open{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.db-lock.open>svg{color:var(--warn)}.db-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.db-tables{position:sticky;top:84px;display:grid;gap:6px;padding:12px;max-height:calc(100vh - 110px);overflow:auto}.db-tables ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.db-filter{height:36px;font-size:.86rem}.db-table-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--r-s);background:none;color:var(--ink);font:500 .86rem var(--font-ui);text-align:left;cursor:pointer}.db-table-btn:hover{background:var(--state)}.db-table-btn.on{background:var(--tonal);font-weight:600}.db-table-btn svg{flex:none;color:var(--ink-soft)}.db-table-btn.sql{margin-bottom:4px;border:1px dashed var(--outline)}.db-tname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-code);font-size:.8rem}.db-count{flex:none;font-size:.74rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.db-main{min-width:0;padding:18px}.db-main-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.db-main-head h2{font:600 1.2rem var(--font-code)}.db-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.db-tools .list-search{flex:1 1 240px;max-width:360px}.db-tools-space{flex:1}.db-confirm{display:inline-flex;align-items:center;gap:6px;font:500 .86rem var(--font-ui)}.db-note{display:flex;align-items:center;gap:6px;margin:0 0 10px}.db-grid-wrap{overflow:auto;max-height:68vh;border:1px solid var(--line);border-radius:var(--r-m)}.db-grid{width:100%;border-collapse:collapse;font:.8rem/1.4 var(--font-code)}.db-grid th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:0}.db-grid th>button,.db-grid th>span{display:flex;align-items:center;gap:4px;width:100%;padding:8px 10px;border:0;background:none;color:var(--ink);font:600 .78rem var(--font-code);cursor:pointer;text-align:left}.db-grid.plain th,.db-grid th>span{padding:8px 10px;cursor:default}.db-grid th>button:hover{background:var(--state)}.db-grid th svg{color:var(--warn)}.db-grid td{padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:top;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.db-grid tbody tr{cursor:pointer}.db-grid.plain tbody tr{cursor:default}.db-grid tbody tr:hover td{background:var(--state)}.db-grid tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.db-grid tbody tr.on td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.db-grid .db-check{width:36px;padding:6px 10px}.db-null{color:var(--ink-soft);font-style:italic;opacity:.75}.db-num{display:block;text-align:right;font-variant-numeric:tabular-nums}.db-hidden{display:inline-block;margin-left:4px;padding:0 8px;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-soft);font:500 .72rem var(--font-ui)}.db-pager{display:flex;align-items:center;gap:6px;margin-top:10px}.db-fields{display:grid;gap:12px}.db-field{display:grid;gap:4px;padding-left:10px;border-left:3px solid transparent}.db-field.changed{border-left-color:var(--accent)}.db-field>label:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.db-field>label strong{font:600 .86rem var(--font-code)}.db-field input[type=text],.db-field textarea{font:.86rem/1.45 var(--font-code)}.db-nullbox{font-size:.8rem}.db-hidden-note{display:flex;align-items:center;gap:6px;margin:0}.db-structure h3{margin:22px 0 8px;font-size:1rem}.db-structure h3:first-child{margin-top:0}.db-list{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.9rem}.db-sql,.db-structure .cmd{white-space:pre-wrap;overflow-wrap:anywhere}.db-snippets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.db-hist{width:auto;max-width:260px;height:32px;font-size:.8rem}.db-editor{width:100%;min-height:150px;font:.88rem/1.5 var(--font-code);background:var(--code-bg)}.db-run{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 6px}.db-err{white-space:pre-wrap;font:.84rem var(--font-code)}.db-results{display:grid;gap:14px;margin-top:12px}.db-result{display:grid;gap:6px}.db-result-sql{font-size:.78rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-unlock p{margin-top:0}@media(max-width:900px){.db-layout{grid-template-columns:1fr}.db-tables{position:static;max-height:260px}.db-page .admin-head{flex-wrap:wrap}}.db-lock span{white-space:nowrap}@media(max-width:600px){.db-lock{width:100%}.db-lock .btn{margin-left:auto}}.prefix-input{display:flex;align-items:center;gap:4px;min-width:0}.prefix-input>.muted{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:.92rem var(--font-ui)}.prefix-input input{flex:1 1 140px;min-width:0}.settings{grid-template-columns:minmax(0,1fr)}.settings p code,.settings small code,.settings .notice-box :is(strong,code){overflow-wrap:anywhere}.settings .notice-box{min-width:0}@media(max-width:600px){.form label.perma-opt{grid-template-columns:auto minmax(0,1fr)}.form label.perma-opt>:nth-child(n+3){grid-column:2}.perma-custom input{min-width:0;flex-basis:140px}}.sec-warn{margin:0 0 16px}.sec-kinds{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.sec-kinds .count{margin-left:4px;opacity:.7;font-variant-numeric:tabular-nums}.sec-table td{vertical-align:top}.sec-row{cursor:pointer}.sec-row:hover td{background:var(--state)}.sec-url{min-width:260px;max-width:520px}.sec-open{display:flex;gap:8px;align-items:baseline;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.sec-open .mono{font-size:.84rem;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sec-method{flex:none;padding:1px 6px;border-radius:var(--r-xs);background:var(--tonal);font:600 .7rem var(--font-ui);letter-spacing:.03em}.sec-table mark,.sec-detail mark{background:color-mix(in srgb,var(--danger) 22%,transparent);color:inherit;border-radius:3px;padding:0 1px}.sec-badges{display:flex;flex-wrap:wrap;gap:4px}.sec-badges .badge,.sec-table .badge{height:22px;padding:0 8px;white-space:nowrap}.badge:is(.sec-sqli,.sec-rce,.sec-php,.sec-traversal,.sec-xss){border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}.badge:is(.sec-tool,.sec-r-blocked,.sec-flood){border-color:color-mix(in srgb,var(--warn) 50%,transparent);color:var(--warn)}.badge.sec-r-wrong_password,.badge.sec-r-wrong_code{border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}.badge.sec-account{background:var(--tonal);border-color:transparent;color:var(--ink)}.sec-status{font:500 .85rem var(--font-code);color:var(--ink-soft)}.sec-status.s2{color:var(--warn)}.sec-status.s5{color:var(--danger)}.sec-detail{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 18px;margin:0;font-family:var(--font-ui)}.sec-detail dt{color:var(--ink-soft);font-size:.88rem;padding-top:2px}.sec-detail dd{margin:0;min-width:0}.sec-detail dd>small{display:block;margin:4px 0 2px}.sec-detail dd>.sec-code+.sec-code,.sec-detail dd>small+.sec-code{margin-top:2px}.sec-code{display:block;width:100%;padding:8px 10px;border-radius:var(--r-s);background:var(--code-bg);font:.84rem/1.5 var(--font-code);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.sec-detail{grid-template-columns:minmax(0,1fr);gap:2px}.sec-detail dd{margin-bottom:10px}.sec-url{min-width:220px}}.badge.sec-blocked{margin-left:6px;height:20px;padding:0 7px;background:var(--danger);border-color:var(--danger);color:var(--surface);font-size:.7rem;text-decoration:none;vertical-align:1px}.sec-sub{display:block;margin-top:2px;font-size:.78rem}.sec-note{min-width:160px;max-width:320px;overflow-wrap:anywhere}.sec-links{display:grid;gap:2px;font-size:.88rem}.sec-you{margin:-4px 0 16px}.sec-table .small-btn{gap:6px}.sec-table td.actions{display:table-cell}.sec-table td.actions>.icon-action,.sec-table td.actions>.btn{display:inline-flex;vertical-align:middle;margin-left:4px}html[data-palette=aurora]{--bg: #f4f6fd;--surface: #ffffff;--surface-2: #eaedf8;--tonal: #dde2f6;--ink: #11142b;--ink-soft: #535a7b;--line: #dde1f0;--outline: #8e94b4;--on-ink: #ffffff;--state: rgba(109, 40, 217, .07);--state-2: rgba(109, 40, 217, .13);--danger: #c81e5b;--ok: #047857;--warn: #b45309;--code-bg: #f0f2fb;--e1: 0 1px 2px rgba(30, 27, 75, .07), 0 2px 8px rgba(30, 27, 75, .05);--e2: 0 2px 4px rgba(30, 27, 75, .07), 0 14px 32px -10px rgba(76, 29, 149, .22);--e3: 0 16px 44px -10px rgba(76, 29, 149, .28), 0 2px 6px rgba(30, 27, 75, .08);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(34, 211, 238, .45) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(139, 92, 246, .55) 0%, transparent 60%), radial-gradient(70% 90% at 60% 110%, rgba(236, 72, 153, .38) 0%, transparent 60%), #0b1022;--hero-ink: #f5f7ff;--hero-soft: #c9cff2;--hero-btn-bg: #ffffff;--hero-btn-ink: #11142b;--hero-edge: transparent;--au-1: #0e7490;--au-3: #be185d;--glow-1: rgba(34, 211, 238, .2);--glow-2: rgba(139, 92, 246, .2);--glow-3: rgba(236, 72, 153, .13);--glass-edge: rgba(109, 40, 217, .1);--aurora: linear-gradient(110deg, var(--au-1), var(--accent) 50%, var(--au-3))}@media(prefers-color-scheme:dark){html[data-palette=aurora]:not([data-theme=light]){--bg: #070a17;--surface: #0e1326;--surface-2: #161c33;--tonal: #232b4a;--ink: #eef1ff;--ink-soft: #9ba4c8;--line: #1e2542;--outline: #5b6591;--on-ink: #070a17;--state: rgba(103, 232, 249, .08);--state-2: rgba(103, 232, 249, .15);--danger: #ff7aa2;--ok: #5eead4;--warn: #fcd34d;--code-bg: #0a0e1d;--e1: 0 0 0 1px rgba(148, 163, 255, .08), 0 1px 3px rgba(0, 0, 0, .6);--e2: 0 0 0 1px rgba(148, 163, 255, .14), 0 14px 36px -10px rgba(34, 211, 238, .22), 0 4px 12px rgba(0, 0, 0, .6);--e3: 0 0 0 1px rgba(148, 163, 255, .16), 0 22px 54px -12px rgba(167, 139, 250, .32), 0 8px 24px rgba(0, 0, 0, .7);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(34, 211, 238, .3) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(139, 92, 246, .42) 0%, transparent 60%), radial-gradient(70% 90% at 60% 110%, rgba(236, 72, 153, .28) 0%, transparent 60%), #0a0f22;--hero-ink: #f5f7ff;--hero-soft: #b8c0e8;--hero-btn-bg: #67e8f9;--hero-btn-ink: #070a17;--hero-edge: rgba(148, 163, 255, .16);--au-1: #67e8f9;--au-3: #f0abfc;--glow-1: rgba(34, 211, 238, .21);--glow-2: rgba(139, 92, 246, .27);--glow-3: rgba(236, 72, 153, .16);--glass-edge: rgba(148, 163, 255, .12);color-scheme:dark}}html[data-palette=aurora][data-theme=dark]{--bg: #070a17;--surface: #0e1326;--surface-2: #161c33;--tonal: #232b4a;--ink: #eef1ff;--ink-soft: #9ba4c8;--line: #1e2542;--outline: #5b6591;--on-ink: #070a17;--state: rgba(103, 232, 249, .08);--state-2: rgba(103, 232, 249, .15);--danger: #ff7aa2;--ok: #5eead4;--warn: #fcd34d;--code-bg: #0a0e1d;--e1: 0 0 0 1px rgba(148, 163, 255, .08), 0 1px 3px rgba(0, 0, 0, .6);--e2: 0 0 0 1px rgba(148, 163, 255, .14), 0 14px 36px -10px rgba(34, 211, 238, .22), 0 4px 12px rgba(0, 0, 0, .6);--e3: 0 0 0 1px rgba(148, 163, 255, .16), 0 22px 54px -12px rgba(167, 139, 250, .32), 0 8px 24px rgba(0, 0, 0, .7);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(34, 211, 238, .3) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(139, 92, 246, .42) 0%, transparent 60%), radial-gradient(70% 90% at 60% 110%, rgba(236, 72, 153, .28) 0%, transparent 60%), #0a0f22;--hero-ink: #f5f7ff;--hero-soft: #b8c0e8;--hero-btn-bg: #67e8f9;--hero-btn-ink: #070a17;--hero-edge: rgba(148, 163, 255, .16);--au-1: #67e8f9;--au-3: #f0abfc;--glow-1: rgba(34, 211, 238, .21);--glow-2: rgba(139, 92, 246, .27);--glow-3: rgba(236, 72, 153, .16);--glass-edge: rgba(148, 163, 255, .12);color-scheme:dark}html[data-palette=aurora] body:before{content:"";position:fixed;top:-10vmax;right:-10vmax;bottom:-10vmax;left:-10vmax;z-index:-1;pointer-events:none;background:radial-gradient(38vmax 26vmax at 12% 8%,var(--glow-1),transparent 70%),radial-gradient(34vmax 26vmax at 88% 4%,var(--glow-2),transparent 70%),radial-gradient(44vmax 28vmax at 62% 100%,var(--glow-3),transparent 70%)}@media(prefers-reduced-motion:no-preference){html[data-palette=aurora][data-fx] body:before{animation:aurora-drift 34s ease-in-out infinite alternate}html[data-palette=aurora][data-fx] .hero{background-size:140% 140%;animation:aurora-hero 22s ease-in-out infinite alternate}}@keyframes aurora-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(3vmax,2vmax,0) scale(1.06)}to{transform:translate3d(-2vmax,1vmax,0) scale(1.02)}}@keyframes aurora-hero{0%{background-position:0% 0%}to{background-position:100% 100%}}html[data-palette=aurora] :is(.post-row,.grid-card,.prose a.embed-card){background:color-mix(in srgb,var(--surface) 76%,transparent);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease)}html[data-palette=aurora] :is(.post-row,.grid-card):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}html[data-palette=aurora] .stat-tile{border:1px solid var(--glass-edge)}html[data-palette=aurora] .brand>span{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}html[data-palette=aurora] .btn.primary{background-color:var(--accent);background-image:linear-gradient(110deg,var(--au-1),var(--accent) 35%,var(--au-3) 65%,var(--accent));background-size:260% 100%;background-position:0% 50%;border-color:transparent;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--accent) 70%,transparent);transition:background-position .6s var(--ease),box-shadow .3s var(--ease),transform .2s var(--ease)}html[data-palette=aurora] .btn.primary:hover{background-position:100% 50%;box-shadow:0 10px 26px -8px color-mix(in srgb,var(--accent) 80%,transparent)}html[data-palette=aurora] .btn.primary:active{transform:translateY(1px)}html[data-palette=aurora] .reading-progress span{background:var(--aurora);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}html[data-palette=aurora] .post-head h1{width:fit-content;max-width:100%;background:linear-gradient(100deg,var(--ink) 30%,color-mix(in srgb,var(--accent) 90%,var(--ink)));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}html[data-palette=aurora] .prose a:not(.anchor):not(.footnote-backref):not(.embed-card){text-decoration:none;background-image:var(--aurora);background-size:100% 1.5px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:1px;transition:background-size .25s var(--ease),color .2s}html[data-palette=aurora] .prose a:not(.anchor):not(.footnote-backref):not(.embed-card):hover{color:var(--ink);background-size:100% 2.5px}html[data-palette=aurora] ::selection{background:#8b5cf63d}html[data-palette=aurora] ::-webkit-scrollbar-thumb{background-image:linear-gradient(180deg,var(--au-1),var(--accent),var(--au-3))}html[data-palette=aurora] .chart .bar,html[data-palette=aurora] svg.spark rect{fill:var(--accent)}html[data-palette=aurora] .hero h1{background:linear-gradient(100deg,#fff 25%,#a5f3fc,#f0abfc 85%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.05em}html[data-palette=aurora] .hero-term:after{background:radial-gradient(closest-side,rgba(139,92,246,.3),transparent)}html[data-palette=aurora] .hero-dot{background:#67e8f9;animation-name:hero-pulse-cyan}@keyframes hero-pulse-cyan{0%{box-shadow:0 0 #67e8f98c}70%,to{box-shadow:0 0 0 9px #67e8f900}}html[data-palette=aurora] .hero-terminal{background:#070a17a8;border-color:#94a3ff38;box-shadow:0 30px 70px -20px #4c1d958c,inset 0 1px #ffffff12}html[data-palette=aurora] .hero-terminal .t-prompt{color:#f472b6}html[data-palette=aurora] .hero-terminal a{color:#67e8f9;text-decoration-color:#67e8f959}html[data-palette=aurora] .hero-terminal .t-soft{color:#aab3dc}html[data-palette=aurora] .hero .hero-btn-ghost{border-color:#a5f3fc66}html[data-palette=aurora] .hero .hero-btn.primary{color:#fff;background-image:linear-gradient(110deg,oklch(from var(--au-1) min(l,.5) c h),oklch(from var(--accent) min(l,.5) c h) 35%,oklch(from var(--au-3) min(l,.5) c h) 65%,oklch(from var(--accent) min(l,.5) c h))}html[data-palette=aurora] .hljs-comment,html[data-palette=aurora] .hljs-quote{font-style:italic}html[data-palette=aurora] .hljs-keyword,html[data-palette=aurora] .hljs-selector-tag{color:#be185d}html[data-palette=aurora] .hljs-built_in,html[data-palette=aurora] .hljs-type{color:#0e7490}html[data-palette=aurora] .hljs-string,html[data-palette=aurora] .hljs-attr-value,html[data-palette=aurora] .hljs-template-tag,html[data-palette=aurora] .hljs-addition{color:#047857}html[data-palette=aurora] .hljs-number,html[data-palette=aurora] .hljs-literal,html[data-palette=aurora] .hljs-symbol{color:#6d28d9}html[data-palette=aurora] .hljs-title,html[data-palette=aurora] .hljs-title.function_,html[data-palette=aurora] .hljs-function .hljs-title{color:#1d4ed8}html[data-palette=aurora] .hljs-attr,html[data-palette=aurora] .hljs-attribute,html[data-palette=aurora] .hljs-variable,html[data-palette=aurora] .hljs-property,html[data-palette=aurora] .hljs-params{color:#b45309}html[data-palette=aurora] .hljs-comment,html[data-palette=aurora] .hljs-quote{color:#5d6489}html[data-palette=aurora] .hljs-meta,html[data-palette=aurora] .hljs-deletion{color:#c81e5b}@media(prefers-color-scheme:dark){html[data-palette=aurora]:not([data-theme=light]) .hljs-keyword,html[data-palette=aurora]:not([data-theme=light]) .hljs-selector-tag{color:#f472b6}html[data-palette=aurora]:not([data-theme=light]) .hljs-built_in,html[data-palette=aurora]:not([data-theme=light]) .hljs-type{color:#67e8f9}html[data-palette=aurora]:not([data-theme=light]) .hljs-string,html[data-palette=aurora]:not([data-theme=light]) .hljs-attr-value,html[data-palette=aurora]:not([data-theme=light]) .hljs-template-tag,html[data-palette=aurora]:not([data-theme=light]) .hljs-addition{color:#86efac}html[data-palette=aurora]:not([data-theme=light]) .hljs-number,html[data-palette=aurora]:not([data-theme=light]) .hljs-literal,html[data-palette=aurora]:not([data-theme=light]) .hljs-symbol{color:#c4b5fd}html[data-palette=aurora]:not([data-theme=light]) .hljs-title,html[data-palette=aurora]:not([data-theme=light]) .hljs-title.function_,html[data-palette=aurora]:not([data-theme=light]) .hljs-function .hljs-title{color:#93c5fd}html[data-palette=aurora]:not([data-theme=light]) .hljs-attr,html[data-palette=aurora]:not([data-theme=light]) .hljs-attribute,html[data-palette=aurora]:not([data-theme=light]) .hljs-variable,html[data-palette=aurora]:not([data-theme=light]) .hljs-property,html[data-palette=aurora]:not([data-theme=light]) .hljs-params{color:#fcd34d}html[data-palette=aurora]:not([data-theme=light]) .hljs-comment,html[data-palette=aurora]:not([data-theme=light]) .hljs-quote{color:#6f7aa8}html[data-palette=aurora]:not([data-theme=light]) .hljs-meta,html[data-palette=aurora]:not([data-theme=light]) .hljs-deletion{color:#ff7aa2}html[data-palette=aurora]:not([data-theme=light]) ::selection{background:#67e8f938}}html[data-palette=aurora][data-theme=dark] .hljs-keyword,html[data-palette=aurora][data-theme=dark] .hljs-selector-tag{color:#f472b6}html[data-palette=aurora][data-theme=dark] .hljs-built_in,html[data-palette=aurora][data-theme=dark] .hljs-type{color:#67e8f9}html[data-palette=aurora][data-theme=dark] .hljs-string,html[data-palette=aurora][data-theme=dark] .hljs-attr-value,html[data-palette=aurora][data-theme=dark] .hljs-template-tag,html[data-palette=aurora][data-theme=dark] .hljs-addition{color:#86efac}html[data-palette=aurora][data-theme=dark] .hljs-number,html[data-palette=aurora][data-theme=dark] .hljs-literal,html[data-palette=aurora][data-theme=dark] .hljs-symbol{color:#c4b5fd}html[data-palette=aurora][data-theme=dark] .hljs-title,html[data-palette=aurora][data-theme=dark] .hljs-title.function_,html[data-palette=aurora][data-theme=dark] .hljs-function .hljs-title{color:#93c5fd}html[data-palette=aurora][data-theme=dark] .hljs-attr,html[data-palette=aurora][data-theme=dark] .hljs-attribute,html[data-palette=aurora][data-theme=dark] .hljs-variable,html[data-palette=aurora][data-theme=dark] .hljs-property,html[data-palette=aurora][data-theme=dark] .hljs-params{color:#fcd34d}html[data-palette=aurora][data-theme=dark] .hljs-comment,html[data-palette=aurora][data-theme=dark] .hljs-quote{color:#6f7aa8}html[data-palette=aurora][data-theme=dark] .hljs-meta,html[data-palette=aurora][data-theme=dark] .hljs-deletion{color:#ff7aa2}html[data-palette=aurora][data-theme=dark] ::selection{background:#67e8f938}.theme-sample.tp-light.pal-aurora{--bg: #f4f6fd;--surface: #ffffff;--surface-2: #eaedf8;--tonal: #dde2f6;--ink: #11142b;--ink-soft: #535a7b;--line: #dde1f0;--outline: #8e94b4;--on-ink: #ffffff;--state: rgba(109, 40, 217, .07);--state-2: rgba(109, 40, 217, .13);--danger: #c81e5b;--ok: #047857;--warn: #b45309;--code-bg: #f0f2fb;--e1: 0 1px 2px rgba(30, 27, 75, .07), 0 2px 8px rgba(30, 27, 75, .05);--e2: 0 2px 4px rgba(30, 27, 75, .07), 0 14px 32px -10px rgba(76, 29, 149, .22);--e3: 0 16px 44px -10px rgba(76, 29, 149, .28), 0 2px 6px rgba(30, 27, 75, .08);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(34, 211, 238, .45) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(139, 92, 246, .55) 0%, transparent 60%), radial-gradient(70% 90% at 60% 110%, rgba(236, 72, 153, .38) 0%, transparent 60%), #0b1022;--hero-ink: #f5f7ff;--hero-soft: #c9cff2;--hero-btn-bg: #ffffff;--hero-btn-ink: #11142b;--hero-edge: transparent;--au-1: #0e7490;--au-3: #be185d;--glow-1: rgba(34, 211, 238, .2);--glow-2: rgba(139, 92, 246, .2);--glow-3: rgba(236, 72, 153, .13);--glass-edge: rgba(109, 40, 217, .1);--aurora: linear-gradient(110deg, var(--au-1), var(--accent) 50%, var(--au-3));background:radial-gradient(70% 60% at 10% 0%,var(--glow-1),transparent 70%),radial-gradient(60% 60% at 100% 0%,var(--glow-2),transparent 70%),var(--bg)}.theme-sample.tp-dark.pal-aurora{--bg: #070a17;--surface: #0e1326;--surface-2: #161c33;--tonal: #232b4a;--ink: #eef1ff;--ink-soft: #9ba4c8;--line: #1e2542;--outline: #5b6591;--on-ink: #070a17;--state: rgba(103, 232, 249, .08);--state-2: rgba(103, 232, 249, .15);--danger: #ff7aa2;--ok: #5eead4;--warn: #fcd34d;--code-bg: #0a0e1d;--e1: 0 0 0 1px rgba(148, 163, 255, .08), 0 1px 3px rgba(0, 0, 0, .6);--e2: 0 0 0 1px rgba(148, 163, 255, .14), 0 14px 36px -10px rgba(34, 211, 238, .22), 0 4px 12px rgba(0, 0, 0, .6);--e3: 0 0 0 1px rgba(148, 163, 255, .16), 0 22px 54px -12px rgba(167, 139, 250, .32), 0 8px 24px rgba(0, 0, 0, .7);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(34, 211, 238, .3) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(139, 92, 246, .42) 0%, transparent 60%), radial-gradient(70% 90% at 60% 110%, rgba(236, 72, 153, .28) 0%, transparent 60%), #0a0f22;--hero-ink: #f5f7ff;--hero-soft: #b8c0e8;--hero-btn-bg: #67e8f9;--hero-btn-ink: #070a17;--hero-edge: rgba(148, 163, 255, .16);--au-1: #67e8f9;--au-3: #f0abfc;--glow-1: rgba(34, 211, 238, .21);--glow-2: rgba(139, 92, 246, .27);--glow-3: rgba(236, 72, 153, .16);--glass-edge: rgba(148, 163, 255, .12);color-scheme:dark;--aurora: linear-gradient(110deg, var(--au-1), var(--accent) 50%, var(--au-3));background:radial-gradient(70% 60% at 10% 0%,var(--glow-1),transparent 70%),radial-gradient(60% 60% at 100% 0%,var(--glow-2),transparent 70%),var(--bg)}.theme-sample.pal-aurora .ts-card{background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--glass-edge)}.theme-sample.pal-aurora .btn.primary{background-image:linear-gradient(110deg,var(--au-1),var(--accent) 50%,var(--au-3));border-color:transparent}.theme-sample.pal-aurora h3{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.theme-sample.pal-aurora .ts-progress span{background:var(--aurora)}.back-to-top.has-label{display:flex;align-items:center;width:auto;padding:0 18px 0 0;border-radius:var(--r-full)}.btt-label{font:500 .85rem var(--font-ui);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.back-to-top .btt-ring{stroke:var(--accent);transition:stroke .3s}.back-to-top.done .btt-ring{stroke:var(--ok)}.back-to-top.done .btt-circle>svg:not(.btt-ring-svg),.back-to-top.done .btt-label{color:var(--ok)}@media(max-width:600px){.back-to-top.has-label{padding-right:14px}.btt-label{font-size:.8rem}}.toc-side{display:none}@media(min-width:1200px){.post-page.has-side-toc{display:grid;grid-template-columns:minmax(0,1fr) 236px;column-gap:56px;max-width:1260px}.post-page.has-side-toc>*{grid-column:1;min-width:0}.post-page.has-side-toc>.toc-side{display:block;grid-column:2;grid-row:1;align-self:start;position:sticky;top:92px;max-height:calc(100vh - 116px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin-top:150px;padding:2px 4px 12px 2px}.post-page.has-side-toc>article .toc{display:none}}.toc-side-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 12px;font:600 .74rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.toc-side-left{font:500 .8rem var(--font-ui);letter-spacing:0;text-transform:none;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.toc-side-left.done{color:var(--ok)}.toc-rail{--toc-p: 0;position:relative;list-style:none;margin:0;padding:0 0 0 18px}.toc-rail:before,.toc-rail:after{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--line)}.toc-rail:after{background:var(--accent);transform-origin:top;transform:scaleY(var(--toc-p));transition:transform .12s linear}.toc-rail li{position:relative}.toc-rail li:before{content:"";position:absolute;z-index:1;left:-18px;top:9px;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:var(--bg);border:2px solid var(--line);transition:background-color .25s,border-color .25s,box-shadow .25s}.toc-rail li.sub:before{left:-17px;top:9px;width:10px;height:10px}.toc-rail li.done:before{background:var(--accent);border-color:var(--accent)}.toc-rail li.current:before{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.toc-rail a{display:block;padding:5px 8px;border-radius:var(--r-s);color:var(--ink-soft);text-decoration:none;font:400 .88rem/1.4 var(--font-ui);transition:color .2s,background-color .2s}.toc-rail li.sub a{padding-left:18px;font-size:.83rem}.toc-rail a:hover{color:var(--ink);background:var(--state)}.toc-rail a.active{color:var(--ink);font-weight:600}.toc-rail a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toc-side-top{display:inline-block;margin:14px 0 0 18px;font:500 .84rem var(--font-ui)}@media(prefers-reduced-motion:reduce){.toc-rail:after{transition:none}}.code-bar{padding-left:12px}.code-dots{display:inline-flex;gap:6px;margin-right:4px;flex:none}.code-dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.code-dots i:nth-child(2){background:#febc2e}.code-dots i:nth-child(3){background:#28c840}.code-block:not(.has-title) .code-dots+.code-lang{margin-right:auto}.code-title{padding:3px 10px;margin:-2px 0;border-radius:var(--r-s);background:var(--surface-2)}.code-diffstat{display:inline-flex;gap:6px;font:600 .76rem var(--font-code)}.code-diffstat .add{color:var(--ok)}.code-diffstat .del{color:var(--danger)}.code-sign:before{content:attr(data-sign);display:inline-block;width:1.4em;margin-left:-.4em;user-select:none;-webkit-user-select:none}.code-line.ln-add{background:color-mix(in srgb,var(--ok) 13%,transparent);border-left-color:color-mix(in srgb,var(--ok) 70%,transparent)}.code-line.ln-del{background:color-mix(in srgb,var(--danger) 12%,transparent);border-left-color:color-mix(in srgb,var(--danger) 70%,transparent)}.code-line.ln-add .code-sign:before{color:var(--ok);font-weight:700}.code-line.ln-del .code-sign:before{color:var(--danger);font-weight:700}.code-line.ln-del>:not(.code-sign){opacity:.78}.code-line.ln-hunk{color:var(--ink-soft);background:color-mix(in srgb,var(--accent) 8%,transparent);font-style:italic}.code-line.ln-meta{color:var(--ink-soft);font-weight:600}.code-block.is-terminal{--code-bg: #0d1117;--term-ink: #e6edf3;background:var(--code-bg);border-color:color-mix(in srgb,var(--line) 50%,#000)}.code-block.is-terminal .code-bar{background:#161b22;border-bottom-color:#21262d;color:#8b949e}.code-block.is-terminal .code-copy{color:#e6edf3}.code-block.is-terminal .code-copy:hover{background:#ffffff14}.code-block.is-terminal .code-title{background:#21262d;color:#e6edf3}.code-block.is-terminal .code-title svg{color:#8b949e}.code-block.is-terminal pre,.code-block.is-terminal pre code{color:var(--term-ink)}.code-block.is-terminal .code-line.ln-cmd .code-sign:before{color:#7ee787;font-weight:700}.code-block.is-terminal .code-line.ln-out{color:#9aa4b2}.code-block.is-terminal .code-line.ln-out .hljs-string,.code-block.is-terminal .code-line.ln-out [class^=hljs-]{color:inherit}.code-block.is-terminal .code-line.hl{background:#ffffff12}.code-block.is-terminal .numbered .code-line:before{border-right-color:#30363d;color:#6e7681}.code-block.is-terminal .hljs-built_in,.code-block.is-terminal .hljs-keyword{color:#ff7b72}.code-block.is-terminal .hljs-string{color:#a5d6ff}.code-block.is-terminal .hljs-variable,.code-block.is-terminal .hljs-template-variable{color:#ffa657}.code-block.is-terminal .hljs-comment{color:#8b949e}.code-block.is-terminal .hljs-meta{color:#7ee787}.code-block.is-terminal ::selection{background:#388bfd66}.prose [data-footnote-ref][aria-expanded=true]{color:var(--ink);background:var(--state-2);border-radius:4px}.fn-tip{position:absolute;z-index:60;padding:12px 16px 14px;border-radius:var(--r-l);background:var(--surface);color:var(--ink);box-shadow:var(--e3);border:1px solid var(--line);font:400 .95rem/1.55 var(--font-body);opacity:0;transform:translateY(-4px);transition:opacity .15s var(--ease),transform .15s var(--ease)}.fn-tip.above{transform:translateY(4px)}.fn-tip.on{opacity:1;transform:none}.fn-tip:before{content:"";position:absolute;left:calc(var(--fn-arrow, 50%) - 7px);top:-7px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.fn-tip.above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.fn-tip-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 6px;font:600 .74rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.fn-tip-head a{display:inline-flex;align-items:center;gap:2px;font:500 .8rem var(--font-ui);letter-spacing:0;text-transform:none;color:var(--accent);text-decoration:none}.fn-tip-head a:hover{text-decoration:underline}.fn-tip-body p{margin:0 0 .5em}.fn-tip-body>:last-child,.fn-tip-body p:last-child{margin-bottom:0}.fn-tip-body a{color:var(--accent)}.fn-tip-body code{font-size:.85em;padding:1px 5px;border-radius:4px;background:var(--surface-2)}@media(prefers-reduced-motion:reduce){.fn-tip{transition:none;transform:none}}.prose.drop-cap>p:first-of-type:first-letter{float:left;margin:.06em .12em 0 0;padding:0;font:800 4.1em/.82 var(--font-head);color:var(--accent);letter-spacing:0}.prose.drop-cap>p:first-of-type:after{content:"";display:block;clear:both}@supports (initial-letter: 3){.prose.drop-cap>p:first-of-type:first-letter{float:none;margin:0 .1em 0 0;font-size:1em;line-height:1;initial-letter:3;-webkit-initial-letter:3}.prose.drop-cap>p:first-of-type:after{content:none}}.prose .pullquote{position:relative;margin:2.4em 0;padding:8px 0 8px 32px;border-left-width:4px}.prose .pullquote:before{content:"“";position:absolute;left:22px;top:-.36em;font:800 5.4rem/1 var(--font-head);color:var(--accent);opacity:.18;pointer-events:none}@media(min-width:1000px){.prose .pullquote blockquote{font-size:clamp(1.45rem,2.4vw,1.95rem)}}html[data-palette=nord]{--bg: #e5e9f0;--surface: #f4f6f9;--surface-2: #dde3ec;--tonal: #d0d8e4;--ink: #2e3440;--ink-soft: #4c566a;--line: #d3d9e3;--outline: #7b88a1;--on-ink: #eceff4;--state: rgba(94, 129, 172, .08);--state-2: rgba(94, 129, 172, .14);--danger: #a5434d;--ok: #4c7a34;--warn: #94600f;--code-bg: #eceff4;--e1: 0 1px 2px rgba(46, 52, 64, .1), 0 1px 3px 1px rgba(46, 52, 64, .06);--e2: 0 1px 2px rgba(46, 52, 64, .12), 0 2px 6px 2px rgba(46, 52, 64, .08);--e3: 0 4px 8px 3px rgba(46, 52, 64, .1), 0 1px 3px rgba(46, 52, 64, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #4c566a 0%, #3b4252 55%, #2e3440 100%);--hero-ink: #eceff4;--hero-soft: #d8dee9;--hero-btn-bg: #88c0d0;--hero-btn-ink: #2e3440;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=nord]:not([data-theme=light]){--bg: #242933;--surface: #2e3440;--surface-2: #3b4252;--tonal: #434c5e;--ink: #eceff4;--ink-soft: #aeb8ca;--line: #3b4252;--outline: #616e88;--on-ink: #2e3440;--state: rgba(136, 192, 208, .1);--state-2: rgba(136, 192, 208, .17);--danger: #e88b94;--ok: #a3be8c;--warn: #ebcb8b;--code-bg: #272c36;--e1: 0 0 0 1px #3b4252, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3b4252, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #434c5e, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #3b4252 0%, #2e3440 55%, #242933 100%);--hero-ink: #eceff4;--hero-soft: #aeb8ca;--hero-btn-bg: #88c0d0;--hero-btn-ink: #2e3440;--hero-edge: #3b4252;color-scheme:dark}}html[data-palette=nord][data-theme=dark]{--bg: #242933;--surface: #2e3440;--surface-2: #3b4252;--tonal: #434c5e;--ink: #eceff4;--ink-soft: #aeb8ca;--line: #3b4252;--outline: #616e88;--on-ink: #2e3440;--state: rgba(136, 192, 208, .1);--state-2: rgba(136, 192, 208, .17);--danger: #e88b94;--ok: #a3be8c;--warn: #ebcb8b;--code-bg: #272c36;--e1: 0 0 0 1px #3b4252, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3b4252, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #434c5e, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #3b4252 0%, #2e3440 55%, #242933 100%);--hero-ink: #eceff4;--hero-soft: #aeb8ca;--hero-btn-bg: #88c0d0;--hero-btn-ink: #2e3440;--hero-edge: #3b4252;color-scheme:dark}.theme-sample.tp-light.pal-nord{--bg: #e5e9f0;--surface: #f4f6f9;--surface-2: #dde3ec;--tonal: #d0d8e4;--ink: #2e3440;--ink-soft: #4c566a;--line: #d3d9e3;--outline: #7b88a1;--on-ink: #eceff4;--state: rgba(94, 129, 172, .08);--state-2: rgba(94, 129, 172, .14);--danger: #a5434d;--ok: #4c7a34;--warn: #94600f;--code-bg: #eceff4;--e1: 0 1px 2px rgba(46, 52, 64, .1), 0 1px 3px 1px rgba(46, 52, 64, .06);--e2: 0 1px 2px rgba(46, 52, 64, .12), 0 2px 6px 2px rgba(46, 52, 64, .08);--e3: 0 4px 8px 3px rgba(46, 52, 64, .1), 0 1px 3px rgba(46, 52, 64, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #4c566a 0%, #3b4252 55%, #2e3440 100%);--hero-ink: #eceff4;--hero-soft: #d8dee9;--hero-btn-bg: #88c0d0;--hero-btn-ink: #2e3440;--hero-edge: transparent}.theme-sample.tp-dark.pal-nord{--bg: #242933;--surface: #2e3440;--surface-2: #3b4252;--tonal: #434c5e;--ink: #eceff4;--ink-soft: #aeb8ca;--line: #3b4252;--outline: #616e88;--on-ink: #2e3440;--state: rgba(136, 192, 208, .1);--state-2: rgba(136, 192, 208, .17);--danger: #e88b94;--ok: #a3be8c;--warn: #ebcb8b;--code-bg: #272c36;--e1: 0 0 0 1px #3b4252, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3b4252, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #434c5e, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #3b4252 0%, #2e3440 55%, #242933 100%);--hero-ink: #eceff4;--hero-soft: #aeb8ca;--hero-btn-bg: #88c0d0;--hero-btn-ink: #2e3440;--hero-edge: #3b4252;color-scheme:dark}html[data-palette=nord] ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}html[data-palette=nord] .hljs-keyword,html[data-palette=nord] .hljs-selector-tag{color:#5e5ab0}html[data-palette=nord] .hljs-built_in,html[data-palette=nord] .hljs-type{color:#3f6797}html[data-palette=nord] .hljs-string,html[data-palette=nord] .hljs-attr-value,html[data-palette=nord] .hljs-template-tag,html[data-palette=nord] .hljs-addition{color:#456f2f}html[data-palette=nord] .hljs-number,html[data-palette=nord] .hljs-literal,html[data-palette=nord] .hljs-symbol{color:#9a4f86}html[data-palette=nord] .hljs-title,html[data-palette=nord] .hljs-title.function_,html[data-palette=nord] .hljs-function .hljs-title{color:#2f6f82}html[data-palette=nord] .hljs-attr,html[data-palette=nord] .hljs-attribute,html[data-palette=nord] .hljs-variable,html[data-palette=nord] .hljs-property,html[data-palette=nord] .hljs-params{color:#94600f}html[data-palette=nord] .hljs-comment,html[data-palette=nord] .hljs-quote{color:#6b7790}html[data-palette=nord] .hljs-meta,html[data-palette=nord] .hljs-deletion{color:#a5434d}@media(prefers-color-scheme:dark){html[data-palette=nord]:not([data-theme=light]) .hljs-keyword,html[data-palette=nord]:not([data-theme=light]) .hljs-selector-tag{color:#81a1c1}html[data-palette=nord]:not([data-theme=light]) .hljs-built_in,html[data-palette=nord]:not([data-theme=light]) .hljs-type{color:#8fbcbb}html[data-palette=nord]:not([data-theme=light]) .hljs-string,html[data-palette=nord]:not([data-theme=light]) .hljs-attr-value,html[data-palette=nord]:not([data-theme=light]) .hljs-template-tag,html[data-palette=nord]:not([data-theme=light]) .hljs-addition{color:#a3be8c}html[data-palette=nord]:not([data-theme=light]) .hljs-number,html[data-palette=nord]:not([data-theme=light]) .hljs-literal,html[data-palette=nord]:not([data-theme=light]) .hljs-symbol{color:#b48ead}html[data-palette=nord]:not([data-theme=light]) .hljs-title,html[data-palette=nord]:not([data-theme=light]) .hljs-title.function_,html[data-palette=nord]:not([data-theme=light]) .hljs-function .hljs-title{color:#88c0d0}html[data-palette=nord]:not([data-theme=light]) .hljs-attr,html[data-palette=nord]:not([data-theme=light]) .hljs-attribute,html[data-palette=nord]:not([data-theme=light]) .hljs-variable,html[data-palette=nord]:not([data-theme=light]) .hljs-property,html[data-palette=nord]:not([data-theme=light]) .hljs-params{color:#ebcb8b}html[data-palette=nord]:not([data-theme=light]) .hljs-comment,html[data-palette=nord]:not([data-theme=light]) .hljs-quote{color:#7b88a1}html[data-palette=nord]:not([data-theme=light]) .hljs-meta,html[data-palette=nord]:not([data-theme=light]) .hljs-deletion{color:#d97881}}html[data-palette=nord][data-theme=dark] .hljs-keyword,html[data-palette=nord][data-theme=dark] .hljs-selector-tag{color:#81a1c1}html[data-palette=nord][data-theme=dark] .hljs-built_in,html[data-palette=nord][data-theme=dark] .hljs-type{color:#8fbcbb}html[data-palette=nord][data-theme=dark] .hljs-string,html[data-palette=nord][data-theme=dark] .hljs-attr-value,html[data-palette=nord][data-theme=dark] .hljs-template-tag,html[data-palette=nord][data-theme=dark] .hljs-addition{color:#a3be8c}html[data-palette=nord][data-theme=dark] .hljs-number,html[data-palette=nord][data-theme=dark] .hljs-literal,html[data-palette=nord][data-theme=dark] .hljs-symbol{color:#b48ead}html[data-palette=nord][data-theme=dark] .hljs-title,html[data-palette=nord][data-theme=dark] .hljs-title.function_,html[data-palette=nord][data-theme=dark] .hljs-function .hljs-title{color:#88c0d0}html[data-palette=nord][data-theme=dark] .hljs-attr,html[data-palette=nord][data-theme=dark] .hljs-attribute,html[data-palette=nord][data-theme=dark] .hljs-variable,html[data-palette=nord][data-theme=dark] .hljs-property,html[data-palette=nord][data-theme=dark] .hljs-params{color:#ebcb8b}html[data-palette=nord][data-theme=dark] .hljs-comment,html[data-palette=nord][data-theme=dark] .hljs-quote{color:#7b88a1}html[data-palette=nord][data-theme=dark] .hljs-meta,html[data-palette=nord][data-theme=dark] .hljs-deletion{color:#d97881}html[data-palette=nord] .hero-terminal .t-prompt{color:#88c0d0}html[data-palette=nord] .hero-terminal a{color:#5e81ac}html[data-palette=nord] .hero-dot{background:#a3be8c}html[data-palette=nord] .chart .bar,html[data-palette=nord] svg.spark rect{fill:var(--accent)}html[data-palette=gruvbox]{--bg: #f2e5bc;--surface: #fbf1c7;--surface-2: #ebdbb2;--tonal: #dfcea4;--ink: #282828;--ink-soft: #5f5650;--line: #e0d0a6;--outline: #928374;--on-ink: #fbf1c7;--state: rgba(175, 58, 3, .08);--state-2: rgba(175, 58, 3, .14);--danger: #9d0006;--ok: #686409;--warn: #985f0d;--code-bg: #f9efc4;--e1: 0 1px 2px rgba(60, 56, 54, .1), 0 1px 3px 1px rgba(60, 56, 54, .06);--e2: 0 1px 2px rgba(60, 56, 54, .12), 0 2px 6px 2px rgba(60, 56, 54, .08);--e3: 0 4px 8px 3px rgba(60, 56, 54, .1), 0 1px 3px rgba(60, 56, 54, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #504945 0%, #32302f 55%, #282828 100%);--hero-ink: #fbf1c7;--hero-soft: #d5c4a1;--hero-btn-bg: #fabd2f;--hero-btn-ink: #282828;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=gruvbox]:not([data-theme=light]){--bg: #1d2021;--surface: #282828;--surface-2: #32302f;--tonal: #3c3836;--ink: #ebdbb2;--ink-soft: #bdae93;--line: #3c3836;--outline: #7c6f64;--on-ink: #1d2021;--state: rgba(254, 128, 25, .1);--state-2: rgba(254, 128, 25, .17);--danger: #fb5c48;--ok: #b8bb26;--warn: #fabd2f;--code-bg: #1a1c1d;--e1: 0 0 0 1px #32302f, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3c3836, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #3c3836, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #504945 0%, #32302f 55%, #1d2021 100%);--hero-ink: #fbf1c7;--hero-soft: #bdae93;--hero-btn-bg: #fabd2f;--hero-btn-ink: #1d2021;--hero-edge: #3c3836;color-scheme:dark}}html[data-palette=gruvbox][data-theme=dark]{--bg: #1d2021;--surface: #282828;--surface-2: #32302f;--tonal: #3c3836;--ink: #ebdbb2;--ink-soft: #bdae93;--line: #3c3836;--outline: #7c6f64;--on-ink: #1d2021;--state: rgba(254, 128, 25, .1);--state-2: rgba(254, 128, 25, .17);--danger: #fb5c48;--ok: #b8bb26;--warn: #fabd2f;--code-bg: #1a1c1d;--e1: 0 0 0 1px #32302f, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3c3836, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #3c3836, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #504945 0%, #32302f 55%, #1d2021 100%);--hero-ink: #fbf1c7;--hero-soft: #bdae93;--hero-btn-bg: #fabd2f;--hero-btn-ink: #1d2021;--hero-edge: #3c3836;color-scheme:dark}.theme-sample.tp-light.pal-gruvbox{--bg: #f2e5bc;--surface: #fbf1c7;--surface-2: #ebdbb2;--tonal: #dfcea4;--ink: #282828;--ink-soft: #5f5650;--line: #e0d0a6;--outline: #928374;--on-ink: #fbf1c7;--state: rgba(175, 58, 3, .08);--state-2: rgba(175, 58, 3, .14);--danger: #9d0006;--ok: #686409;--warn: #985f0d;--code-bg: #f9efc4;--e1: 0 1px 2px rgba(60, 56, 54, .1), 0 1px 3px 1px rgba(60, 56, 54, .06);--e2: 0 1px 2px rgba(60, 56, 54, .12), 0 2px 6px 2px rgba(60, 56, 54, .08);--e3: 0 4px 8px 3px rgba(60, 56, 54, .1), 0 1px 3px rgba(60, 56, 54, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #504945 0%, #32302f 55%, #282828 100%);--hero-ink: #fbf1c7;--hero-soft: #d5c4a1;--hero-btn-bg: #fabd2f;--hero-btn-ink: #282828;--hero-edge: transparent}.theme-sample.tp-dark.pal-gruvbox{--bg: #1d2021;--surface: #282828;--surface-2: #32302f;--tonal: #3c3836;--ink: #ebdbb2;--ink-soft: #bdae93;--line: #3c3836;--outline: #7c6f64;--on-ink: #1d2021;--state: rgba(254, 128, 25, .1);--state-2: rgba(254, 128, 25, .17);--danger: #fb5c48;--ok: #b8bb26;--warn: #fabd2f;--code-bg: #1a1c1d;--e1: 0 0 0 1px #32302f, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #3c3836, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #3c3836, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #504945 0%, #32302f 55%, #1d2021 100%);--hero-ink: #fbf1c7;--hero-soft: #bdae93;--hero-btn-bg: #fabd2f;--hero-btn-ink: #1d2021;--hero-edge: #3c3836;color-scheme:dark}html[data-palette=gruvbox] ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}html[data-palette=gruvbox] .hljs-keyword,html[data-palette=gruvbox] .hljs-selector-tag{color:#9d0006}html[data-palette=gruvbox] .hljs-built_in,html[data-palette=gruvbox] .hljs-type{color:#076678}html[data-palette=gruvbox] .hljs-string,html[data-palette=gruvbox] .hljs-attr-value,html[data-palette=gruvbox] .hljs-template-tag,html[data-palette=gruvbox] .hljs-addition{color:#686409}html[data-palette=gruvbox] .hljs-number,html[data-palette=gruvbox] .hljs-literal,html[data-palette=gruvbox] .hljs-symbol{color:#8f3f71}html[data-palette=gruvbox] .hljs-title,html[data-palette=gruvbox] .hljs-title.function_,html[data-palette=gruvbox] .hljs-function .hljs-title{color:#37684a}html[data-palette=gruvbox] .hljs-attr,html[data-palette=gruvbox] .hljs-attribute,html[data-palette=gruvbox] .hljs-variable,html[data-palette=gruvbox] .hljs-property,html[data-palette=gruvbox] .hljs-params{color:#af3a03}html[data-palette=gruvbox] .hljs-comment,html[data-palette=gruvbox] .hljs-quote{color:#7c6f64}html[data-palette=gruvbox] .hljs-meta,html[data-palette=gruvbox] .hljs-deletion{color:#8a5a0f}@media(prefers-color-scheme:dark){html[data-palette=gruvbox]:not([data-theme=light]) .hljs-keyword,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-selector-tag{color:#fb4934}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-built_in,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-type{color:#83a598}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-string,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-attr-value,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-template-tag,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-addition{color:#b8bb26}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-number,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-literal,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-symbol{color:#d3869b}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-title,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-title.function_,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-function .hljs-title{color:#8ec07c}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-attr,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-attribute,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-variable,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-property,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-params{color:#fe8019}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-comment,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-quote{color:#928374}html[data-palette=gruvbox]:not([data-theme=light]) .hljs-meta,html[data-palette=gruvbox]:not([data-theme=light]) .hljs-deletion{color:#fabd2f}}html[data-palette=gruvbox][data-theme=dark] .hljs-keyword,html[data-palette=gruvbox][data-theme=dark] .hljs-selector-tag{color:#fb4934}html[data-palette=gruvbox][data-theme=dark] .hljs-built_in,html[data-palette=gruvbox][data-theme=dark] .hljs-type{color:#83a598}html[data-palette=gruvbox][data-theme=dark] .hljs-string,html[data-palette=gruvbox][data-theme=dark] .hljs-attr-value,html[data-palette=gruvbox][data-theme=dark] .hljs-template-tag,html[data-palette=gruvbox][data-theme=dark] .hljs-addition{color:#b8bb26}html[data-palette=gruvbox][data-theme=dark] .hljs-number,html[data-palette=gruvbox][data-theme=dark] .hljs-literal,html[data-palette=gruvbox][data-theme=dark] .hljs-symbol{color:#d3869b}html[data-palette=gruvbox][data-theme=dark] .hljs-title,html[data-palette=gruvbox][data-theme=dark] .hljs-title.function_,html[data-palette=gruvbox][data-theme=dark] .hljs-function .hljs-title{color:#8ec07c}html[data-palette=gruvbox][data-theme=dark] .hljs-attr,html[data-palette=gruvbox][data-theme=dark] .hljs-attribute,html[data-palette=gruvbox][data-theme=dark] .hljs-variable,html[data-palette=gruvbox][data-theme=dark] .hljs-property,html[data-palette=gruvbox][data-theme=dark] .hljs-params{color:#fe8019}html[data-palette=gruvbox][data-theme=dark] .hljs-comment,html[data-palette=gruvbox][data-theme=dark] .hljs-quote{color:#928374}html[data-palette=gruvbox][data-theme=dark] .hljs-meta,html[data-palette=gruvbox][data-theme=dark] .hljs-deletion{color:#fabd2f}html[data-palette=gruvbox] .hero-terminal .t-prompt{color:#fe8019}html[data-palette=gruvbox] .hero-terminal a{color:#b8bb26}html[data-palette=gruvbox] .hero-dot{background:#b8bb26}html[data-palette=gruvbox] .chart .bar,html[data-palette=gruvbox] svg.spark rect{fill:var(--accent)}html[data-palette=catppuccin]{--bg: #e6e9ef;--surface: #eff1f5;--surface-2: #dce0e8;--tonal: #ccd0da;--ink: #4c4f69;--ink-soft: #5c5f77;--line: #d3d7e0;--outline: #9ca0b0;--on-ink: #eff1f5;--state: rgba(136, 57, 239, .08);--state-2: rgba(136, 57, 239, .14);--danger: #d20f39;--ok: #2f7d1f;--warn: #95560a;--code-bg: #e9ecf1;--e1: 0 1px 2px rgba(76, 79, 105, .1), 0 1px 3px 1px rgba(76, 79, 105, .06);--e2: 0 1px 2px rgba(76, 79, 105, .12), 0 2px 6px 2px rgba(76, 79, 105, .08);--e3: 0 4px 8px 3px rgba(76, 79, 105, .1), 0 1px 3px rgba(76, 79, 105, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #45475a 0%, #313244 50%, #1e1e2e 100%);--hero-ink: #cdd6f4;--hero-soft: #bac2de;--hero-btn-bg: #cba6f7;--hero-btn-ink: #1e1e2e;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=catppuccin]:not([data-theme=light]){--bg: #181825;--surface: #1e1e2e;--surface-2: #313244;--tonal: #45475a;--ink: #cdd6f4;--ink-soft: #a6adc8;--line: #313244;--outline: #6c7086;--on-ink: #1e1e2e;--state: rgba(203, 166, 247, .1);--state-2: rgba(203, 166, 247, .17);--danger: #f38ba8;--ok: #a6e3a1;--warn: #f9e2af;--code-bg: #151520;--e1: 0 0 0 1px #313244, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #313244, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #45475a, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(70% 90% at 0% 0%, rgba(203, 166, 247, .28) 0%, transparent 60%), radial-gradient(60% 80% at 100% 100%, rgba(245, 194, 231, .2) 0%, transparent 60%), #1e1e2e;--hero-ink: #cdd6f4;--hero-soft: #a6adc8;--hero-btn-bg: #cba6f7;--hero-btn-ink: #1e1e2e;--hero-edge: #313244;color-scheme:dark}}html[data-palette=catppuccin][data-theme=dark]{--bg: #181825;--surface: #1e1e2e;--surface-2: #313244;--tonal: #45475a;--ink: #cdd6f4;--ink-soft: #a6adc8;--line: #313244;--outline: #6c7086;--on-ink: #1e1e2e;--state: rgba(203, 166, 247, .1);--state-2: rgba(203, 166, 247, .17);--danger: #f38ba8;--ok: #a6e3a1;--warn: #f9e2af;--code-bg: #151520;--e1: 0 0 0 1px #313244, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #313244, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #45475a, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(70% 90% at 0% 0%, rgba(203, 166, 247, .28) 0%, transparent 60%), radial-gradient(60% 80% at 100% 100%, rgba(245, 194, 231, .2) 0%, transparent 60%), #1e1e2e;--hero-ink: #cdd6f4;--hero-soft: #a6adc8;--hero-btn-bg: #cba6f7;--hero-btn-ink: #1e1e2e;--hero-edge: #313244;color-scheme:dark}.theme-sample.tp-light.pal-catppuccin{--bg: #e6e9ef;--surface: #eff1f5;--surface-2: #dce0e8;--tonal: #ccd0da;--ink: #4c4f69;--ink-soft: #5c5f77;--line: #d3d7e0;--outline: #9ca0b0;--on-ink: #eff1f5;--state: rgba(136, 57, 239, .08);--state-2: rgba(136, 57, 239, .14);--danger: #d20f39;--ok: #2f7d1f;--warn: #95560a;--code-bg: #e9ecf1;--e1: 0 1px 2px rgba(76, 79, 105, .1), 0 1px 3px 1px rgba(76, 79, 105, .06);--e2: 0 1px 2px rgba(76, 79, 105, .12), 0 2px 6px 2px rgba(76, 79, 105, .08);--e3: 0 4px 8px 3px rgba(76, 79, 105, .1), 0 1px 3px rgba(76, 79, 105, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #45475a 0%, #313244 50%, #1e1e2e 100%);--hero-ink: #cdd6f4;--hero-soft: #bac2de;--hero-btn-bg: #cba6f7;--hero-btn-ink: #1e1e2e;--hero-edge: transparent}.theme-sample.tp-dark.pal-catppuccin{--bg: #181825;--surface: #1e1e2e;--surface-2: #313244;--tonal: #45475a;--ink: #cdd6f4;--ink-soft: #a6adc8;--line: #313244;--outline: #6c7086;--on-ink: #1e1e2e;--state: rgba(203, 166, 247, .1);--state-2: rgba(203, 166, 247, .17);--danger: #f38ba8;--ok: #a6e3a1;--warn: #f9e2af;--code-bg: #151520;--e1: 0 0 0 1px #313244, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #313244, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #45475a, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(70% 90% at 0% 0%, rgba(203, 166, 247, .28) 0%, transparent 60%), radial-gradient(60% 80% at 100% 100%, rgba(245, 194, 231, .2) 0%, transparent 60%), #1e1e2e;--hero-ink: #cdd6f4;--hero-soft: #a6adc8;--hero-btn-bg: #cba6f7;--hero-btn-ink: #1e1e2e;--hero-edge: #313244;color-scheme:dark}html[data-palette=catppuccin] ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}html[data-palette=catppuccin] .hljs-keyword,html[data-palette=catppuccin] .hljs-selector-tag{color:#7c2fe0}html[data-palette=catppuccin] .hljs-built_in,html[data-palette=catppuccin] .hljs-type{color:#1a5ad9}html[data-palette=catppuccin] .hljs-string,html[data-palette=catppuccin] .hljs-attr-value,html[data-palette=catppuccin] .hljs-template-tag,html[data-palette=catppuccin] .hljs-addition{color:#2a7019}html[data-palette=catppuccin] .hljs-number,html[data-palette=catppuccin] .hljs-literal,html[data-palette=catppuccin] .hljs-symbol{color:#b54708}html[data-palette=catppuccin] .hljs-title,html[data-palette=catppuccin] .hljs-title.function_,html[data-palette=catppuccin] .hljs-function .hljs-title{color:#1a5ad9}html[data-palette=catppuccin] .hljs-attr,html[data-palette=catppuccin] .hljs-attribute,html[data-palette=catppuccin] .hljs-variable,html[data-palette=catppuccin] .hljs-property,html[data-palette=catppuccin] .hljs-params{color:#b03a8e}html[data-palette=catppuccin] .hljs-comment,html[data-palette=catppuccin] .hljs-quote{color:#6c6f85}html[data-palette=catppuccin] .hljs-meta,html[data-palette=catppuccin] .hljs-deletion{color:#d20f39}@media(prefers-color-scheme:dark){html[data-palette=catppuccin]:not([data-theme=light]) .hljs-keyword,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-selector-tag{color:#cba6f7}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-built_in,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-type{color:#89b4fa}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-string,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-attr-value,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-template-tag,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-addition{color:#a6e3a1}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-number,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-literal,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-symbol{color:#fab387}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-title,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-title.function_,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-function .hljs-title{color:#89b4fa}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-attr,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-attribute,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-variable,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-property,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-params{color:#f5c2e7}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-comment,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-quote{color:#7f849c}html[data-palette=catppuccin]:not([data-theme=light]) .hljs-meta,html[data-palette=catppuccin]:not([data-theme=light]) .hljs-deletion{color:#f38ba8}}html[data-palette=catppuccin][data-theme=dark] .hljs-keyword,html[data-palette=catppuccin][data-theme=dark] .hljs-selector-tag{color:#cba6f7}html[data-palette=catppuccin][data-theme=dark] .hljs-built_in,html[data-palette=catppuccin][data-theme=dark] .hljs-type{color:#89b4fa}html[data-palette=catppuccin][data-theme=dark] .hljs-string,html[data-palette=catppuccin][data-theme=dark] .hljs-attr-value,html[data-palette=catppuccin][data-theme=dark] .hljs-template-tag,html[data-palette=catppuccin][data-theme=dark] .hljs-addition{color:#a6e3a1}html[data-palette=catppuccin][data-theme=dark] .hljs-number,html[data-palette=catppuccin][data-theme=dark] .hljs-literal,html[data-palette=catppuccin][data-theme=dark] .hljs-symbol{color:#fab387}html[data-palette=catppuccin][data-theme=dark] .hljs-title,html[data-palette=catppuccin][data-theme=dark] .hljs-title.function_,html[data-palette=catppuccin][data-theme=dark] .hljs-function .hljs-title{color:#89b4fa}html[data-palette=catppuccin][data-theme=dark] .hljs-attr,html[data-palette=catppuccin][data-theme=dark] .hljs-attribute,html[data-palette=catppuccin][data-theme=dark] .hljs-variable,html[data-palette=catppuccin][data-theme=dark] .hljs-property,html[data-palette=catppuccin][data-theme=dark] .hljs-params{color:#f5c2e7}html[data-palette=catppuccin][data-theme=dark] .hljs-comment,html[data-palette=catppuccin][data-theme=dark] .hljs-quote{color:#7f849c}html[data-palette=catppuccin][data-theme=dark] .hljs-meta,html[data-palette=catppuccin][data-theme=dark] .hljs-deletion{color:#f38ba8}html[data-palette=catppuccin] .hero-terminal .t-prompt{color:#cba6f7}html[data-palette=catppuccin] .hero-terminal a{color:#89b4fa}html[data-palette=catppuccin] .hero-dot{background:#a6e3a1}html[data-palette=catppuccin] .chart .bar,html[data-palette=catppuccin] svg.spark rect{fill:var(--accent)}html[data-palette=tokyo]{--bg: #e1e2e7;--surface: #f2f2f5;--surface-2: #d6d7de;--tonal: #c8cbda;--ink: #343b58;--ink-soft: #565a6e;--line: #cfd1dc;--outline: #848cb5;--on-ink: #f2f2f5;--state: rgba(46, 125, 233, .08);--state-2: rgba(46, 125, 233, .14);--danger: #c4204c;--ok: #4a6830;--warn: #8f4b00;--code-bg: #e9e9ed;--e1: 0 1px 2px rgba(52, 59, 88, .1), 0 1px 3px 1px rgba(52, 59, 88, .06);--e2: 0 1px 2px rgba(52, 59, 88, .12), 0 2px 6px 2px rgba(52, 59, 88, .08);--e3: 0 4px 8px 3px rgba(52, 59, 88, .1), 0 1px 3px rgba(52, 59, 88, .14);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(122, 162, 247, .35) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(187, 154, 247, .35) 0%, transparent 60%), #1a1b26;--hero-ink: #c0caf5;--hero-soft: #a9b1d6;--hero-btn-bg: #7aa2f7;--hero-btn-ink: #16161e;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=tokyo]:not([data-theme=light]){--bg: #16161e;--surface: #1a1b26;--surface-2: #24283b;--tonal: #2f354f;--ink: #c0caf5;--ink-soft: #9aa5ce;--line: #262a3d;--outline: #565f89;--on-ink: #16161e;--state: rgba(122, 162, 247, .1);--state-2: rgba(122, 162, 247, .17);--danger: #f7768e;--ok: #9ece6a;--warn: #e0af68;--code-bg: #13131a;--e1: 0 0 0 1px #24283b, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #262a3d, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #2f354f, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(122, 162, 247, .26) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(187, 154, 247, .3) 0%, transparent 60%), radial-gradient(60% 80% at 60% 120%, rgba(125, 207, 255, .16) 0%, transparent 60%), #1a1b26;--hero-ink: #c0caf5;--hero-soft: #9aa5ce;--hero-btn-bg: #7aa2f7;--hero-btn-ink: #16161e;--hero-edge: #262a3d;color-scheme:dark}}html[data-palette=tokyo][data-theme=dark]{--bg: #16161e;--surface: #1a1b26;--surface-2: #24283b;--tonal: #2f354f;--ink: #c0caf5;--ink-soft: #9aa5ce;--line: #262a3d;--outline: #565f89;--on-ink: #16161e;--state: rgba(122, 162, 247, .1);--state-2: rgba(122, 162, 247, .17);--danger: #f7768e;--ok: #9ece6a;--warn: #e0af68;--code-bg: #13131a;--e1: 0 0 0 1px #24283b, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #262a3d, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #2f354f, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(122, 162, 247, .26) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(187, 154, 247, .3) 0%, transparent 60%), radial-gradient(60% 80% at 60% 120%, rgba(125, 207, 255, .16) 0%, transparent 60%), #1a1b26;--hero-ink: #c0caf5;--hero-soft: #9aa5ce;--hero-btn-bg: #7aa2f7;--hero-btn-ink: #16161e;--hero-edge: #262a3d;color-scheme:dark}.theme-sample.tp-light.pal-tokyo{--bg: #e1e2e7;--surface: #f2f2f5;--surface-2: #d6d7de;--tonal: #c8cbda;--ink: #343b58;--ink-soft: #565a6e;--line: #cfd1dc;--outline: #848cb5;--on-ink: #f2f2f5;--state: rgba(46, 125, 233, .08);--state-2: rgba(46, 125, 233, .14);--danger: #c4204c;--ok: #4a6830;--warn: #8f4b00;--code-bg: #e9e9ed;--e1: 0 1px 2px rgba(52, 59, 88, .1), 0 1px 3px 1px rgba(52, 59, 88, .06);--e2: 0 1px 2px rgba(52, 59, 88, .12), 0 2px 6px 2px rgba(52, 59, 88, .08);--e3: 0 4px 8px 3px rgba(52, 59, 88, .1), 0 1px 3px rgba(52, 59, 88, .14);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(122, 162, 247, .35) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(187, 154, 247, .35) 0%, transparent 60%), #1a1b26;--hero-ink: #c0caf5;--hero-soft: #a9b1d6;--hero-btn-bg: #7aa2f7;--hero-btn-ink: #16161e;--hero-edge: transparent}.theme-sample.tp-dark.pal-tokyo{--bg: #16161e;--surface: #1a1b26;--surface-2: #24283b;--tonal: #2f354f;--ink: #c0caf5;--ink-soft: #9aa5ce;--line: #262a3d;--outline: #565f89;--on-ink: #16161e;--state: rgba(122, 162, 247, .1);--state-2: rgba(122, 162, 247, .17);--danger: #f7768e;--ok: #9ece6a;--warn: #e0af68;--code-bg: #13131a;--e1: 0 0 0 1px #24283b, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #262a3d, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #2f354f, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(60% 90% at 0% 0%, rgba(122, 162, 247, .26) 0%, transparent 60%), radial-gradient(55% 80% at 100% 0%, rgba(187, 154, 247, .3) 0%, transparent 60%), radial-gradient(60% 80% at 60% 120%, rgba(125, 207, 255, .16) 0%, transparent 60%), #1a1b26;--hero-ink: #c0caf5;--hero-soft: #9aa5ce;--hero-btn-bg: #7aa2f7;--hero-btn-ink: #16161e;--hero-edge: #262a3d;color-scheme:dark}html[data-palette=tokyo] ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}html[data-palette=tokyo] .hljs-keyword,html[data-palette=tokyo] .hljs-selector-tag{color:#7847bd}html[data-palette=tokyo] .hljs-built_in,html[data-palette=tokyo] .hljs-type{color:#006c86}html[data-palette=tokyo] .hljs-string,html[data-palette=tokyo] .hljs-attr-value,html[data-palette=tokyo] .hljs-template-tag,html[data-palette=tokyo] .hljs-addition{color:#4a6830}html[data-palette=tokyo] .hljs-number,html[data-palette=tokyo] .hljs-literal,html[data-palette=tokyo] .hljs-symbol{color:#965027}html[data-palette=tokyo] .hljs-title,html[data-palette=tokyo] .hljs-title.function_,html[data-palette=tokyo] .hljs-function .hljs-title{color:#2959b8}html[data-palette=tokyo] .hljs-attr,html[data-palette=tokyo] .hljs-attribute,html[data-palette=tokyo] .hljs-variable,html[data-palette=tokyo] .hljs-property,html[data-palette=tokyo] .hljs-params{color:#8f5e15}html[data-palette=tokyo] .hljs-comment,html[data-palette=tokyo] .hljs-quote{color:#6c6e85}html[data-palette=tokyo] .hljs-meta,html[data-palette=tokyo] .hljs-deletion{color:#c4204c}@media(prefers-color-scheme:dark){html[data-palette=tokyo]:not([data-theme=light]) .hljs-keyword,html[data-palette=tokyo]:not([data-theme=light]) .hljs-selector-tag{color:#bb9af7}html[data-palette=tokyo]:not([data-theme=light]) .hljs-built_in,html[data-palette=tokyo]:not([data-theme=light]) .hljs-type{color:#2ac3de}html[data-palette=tokyo]:not([data-theme=light]) .hljs-string,html[data-palette=tokyo]:not([data-theme=light]) .hljs-attr-value,html[data-palette=tokyo]:not([data-theme=light]) .hljs-template-tag,html[data-palette=tokyo]:not([data-theme=light]) .hljs-addition{color:#9ece6a}html[data-palette=tokyo]:not([data-theme=light]) .hljs-number,html[data-palette=tokyo]:not([data-theme=light]) .hljs-literal,html[data-palette=tokyo]:not([data-theme=light]) .hljs-symbol{color:#ff9e64}html[data-palette=tokyo]:not([data-theme=light]) .hljs-title,html[data-palette=tokyo]:not([data-theme=light]) .hljs-title.function_,html[data-palette=tokyo]:not([data-theme=light]) .hljs-function .hljs-title{color:#7aa2f7}html[data-palette=tokyo]:not([data-theme=light]) .hljs-attr,html[data-palette=tokyo]:not([data-theme=light]) .hljs-attribute,html[data-palette=tokyo]:not([data-theme=light]) .hljs-variable,html[data-palette=tokyo]:not([data-theme=light]) .hljs-property,html[data-palette=tokyo]:not([data-theme=light]) .hljs-params{color:#e0af68}html[data-palette=tokyo]:not([data-theme=light]) .hljs-comment,html[data-palette=tokyo]:not([data-theme=light]) .hljs-quote{color:#636da6}html[data-palette=tokyo]:not([data-theme=light]) .hljs-meta,html[data-palette=tokyo]:not([data-theme=light]) .hljs-deletion{color:#f7768e}}html[data-palette=tokyo][data-theme=dark] .hljs-keyword,html[data-palette=tokyo][data-theme=dark] .hljs-selector-tag{color:#bb9af7}html[data-palette=tokyo][data-theme=dark] .hljs-built_in,html[data-palette=tokyo][data-theme=dark] .hljs-type{color:#2ac3de}html[data-palette=tokyo][data-theme=dark] .hljs-string,html[data-palette=tokyo][data-theme=dark] .hljs-attr-value,html[data-palette=tokyo][data-theme=dark] .hljs-template-tag,html[data-palette=tokyo][data-theme=dark] .hljs-addition{color:#9ece6a}html[data-palette=tokyo][data-theme=dark] .hljs-number,html[data-palette=tokyo][data-theme=dark] .hljs-literal,html[data-palette=tokyo][data-theme=dark] .hljs-symbol{color:#ff9e64}html[data-palette=tokyo][data-theme=dark] .hljs-title,html[data-palette=tokyo][data-theme=dark] .hljs-title.function_,html[data-palette=tokyo][data-theme=dark] .hljs-function .hljs-title{color:#7aa2f7}html[data-palette=tokyo][data-theme=dark] .hljs-attr,html[data-palette=tokyo][data-theme=dark] .hljs-attribute,html[data-palette=tokyo][data-theme=dark] .hljs-variable,html[data-palette=tokyo][data-theme=dark] .hljs-property,html[data-palette=tokyo][data-theme=dark] .hljs-params{color:#e0af68}html[data-palette=tokyo][data-theme=dark] .hljs-comment,html[data-palette=tokyo][data-theme=dark] .hljs-quote{color:#636da6}html[data-palette=tokyo][data-theme=dark] .hljs-meta,html[data-palette=tokyo][data-theme=dark] .hljs-deletion{color:#f7768e}html[data-palette=tokyo] .hero-terminal .t-prompt{color:#7aa2f7}html[data-palette=tokyo] .hero-terminal a{color:#7dcfff}html[data-palette=tokyo] .hero-dot{background:#9ece6a}html[data-palette=tokyo] .chart .bar,html[data-palette=tokyo] svg.spark rect{fill:var(--accent)}html[data-palette=terminal]{--bg: #e9f2e6;--surface: #f6fbf4;--surface-2: #dce9d8;--tonal: #c9dcc4;--ink: #0b2e13;--ink-soft: #36603f;--line: #cadbc5;--outline: #76997c;--on-ink: #f6fbf4;--state: rgba(10, 107, 37, .08);--state-2: rgba(10, 107, 37, .14);--danger: #a8211b;--ok: #0a6b25;--warn: #8a5a00;--code-bg: #eef6eb;--e1: 0 1px 2px rgba(11, 46, 19, .1), 0 1px 3px 1px rgba(11, 46, 19, .06);--e2: 0 1px 2px rgba(11, 46, 19, .12), 0 2px 6px 2px rgba(11, 46, 19, .08);--e3: 0 4px 8px 3px rgba(11, 46, 19, .1), 0 1px 3px rgba(11, 46, 19, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #0f2a15 0%, #07130a 60%, #030805 100%);--hero-ink: #9dffb0;--hero-soft: #5fd47c;--hero-btn-bg: #33ff66;--hero-btn-ink: #031a08;--hero-edge: transparent}@media(prefers-color-scheme:dark){html[data-palette=terminal]:not([data-theme=light]){--bg: #030805;--surface: #07100a;--surface-2: #0c1a10;--tonal: #123019;--ink: #a8f5b8;--ink-soft: #5fc476;--line: #0f2615;--outline: #2f6b3a;--on-ink: #031a08;--state: rgba(51, 255, 102, .1);--state-2: rgba(51, 255, 102, .17);--danger: #ff6b5e;--ok: #33ff66;--warn: #ffd166;--code-bg: #020603;--e1: 0 0 0 1px #0c1a10, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #0f2615, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #123019, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #0f2a15 0%, #07130a 60%, #030805 100%);--hero-ink: #9dffb0;--hero-soft: #5fc476;--hero-btn-bg: #33ff66;--hero-btn-ink: #031a08;--hero-edge: #123019;color-scheme:dark}}html[data-palette=terminal][data-theme=dark]{--bg: #030805;--surface: #07100a;--surface-2: #0c1a10;--tonal: #123019;--ink: #a8f5b8;--ink-soft: #5fc476;--line: #0f2615;--outline: #2f6b3a;--on-ink: #031a08;--state: rgba(51, 255, 102, .1);--state-2: rgba(51, 255, 102, .17);--danger: #ff6b5e;--ok: #33ff66;--warn: #ffd166;--code-bg: #020603;--e1: 0 0 0 1px #0c1a10, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #0f2615, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #123019, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #0f2a15 0%, #07130a 60%, #030805 100%);--hero-ink: #9dffb0;--hero-soft: #5fc476;--hero-btn-bg: #33ff66;--hero-btn-ink: #031a08;--hero-edge: #123019;color-scheme:dark}.theme-sample.tp-light.pal-terminal{--bg: #e9f2e6;--surface: #f6fbf4;--surface-2: #dce9d8;--tonal: #c9dcc4;--ink: #0b2e13;--ink-soft: #36603f;--line: #cadbc5;--outline: #76997c;--on-ink: #f6fbf4;--state: rgba(10, 107, 37, .08);--state-2: rgba(10, 107, 37, .14);--danger: #a8211b;--ok: #0a6b25;--warn: #8a5a00;--code-bg: #eef6eb;--e1: 0 1px 2px rgba(11, 46, 19, .1), 0 1px 3px 1px rgba(11, 46, 19, .06);--e2: 0 1px 2px rgba(11, 46, 19, .12), 0 2px 6px 2px rgba(11, 46, 19, .08);--e3: 0 4px 8px 3px rgba(11, 46, 19, .1), 0 1px 3px rgba(11, 46, 19, .14);--hero-bg: radial-gradient(120% 140% at 0% 0%, #0f2a15 0%, #07130a 60%, #030805 100%);--hero-ink: #9dffb0;--hero-soft: #5fd47c;--hero-btn-bg: #33ff66;--hero-btn-ink: #031a08;--hero-edge: transparent}.theme-sample.tp-dark.pal-terminal{--bg: #030805;--surface: #07100a;--surface-2: #0c1a10;--tonal: #123019;--ink: #a8f5b8;--ink-soft: #5fc476;--line: #0f2615;--outline: #2f6b3a;--on-ink: #031a08;--state: rgba(51, 255, 102, .1);--state-2: rgba(51, 255, 102, .17);--danger: #ff6b5e;--ok: #33ff66;--warn: #ffd166;--code-bg: #020603;--e1: 0 0 0 1px #0c1a10, 0 1px 3px rgba(0, 0, 0, .7);--e2: 0 0 0 1px #0f2615, 0 4px 12px rgba(0, 0, 0, .7);--e3: 0 0 0 1px #123019, 0 8px 24px rgba(0, 0, 0, .8);--hero-bg: radial-gradient(120% 140% at 0% 0%, #0f2a15 0%, #07130a 60%, #030805 100%);--hero-ink: #9dffb0;--hero-soft: #5fc476;--hero-btn-bg: #33ff66;--hero-btn-ink: #031a08;--hero-edge: #123019;color-scheme:dark}html[data-palette=terminal] ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}html[data-palette=terminal] .hljs-keyword,html[data-palette=terminal] .hljs-selector-tag{color:#0a6b25}html[data-palette=terminal] .hljs-built_in,html[data-palette=terminal] .hljs-type{color:#1d5f6b}html[data-palette=terminal] .hljs-string,html[data-palette=terminal] .hljs-attr-value,html[data-palette=terminal] .hljs-template-tag,html[data-palette=terminal] .hljs-addition{color:#5a5a00}html[data-palette=terminal] .hljs-number,html[data-palette=terminal] .hljs-literal,html[data-palette=terminal] .hljs-symbol{color:#7a3d8f}html[data-palette=terminal] .hljs-title,html[data-palette=terminal] .hljs-title.function_,html[data-palette=terminal] .hljs-function .hljs-title{color:#08591f}html[data-palette=terminal] .hljs-attr,html[data-palette=terminal] .hljs-attribute,html[data-palette=terminal] .hljs-variable,html[data-palette=terminal] .hljs-property,html[data-palette=terminal] .hljs-params{color:#8a5a00}html[data-palette=terminal] .hljs-comment,html[data-palette=terminal] .hljs-quote{color:#5f7f66}html[data-palette=terminal] .hljs-meta,html[data-palette=terminal] .hljs-deletion{color:#a8211b}@media(prefers-color-scheme:dark){html[data-palette=terminal]:not([data-theme=light]) .hljs-keyword,html[data-palette=terminal]:not([data-theme=light]) .hljs-selector-tag{color:#3f6}html[data-palette=terminal]:not([data-theme=light]) .hljs-built_in,html[data-palette=terminal]:not([data-theme=light]) .hljs-type{color:#66e0ff}html[data-palette=terminal]:not([data-theme=light]) .hljs-string,html[data-palette=terminal]:not([data-theme=light]) .hljs-attr-value,html[data-palette=terminal]:not([data-theme=light]) .hljs-template-tag,html[data-palette=terminal]:not([data-theme=light]) .hljs-addition{color:#d4ff6b}html[data-palette=terminal]:not([data-theme=light]) .hljs-number,html[data-palette=terminal]:not([data-theme=light]) .hljs-literal,html[data-palette=terminal]:not([data-theme=light]) .hljs-symbol{color:#ffb86b}html[data-palette=terminal]:not([data-theme=light]) .hljs-title,html[data-palette=terminal]:not([data-theme=light]) .hljs-title.function_,html[data-palette=terminal]:not([data-theme=light]) .hljs-function .hljs-title{color:#7dffa0}html[data-palette=terminal]:not([data-theme=light]) .hljs-attr,html[data-palette=terminal]:not([data-theme=light]) .hljs-attribute,html[data-palette=terminal]:not([data-theme=light]) .hljs-variable,html[data-palette=terminal]:not([data-theme=light]) .hljs-property,html[data-palette=terminal]:not([data-theme=light]) .hljs-params{color:#ffd166}html[data-palette=terminal]:not([data-theme=light]) .hljs-comment,html[data-palette=terminal]:not([data-theme=light]) .hljs-quote{color:#3f8a52}html[data-palette=terminal]:not([data-theme=light]) .hljs-meta,html[data-palette=terminal]:not([data-theme=light]) .hljs-deletion{color:#ff6b5e}}html[data-palette=terminal][data-theme=dark] .hljs-keyword,html[data-palette=terminal][data-theme=dark] .hljs-selector-tag{color:#3f6}html[data-palette=terminal][data-theme=dark] .hljs-built_in,html[data-palette=terminal][data-theme=dark] .hljs-type{color:#66e0ff}html[data-palette=terminal][data-theme=dark] .hljs-string,html[data-palette=terminal][data-theme=dark] .hljs-attr-value,html[data-palette=terminal][data-theme=dark] .hljs-template-tag,html[data-palette=terminal][data-theme=dark] .hljs-addition{color:#d4ff6b}html[data-palette=terminal][data-theme=dark] .hljs-number,html[data-palette=terminal][data-theme=dark] .hljs-literal,html[data-palette=terminal][data-theme=dark] .hljs-symbol{color:#ffb86b}html[data-palette=terminal][data-theme=dark] .hljs-title,html[data-palette=terminal][data-theme=dark] .hljs-title.function_,html[data-palette=terminal][data-theme=dark] .hljs-function .hljs-title{color:#7dffa0}html[data-palette=terminal][data-theme=dark] .hljs-attr,html[data-palette=terminal][data-theme=dark] .hljs-attribute,html[data-palette=terminal][data-theme=dark] .hljs-variable,html[data-palette=terminal][data-theme=dark] .hljs-property,html[data-palette=terminal][data-theme=dark] .hljs-params{color:#ffd166}html[data-palette=terminal][data-theme=dark] .hljs-comment,html[data-palette=terminal][data-theme=dark] .hljs-quote{color:#3f8a52}html[data-palette=terminal][data-theme=dark] .hljs-meta,html[data-palette=terminal][data-theme=dark] .hljs-deletion{color:#ff6b5e}html[data-palette=terminal] .hero-terminal .t-prompt{color:#3f6}html[data-palette=terminal] .hero-terminal a{color:#2fbf55}html[data-palette=terminal] .hero-dot{background:#d4ff6b}html[data-palette=terminal] .chart .bar,html[data-palette=terminal] svg.spark rect{fill:var(--accent)}html[data-palette=terminal] :is(h1,h2,h3,h4,.brand span,.list-title){font-family:var(--font-code);letter-spacing:-.01em}html[data-palette=terminal] .hero-terminal{background:#020803d1;border-color:#33ff6640;box-shadow:0 0 0 1px #33ff6614,0 30px 60px -20px #000c,0 0 40px -10px #33ff6640}html[data-palette=terminal] .hero-terminal pre{color:#b8ffc8;text-shadow:0 0 6px rgba(51,255,102,.45)}html[data-palette=terminal] .t-cursor{background:#3f6;box-shadow:0 0 8px #33ff66b3}@media(prefers-color-scheme:dark){html[data-palette=terminal]:not([data-theme=light]) :is(h1,h2,h3,.brand span){text-shadow:0 0 10px rgba(51,255,102,.35)}html[data-palette=terminal]:not([data-theme=light]) body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0,#0000 2px,#0000002e 3px);mix-blend-mode:multiply}}html[data-palette=terminal][data-theme=dark] :is(h1,h2,h3,.brand span){text-shadow:0 0 10px rgba(51,255,102,.35)}html[data-palette=terminal][data-theme=dark] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0,#0000 2px,#0000002e 3px);mix-blend-mode:multiply}@media print{html[data-palette=terminal] body:after{display:none}}@media(forced-colors:active){html[data-palette=terminal] body:after{display:none}}html[data-texture=dots],.theme-sample.tx-dots{--tx-image: radial-gradient(color-mix(in srgb, var(--ink) 14%, transparent) 1px, transparent 1.4px);--tx-size: 22px 22px}html[data-texture=grid],.theme-sample.tx-grid{--tx-image: linear-gradient(color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px);--tx-size: 32px 32px}html[data-texture=blueprint],.theme-sample.tx-blueprint{--tx-image: linear-gradient(color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, transparent) 1px, transparent 1px);--tx-size: 160px 160px, 160px 160px, 32px 32px, 32px 32px}html[data-texture=grain],.theme-sample.tx-grain{--tx-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--tx-size: 200px 200px}@media(prefers-color-scheme:dark){html[data-texture=grain]:not([data-theme=light]){--tx-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}html[data-texture=grain][data-theme=dark],.theme-sample.tp-dark.tx-grain{--tx-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html[data-texture]:not([data-texture=none]) body,.theme-sample[class*=" tx-"]{background-image:var(--tx-image);background-size:var(--tx-size)}html[data-texture]:not([data-texture=none]) body{background-attachment:fixed}@media print{html[data-texture] body{background-image:none}}.lc-bento{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:1fr 1fr}.lc-bento i:nth-child(1){grid-row:span 2}.lc-bento i:nth-child(4){grid-column:span 2}.texture-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.texture-cards label{position:relative;display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-l);cursor:pointer;font-weight:400}.texture-cards label.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.texture-cards input{position:absolute;opacity:0;pointer-events:none}.texture-cards label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.texture-cards strong{font:500 .85rem var(--font-ui);text-align:center}.tx-swatch.theme-sample{display:block;height:56px;min-height:0;padding:0;border-radius:var(--r-s);background-color:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.bento{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(190px,auto);grid-auto-flow:dense;margin:8px 0 0}.bento-tile{position:relative;min-width:0;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--e1);overflow:hidden;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.bento-tile:hover{box-shadow:var(--e2)}.bento-tile.big{grid-column:span 2;grid-row:span 2}.bento-tile.wide{grid-column:span 2}.bento-label{display:flex;align-items:center;gap:8px;margin:0;font:600 .78rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.bento-more{margin-top:auto;display:inline-flex;align-items:center;gap:4px;font:500 .88rem var(--font-ui);color:var(--accent);text-decoration:none}.bento-more:hover{text-decoration:underline}.bento-post{padding:0}.bento-post-media{position:relative;display:block;flex:1 1 auto;min-height:110px;background:var(--surface-2);overflow:hidden}.bento-post-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.bento-post:hover .bento-post-media img{transform:scale(1.04)}.bento-post-body{display:grid;gap:6px;padding:14px 16px 16px}.bento-post h3{margin:0;font-size:1.08rem;line-height:1.3}.bento-post h3 a{text-decoration:none}.bento-post h3 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.bento-post h3 a:focus-visible{outline:none}.bento-post:has(h3 a:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.bento-kicker{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;position:relative;z-index:1}.bento-pin{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--r-full);font:600 .72rem var(--font-ui);background:var(--accent);color:var(--on-accent)}.bento-excerpt{margin:0;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bento-post .thumb-empty{font-size:4rem}.bento-post.big .bento-post-media{position:absolute;top:0;right:0;bottom:0;left:0}.bento-post.big .bento-post-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}.bento-post.big .bento-post-body{position:relative;margin-top:auto;padding:22px 24px 24px;color:#fff}.bento-post.big h3{font-size:clamp(1.4rem,2.6vw,2.1rem);color:#fff}.bento-post.big h3 a{color:#fff}.bento-post.big .bento-excerpt,.bento-post.big .meta{color:#ffffffd1}.bento-post.big .cat-chip{background:#ffffff29;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bento-post.big:not(.has-pic) .bento-post-media{background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--cat, var(--accent)) 60%,#000),#111 70%)}.bento-post.big:not(.has-pic) .thumb-empty{color:#ffffff1f;font-size:12rem}.bento-post.wide{flex-direction:row}.bento-post.wide .bento-post-media{flex:0 0 44%}.bento-post.wide .bento-post-body{align-content:center}.bento-stats dl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 0}.bento-stats dl div{display:grid}.bento-stats dt{order:2;font:500 .82rem var(--font-ui);color:var(--ink-soft)}.bento-stats dd{order:1;margin:0;font:800 clamp(1.8rem,3vw,2.4rem)/1.05 var(--font-head);font-variant-numeric:tabular-nums}.bento-stats{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 16%,var(--surface)),var(--surface) 70%)}.bento-tags ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.bento-tags li a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:var(--surface-2);font:500 .85rem var(--font-ui);text-decoration:none;color:var(--ink)}.bento-tags li a:hover{background:var(--accent);color:var(--on-accent)}.bento:not(.has-news) .bento-tags,.bento:not(.has-project) .bento-tags{grid-column:span 2}.bento:not(.has-news):not(.has-project) .bento-stats{grid-column:span 2}.bento-tags{grid-row:span 1}.bento-project h3{margin:0;font-size:1.05rem}.bento-project h3 a{text-decoration:none}.bento-project p.muted{margin:0;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bento-project-media .thumb{aspect-ratio:16 / 8}.bento-news{padding:0}.bento-news .subscribe{margin:0;height:100%;box-shadow:none;border-radius:0}.subscribe-compact{flex-direction:column;gap:10px}.subscribe-compact h2{font-size:1.15rem;margin:0}.subscribe-compact .subscribe-icon{display:none}.subscribe-compact p{margin:4px 0 10px;font-size:.9rem}.bento.sk-wrap .bento-tile{box-shadow:none;background:var(--surface-2);min-height:190px}@media(max-width:1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.bento .bento-tile,.bento:not(.has-news) .bento-tags,.bento:not(.has-project) .bento-tags,.bento:not(.has-news):not(.has-project) .bento-stats{grid-column:auto;grid-row:auto}.bento-post.big{min-height:360px}.bento-post.wide{flex-direction:column}.bento-post .bento-post-media{min-height:180px}}.topic-grid{display:grid;grid-auto-flow:column;grid-auto-columns:180px;gap:12px;margin:-6px -6px 0;padding:6px 6px 10px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:6px}.topic-grid{scrollbar-width:none}.topic-grid::-webkit-scrollbar{display:none}.topic-grid.dragging{scroll-snap-type:none;scroll-behavior:auto}.topic-grid.dragging .topic-card{pointer-events:none}.topic-bar{position:relative;height:18px;margin-top:2px;cursor:pointer;touch-action:none}.topic-bar:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 14%,transparent) 8%,color-mix(in srgb,var(--ink) 14%,transparent) 92%,transparent)}.topic-bar-thumb{position:absolute;top:50%;height:6px;width:calc(var(--size) * 100%);min-width:36px;left:calc(var(--pos) * (100% - max(var(--size) * 100%,36px)));transform:translateY(-50%);border-radius:99px;cursor:grab;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#fff));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 2px 10px color-mix(in srgb,var(--accent) 45%,transparent);transition:height .2s var(--ease),box-shadow .2s var(--ease)}.topic-bar-thumb:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;transform:translate(-50%,-50%);border-radius:2px;background:#ffffffb3;opacity:0;transition:opacity .2s}.topic-bar:hover .topic-bar-thumb,.topic-bar.active .topic-bar-thumb{height:10px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 3px 14px color-mix(in srgb,var(--accent) 55%,transparent)}.topic-bar:hover .topic-bar-thumb:after,.topic-bar.active .topic-bar-thumb:after{opacity:1}.topic-bar.active .topic-bar-thumb{cursor:grabbing}@media(prefers-reduced-motion:reduce){.topic-bar-thumb{transition:none}}.topic-grid>li{scroll-snap-align:start}.topic-nav{display:flex;gap:6px}.topic-nav .icon-btn:disabled{opacity:.35;cursor:default}@media(max-width:600px){.topic-grid{grid-auto-columns:150px;margin:-6px -16px 0;padding:6px 16px 10px;scroll-padding:16px}.topic-nav{display:none}}.topic-card{--topic: var(--accent);position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:150px;padding:16px;border-radius:var(--r-xl);overflow:hidden;text-decoration:none;color:var(--ink);background:linear-gradient(140deg,color-mix(in srgb,var(--topic) 22%,var(--surface)),var(--surface) 75%);box-shadow:var(--e1);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.topic-card:hover{box-shadow:var(--e2);transform:translateY(-2px);text-decoration:none}.topic-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--topic);z-index:1}.topic-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s var(--ease)}.topic-card:hover img{transform:scale(1.05)}.topic-card.has-cover{color:#fff}.topic-card.has-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--topic) 25%,transparent),#000000c7)}.topic-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--r-l);font:700 1.35rem/1 var(--font-head);background:color-mix(in srgb,var(--topic, var(--accent)) 22%,var(--surface));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--topic, var(--accent)) 35%,transparent)}.topic-card.has-cover .topic-icon{background:#ffffff29;color:#fff;box-shadow:inset 0 0 0 1px #ffffff40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topic-text{display:grid;min-width:0}.topic-text strong{font:700 1.05rem/1.25 var(--font-head);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.topic-text small{font:500 .82rem var(--font-ui);opacity:.8}.cat-icon{margin-right:5px;font-size:.95em;line-height:1}.topic-head{--topic: var(--accent);position:relative;isolation:isolate;margin-top:16px;padding:28px 28px 24px;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(140deg,color-mix(in srgb,var(--topic) 20%,var(--surface)),var(--surface) 70%);box-shadow:var(--e1)}.topic-head .topic-head-icon{width:60px;height:60px;margin-bottom:14px;font-size:1.9rem;border-radius:var(--r-xl)}.topic-head.has-cover{color:#fff;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end}.topic-head.has-cover h1,.topic-head.has-cover .list-intro,.topic-head.has-cover .back,.topic-head.has-cover .feed-link{color:#fff}.topic-head.has-cover .back{position:absolute;top:22px;left:28px}.topic-head.has-cover .topic-head-icon{background:#ffffff29;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topic-head-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.topic-head.has-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#00000040,#000c)}.topic-head-count{margin:6px 0 0;font:500 .9rem var(--font-ui);opacity:.8}.topic-fields{display:grid;gap:14px}.topic-icons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.topic-icon-input{width:64px!important;text-align:center;font-size:1.2rem}.topic-icon-pick{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);font-size:1.1rem;cursor:pointer}.topic-icon-pick:hover{background:var(--state)}.topic-icon-pick.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.topic-cover{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.topic-cover-box{--topic: var(--accent);display:grid;place-items:center;width:120px;height:68px;border-radius:var(--r-m);overflow:hidden;color:var(--ink-soft);background:color-mix(in srgb,var(--topic) 18%,var(--surface-2))}.topic-cover-box img{width:100%;height:100%;object-fit:cover}.topic-cover-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prose .mermaid-diagram{margin:1.8em 0;padding:20px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1);overflow-x:auto}.mermaid-box{display:flex;justify-content:center;min-height:80px}.mermaid-box svg{max-width:100%;height:auto}.mermaid-loading{align-self:center;font:500 .88rem var(--font-ui);color:var(--ink-soft)}.prose .mermaid-error{margin:1.6em 0;padding:14px 16px;border-radius:var(--r-l);border:1px dashed color-mix(in srgb,var(--danger) 55%,transparent)}.mermaid-error p{display:flex;gap:8px;align-items:center;margin:0 0 8px;font:500 .9rem var(--font-ui);color:var(--danger)}.mermaid-error pre{margin:0;font-size:.85rem;white-space:pre-wrap}.prose .katex-display{margin:1.4em 0;padding:6px 2px;overflow-x:auto;overflow-y:hidden}.prose .katex{font-size:1.12em}.prose .katex-error{color:var(--danger);font-family:var(--font-code);font-size:.9em}.post-card-tip{position:fixed;z-index:70;display:grid;overflow:hidden;border-radius:var(--r-l);background:var(--surface);color:var(--ink);box-shadow:var(--e3);opacity:0;transform:translateY(-4px);transition:opacity .16s var(--ease),transform .16s var(--ease);pointer-events:auto}.post-card-tip.above{transform:translateY(4px)}.post-card-tip.on{opacity:1;transform:none}.post-card-tip img{width:100%;aspect-ratio:16 / 7;object-fit:cover;background:var(--surface-2)}.pct-body{display:grid;gap:4px;padding:12px 14px 14px}.pct-kicker{font:600 .72rem var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.pct-body strong{font:700 1rem/1.3 var(--font-head)}.pct-body p{margin:0;font:400 .88rem/1.45 var(--font-ui);color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pct-body .meta{font-size:.78rem}@media(prefers-reduced-motion:reduce){.post-card-tip{transition:none;transform:none}}.quote-share{position:fixed;z-index:75;display:flex;align-items:center;gap:2px;width:236px;padding:4px;border-radius:var(--r-full);background:var(--ink);color:var(--on-ink);box-shadow:0 8px 24px #00000047;transform:translateY(-100%);animation:qs-in .14s var(--ease)}.quote-share.below{transform:none}.quote-share:after{content:"";position:absolute;left:var(--qs-arrow, 50%);bottom:-5px;width:10px;height:10px;margin-left:-5px;background:var(--ink);transform:rotate(45deg);border-radius:2px}.quote-share.below:after{bottom:auto;top:-5px}.qs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:0;border-radius:var(--r-full);background:none;color:inherit;font:500 .82rem var(--font-ui);cursor:pointer;text-decoration:none;white-space:nowrap}.qs-btn:hover,.qs-btn:focus-visible{background:color-mix(in srgb,var(--on-ink) 16%,transparent);text-decoration:none;color:inherit}.qs-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qs-btn:first-child{padding:0 10px}.qs-done{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;font:500 .85rem var(--font-ui)}@keyframes qs-in{0%{opacity:0}}::target-text{background:color-mix(in srgb,var(--accent) 30%,transparent);color:inherit}.preview-banner{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:12px 16px;border-radius:var(--r-l);font:400 .92rem/1.5 var(--font-ui);background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.preview-banner svg{flex:none;margin-top:2px;color:var(--accent)}.preview-link{display:grid;gap:8px;margin:4px 0 12px;padding:12px;border-radius:var(--r-l);border:1px dashed var(--line)}.preview-link-head{display:flex;align-items:center;gap:8px;margin:0;font:500 .92rem var(--font-ui)}.preview-link-row{display:flex;gap:6px}.preview-link-row input{flex:1;min-width:0;font:400 .8rem var(--font-code)}.preview-link-actions{display:flex;flex-wrap:wrap;gap:14px;font-size:.88rem}.preview-link .btn.sm{justify-self:start}.author-card{display:grid;gap:14px;padding:22px;background:var(--surface);border:0;box-shadow:var(--e1)}.author-card-top{display:flex;gap:14px;align-items:center}.author-card .author-photo{width:64px;height:64px}.author-card-kicker{margin:0;font:600 .72rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.author-card h2{margin:2px 0 0;font-size:1.25rem}.author-card h2 a{text-decoration:none}.author-card h2 a:hover{text-decoration:underline}.author-card-who .small{margin:2px 0 0}.author-card-bio{margin:0}.author-card-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.author-card-links a{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--r-full);background:var(--surface-2);font:500 .84rem var(--font-ui);text-decoration:none;color:var(--ink)}.author-card-links a:hover{background:var(--accent);color:var(--on-accent)}.author-more{padding-top:14px;border-top:1px solid var(--line)}.author-more h3{margin:0 0 10px;font-size:1rem}.author-more ul{display:grid;gap:4px;margin:0 0 10px;padding:0;list-style:none}.author-more li a{display:flex;gap:12px;align-items:center;padding:6px;margin:0 -6px;border-radius:var(--r-m);text-decoration:none;color:var(--ink)}.author-more li a:hover{background:var(--state)}.author-more-thumb{flex:none;width:76px}.author-more-thumb .thumb{border-radius:var(--r-s)}.author-more-thumb .thumb-empty{font-size:1.4rem}.author-more li strong{display:block;font:600 .95rem/1.3 var(--font-head)}.author-more li small{display:block;margin-top:2px}.author-all{font-family:var(--font-ui)}.social-fields{margin:0;padding:0;border:0;min-width:0}.social-fields legend{padding:0;margin-bottom:8px;font:500 .9rem var(--font-ui)}.now-pill{--now: #22c55e;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:300px;height:30px;padding:0 12px 0 10px;border-radius:var(--r-full);font:500 .82rem var(--font-ui);color:var(--ink);text-decoration:none;background:color-mix(in srgb,var(--now) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--now) 35%,transparent);white-space:nowrap}a.now-pill:hover{text-decoration:none;background:color-mix(in srgb,var(--now) 22%,var(--surface));color:var(--ink)}.now-text{overflow:hidden;text-overflow:ellipsis}.now-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--now)}.now-green .now-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--now);animation:now-ping 2.2s ease-out infinite}@keyframes now-ping{0%{transform:scale(1);opacity:.6}80%,to{transform:scale(2.6);opacity:0}}@media(prefers-reduced-motion:reduce){.now-green .now-dot:after{animation:none;display:none}}.now-green{--now: #22c55e}.now-amber{--now: #f59e0b}.now-blue{--now: #3b82f6}.now-gray{--now: #9ca3af}.now-header{margin-left:2px}.drawer-now{margin:0 12px 12px}@media(max-width:980px){.now-header{max-width:200px}}@media(max-width:640px){.now-header{display:none}}.now-form{display:grid;gap:12px}.now-states{display:flex;flex-wrap:wrap;gap:6px}.now-state{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink);font:500 .84rem var(--font-ui);cursor:pointer}.now-state.on{border-color:var(--now);background:color-mix(in srgb,var(--now) 14%,var(--surface));box-shadow:inset 0 0 0 1px var(--now)}.now-state .now-dot:after{display:none}.now-preview{min-height:30px}.sec-chip{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:var(--r-full);font:600 .7rem/1.6 var(--font-ui);letter-spacing:.03em;vertical-align:1px}.sec-chip.auto{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.autoblock-rules{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.autoblock-rules:disabled{opacity:.55}picture{display:contents}.palette .search-results{display:grid;gap:1px}.palette-group{padding:12px 14px 4px;font:600 .72rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.palette-group:first-child{padding-top:4px}.palette-item{border-radius:var(--r-m);cursor:pointer}.palette-item[aria-selected=true]{background:var(--tonal)}.search-results .palette-item[aria-selected=true] a{background:none}.palette-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 14px;font:500 .95rem var(--font-ui);color:var(--ink)}.palette-row>svg,.palette-emoji{flex:none;width:20px;color:var(--ink-soft);text-align:center}.palette-item[aria-selected=true] .palette-row>svg{color:var(--ink)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{flex:none;font-size:.8rem;color:var(--ink-soft)}.palette-enter{flex:none;font-size:.75rem}.kind-more .palette-row{color:var(--ink-soft);font-size:.88rem}.palette-note{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:600}@media(max-width:600px){.search-foot span:last-child{display:none}}.prose .poll{margin:1.6em 0;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);font-family:var(--font-ui)}.poll-kicker{display:flex;align-items:center;gap:6px;margin:0 0 4px!important;font:600 .74rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.prose .poll-q{margin:0 0 14px;font-size:1.15rem;line-height:1.35}.poll-options{display:grid;gap:8px}.poll-option{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--outline);border-radius:var(--r-m);background:none;color:var(--ink);font:500 .96rem var(--font-ui);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.poll-option:hover:not(:disabled){background:var(--state);border-color:var(--ink)}.poll-option:disabled{cursor:default;opacity:.7}.poll-option.mine{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.poll-radio{flex:none;width:18px;height:18px;border:2px solid var(--outline);border-radius:50%}.poll-option.mine .poll-radio{border:5px solid var(--accent)}.poll-results{list-style:none;margin:0!important;padding:0!important;display:grid;gap:8px}.poll-results li{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;margin:0!important;padding:8px 14px;border-radius:var(--r-m);background:var(--surface-2);overflow:hidden}.poll-bar{position:absolute;inset:0 auto 0 0;width:var(--pct);background:color-mix(in srgb,var(--accent) 22%,transparent);transition:width .6s var(--ease)}.poll-results li.lead .poll-bar{background:color-mix(in srgb,var(--accent) 34%,transparent)}.poll-label,.poll-pct{position:relative}.poll-label{flex:1;min-width:0;font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.poll-you{display:inline-flex;align-items:center;gap:3px;font-size:.76rem;font-weight:600;color:var(--ink-soft)}.poll-pct{flex:none;display:grid;justify-items:end;font-weight:700;font-variant-numeric:tabular-nums}.poll-pct small{font-weight:400;font-size:.74rem;color:var(--ink-soft)}.prose .poll-foot{margin:12px 0 0}.poll-foot .link-btn{font-size:inherit}.poll-broken p{display:flex;gap:8px;margin:0;color:var(--warn)}@media(prefers-reduced-motion:reduce){.poll-bar{transition:none}}.code-run{font-weight:600}.code-bar .code-edit{margin-left:auto}.code-block.has-title .code-bar .code-edit,.code-block .code-lang+.code-edit{margin-left:0}.code-run:disabled{opacity:.6;cursor:default}.code-editor{display:block;width:100%;margin:0;padding:16px 18px;border:0;background:var(--code-bg);color:var(--ink);font:400 .88rem/1.6 var(--font-code);-moz-tab-size:2;tab-size:2;resize:vertical;outline:none;white-space:pre;overflow:auto}.code-editor:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.code-edited{margin:0!important;padding:6px 16px;border-top:1px dashed var(--line);font-family:var(--font-ui)}.code-output{border-top:1px solid var(--line);font-family:var(--font-ui)}.code-output-head{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 16px;font-size:.78rem;font-weight:600;color:var(--ink-soft)}.code-output-head>span:first-child{display:inline-flex;align-items:center;gap:6px;margin-right:auto}.code-output-head .link-btn{font-size:.78rem}.code-output-body{max-height:280px;overflow:auto;padding:0 0 10px}.prose .code-output-body pre,.code-output-body pre{margin:0;padding:2px 16px;border:0;background:none;font:400 .85rem/1.5 var(--font-code);white-space:pre-wrap;word-break:break-word;color:var(--ink)}.code-output-body pre.out-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,transparent)}.code-output-body pre.out-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent)}.code-output-body pre.out-result{color:var(--ink-soft)}.out-arrow{margin-right:8px;opacity:.7}.out-note,.out-empty{display:flex;align-items:center;gap:6px;margin:4px 16px!important;font-size:.82rem}.out-note{color:var(--warn)}.code-sandbox{position:absolute;width:0;height:0;border:0;visibility:hidden}.save-wrap{position:relative;display:inline-flex}.save-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:500 .82rem var(--font-ui);cursor:pointer}.save-btn:hover{background:var(--state)}.save-btn.on{background:var(--tonal);border-color:transparent}.save-note{position:absolute;top:calc(100% + 6px);left:0;z-index:5;white-space:nowrap;font:500 .8rem var(--font-ui)}.save-note:not(:empty){padding:6px 10px;border-radius:var(--r-s);background:var(--ink);color:var(--on-ink);box-shadow:var(--e2, 0 4px 14px rgba(0,0,0,.2))}.save-note a{color:inherit;text-decoration:underline}.continue-ring{flex:none;width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p) * 360deg),var(--tonal) 0);-webkit-mask:radial-gradient(circle,transparent 11px,#000 12px);mask:radial-gradient(circle,transparent 11px,#000 12px)}.continue-text{display:grid;gap:1px;min-width:0;font-family:var(--font-ui)}.continue-text strong{font-size:.92rem}.continue-text>span{font-size:.8rem;color:var(--ink-soft)}.continue-pill{position:fixed;left:50%;bottom:20px;z-index:60;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 10px 10px 14px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:0 10px 34px #00000038,0 0 0 1px var(--line);transform:translate(-50%);animation:pill-in .35s var(--ease)}@keyframes pill-in{0%{opacity:0;transform:translate(-50%,16px)}}@media(prefers-reduced-motion:reduce){.continue-pill{animation:none}}@media(max-width:520px){.continue-pill{left:16px;right:16px;transform:none;max-width:none}@keyframes pill-in{0%{opacity:0}}.continue-pill .continue-ring{display:none}}.continue-banner{display:flex;align-items:center;gap:14px;margin:0 0 24px;padding:12px 12px 12px 16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1)}.continue-banner .continue-text{flex:1}.continue-banner .continue-text a{color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-banner .continue-text a:hover{text-decoration:underline}.continue-banner .continue-text strong{font:600 1rem var(--font-head)}.drawer-count{margin-left:auto;padding:0 8px;border-radius:var(--r-full);background:var(--tonal);font-size:.78rem}.rl-page>header{margin:8px 0 28px}.rl-page>header h1{margin:0 0 6px}.rl-page>header p{max-width:62ch;margin:0;font-family:var(--font-ui)}.rl-empty{display:grid;justify-items:center;gap:12px;text-align:center}.rl-empty p{max-width:46ch;margin:0}.rl-section{margin-bottom:32px}.rl-section h2{display:flex;align-items:center;gap:8px;font-size:1.2rem;margin:0 0 12px}.rl-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.rl-row{position:relative;display:grid;grid-template-columns:140px 1fr auto;gap:16px;align-items:start;padding:12px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1)}.rl-thumb .thumb{aspect-ratio:16 / 10;border-radius:var(--r-m);overflow:hidden}.rl-body{display:grid;gap:4px;min-width:0;padding-top:2px}.rl-kicker{font:600 .74rem var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.rl-title{font:600 1.08rem/1.3 var(--font-head);color:var(--ink);text-decoration:none}.rl-title:hover{text-decoration:underline}.rl-excerpt{margin:0;font:400 .9rem/1.5 var(--font-ui);color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rl-body .meta{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:4px 12px}.rl-progress{display:block;height:4px;margin-top:6px;border-radius:2px;background:linear-gradient(90deg,var(--accent) calc(var(--p) * 100%),var(--tonal) 0)}@media(max-width:600px){.rl-row{grid-template-columns:84px 1fr auto;gap:12px}.rl-excerpt{display:none}}.dash-grid>.widget-wide{grid-column:1 / -1}.streak{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;font-family:var(--font-ui)}.streak>*{min-width:0}.streak-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.streak-stat{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-l);background:var(--surface-2)}.streak-num{font:700 1.5rem/1.1 var(--font-head);font-variant-numeric:tabular-nums}.streak-num small{font:500 .85rem var(--font-ui);color:var(--ink-soft)}@media(max-width:560px){.streak-stats{grid-template-columns:1fr 1fr}.streak-stat:last-child{grid-column:1 / -1}}.streak-goal{display:grid;gap:8px}.streak-goal-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0}.streak-goal-row .link-btn{margin-left:auto}.streak-goal-bar{height:8px;border-radius:4px;background:var(--tonal);overflow:hidden}.streak-goal-bar span{display:block;height:100%;border-radius:4px;background:var(--accent);transition:width .5s var(--ease)}.streak-goal-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px 12px}.streak-goal-form label{display:grid;gap:4px;font-size:.85rem;font-weight:500}.streak-goal-input{width:90px}.streak-map{position:relative}.streak-scroll{overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.streak-svg{display:block}.streak-axis{font:400 9.5px var(--font-ui);fill:var(--ink-soft)}.streak-cell{fill:var(--surface-2);stroke:color-mix(in srgb,var(--ink) 8%,transparent);stroke-width:1}.streak-cell.l1{fill:color-mix(in srgb,var(--accent) 28%,var(--surface));stroke:none}.streak-cell.l2{fill:color-mix(in srgb,var(--accent) 50%,var(--surface));stroke:none}.streak-cell.l3{fill:color-mix(in srgb,var(--accent) 74%,var(--surface));stroke:none}.streak-cell.l4{fill:var(--accent);stroke:none}.streak-cell.today,.streak-svg .streak-cell:hover{stroke:var(--ink);stroke-width:1.5}.streak-tip{position:absolute;z-index:3;padding:5px 9px;border-radius:var(--r-s);background:var(--ink);color:var(--on-ink);font:500 .76rem var(--font-ui);white-space:nowrap;pointer-events:none;transform:translate(-50%,calc(-100% - 6px))}.streak-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:6px}.streak-legend{display:inline-flex;align-items:center;gap:3px}.streak-legend i{display:inline-block;width:11px;height:11px;border-radius:2.5px;margin:0 1px;background:var(--surface-2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.streak-legend i.l1{background:color-mix(in srgb,var(--accent) 28%,var(--surface));box-shadow:none}.streak-legend i.l2{background:color-mix(in srgb,var(--accent) 50%,var(--surface));box-shadow:none}.streak-legend i.l3{background:color-mix(in srgb,var(--accent) 74%,var(--surface));box-shadow:none}.streak-legend i.l4{background:var(--accent);box-shadow:none}.streak-drafts{display:flex;align-items:center;gap:6px;margin:0}@media(forced-colors:active){.streak-cell{stroke:CanvasText}.streak-cell.l0{fill:Canvas}}.links-weekly,.monitor-alerts{margin:14px 0 20px;font:400 .92rem var(--font-ui)}.scan-progress{display:grid;gap:10px;font-family:var(--font-ui)}.scan-progress p{margin:0}.scan-bar{height:8px;border-radius:4px;background:var(--tonal);overflow:hidden}.scan-bar span{display:block;height:100%;background:var(--accent);transition:width .4s var(--ease)}.links-list,.error-list,.uptime-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.link-item{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;font-family:var(--font-ui)}.link-item.broken{box-shadow:var(--e1),inset 3px 0 0 var(--danger)}.link-main{flex:1;min-width:0;display:grid;gap:6px}.link-main p{margin:0}.link-url{display:flex;align-items:center;gap:8px;min-width:0}.link-url svg{flex:none;color:var(--ink-soft)}.link-url a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;color:var(--ink)}.link-why{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.sec-chip.bad{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.sec-chip:not(.bad):not(.auto){background:var(--tonal);color:var(--ink-soft)}.link-where{color:var(--ink-soft)}.link-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.links-note{margin-top:18px;max-width:75ch}@media(max-width:640px){.link-item{flex-direction:column}.link-actions{flex-direction:row;align-items:center}}.uptime-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.uptime-card{display:grid;gap:2px;padding:16px 18px;font-family:var(--font-ui)}.uptime-card strong{font:700 1.6rem/1.2 var(--font-head);font-variant-numeric:tabular-nums}.uptime-card.good strong{color:var(--ok)}.uptime-card.warn strong{color:var(--warn)}.uptime-card.bad strong{color:var(--danger)}.monitor-help{padding:14px 18px;font-family:var(--font-ui)}.monitor-help summary{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.monitor-help p{margin:10px 0 0;max-width:75ch;font-size:.92rem;line-height:1.55}.monitor-ping{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.monitor-ping code{padding:6px 10px;border-radius:var(--r-s);background:var(--surface-2);font:.85rem var(--font-code);word-break:break-all}.error-item{padding:0;overflow:hidden;font-family:var(--font-ui)}.error-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.error-head:hover{background:var(--state)}.error-head>svg{flex:none;color:var(--ink-soft);transition:transform .2s}.error-head[aria-expanded=true]>svg{transform:rotate(180deg)}.error-count{flex:none;min-width:42px;padding:2px 8px;border-radius:var(--r-full);background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);font:700 .78rem var(--font-ui);text-align:center;font-variant-numeric:tabular-nums}.error-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .9rem var(--font-code)}.error-when{flex:none}.error-detail{display:grid;gap:12px;padding:0 16px 16px}.error-facts{display:grid;gap:4px;margin:0;font-size:.86rem}.error-facts div{display:grid;grid-template-columns:100px 1fr;gap:8px}.error-facts dt{color:var(--ink-soft)}.error-facts dd{margin:0;min-width:0;word-break:break-word}.error-stack{max-height:280px;overflow:auto;margin:0;padding:12px 14px;border-radius:var(--r-m);background:var(--code-bg);font:.78rem/1.5 var(--font-code);white-space:pre-wrap;word-break:break-word}.error-detail .btn{justify-self:start}.slow-wrap{padding:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.slow-last{display:block;overflow-wrap:anywhere}.uptime-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;font:400 .9rem var(--font-ui)}.img-editor{display:grid;gap:14px;font-family:var(--font-ui)}.img-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.img-tools .btn.on{background:var(--tonal)}.img-tools-sep{width:1px;align-self:stretch;margin:0 4px;background:var(--line)}.flip-v{display:inline-grid;transform:rotate(90deg)}.img-stage{display:grid;place-items:center;min-height:200px;padding:16px;border-radius:var(--r-l);background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--surface) 0 50%) 0 0 / 20px 20px}.img-canvas-wrap{position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.crop-shade{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.crop-hole{position:absolute;box-shadow:0 0 0 9999px #0000008c}.img-canvas-wrap canvas{display:block}.crop-box{position:absolute;outline:1.5px solid #fff;cursor:move;touch-action:none}.crop-box:focus-visible{outline:3px solid var(--accent)}.crop-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.33% - .5px),rgba(255,255,255,.5) 0 calc(33.33% + .5px),transparent 0 calc(66.66% - .5px),rgba(255,255,255,.5) 0 calc(66.66% + .5px),transparent 0),linear-gradient(transparent calc(33.33% - .5px),rgba(255,255,255,.5) 0 calc(33.33% + .5px),transparent 0 calc(66.66% - .5px),rgba(255,255,255,.5) 0 calc(66.66% + .5px),transparent 0)}.crop-handle{position:absolute;width:18px;height:18px;margin:-9px;border:2px solid #fff;border-radius:4px;background:#00000059}.crop-handle:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.h-nw{left:0;top:0;cursor:nwse-resize}.h-ne{left:100%;top:0;cursor:nesw-resize}.h-se{left:100%;top:100%;cursor:nwse-resize}.h-sw{left:0;top:100%;cursor:nesw-resize}.h-n{left:50%;top:0;cursor:ns-resize}.h-s{left:50%;top:100%;cursor:ns-resize}.h-e{left:100%;top:50%;cursor:ew-resize}.h-w{left:0;top:50%;cursor:ew-resize}.img-result{margin:0}.img-actions{display:flex;justify-content:flex-end;gap:8px}.reader-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.print-only{display:none}@media print{@page{margin:16mm 15mm}html,body{background:#fff!important}html[data-palette],html[data-palette] body{--bg: #fff;--surface: #fff;--paper: #fff;--surface-2: #f4f4f4;--ink: #000;--ink-soft: #444;--line: #ccc;--code-bg: #f6f6f6;color:#000}body:before,body:after{display:none!important}.site-header,.footer,.drawer,.scrim,.loading-bar,.reading-progress,.back-to-top,.continue-pill,.continue-banner,.share,.reactions,.comments,.post-nav,.related,.subscribe,.subscribe-off,.subscribe-band,.subscribe-foot,.toc,.toc-side,.reader,.save-wrap,.listen-btn,.listen-bar,.quote-share,.post-card-tip,.fn-tip,.anchor,.code-copy,.code-more,.code-dots,.code-edited,.back,.author-more,.series-next,.poll-foot .link-btn,.search-dialog,.preview-banner,.comment-count-link,.post-meta a[href*="/edit/"],.embed-play,.lb{display:none!important}.print-only{display:block}html[data-fx] [data-fx-wait],html[data-fx] .fx-in{opacity:1!important;transform:none!important;animation:none!important}.print-source{margin:6px 0 0;font:400 9pt var(--font-ui);color:#555;word-break:break-all}.wrap,.post-page,.reader-page,.post-page article{max-width:none!important;width:auto!important;padding:0!important;margin:0!important;display:block!important}.prose{font-size:11pt;line-height:1.55;color:#000}.post-head h1{font-size:22pt}.prose h2,.prose h3,.prose h4{break-after:avoid;page-break-after:avoid}.prose img,.prose figure,.post-hero,.prose pre,.code-block,.callout,.pullquote,.prose table,.mermaid-diagram,.poll,.gallery figure{break-inside:avoid;page-break-inside:avoid}.post-hero img{max-height:9cm;object-fit:cover}.prose a{color:#000;text-decoration:underline}.prose a[href^=http]:not(.embed-card):not([data-footnote-ref]):after{content:" (" attr(href) ")";font-size:.82em;color:#555;word-break:break-all}.code-block{border:1px solid #ccc!important;box-shadow:none!important;background:#f6f6f6!important}.code-block.folded pre,.code-block pre{max-height:none!important;overflow:visible!important}.code-block.folded pre:after{display:none!important}.prose pre,.prose pre code,.code-output-body pre{white-space:pre-wrap!important;word-break:break-word}.code-tabs .code-tab-bar{display:none}.code-tabs [role=tabpanel][hidden]{display:block!important;margin-top:8px}.callout,.poll,.author-card{border:1px solid #ccc!important;box-shadow:none!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.post-page{grid-template-columns:none!important}}.nav a.theme-btn,.nav-mobile a.theme-btn{display:grid;padding:0;color:var(--ink)}.post-meta>.save-wrap:before{content:none}.post-meta>.save-wrap{margin-left:12px}.post-meta>.listen-btn+.save-wrap,.post-meta>.save-wrap+.reader{margin-left:8px}@media(max-width:600px){.post-meta>.save-wrap{margin-left:0;margin-top:6px}.post-meta>.save-wrap+.reader{flex-basis:auto;margin-top:6px}}.btn.sm{min-height:34px;height:34px;padding:0 14px;gap:6px;font-size:.85rem}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 85%,#000)}.nl-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.nl-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:16px 18px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1);font-family:var(--font-ui)}.nl-stat-icon{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.nl-stat strong{font:700 1.5rem/1.1 var(--font-head);font-variant-numeric:tabular-nums}.nl-stat>span:last-child{font-size:.82rem;line-height:1.3;color:var(--ink-soft)}@media(max-width:900px){.nl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.nl-chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--r-full);font:600 .76rem var(--font-ui);white-space:nowrap;background:var(--surface-2);color:var(--ink-soft)}.nl-chip.s-scheduled{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.nl-chip.s-sending{background:color-mix(in srgb,var(--ok) 18%,var(--surface));color:var(--ok)}.nl-chip.s-paused{background:color-mix(in srgb,var(--warn) 20%,var(--surface));color:var(--warn)}.nl-chip.s-sent{background:var(--ink);color:var(--on-ink)}.nl-chip.s-cancelled{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.nl-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.nl-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px 14px 18px;position:relative;overflow:hidden;transition:box-shadow .2s var(--ease)}.nl-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}.nl-row.s-scheduled:before{background:var(--accent)}.nl-row.s-sending:before{background:var(--ok)}.nl-row.s-paused:before{background:var(--warn)}.nl-row:hover{box-shadow:var(--e2)}.nl-row-main{display:grid;gap:2px;min-width:0;color:var(--ink);text-decoration:none;font-family:var(--font-ui)}.nl-row-main:hover{text-decoration:none}.nl-row-main:hover strong{text-decoration:underline;text-underline-offset:3px}.nl-row-main strong{font:600 1rem/1.35 var(--font-head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-row-main span{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-row-meta{display:grid;justify-items:end;gap:2px;font:.82rem var(--font-ui);color:var(--ink-soft);text-align:right;white-space:nowrap}.nl-row-meta strong{color:var(--ink);font-weight:600}.nl-row-actions{display:flex;align-items:center;gap:2px}.nl-row>.nl-chip{justify-self:start}@media(max-width:760px){.nl-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.nl-row .nl-chip{justify-self:start}.nl-row-main{grid-column:1 / -1;grid-row:2}.nl-row-meta{grid-column:1;grid-row:3;justify-items:start;text-align:left}.nl-row-actions{grid-column:2;grid-row:1}}.nl-live{display:grid;gap:14px;margin:0 0 20px;border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--ok) 9%,var(--surface)),var(--surface) 60%)}.nl-live.paused{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--warn) 10%,var(--surface)),var(--surface) 60%)}.nl-live-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nl-live-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ok);color:#fff;flex:none}.nl-live:not(.paused) .nl-live-icon:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid var(--ok);animation:nl-ping 1.8s var(--ease) infinite}.nl-live.paused .nl-live-icon{background:var(--warn)}@keyframes nl-ping{0%{transform:scale(.85);opacity:.8}to{transform:scale(1.35);opacity:0}}.nl-live-title{display:grid;flex:1;min-width:180px}.nl-live-title strong{font:700 1.1rem/1.3 var(--font-head)}.nl-kicker{font:700 .72rem var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.nl-live-actions{display:flex;gap:8px}.nl-progress{height:10px;border-radius:var(--r-full);background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}.nl-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 60%,#fff));transition:width .6s var(--ease);background-size:200% 100%}.nl-live:not(.paused) .nl-progress span{background-image:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 55%,#fff),var(--ok));animation:nl-flow 2s linear infinite}.nl-live.paused .nl-progress span{background:var(--warn)}@keyframes nl-flow{to{background-position:-200% 0}}.nl-live-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font:.9rem var(--font-ui)}.nl-live-facts strong{font-variant-numeric:tabular-nums}.nl-live-facts .bad{color:var(--danger)}.nl-error{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--r-l);background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);font:.86rem var(--font-ui)}.nl-error svg{flex:none;margin-top:2px}.nl-post-sending{display:flex;align-items:center;gap:8px;margin:-6px 0 18px}@media(prefers-reduced-motion:reduce){.nl-live-icon:after,.nl-live .nl-progress span{animation:none!important}}.nl-empty{display:grid;justify-items:center;gap:10px;padding:48px 24px;text-align:center}.nl-empty h2{font-size:1.35rem}.nl-empty p{max-width:460px;margin:0 0 8px;font-family:var(--font-ui)}.nl-empty-art{position:relative;display:grid;place-items:center;width:92px;height:92px;margin-bottom:6px;color:var(--on-accent)}.nl-empty-art span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:26px;background:var(--accent);transform:rotate(-8deg);box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 40%,transparent)}.nl-empty-art span+span{top:10px;right:-10px;bottom:-6px;left:12px;transform:rotate(10deg);opacity:.25;z-index:-1}.nl-empty-art svg{position:relative;transform:rotate(-8deg)}.nl-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font:500 .88rem var(--font-ui);color:var(--ink-soft);text-decoration:none}.nl-back:hover{color:var(--ink)}.nl-editor-head .admin-head-actions{align-items:center}.nl-saved{min-width:90px;text-align:right}.nl-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.nl-form{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.nl-form:disabled{opacity:.75}.nl-section h2{display:flex;align-items:center;gap:10px;font-size:1.12rem}.nl-step{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--on-ink);font:700 .8rem var(--font-ui);flex:none}.nl-optional{font-weight:400;margin-left:auto}.label-row .warn{color:var(--warn)}.nl-md{border:1px solid var(--outline);border-radius:var(--r-l);overflow:hidden;background:var(--paper, var(--surface))}.nl-md:focus-within{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.nl-md-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px;border-bottom:1px solid var(--line);background:var(--surface-2)}.nl-md-bar button{display:grid;place-items:center;width:34px;height:32px;border:0;border-radius:var(--r-s);background:none;color:var(--ink);cursor:pointer;font:1rem var(--font-ui)}.nl-md-bar button:hover{background:var(--state)}.nl-md-h{font-weight:800}.nl-md-sep{width:1px;height:20px;margin:0 4px;background:var(--line)}.nl-md-hint{margin-left:auto;padding-right:6px;font:.76rem var(--font-ui)}.nl-md textarea{display:block;width:100%;min-height:260px;border:0;border-radius:0;box-shadow:none;resize:vertical;padding:14px 16px;font:400 .95rem/1.65 var(--font-code);background:transparent}.nl-md textarea:focus{outline:none;box-shadow:none}.nl-posts{display:grid;gap:12px}.nl-picked{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:none}.nl-picked li{display:grid;grid-template-columns:auto 56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 8px 8px 12px;border-radius:var(--r-l);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.nl-picked-n{font:700 .8rem var(--font-ui);color:var(--accent);width:14px;text-align:center}.nl-picked img,.nl-picked-img{width:56px;height:40px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.nl-picked-title{font:600 .92rem/1.35 var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-picked-actions{display:flex}.nl-picked-actions .icon-action{width:32px;height:32px}.nl-picked-actions .icon-action:disabled{opacity:.3;pointer-events:none}.nl-post-search{width:100%}.nl-found{display:grid;gap:2px;margin:0;padding:0;list-style:none;max-height:260px;overflow:auto;scrollbar-width:thin}.nl-found-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-m);background:none;color:var(--ink);text-align:left;cursor:pointer;font:.92rem var(--font-ui)}.nl-found-item:hover:not(:disabled){background:var(--state)}.nl-found-item:disabled{opacity:.45;cursor:default}.nl-found-check{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--outline);flex:none;color:var(--ink-soft);transition:background .15s,border-color .15s}.nl-found-item.on .nl-found-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.nl-found-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-opt-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}.nl-opt-row label.check{padding-bottom:8px}.seg button:disabled{opacity:.4;cursor:not-allowed}.seg button svg{vertical-align:-3px;margin-right:6px}.nl-swatches{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.nl-swatch{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--sw);cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f;transition:transform .15s var(--ease);color:#fff}.nl-swatch:hover{transform:scale(1.08)}.nl-swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--sw)}.nl-swatch.site{width:auto;padding:0 12px;border-radius:var(--r-full);font:600 .78rem var(--font-ui)}.nl-swatch.custom{background:conic-gradient(from 90deg,#ef4444,#f59e0b,#22c55e,#06b6d4,#6366f1,#d946ef,#ef4444)}.nl-swatch.custom.on{background:var(--sw)}.nl-swatch.custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}.nl-swatch.custom svg{pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.nl-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nl-choice-item{display:flex!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--outline);border-radius:var(--r-l);cursor:pointer;transition:border-color .15s,background .15s}.nl-choice-item.on{border-color:var(--ink);background:var(--tonal)}.nl-choice-item input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}.nl-choice-item span{display:grid;gap:2px}.nl-choice-item small{font-weight:400}.nl-since,.nl-at{max-width:260px}.nl-count{display:flex;align-items:center;gap:8px;margin:2px 0 0;font:.92rem var(--font-ui)}.nl-count svg{color:var(--accent)}.nl-problems{display:grid;gap:4px;margin:0;padding:0;list-style:none;font:.86rem var(--font-ui);color:var(--ink-soft)}.nl-problems li{display:flex;align-items:center;gap:6px}.nl-go{justify-self:start;min-height:48px;padding:0 24px;font-size:1rem}.nl-confirm{display:grid;gap:6px;padding:16px 18px;border-radius:var(--r-l);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 0 0 0 1.5px var(--accent);animation:nl-pop .2s var(--ease)}.nl-confirm p{margin:0;font-family:var(--font-ui)}.nl-confirm-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}@keyframes nl-pop{0%{transform:scale(.98);opacity:0}}.nl-result,.nl-scheduled{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-family:var(--font-ui)}.nl-result>div,.nl-scheduled>div{display:grid;gap:2px;flex:1}.nl-result-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;flex:none;background:var(--ink);color:var(--on-ink)}.nl-result.sent .nl-result-icon{background:var(--ok);color:#fff}.nl-result.cancelled .nl-result-icon{background:var(--danger);color:#fff}.nl-scheduled .nl-result-icon{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent)}.nl-preview{position:sticky;top:calc(var(--admin-bar, 56px) + 16px);display:grid;gap:12px;min-width:0}.nl-inbox{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1);font-family:var(--font-ui)}.nl-inbox-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;background:var(--sw);color:#fff;font:700 1rem var(--font-head)}.nl-inbox-text{display:grid;gap:1px;min-width:0;flex:1}.nl-inbox-from{display:flex;justify-content:space-between;gap:8px;font-size:.9rem}.nl-inbox-from .muted{font-size:.78rem}.nl-inbox-subject{font:600 .92rem var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-inbox-pre{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-preview-bar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.nl-preview-bar .seg button{height:32px;padding:0 14px;font-size:.84rem}.nl-frame{height:calc(100vh - var(--admin-bar, 56px) - 300px);min-height:460px;border-radius:var(--r-xl);overflow:hidden;background:#f2f2f5;box-shadow:var(--e1),inset 0 0 0 1px var(--line);transition:width .3s var(--ease);margin:0 auto;width:100%}.nl-frame iframe{display:block;width:100%;height:100%;border:0;background:#f2f2f5}.nl-frame.phone{width:390px;max-width:100%;border-radius:36px;border:10px solid #111;box-shadow:var(--e2)}.nl-text{height:100%;margin:0;padding:20px;overflow:auto;background:var(--surface);color:var(--ink);font:.86rem/1.6 var(--font-code);white-space:pre-wrap;word-break:break-word}.nl-test{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--e1)}.nl-test-row{display:flex;gap:8px}.nl-test-row input{flex:1;min-width:0}.nl-test p{display:flex;align-items:center;gap:6px;margin:0}.nl-test-ok{color:var(--ok)}@media(max-width:1100px){.nl-editor{grid-template-columns:minmax(0,1fr)}.nl-preview{position:static}.nl-frame{height:640px}}@media(max-width:600px){.nl-choice{grid-template-columns:1fr}.nl-go{justify-self:stretch}.nl-test-row{flex-wrap:wrap}.nl-test-row .btn{width:100%}.nl-frame.phone{border-width:6px;border-radius:26px}}.img-quality{width:100%;accent-color:var(--accent);padding:0;min-height:0;border:0;box-shadow:none;background:none}.img-opt{display:grid;gap:12px;margin-top:6px;padding:18px;border-radius:var(--r-l);background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));box-shadow:inset 0 0 0 1px var(--line)}.img-opt-head{display:flex;align-items:center;gap:12px}.img-opt-head h3{margin:0;font-size:1.02rem}.img-opt-head p{margin:2px 0 0}.img-opt-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;flex:none;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent)}.img-opt p{margin:0;font-family:var(--font-ui)}.img-opt-run{display:grid;gap:8px;justify-items:start}.img-opt-run .nl-progress{width:100%}.img-opt-run .nl-progress span{background:var(--accent)}.img-opt-last{display:flex;align-items:flex-start;gap:8px;color:var(--ok)}.img-opt-last svg{flex:none;margin-top:2px}.img-opt-last span{color:var(--ink)}.img-opt-orig{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.img-opt-orig>span{flex:1 1 260px}.ideas-page{--idea-red: #e5484d;--idea-amber: #e8a317;--idea-green: #2f9e66;--idea-blue: #3b7bf6;--idea-purple: #8e4ec6}.admin-main .ideas-page{max-width:none}.ideas-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}.ideas-add{flex:1 1 380px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;background:var(--surface);border-radius:var(--r-full);box-shadow:var(--e1);color:var(--ink-soft)}.ideas-add:focus-within{box-shadow:0 0 0 2px var(--accent),var(--e1)}.ideas-add input{flex:1;min-width:0;border:0;background:none;padding:8px 0;font:500 .98rem var(--font-ui);color:var(--ink);outline:none}.ideas-add .btn{border-radius:var(--r-full)}.ideas-filter{flex:0 1 260px;display:flex;align-items:center;gap:8px;padding:0 14px;height:44px;border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink-soft)}.ideas-filter input{flex:1;min-width:0;border:0;background:none;font:400 .92rem var(--font-ui);color:var(--ink);outline:none}.ideas-error{margin:0 0 14px}.ideas-board{display:grid;grid-template-columns:repeat(5,minmax(196px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.ideas-col{scroll-snap-align:start;display:flex;flex-direction:column;min-height:220px;max-height:calc(100vh - 230px);padding:12px 10px 10px;background:color-mix(in srgb,var(--surface-2) 70%,var(--bg));border:1px solid var(--line);border-radius:var(--r-xl);transition:box-shadow .15s var(--ease),background .15s var(--ease)}.ideas-col.over{background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent)}.ideas-col.no-drop{opacity:.55}.ideas-col-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:0 4px 10px}.ideas-col-head h2{margin:0;font:650 .95rem var(--font-ui);letter-spacing:0}.ideas-col-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-s);background:var(--surface);color:var(--ink-soft)}.col-scheduled .ideas-col-icon{color:var(--accent)}.col-published .ideas-col-icon{color:var(--ok)}.ideas-count{min-width:24px;padding:1px 8px;border-radius:var(--r-full);background:var(--surface);font:600 .76rem var(--font-ui);color:var(--ink-soft);text-align:center}.ideas-hint{grid-column:2 / -1;margin:0;font:400 .76rem var(--font-ui);color:var(--ink-soft)}.ideas-list{list-style:none;margin:0;padding:2px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:60px}.idea-card{position:relative;background:var(--surface);border-radius:var(--r-m);box-shadow:var(--e1);transition:box-shadow .15s var(--ease),transform .15s var(--ease)}.idea-card[draggable=true]{cursor:grab}.idea-card[draggable=true]:active{cursor:grabbing}.idea-card:hover{box-shadow:var(--e2)}.idea-card.dragging{display:none}.idea-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:transparent}.idea-card.c-red:before{background:var(--idea-red)}.idea-card.c-amber:before{background:var(--idea-amber)}.idea-card.c-green:before{background:var(--idea-green)}.idea-card.c-blue:before{background:var(--idea-blue)}.idea-card.c-purple:before{background:var(--idea-purple)}.idea-card.is-idea{background:color-mix(in srgb,var(--surface) 88%,var(--accent))}.col-published .idea-card{box-shadow:none;border:1px solid var(--line)}.idea-open{display:grid;gap:6px;width:100%;padding:11px 12px 10px 14px;border:0;background:none;color:var(--ink);text-align:left;cursor:inherit;border-radius:inherit}.idea-open:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.idea-title{font:600 .9rem/1.3 var(--font-ui);overflow-wrap:anywhere}.idea-notes{font:400 .8rem/1.4 var(--font-ui);color:var(--ink-soft);white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.idea-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font:500 .74rem var(--font-ui);color:var(--ink-soft)}.idea-meta:empty{display:none}.idea-chip{padding:1px 7px;border-radius:var(--r-full);background:var(--tonal);color:var(--ink)}.idea-cat{display:inline-flex;align-items:center;gap:5px}.idea-cat i{width:7px;height:7px;border-radius:50%}.idea-when{display:inline-flex;align-items:center;gap:4px;font-weight:600}.col-scheduled .idea-when{color:var(--accent)}.ideas-gap{height:46px;flex:none;border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:var(--r-m);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ideas-empty{padding:18px 10px;border:1px dashed var(--line);border-radius:var(--r-m);font:400 .8rem var(--font-ui);color:var(--ink-soft);text-align:center}.idea-dialog{gap:14px}.idea-dialog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font:400 .86rem var(--font-ui)}.idea-todo{color:var(--warn)}.idea-colors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0}.idea-colors legend{width:100%;margin-bottom:6px;font:500 .9rem var(--font-ui)}.idea-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);background:var(--surface-2);cursor:pointer}.idea-swatch:not([class*=" c-"]){background:linear-gradient(135deg,transparent 45%,var(--outline) 45% 55%,transparent 55%),var(--surface)}.idea-swatch.c-red{background:var(--idea-red)}.idea-swatch.c-amber{background:var(--idea-amber)}.idea-swatch.c-green{background:var(--idea-green)}.idea-swatch.c-blue{background:var(--idea-blue)}.idea-swatch.c-purple{background:var(--idea-purple)}.idea-swatch.on{box-shadow:0 0 0 2px var(--ink)}.idea-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.idea-move{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.idea-links{display:flex;flex-wrap:wrap;gap:8px}.idea-del{margin-right:auto}.modal-foot .btn.danger,.mod-actions .btn.danger{background:var(--danger);border-color:transparent;color:#fff}@media(max-width:1100px){.ideas-board{grid-template-columns:repeat(5,minmax(250px,78vw))}.ideas-col{max-height:none}}.guestbook-page{--paper: var(--surface);--ink-faint: color-mix(in srgb, var(--ink-soft) 55%, transparent);--mark: color-mix(in srgb, var(--ink-soft) 62%, transparent);padding-top:36px}.gb-hand{font-family:Caveat,Segoe Print,Bradley Hand,cursive;font-weight:700}.gb-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px 40px;margin-bottom:36px}.gb-hero h1{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:.98;margin:0 0 16px}.gb-hero .lede{font-size:1.15rem;color:var(--ink-soft);margin:0 0 .5em;max-width:34em}.gb-postmark{color:var(--mark);overflow:visible}.gb-pm-ring{font:600 11.5px var(--font-ui);fill:currentColor;letter-spacing:.02em}.gb-pm-center{font:800 30px var(--font-head);fill:var(--accent);letter-spacing:-.03em}.gb-hero-mark{width:150px;height:150px;transform:rotate(-12deg);color:color-mix(in srgb,var(--accent) 55%,var(--ink-soft))}.gb-postcard,.gb-card,.gb-sent-card .gb-card{background:var(--paper);box-shadow:0 1px 0 var(--line),0 14px 34px -18px color-mix(in srgb,var(--ink) 45%,transparent)}.gb-postcard{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;border-radius:var(--r-s);padding:28px}.gb-postcard:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid var(--line);border-radius:2px;pointer-events:none}.gb-pc-write{position:relative;padding-right:28px;border-right:1.5px dashed var(--outline);display:flex;flex-direction:column}.gb-lined{flex:1;display:block}.gb-lined textarea{width:100%;height:100%;min-height:236px;resize:vertical;border:0;border-radius:0;padding:4px 2px 0;background:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px);background-attachment:local;font:400 1.08rem/32px var(--font-body);color:var(--ink);box-shadow:none;outline:none}.gb-lined textarea::placeholder{font-family:Caveat,cursive;font-size:1.5rem;color:var(--ink-faint)}.gb-lined textarea:focus-visible{background-color:color-mix(in srgb,var(--accent) 4%,transparent)}.gb-postcard:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),0 14px 34px -18px color-mix(in srgb,var(--ink) 45%,transparent)}.gb-count{align-self:flex-end;margin-top:6px;font:500 .75rem var(--font-ui);color:var(--ink-faint)}.gb-count.near{color:var(--warn)}.gb-pc-address{position:relative;display:flex;flex-direction:column;gap:16px;padding:74px 0 0 28px;min-width:0}.gb-pc-stamp-slot{position:absolute;top:0;right:0;padding:5px;border:1.5px dashed var(--outline);border-radius:3px}.gb-line{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:10px;font:500 .8rem var(--font-ui);color:var(--ink-soft);border-bottom:1.5px solid var(--outline);padding-bottom:2px}.gb-line input{min-width:0;border:0;border-radius:0;background:none;padding:6px 2px 2px;box-shadow:none;font:600 1.05rem var(--font-ui);color:var(--ink);outline:none}.gb-line input::placeholder{font-weight:400;color:var(--ink-faint)}.gb-line:focus-within{border-bottom-color:var(--accent)}.gb-pc-as{margin:0;display:grid;gap:2px;font:500 .8rem var(--font-ui);color:var(--ink-soft);border-bottom:1.5px solid var(--outline);padding-bottom:6px}.gb-pc-as .gb-hand{font-size:1.7rem;line-height:1;color:var(--ink)}.gb-pc-captcha .captcha-row{gap:10px 14px}.gb-pc-captcha .captcha-input{flex:1 1 140px}.gb-send{align-self:flex-start}.gb-note{margin-top:-6px}.gb-stamp{--c: hsl(var(--h, 260) 58% 52%);flex:none;display:grid;place-items:center;width:56px;height:64px;padding:6px;background:var(--paper);-webkit-mask:radial-gradient(circle 3.2px at 4px 4px,#0000 97%,#000) -4px -4px / 8px 8px,linear-gradient(#000 0 0) center / calc(100% - 8px) calc(100% - 8px) no-repeat;mask:radial-gradient(circle 3.2px at 4px 4px,#0000 97%,#000) -4px -4px / 8px 8px,linear-gradient(#000 0 0) center / calc(100% - 8px) calc(100% - 8px) no-repeat;filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--ink) 25%,transparent))}.gb-stamp span{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,#fff 22%,var(--c)),var(--c) 70%);box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 55%,transparent);font:800 1.6rem var(--font-head);color:#fff;text-shadow:0 1px 0 color-mix(in srgb,#000 25%,transparent)}.gb-stamp{background:color-mix(in srgb,var(--paper) 80%,var(--c))}.gb-wall{margin-top:56px}.gb-wall>h2{font-size:1.45rem;margin:0 0 22px}.gb-cards{list-style:none;margin:0;padding:0;columns:2 320px;column-gap:26px}.gb-card{position:relative;display:block;break-inside:avoid;margin:0 0 26px;padding:20px 20px 16px 22px;border-radius:var(--r-s);transform:rotate(var(--tilt, 0deg))}.gb-card-corner{position:relative;float:right;width:150px;height:70px;margin:-4px -4px 6px 12px;display:flex;justify-content:flex-end}.gb-card-mark{position:absolute;left:-4px;top:0;width:128px;height:70px;transform:rotate(-8deg);pointer-events:none;z-index:1}.gb-card .gb-pm-ring{font-size:11px}.gb-msg{margin:0 0 12px;font:400 1.04rem/1.65 var(--font-body);white-space:pre-line;overflow-wrap:anywhere}.gb-from{clear:both;margin:0 0 2px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:4px 12px}.gb-sig{font-size:1.75rem;line-height:1;color:var(--ink)}.gb-sig:before{content:"— ";color:var(--ink-faint)}.gb-site{font:500 .82rem var(--font-ui);color:var(--ink-soft)}.gb-ps{margin-top:12px;padding:10px 14px 12px;border-radius:2px;background:color-mix(in srgb,var(--accent) 9%,var(--paper));border-left:3px solid var(--accent)}.gb-ps .gb-hand{font-size:1.35rem;line-height:1;color:var(--accent)}.gb-ps p{margin:4px 0 0;white-space:pre-line;overflow-wrap:anywhere;font-size:.97rem;line-height:1.6}.gb-empty{padding:40px 20px;border:2px dashed var(--line);border-radius:var(--r-s);text-align:center;color:var(--ink-soft);font-family:var(--font-ui)}.gb-sent{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px}.gb-sent-card{list-style:none;margin:0;padding:0}.gb-sent-card .gb-card{margin:0}.gb-card.waiting .gb-card-mark{color:color-mix(in srgb,var(--accent) 60%,transparent)}.gb-sent-text h2{margin:0 0 8px;font-size:1.6rem}.gb-sent-text p{margin:0 0 18px;color:var(--ink-soft)}@media(prefers-reduced-motion:no-preference){.gb-card.fresh,.gb-sent-card .gb-card{animation:gb-drop .55s cubic-bezier(.2,.9,.25,1.2) both}.gb-card.fresh .gb-card-mark,.gb-sent-card .gb-card-mark{animation:gb-stamp .35s .45s ease-out both}}@keyframes gb-drop{0%{opacity:0;transform:translateY(-26px) rotate(calc(var(--tilt, 0deg) - 5deg)) scale(1.04)}to{opacity:1;transform:rotate(var(--tilt, 0deg))}}@keyframes gb-stamp{0%{opacity:0;transform:rotate(-8deg) scale(1.5)}60%{opacity:1}to{opacity:1;transform:rotate(-8deg) scale(1)}}@media(max-width:760px){.gb-hero{grid-template-columns:1fr auto;align-items:start;gap:12px}.gb-hero-mark{grid-row:1;grid-column:2;width:84px;height:84px;margin-top:4px}.gb-hero .lede{grid-column:1 / -1}.gb-hero-text{display:contents}.gb-card-corner{width:112px;height:54px}.gb-card-mark{width:96px;height:54px;left:-6px}.gb-card-corner .gb-stamp{width:48px;height:56px}.gb-card-corner .gb-stamp span{font-size:1.35rem}.gb-postcard{grid-template-columns:1fr;padding:22px 18px}.gb-pc-write{padding:0 0 22px;border-right:0;border-bottom:1.5px dashed var(--outline)}.gb-lined textarea{min-height:192px}.gb-pc-address{padding:22px 0 0}.gb-pc-stamp-slot{top:22px}.gb-pc-address>:nth-child(2){margin-right:82px}.gb-sent{grid-template-columns:1fr}.gb-card{transform:rotate(calc(var(--tilt, 0deg) / 2));padding:18px 16px 14px}}.gb-reply{margin-top:12px;padding:10px 14px;border-left:3px solid var(--accent);border-radius:0 var(--r-m) var(--r-m) 0;background:var(--surface-2)}.gb-reply p{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere;font-size:.95rem;line-height:1.6}.gb-reply-by{display:inline-flex;align-items:center;gap:6px;font:600 .78rem var(--font-ui);color:var(--accent)}.gb-reply.admin{margin:0}.webmentions{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}.webmentions>h2{font-size:1.5rem;margin-bottom:4px}.wm-intro{margin:0 0 18px;font:400 .92rem var(--font-ui)}.wm-piles{display:grid;gap:14px}.wm-piles:empty{display:none}.wm-pile{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.wm-pile-label{min-width:92px;font:600 .86rem var(--font-ui);color:var(--ink-soft)}.wm-pile ul{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0 0 0 8px}.wm-pile li{margin-left:-8px}.wm-pile a{display:block;border-radius:50%;transition:transform .15s var(--ease)}.wm-pile a:hover,.wm-pile a:focus-visible{transform:translateY(-2px);position:relative;z-index:1}.wm-pile .wm-face{box-shadow:0 0 0 2px var(--bg)}.wm-more{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);box-shadow:0 0 0 2px var(--bg);font:600 .74rem var(--font-ui);color:var(--ink-soft)}.wm-face{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;background:var(--surface-2)}.wm-letter{display:grid;place-items:center;background:var(--tonal);font:600 .9rem var(--font-ui);color:var(--ink)}.wm-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.wm-item{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-xl)}.wm-item .wm-face{width:40px;height:40px}.wm-main{min-width:0}.wm-meta{margin:0;font:400 .9rem var(--font-ui);overflow-wrap:anywhere}.wm-meta a{color:inherit}.wm-title{margin:4px 0 0;font:600 .95rem var(--font-ui);overflow-wrap:anywhere}.wm-text{margin:6px 0 0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.6;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.wm-admin-who{display:flex;gap:12px;align-items:flex-start;min-width:0}.wm-kind{margin-left:4px;padding:1px 8px;border-radius:var(--r-full);background:var(--tonal);font:600 .72rem var(--font-ui);vertical-align:1px}.wm-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font:400 .88rem var(--font-ui);color:var(--warn)}.wm-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:500}.wm-target{overflow-wrap:anywhere}.warn-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--r-m);background:color-mix(in srgb,var(--warn) 12%,var(--surface));font:400 .88rem var(--font-ui)}.warn-note svg{flex:none;margin-top:2px;color:var(--warn)}.builtin-pages{margin-bottom:32px}.builtin-head h2,.pages-own-title{margin:0 0 4px;font-size:1.2rem}.builtin-head p{margin:0 0 14px;font:400 .9rem var(--font-ui)}.pages-own-title{margin-bottom:14px}.builtin-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.builtin-card{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;padding:16px 18px;transition:opacity .15s var(--ease)}.builtin-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-m);background:var(--tonal);color:var(--accent)}.builtin-card.off .builtin-icon{background:var(--surface-2);color:var(--ink-soft)}.builtin-body{display:grid;gap:2px;min-width:0;font-family:var(--font-ui)}.builtin-name{font-weight:650;font-size:1rem;color:var(--ink);text-decoration:none}.builtin-name:hover{text-decoration:underline}.builtin-path{font-size:.8rem}.builtin-what{font-size:.84rem;color:var(--ink-soft);margin-top:2px}.builtin-card.off .builtin-name,.builtin-card.off .builtin-what{opacity:.65}.builtin-actions{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.builtin-actions .switch{margin-right:auto}.builtin-edit .settings-save{display:flex;align-items:center;gap:14px}.about-page{padding-top:44px}.ab-hero{display:grid;grid-template-columns:minmax(250px,380px) minmax(0,1fr);gap:32px 64px;align-items:center}.ab-window{position:relative;margin:0 18px 18px 0;border-radius:var(--r-l);overflow:hidden;background:#0d0f14;border:1px solid rgba(255,255,255,.12);box-shadow:18px 18px 0 0 var(--accent),0 30px 60px -28px #0009}.ab-window-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1);background:#171a22}.ab-window-bar i{width:11px;height:11px;border-radius:50%;background:#ffffff38}.ab-window-bar i:nth-child(1){background:#ff5f57}.ab-window-bar i:nth-child(2){background:#febc2e}.ab-window-bar i:nth-child(3){background:#28c840}.ab-window-bar span{margin-left:8px;font:500 .78rem var(--font-code);color:#ffffff9e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-window img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover}.ab-window.is-logo img{object-fit:contain;padding:18%;background:radial-gradient(circle at 50% 40%,#1d2130,#0d0f14 70%)}.ab-intro h1{font-size:clamp(3rem,8.5vw,5.6rem);font-weight:800;letter-spacing:-.045em;line-height:.95;margin:0 0 22px}.ab-lede,.ab-lede.prose p{font-size:clamp(1.15rem,2.2vw,1.42rem);line-height:1.55;color:var(--ink);margin:0;max-width:34em}.ab-lede.prose p+p{margin-top:.6em}.ab-now{margin:22px 0 0}.ab-socials{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0}.ab-socials a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-full);font:500 .88rem var(--font-ui);color:var(--ink);text-decoration:none;transition:border-color .15s var(--ease),background .15s var(--ease)}.ab-socials a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ab-socials a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ab-facts{margin:56px 0 0;padding:22px 0;border-block:1px solid var(--line);font:500 clamp(1.05rem,2vw,1.3rem)/1.5 var(--font-head);letter-spacing:-.01em;color:var(--ink-soft)}.ab-facts strong,.ab-facts a{color:var(--ink);font-weight:700}.ab-facts a{text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}.ab-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px 72px;margin-top:48px;align-items:start}.ab-grid.solo{grid-template-columns:minmax(0,1fr)}.ab-body .prose{max-width:68ch}.ab-body .prose>:first-child{margin-top:0}.ab-side{position:sticky;top:96px;display:grid;gap:34px}.ab-side h2{margin:0 0 12px;font-size:1rem;letter-spacing:0}.ab-topics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ab-topics a{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 6px 0 12px;border-radius:var(--r-full);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:500 .86rem var(--font-ui);color:var(--ink);text-decoration:none}.ab-topics a:hover{box-shadow:inset 0 0 0 1.5px var(--c)}.ab-topics i{width:8px;height:8px;border-radius:50%;background:var(--c)}.ab-topics small{min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:var(--r-full);background:var(--surface-2);font:600 .72rem var(--font-ui);color:var(--ink-soft)}.ab-latest{list-style:none;margin:0;padding:0;display:grid}.ab-latest li{display:grid;gap:2px;padding:11px 0;border-top:1px solid var(--line)}.ab-latest li:last-child{border-bottom:1px solid var(--line)}.ab-latest a{font:600 .95rem/1.35 var(--font-ui);color:var(--ink);text-decoration:none}.ab-latest a:hover{color:var(--accent)}.ab-latest time{font:400 .8rem var(--font-ui);color:var(--ink-soft)}.ab-hello{margin-top:64px}.ab-hello h2{margin:0 0 16px;font-size:1.5rem}.ab-hello ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.ab-hello a{display:flex;align-items:center;gap:14px;height:100%;padding:16px 18px;border-radius:var(--r-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-decoration:none;transition:box-shadow .15s var(--ease)}.ab-hello a:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}.ab-hello a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ab-hello-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-m);background:var(--tonal);color:var(--accent)}.ab-hello strong{display:block;font:600 .98rem var(--font-ui)}.ab-hello small{display:block;margin-top:2px;font:400 .82rem var(--font-ui);color:var(--ink-soft);overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){:root[data-fx] .ab-window{animation:ab-open .6s cubic-bezier(.2,.8,.2,1) both}}@keyframes ab-open{0%{opacity:0;transform:translateY(14px) scale(.97);box-shadow:0 0 0 0 var(--accent),0 30px 60px -28px #0009}}@media(max-width:900px){.ab-grid{grid-template-columns:minmax(0,1fr)}.ab-side{position:static}}@media(max-width:760px){.about-page{padding-top:28px}.ab-hero{grid-template-columns:1fr;gap:28px}.ab-window{max-width:300px;margin-right:14px;box-shadow:12px 12px 0 0 var(--accent),0 24px 50px -26px #0009}.ab-facts{margin-top:40px}}.home-magazine .topics{margin:0 0 40px}.mz-ticker{display:flex;align-items:center;gap:14px;min-width:0;margin:8px 0 28px;padding:9px 0;border-block:1px solid var(--line);font:500 .86rem var(--font-ui)}.mz-date{flex:none;color:var(--ink-soft);padding-right:14px;border-right:1px solid var(--line)}.mz-ticker-label{flex:none;padding:3px 9px;border-radius:3px;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);color:#fff;font:700 .72rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase}.mz-ticker-item{flex:1;min-width:0}.mz-ticker-item a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-weight:600;text-decoration:none}.mz-ticker-item a:hover{color:var(--accent)}@media(prefers-reduced-motion:no-preference){.mz-ticker-item a{animation:mz-in .4s var(--ease) both}}@keyframes mz-in{0%{opacity:0;transform:translateY(6px)}}.mz-ticker-nav{flex:none;display:flex;gap:2px}.mz-ticker-nav .icon-btn{width:30px;height:30px}.mz{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0 48px;align-items:start}.mz-main{min-width:0}.mz-block{margin-bottom:46px}.mz-empty{color:var(--ink-soft);font-family:var(--font-ui)}.mz-head{--c: var(--accent);--c-deep: color-mix(in srgb, var(--c) 64%, #000);display:flex;align-items:flex-end;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;margin-bottom:20px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 35%,transparent) 55%,transparent) left bottom / 100% 2px no-repeat}.mz-head h2{margin:0;font-size:inherit}.mz-head h2 span{display:inline-block;padding:6px 12px 5px;border-radius:4px 4px 0 0;background:var(--c-deep);background:oklch(from var(--c) min(l,.5) c h);color:#fff;font:700 .78rem/1.2 var(--font-ui);letter-spacing:.05em;text-transform:uppercase}:root[data-theme=dark] .mz-head h2>span{box-shadow:0 -4px 18px -6px color-mix(in srgb,var(--c) 70%,transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mz-head h2>span{box-shadow:0 -4px 18px -6px color-mix(in srgb,var(--c) 70%,transparent)}}.mz-head h2 span span{padding:0;background:none}.mz-head-side{display:flex;align-items:center;padding-bottom:4px;min-width:0}.mz-more{font:500 .82rem var(--font-ui);color:var(--ink-soft);text-decoration:none}.mz-more:hover{color:var(--c, var(--accent));text-decoration:underline}.mz-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 4px}.mz-tabs button{padding:4px 8px;border:0;border-radius:3px;background:none;font:500 .82rem var(--font-ui);color:var(--ink-soft);cursor:pointer}.mz-tabs button:hover{color:var(--ink);background:var(--state)}.mz-tabs button[aria-selected=true]{color:var(--accent);font-weight:650}.mz-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mz-pic{position:relative;overflow:hidden;border-radius:var(--r-xs, 4px);background:var(--surface-2);aspect-ratio:16 / 10}.mz-pic-link{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.mz-pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.mz-pic:hover img{transform:scale(1.04)}.mz-noimg{display:grid;place-items:center;width:100%;height:100%;font:800 2.6rem var(--font-head);color:var(--ink-soft);background:linear-gradient(135deg,var(--tonal),var(--surface-2))}.mz-badge{--c: var(--accent);position:absolute;left:0;bottom:0;z-index:1;max-width:calc(100% - 12px);padding:4px 8px;background:color-mix(in srgb,var(--c) 64%,#000);background:oklch(from var(--c) min(l,.5) c h);color:#fff;font:600 .7rem/1.2 var(--font-ui);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mz-badge:hover{text-decoration:underline}.mz-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin:6px 0 0;font:400 .76rem var(--font-ui);color:var(--ink-soft)}.mz-meta strong{color:var(--ink);font-weight:600}.mz-comments{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:1px 6px;border-radius:3px;background:var(--ink);color:var(--bg);font-weight:600;font-size:.7rem}.mz-big h3{margin:12px 0 0;font:700 1.3rem/1.25 var(--font-head);letter-spacing:-.01em}.mz-big.small h3{font-size:1.05rem;margin-top:10px}.mz-big h3 a,.mz-small h4 a,.mz-wide h3 a{color:var(--ink);text-decoration:none}.mz-big h3 a:hover,.mz-small h4 a:hover,.mz-wide h3 a:hover{color:var(--accent)}.mz-excerpt{margin:8px 0 0;font-size:.92rem;line-height:1.6;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mz-small{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:start}.mz-small .mz-pic{aspect-ratio:4 / 3}.mz-small .mz-noimg{font-size:1.4rem}.mz-small h4{margin:0;font:600 .92rem/1.35 var(--font-ui)}.mz-small .mz-meta{margin-top:4px}.mz-wide{display:grid;grid-template-columns:minmax(180px,38%) minmax(0,1fr);gap:22px;align-items:start}.mz-wide h3{margin:0;font:700 1.25rem/1.25 var(--font-head)}.mz-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.mz-list{display:grid;gap:18px;align-content:start}.mz-lead .mz-big h3{font-size:1.55rem}.mz-pair-top{display:grid;grid-template-columns:1fr 1fr;gap:28px}.mz-pair-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:24px}.mz-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}.mz-stack{display:grid;gap:26px}.mz-latest{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}.mz-latest .mz-big h3{font-size:1.15rem}.mz-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;font:500 .84rem var(--font-ui)}.mz-pager>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mz-pager>div>span{display:inline-flex;align-items:center;gap:6px}.mz-pager button{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--ink);font:inherit;cursor:pointer}.mz-pager button:hover:not(:disabled){border-color:var(--ink-soft)}.mz-pager button.on{--pg-deep: color-mix(in srgb, var(--accent) 64%, #000);color:#fff;background:var(--pg-deep);border-color:var(--pg-deep);background:oklch(from var(--accent) min(l,.5) c h);border-color:oklch(from var(--accent) min(l,.5) c h)}.mz-pager button.on:disabled{opacity:1}.mz-pager button:disabled{opacity:.4;cursor:default}.mz-gap{color:var(--ink-soft)}.mz-side{display:grid;gap:40px;min-width:0}.mz-side section>.mz-head{margin-bottom:16px}.mz-follow{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.mz-follow a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.mz-follow-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:3px;background:var(--f, var(--ink));color:#fff}.f-github{--f: #24292f}.f-linkedin{--f: #0a66c2}.f-x{--f: #000}.f-rss{--f: #f26522}:root[data-theme=dark] .f-github,:root[data-theme=dark] .f-x{--f: #3a3f4b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .f-github,:root:not([data-theme=light]) .f-x{--f: #3a3f4b}}.mz-follow-name{display:grid;font:600 .86rem var(--font-ui);min-width:0}.mz-follow-name small{font-weight:400;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mz-follow-verb{font:700 .7rem var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.mz-follow a:hover .mz-follow-verb{color:var(--accent)}.mz-side .subscribe{margin:0}.mz-popular{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:none}.mz-popular li{position:relative}.mz-rank{position:absolute;left:-6px;top:-6px;z-index:2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);color:#fff;font:700 .75rem var(--font-ui);box-shadow:0 0 0 2px var(--bg)}.mz-side .mz-small{grid-template-columns:88px minmax(0,1fr)}.mz-recent{list-style:none;margin:0;padding:0;display:grid;gap:14px;font:400 .86rem/1.45 var(--font-ui)}.mz-recent li{padding-bottom:14px;border-bottom:1px solid var(--line)}.mz-recent li:last-child{border-bottom:0;padding-bottom:0}.mz-recent p{margin:0;color:var(--ink-soft)}.mz-recent strong{color:var(--ink)}.mz-recent a{color:var(--ink);font-weight:600;font-style:italic}.mz-quote{margin-top:4px!important;overflow-wrap:anywhere}.mz-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.mz-tags a{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:3px;font:500 .8rem var(--font-ui);color:var(--ink);text-decoration:none}.mz-tags a:hover{border-color:var(--accent);color:var(--accent)}.mz-tags small{color:var(--ink-soft)}.mz-sk-lead{height:380px;border-radius:4px;margin-bottom:40px}.mz-sk-sec{height:300px;border-radius:4px}.mz-sk-side{height:520px;border-radius:4px}@media(max-width:1020px){.mz{grid-template-columns:minmax(0,1fr)}.mz-side{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px 32px}}@media(max-width:700px){.mz-ticker{flex-wrap:wrap;gap:8px 10px}.mz-date{flex-basis:100%;border-right:0;padding-right:0}.mz-split,.mz-pair-top,.mz-pair-list,.mz-latest{grid-template-columns:minmax(0,1fr)}.mz-row{grid-template-columns:1fr 1fr;gap:20px 14px}.mz-wide{grid-template-columns:120px minmax(0,1fr);gap:14px}.mz-wide .mz-excerpt{display:none}.mz-wide h3{font-size:1.02rem}.mz-wide .mz-pic{aspect-ratio:4 / 3}.mz-wide .mz-badge{display:none}.mz-head{flex-direction:column;align-items:stretch;border-bottom:0}.mz-head{background:none}.mz-head h2{background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 35%,transparent) 55%,transparent) left bottom / 100% 2px no-repeat}.mz-head-side{padding:6px 0 0}.mz-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.mz-tabs button{flex:none}}.home-magazine .topics .home-section-head{align-items:flex-end;margin-bottom:20px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 35%,transparent) 55%,transparent) left bottom / 100% 2px no-repeat}.home-magazine .topics .home-section-head h2{margin:0;padding:6px 12px 5px;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);color:#fff;font:700 .78rem/1.2 var(--font-ui);letter-spacing:.05em;text-transform:uppercase}.home-magazine .topics .topic-nav{padding-bottom:4px}.home-magazine .topics .topic-nav .icon-btn{width:30px;height:30px}.subscribe-form .btn.primary{--sub-deep: color-mix(in srgb, var(--accent) 64%, #000);color:#fff;background:var(--sub-deep);border-color:var(--sub-deep);background:oklch(from var(--accent) min(l,.5) c h);border-color:oklch(from var(--accent) min(l,.5) c h)}html[data-palette=aurora] .subscribe-form .btn.primary{color:#fff;border-color:transparent;background-image:linear-gradient(110deg,oklch(from var(--au-1) min(l,.5) c h),oklch(from var(--accent) min(l,.5) c h) 35%,oklch(from var(--au-3) min(l,.5) c h) 65%,oklch(from var(--accent) min(l,.5) c h))}.post-protected{display:inline-flex;align-items:center;gap:4px}.locked-post{position:relative;margin:8px 0 40px}.locked-excerpt{font-size:1.12rem;line-height:1.65;margin:0 0 22px}.locked-redacted{display:flex;flex-direction:column;gap:13px;padding:4px 0 0;mask-image:linear-gradient(#000 20%,transparent 95%);-webkit-mask-image:linear-gradient(#000 20%,transparent 95%)}.locked-redacted span{display:block;height:15px;border-radius:3px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.locked-redacted i{display:block;height:6px}.locked-card{position:relative;z-index:1;max-width:440px;margin:-86px auto 0;padding:26px 26px 24px;display:grid;justify-items:center;gap:10px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--e3, 0 8px 28px rgba(0, 0, 0, .14))}.locked-card h2{margin:2px 0 0;font-size:1.25rem}.locked-card p{margin:0;color:var(--ink-soft);font-size:.95rem}.locked-card .error{color:var(--danger)}.locked-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.locked-field{position:relative;width:100%;margin-top:6px}.locked-field input{width:100%;padding-right:46px;text-align:center;letter-spacing:.04em}.locked-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:var(--r-s);background:none;color:var(--ink-soft);cursor:pointer}.locked-eye:hover,.locked-eye[aria-pressed=true]{color:var(--ink);background:var(--state, rgba(0, 0, 0, .06))}.locked-card .btn.primary{width:100%;justify-content:center;margin-top:4px;color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);border-color:transparent}@media(max-width:520px){.locked-card{margin-top:-60px;padding:22px 18px 20px}}@media print{.locked-card,.locked-redacted{display:none}}.device-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.device-list li{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.device-list li:first-child{border-top:0}.device-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-m);background:var(--surface-2);color:var(--ink-soft)}.device-list .current .device-icon{color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.device-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600}.device-meta{margin:2px 0 0;font-size:.86rem;color:var(--ink-soft)}.device-this{font:600 .72rem var(--font-ui);padding:2px 8px;border-radius:var(--r-full);background:var(--tonal);color:var(--ink)}@media(max-width:560px){.device-list li{grid-template-columns:40px 1fr}.device-list li>button{grid-column:2;justify-self:start}}.access-box{display:grid;gap:6px}.access-box .field-label{display:inline-flex;align-items:center;gap:6px}.access-input{display:flex;align-items:center;gap:8px}.access-input input{flex:1;min-width:0}.card-lock{display:inline-flex;vertical-align:-2px;margin-left:8px;color:var(--ink-soft)}.badge.protected svg{margin-left:-2px}.device-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.device-actions .btn{display:inline-flex;align-items:center;gap:8px}.device-sure{flex-basis:100%;font-size:.92rem}.pw-meter{display:flex;align-items:center;gap:10px;margin-top:6px;font:500 .82rem var(--font-ui);color:var(--ink-soft)}.pw-bars{display:inline-grid;grid-template-columns:repeat(4,28px);gap:4px}.pw-bars i{height:5px;border-radius:3px;background:var(--line)}.pw-meter.s0 .pw-bars i.on,.pw-meter.s1 .pw-bars i.on{background:var(--danger)}.pw-meter.s2 .pw-bars i.on{background:var(--warn, #d68a00)}.pw-meter.s3 .pw-bars i.on,.pw-meter.s4 .pw-bars i.on{background:var(--ok, #2e8b57)}.login-remember{margin-top:-4px}.login-forgot{justify-self:start}.act-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px}.act-filters select{min-height:42px}.act-filters .list-search{flex:1 1 260px}.act-day{margin:0 0 22px}.act-day h2{margin:0 0 8px;font:600 .82rem var(--font-ui);color:var(--ink-soft)}.act-day ol{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}.act-item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;padding:12px 16px}.act-item+.act-item{border-top:1px solid var(--line)}.act-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);color:var(--ink-soft)}.act-item.area-security .act-icon,.act-item.area-database .act-icon,.act-item.area-backups .act-icon{color:var(--danger)}.act-line{margin:6px 0 0;line-height:1.45}.act-who{padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.act-who:hover{text-decoration:underline}.act-target{font-weight:600;color:var(--ink)}a.act-target{color:var(--accent)}.act-meta{margin:2px 0 0;font-size:.85rem;color:var(--ink-soft);overflow-wrap:anywhere}.act-item time{padding-top:7px;font:500 .82rem var(--font-ui);color:var(--ink-soft);white-space:nowrap}.maint-on{box-shadow:inset 4px 0 0 var(--warn, #d68a00)}.enc-panel.is-on{box-shadow:inset 4px 0 0 var(--ok, #2e8b57)}.enc-panel .form{display:grid;gap:12px;margin-top:10px}.enc-warn{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-m);background:color-mix(in srgb,var(--warn, #d68a00) 14%,transparent);font-size:.9rem}.enc-warn svg{flex:none;margin-top:2px}.enc-chip{display:inline-flex;align-items:center;gap:3px}.maint-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;padding:8px 16px;font:500 .88rem var(--font-ui);color:#1d1b16;background:#f5c25b;text-align:center}.maint-bar a{color:inherit;font-weight:700;text-decoration:underline}.admin-main>.maint-bar{margin:-8px 0 16px;border-radius:var(--r-m)}@media(min-width:1021px){.mz-side{position:sticky;top:var(--mz-side-top, 88px);align-self:start}}.home-magazine .mz-ticker+.subscribe-band{margin:0 0 36px}.mz-avatar{flex:none;width:22px;height:22px;margin-right:2px;border-radius:50%;object-fit:cover;background:var(--surface-2);box-shadow:0 0 0 1px var(--line)}.mz-avatar-letter{display:inline-grid;place-items:center;font:700 .66rem/1 var(--font-ui);color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);box-shadow:none}.mz-author{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}.mz-author:hover strong{text-decoration:underline}.author-tip{position:fixed;z-index:70;padding:16px;border-radius:var(--r-xl);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--e3);font-family:var(--font-ui);opacity:0;transform:translateY(-4px);transition:opacity .16s var(--ease),transform .16s var(--ease)}.author-tip.on{opacity:1;transform:none}.author-tip.above{transform:translateY(4px)}.author-tip:before{content:"";position:absolute;left:calc(var(--at-arrow, 40px) - 7px);top:-7px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.author-tip.above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.at-top{display:flex;gap:14px;align-items:center}.at-photo{flex:none;width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--surface-2);box-shadow:0 0 0 2px var(--surface),0 0 0 4px color-mix(in srgb,var(--accent) 55%,transparent)}.at-letter{display:grid;place-items:center;font:700 1.5rem/1 var(--font-head, var(--font-ui));color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.at-who{display:grid;gap:2px;min-width:0}.at-who strong{font:700 1.12rem/1.2 var(--font-head, var(--font-ui));overflow-wrap:anywhere}.at-handle{font-size:.84rem;color:var(--ink-soft);overflow-wrap:anywhere}.at-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.at-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-s);font:600 .72rem/1.6 var(--font-ui);color:var(--ink-soft);background:var(--surface-2)}.at-chip.role{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.at-bio{margin:12px 0 0;font:.86rem/1.5 var(--font-ui);color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.at-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:.84rem;color:var(--ink-soft)}.at-facts span{display:inline-flex;align-items:center;gap:5px}.at-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.at-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 12px;text-decoration:none;font-size:.88rem}.at-btn.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 64%,#000),color-mix(in srgb,var(--accent) 80%,#000));background:linear-gradient(135deg,oklch(from var(--accent) min(l,.5) c h),oklch(from var(--accent) min(l,.42) c calc(h + 25)))}@media(prefers-reduced-motion:reduce){.author-tip{transition:none;transform:none}}@media print{.author-tip{display:none}}.card-author{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:none;vertical-align:middle}.card-author:hover{text-decoration:underline}.card-avatar{flex:none;width:20px;height:20px;border-radius:50%;object-fit:cover;background:var(--surface-2);box-shadow:0 0 0 1px var(--line)}.card-avatar-letter{display:inline-grid;place-items:center;font:700 .62rem/1 var(--font-ui);color:#fff;box-shadow:none;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.author-group{margin-top:36px}.author-group h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;padding-bottom:10px;border-bottom:2px solid var(--line);font-size:1.25rem}.author-group h2 .count{padding:1px 9px;border-radius:var(--r-full);font:600 .78rem/1.6 var(--font-ui);color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.author-project-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px}.author-posts .author-project-links a{display:inline-flex;align-items:center;gap:4px;font:500 .86rem var(--font-ui);color:var(--accent)}.ap{padding-top:28px;padding-bottom:56px}.ap-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:36px;align-items:center;padding:40px 44px;border-radius:var(--r-2xl);border:1px solid var(--line);background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--accent) 22%,var(--surface)) 0%,var(--surface) 60%),var(--surface)}.ap-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:45%;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(color-mix(in srgb,var(--ink) 22%,transparent) 1px,transparent 1.4px);background-size:16px 16px;mask-image:linear-gradient(90deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%)}.ap-photo-wrap{position:relative;display:grid;justify-items:center}.ap-photo{width:168px;height:168px;border-radius:50%;object-fit:cover;background:var(--surface-2);box-shadow:0 0 0 5px var(--surface),0 0 0 8px color-mix(in srgb,var(--accent) 60%,transparent),0 18px 40px -12px color-mix(in srgb,var(--accent) 55%,transparent)}.ap-letter{display:grid;place-items:center;font:800 4.2rem/1 var(--font-head, var(--font-ui));color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.ap-role{position:absolute;bottom:-12px;display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--r-full);font:700 .74rem/1.4 var(--font-ui);color:#fff;box-shadow:0 0 0 3px var(--surface);background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.ap-intro{min-width:0}.ap-prompt{margin:0 0 4px;font:500 .86rem JetBrains Mono,ui-monospace,monospace;color:var(--ink-soft)}.ap-prompt span{color:var(--accent)}.ap-intro h1{margin:0;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.02;letter-spacing:-.02em;overflow-wrap:anywhere}.ap-handle{margin:6px 0 0;font:500 .95rem var(--font-ui);color:var(--ink-soft)}.ap-bio{max-width:62ch;margin:16px 0 0;font-size:1.08rem;line-height:1.65;white-space:pre-line}.ap-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.ap-actions .btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.ap-actions .btn.ap-follow,.ap-actions .btn.ap-follow:hover{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.ap-social{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);background:var(--surface)}.ap-social:hover{border-color:var(--accent);color:var(--accent)}.ap-facts{margin:26px 4px 0;font-size:1.02rem;color:var(--ink-soft)}.ap-facts strong{color:var(--ink)}.ap-section{margin-top:48px}.ap-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--line)}.ap-section-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.5rem}.ap-section-head h2 .count{padding:1px 10px;border-radius:var(--r-full);font:600 .8rem/1.6 var(--font-ui);color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.ap-topics{display:flex;flex-wrap:wrap;gap:6px}.ap-topics button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--ink);font:500 .84rem var(--font-ui);cursor:pointer}.ap-topics button i{width:8px;height:8px;border-radius:50%}.ap-topics button small{color:var(--ink-soft);font-variant-numeric:tabular-nums}.ap-topics button:hover{border-color:var(--ink-soft)}.ap-topics button.on{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.ap-topics button.on small{color:#fffc}.ap-lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:center;margin-bottom:28px}.ap-lead-media{display:block;overflow:hidden;border-radius:var(--r-l);aspect-ratio:16 / 9;background:var(--surface-2)}.ap-lead-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.ap-lead:hover .ap-lead-media img{transform:scale(1.03)}.ap-kicker{font:600 .8rem var(--font-ui);color:var(--accent)}.ap-kicker a{color:inherit}.ap-lead h3{margin:8px 0 10px;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15}.ap-lead h3 a{color:var(--ink);text-decoration:none}.ap-lead h3 a:hover{text-decoration:underline}.ap-lead p{margin:0 0 12px;color:var(--ink-soft);line-height:1.6}.ap-lead-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ap-lead-body .meta{display:block}.ap-read{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:10px 10px 10px 20px;border-radius:var(--r-full);font:600 .92rem/1 var(--font-ui);color:#fff;text-decoration:none;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--accent) 70%,transparent);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.ap-read svg{box-sizing:content-box;padding:5px;border-radius:50%;background:#ffffff2e;transition:transform .2s var(--ease)}.ap-read:hover,.ap-read:focus-visible{color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 24px -10px color-mix(in srgb,var(--accent) 80%,transparent)}.ap-read:hover svg,.ap-read:focus-visible svg{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.ap-read,.ap-read svg{transition:none}.ap-read:hover,.ap-read:hover svg{transform:none}}.ap-more{display:flex;justify-content:center;margin-top:28px}.ap-empty{margin-top:40px;padding:28px;border:1px dashed var(--line);border-radius:var(--r-l);text-align:center;color:var(--ink-soft)}.ap-sk-lead{height:300px;border-radius:var(--r-l);margin-top:48px}.ap-sk-row{height:220px;border-radius:var(--r-l);margin-top:24px}@media(max-width:800px){.ap-hero{grid-template-columns:minmax(0,1fr);justify-items:start;gap:30px;padding:28px 20px}.ap-hero:after{top:0;right:0;bottom:0;left:0}.ap-photo{width:120px;height:120px}.ap-letter{font-size:3rem}.ap-lead{grid-template-columns:minmax(0,1fr);gap:16px}}@media(prefers-reduced-motion:reduce){.ap-lead-media img{transition:none}}.cats-page{padding-top:28px;padding-bottom:64px}.cats-hero h1{margin:0;font-size:clamp(2.4rem,6vw,3.8rem);letter-spacing:-.025em;line-height:1}.cats-hero .lede{margin:12px 0 0;font-size:1.12rem;color:var(--ink-soft)}.cats-share{margin-top:26px}.cats-bar{display:flex;gap:3px;height:14px;border-radius:var(--r-full);overflow:hidden}.cats-bar a{flex-basis:0;min-width:8px;background:var(--c);transition:filter .2s var(--ease),transform .2s var(--ease)}.cats-bar a:hover{filter:brightness(1.15) saturate(1.1)}.cats-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none;font:500 .84rem var(--font-ui);color:var(--ink)}.cats-legend li{display:inline-flex;align-items:center;gap:6px}.cats-legend i{width:10px;height:10px;border-radius:3px;background:var(--c)}.cats-legend span{color:var(--ink-soft);font-variant-numeric:tabular-nums}.cats-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:36px 0 16px}.cats-sort{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface)}.cats-sort button{min-height:32px;padding:0 14px;border:0;border-radius:var(--r-full);background:none;color:var(--ink-soft);font:500 .84rem var(--font-ui);cursor:pointer}.cats-sort button:hover{color:var(--ink)}.cats-sort button.on{color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.cats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-flow:dense;gap:20px;margin:0;padding:0;list-style:none}.cats-sk{min-height:300px;border-radius:var(--r-xl)}.cats-sk.big{grid-column:span 2;grid-row:span 2}.cat-tile{--deep: color-mix(in srgb, var(--c) 62%, #000);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:20px;overflow:hidden;border-radius:var(--r-xl);border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));background:radial-gradient(110% 90% at 100% 0%,color-mix(in srgb,var(--c) 32%,transparent),transparent 62%),repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 7%,transparent) 0 2px,transparent 2px 14px),var(--surface);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.cat-tile:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--c);z-index:2}.cat-tile:hover,.cat-tile:focus-within{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 60%,var(--line));box-shadow:0 22px 40px -22px color-mix(in srgb,var(--c) 75%,transparent)}.cat-tile.big{grid-column:span 2;grid-row:span 2;min-height:520px;padding:28px}.cat-tile-pic{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.cat-tile:hover .cat-tile-pic{transform:scale(1.05)}.cat-tile-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.cat-tile.has-pic .cat-tile-shade{background:linear-gradient(180deg,#08080e26,#08080e73 40%,#08080eeb),linear-gradient(0deg,color-mix(in srgb,var(--c) 35%,transparent),transparent 55%)}.cat-tile.has-pic{color:#fff;border-color:transparent}.cat-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cat-tile-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font:800 1.5rem/1 var(--font-head, var(--font-ui));color:#fff;background:linear-gradient(145deg,var(--c),var(--deep));box-shadow:0 10px 22px -10px var(--c),inset 0 1px #ffffff4d}.cat-tile.big .cat-tile-icon{width:68px;height:68px;border-radius:20px;font-size:2rem}.cat-tile-count{padding:4px 11px;border-radius:var(--r-full);font:700 .76rem/1.4 var(--font-ui);color:#fff;background:var(--deep);background:oklch(from var(--c) min(l,.45) c h);box-shadow:0 0 0 1px #ffffff1f}.cat-tile-body{display:flex;flex-direction:column;gap:8px;min-width:0;margin-top:28px}.cat-tile h2{margin:0;font-size:1.45rem;line-height:1.15;letter-spacing:-.01em}.cat-tile.big h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}.cat-tile-link{color:inherit;text-decoration:none}.cat-tile-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.cat-tile-link:focus-visible{outline:none}.cat-tile:has(.cat-tile-link:focus-visible){outline:3px solid var(--c);outline-offset:3px}.cat-tile-desc{margin:0;font:.95rem/1.5 var(--font-ui);color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cat-tile.big .cat-tile-desc{font-size:1.05rem;-webkit-line-clamp:3;max-width:52ch}.cat-tile-facts{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;font:500 .8rem var(--font-ui);color:var(--ink-soft)}.cat-tile-facts span{display:inline-flex;align-items:center;gap:5px}.cat-tile.has-pic .cat-tile-desc,.cat-tile.has-pic .cat-tile-facts{color:#ffffffd1}.cat-tile-latest{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:6px 0 0;padding:10px 0 0;list-style:none;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}.cat-tile-latest li a{display:block;padding:3px 0 3px 16px;position:relative;font:500 .88rem/1.35 var(--font-ui);color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-tile-latest li a:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--c)}.cat-tile-latest li a:hover{text-decoration:underline}.cat-tile-go{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font:700 .86rem var(--font-ui);color:var(--ink)}.cat-tile-go svg{color:var(--c)}.cat-tile.has-pic .cat-tile-go svg{color:#fff}.cat-tile.has-pic .cat-tile-go{color:#fff}.cat-tile-go svg{transition:transform .25s var(--ease)}.cat-tile:hover .cat-tile-go svg{transform:translate(4px)}@media(max-width:700px){.cat-tile.big,.cats-sk.big{grid-column:auto;grid-row:auto;min-height:380px;padding:22px}.cats-tools{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.cat-tile,.cat-tile-pic,.cat-tile-go svg,.cats-bar a{transition:none}.cat-tile:hover,.cat-tile:hover .cat-tile-pic{transform:none}}.lp{padding-top:24px;padding-bottom:56px}.lp-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px 40px;align-items:end;padding:40px 44px;border-radius:var(--r-2xl);border:1px solid var(--line);background:radial-gradient(80% 140% at 0% 0%,color-mix(in srgb,var(--accent) 20%,var(--surface)) 0%,var(--surface) 62%),var(--surface)}.lp-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:50%;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(color-mix(in srgb,var(--ink) 22%,transparent) 1px,transparent 1.4px);background-size:16px 16px;mask-image:linear-gradient(90deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%)}.lp-projects .lp-hero:after{background-image:linear-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1px);background-size:24px 24px}.lp-hero h1{margin:0;font-size:clamp(2.6rem,7vw,4.4rem);line-height:.98;letter-spacing:-.03em}.lp-intro{max-width:46ch;margin:14px 0 0;font-size:1.12rem;line-height:1.6;color:var(--ink-soft)}.lp-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;font:500 .9rem var(--font-ui);color:var(--ink-soft)}.lp-facts span{display:inline-flex;align-items:center;gap:6px}.lp-facts svg{color:var(--accent)}.lp-hero-side{display:grid;gap:12px;justify-items:end}.lp-search{position:relative;display:flex;align-items:center;width:100%;max-width:440px;padding:6px;border-radius:var(--r-full);background:var(--bg);border:1px solid var(--line);box-shadow:var(--e1);transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}.lp-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.lp-search>svg{flex:none;margin:0 6px 0 12px;color:var(--ink-soft)}.lp-search input{flex:1;min-width:0;height:44px;padding:0 6px;border:0;background:none;box-shadow:none;outline:none;font:400 1rem var(--font-ui)}.lp-search input:focus{box-shadow:none;background:none}.lp-search-go{flex:none;height:44px;padding:0 20px;border:0;border-radius:var(--r-full);color:#fff;font:600 .92rem var(--font-ui);cursor:pointer;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.lp-feed{display:inline-flex;align-items:center;gap:6px;font:500 .86rem var(--font-ui);color:var(--ink-soft);text-decoration:none}.lp-feed:hover{color:var(--ink)}.lp-feed svg{color:#f97316}.lp-cats{display:flex;gap:8px;margin:22px 0 0;padding:2px 2px 8px;list-style:none;overflow-x:auto;scrollbar-width:thin}.lp-cats a{--c: var(--accent);display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;white-space:nowrap;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink);font:500 .9rem var(--font-ui);text-decoration:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.lp-cats a i{width:9px;height:9px;border-radius:50%;background:var(--c)}.lp-cats a:hover{border-color:var(--c)}.lp-cats a .chip-count{margin-left:2px}.lp-cats a.on{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--c) 64%,#000);background:oklch(from var(--c) min(l,.5) c h)}.lp-cats a.on i{background:#fff}.lp-cats a.on .chip-count{color:#fffc}.lp .filter-note{margin:18px 0 0}.lp .lead-post{margin:28px 0 36px}.lp-blog .post-list,.lp-blog .card-grid,.lp-blog .compact-list{margin-top:28px}.lp .lead-post+.post-list,.lp .lead-post+.card-grid,.lp .lead-post+.compact-list{margin-top:0}.lp-stack{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 0;font:500 .86rem var(--font-ui)}.lp-stack>span{margin-right:4px;color:var(--ink-soft)}.lp-stack a{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:var(--r-s);border:1px dashed var(--line);color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.82rem;text-decoration:none}.lp-stack a small{color:var(--ink-soft)}.lp-stack a:hover{border-style:solid;border-color:var(--accent)}.lp-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin-top:44px;font-family:var(--font-ui)}.lp-nums{display:flex;align-items:center;gap:6px}.lp-nums>span{display:inline-flex;align-items:center;gap:6px}.lp-nums button,.lp-step{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink);font:600 .9rem var(--font-ui);cursor:pointer}.lp-nums button:hover,.lp-step:hover:not(:disabled){border-color:var(--accent)}.lp-nums button.on{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.lp-step:disabled{opacity:.4;cursor:default}.lp-gap{color:var(--ink-soft)}.lp-range{flex-basis:100%;text-align:center;font-size:.84rem}.project-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;align-items:center;margin:28px 0 36px;padding:18px;border-radius:var(--r-2xl);border:1px solid var(--line);background:var(--surface);box-shadow:var(--e1)}.pf-media{display:block;overflow:hidden;border-radius:var(--r-xl);aspect-ratio:16 / 10;background:var(--surface-2)}.pf-media .thumb,.pf-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.project-feature:hover .pf-media img{transform:scale(1.03)}.pf-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-right:12px;min-width:0}.pf-kicker{font:600 .82rem var(--font-ui);color:var(--accent)}.pf-body h2{margin:0;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.1}.pf-body h2 a{color:var(--ink);text-decoration:none}.pf-body h2 a:hover{text-decoration:underline}.pf-excerpt{margin:0;color:var(--ink-soft);line-height:1.6}.pf-more{display:inline-flex;align-items:center;gap:4px;font:600 .9rem var(--font-ui);color:var(--ink);text-decoration:none}.pf-more svg{color:var(--accent);transition:transform .2s var(--ease)}.pf-more:hover svg{transform:translate(3px)}.project-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.project-actions.big{margin-top:4px}.pa-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--r-full);border:1px solid var(--line);color:var(--ink);background:var(--surface);font:600 .86rem var(--font-ui);text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease)}.pa-btn:hover{border-color:var(--ink-soft);text-decoration:none;transform:translateY(-1px)}.pa-btn.primary,.pa-btn.primary:hover{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.project-actions.big .pa-btn{height:44px;padding:0 18px;font-size:.92rem}.project-media{position:relative;display:block}.project-live{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);font:700 .74rem/1.4 var(--font-ui);color:#fff;background:#0a0c12b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-live i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e4d;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{50%{box-shadow:0 0 0 6px #22c55e00}}.project-card{transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.project-card:hover{transform:translateY(-3px)}.project-body h3 a{color:var(--ink);text-decoration:none}.project-body h3 a:hover{text-decoration:underline}@media(max-width:860px){.lp-hero{grid-template-columns:minmax(0,1fr);padding:28px 20px}.lp-hero:after{top:0;right:0;bottom:0;left:0}.lp-hero-side{justify-items:stretch}.lp-search{max-width:none}.lp-feed{justify-self:start}.project-feature{grid-template-columns:minmax(0,1fr);gap:18px;padding:12px}.pf-body{padding:0 8px 10px}}@media(prefers-reduced-motion:reduce){.project-live i{animation:none}.project-card,.pa-btn,.pf-media img{transition:none}.project-card:hover{transform:none}}.lp-body{margin-top:0}.lp-cats{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}.lp-cats::-webkit-scrollbar{display:none}.lp-side{display:none}@media(min-width:1024px){.lp-body.has-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 40px;align-items:start;margin-top:28px}.lp-body.has-side .lead-post,.lp-body.has-side .post-list,.lp-body.has-side .card-grid,.lp-body.has-side .compact-list{margin-top:0}.lp-cats.with-side{display:none}.lp-side{display:grid;gap:18px;position:sticky;top:84px}.lp-body.has-side .filter-note{margin-top:0}}.lp-term{--t-bg: #12131a;--t-ink: #e6e4ef;--t-dim: #8d8aa3;border-radius:var(--r-l);overflow:hidden;color:var(--t-ink);background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),var(--t-bg);border:1px solid color-mix(in srgb,var(--accent) 30%,#2a2b38);box-shadow:0 24px 48px -28px color-mix(in srgb,var(--accent) 60%,#000);font:500 .86rem/1.5 JetBrains Mono,ui-monospace,monospace}.lp-term-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07)}.lp-term-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.lp-term-bar i:nth-child(2){background:#febc2e}.lp-term-bar i:nth-child(3){background:#28c840}.lp-term-bar span{margin-left:8px;font-size:.78rem;color:var(--t-dim)}.lp-term-cmd{margin:12px 16px 6px;color:var(--t-dim)}.lp-term-cmd span{color:#50fa7b;margin-right:4px}.lp-tree{margin:0;padding:0 8px 6px;list-style:none}.lp-tree a{--c: #bd93f9;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:6px 8px 9px;border-radius:8px;color:var(--t-ink);text-decoration:none;transition:background .15s var(--ease)}.lp-tree li[style] a{--c: inherit}.lp-tree li{--c: #bd93f9}.lp-branch{color:#5c5a72}.lp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-emoji{margin-right:6px;font-size:.9em}.lp-n{font-variant-numeric:tabular-nums;color:var(--t-dim)}.lp-share{grid-column:2 / 4;height:3px;margin-top:4px;border-radius:3px;background:#ffffff0f;overflow:hidden}.lp-share b{display:block;height:100%;border-radius:inherit;background:var(--c);box-shadow:0 0 8px var(--c)}.lp-tree a:hover{background:#ffffff0f}.lp-tree a:hover .lp-name{text-decoration:underline;text-underline-offset:3px}.lp-tree li.on a{background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:inset 3px 0 0 var(--c)}.lp-tree li.on .lp-name:before{content:"> ";color:var(--c)}.lp-tree li.on .lp-n{color:var(--t-ink)}.lp-tree a:focus-visible{outline:2px solid var(--c);outline-offset:1px}.lp-term-foot{margin:4px 16px 14px;color:var(--t-dim);font-size:.8rem}.lp-caret{display:inline-block;width:.55em;height:1em;margin-left:6px;vertical-align:-.15em;background:var(--t-ink);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.lp-tagbox{padding:16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface)}.lp-tagbox h2{margin:0 0 10px;font:700 .95rem var(--font-ui)}.lp-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}.lp-tags a{display:inline-flex;align-items:baseline;gap:4px;padding:4px 9px;border-radius:6px;border:1px dashed var(--line);color:var(--ink);font:500 .8rem JetBrains Mono,ui-monospace,monospace;text-decoration:none}.lp-tags a small{color:var(--ink-soft);font-size:.72rem}.lp-tags a:hover{border-style:solid;border-color:var(--accent);color:var(--accent)}.lp-all-tags{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font:600 .84rem var(--font-ui);color:var(--ink);text-decoration:none}.lp-all-tags svg{color:var(--accent)}.lp-side-feed{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}.lp-side-feed>svg{flex:none;padding:8px;box-sizing:content-box;border-radius:10px;color:#fff;background:#f97316}.lp-side-feed span{display:grid;font-family:var(--font-ui)}.lp-side-feed strong{font-size:.9rem}.lp-side-feed small{color:var(--ink-soft);font-size:.78rem}.lp-side-feed:hover{border-color:#f97316}@media(prefers-reduced-motion:reduce){.lp-caret{animation:none}}.prose abbr.gloss{text-decoration:none;border-bottom:1.5px dotted color-mix(in srgb,var(--accent) 70%,var(--ink-soft));cursor:help;border-radius:2px;transition:background .15s var(--ease),border-color .15s var(--ease)}.prose abbr.gloss:hover,.prose abbr.gloss.on{background:color-mix(in srgb,var(--accent) 12%,transparent);border-bottom-style:solid;border-bottom-color:var(--accent)}.prose abbr.gloss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gloss-card{position:fixed;z-index:70;padding:14px 16px 12px;border-radius:var(--r-l);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:var(--e3);font-family:var(--font-ui);opacity:0;transform:translateY(-4px);transition:opacity .16s var(--ease),transform .16s var(--ease)}.gloss-card.on{opacity:1;transform:none}.gloss-card.above{transform:translateY(4px);border-top-width:1px;border-bottom:3px solid var(--accent)}.gloss-card:before{content:"";position:absolute;left:calc(var(--gc-arrow, 40px) - 6px);top:-9px;width:10px;height:10px;background:var(--accent);transform:rotate(45deg)}.gloss-card.above:before{top:auto;bottom:-9px}.gloss-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0}.gloss-card-head svg{align-self:center;color:var(--accent)}.gloss-card-head dfn{font:700 1.05rem/1.25 var(--font-head, var(--font-ui));font-style:normal}.gloss-card-alt{font-size:.78rem;color:var(--ink-soft)}.gloss-card-def{margin:8px 0 0;font:.92rem/1.55 var(--font-ui)}.gloss-card-links{display:flex;gap:14px;margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line);font:600 .82rem var(--font-ui)}.gloss-card-links a{display:inline-flex;align-items:center;gap:4px;color:var(--accent);text-decoration:none}.gloss-card-links a:hover{text-decoration:underline}.gloss-card-links .gloss-card-all{margin-left:auto;color:var(--ink-soft)}.gl-page{max-width:880px}.gl-hero{padding:28px 0 22px}.gl-hero h1{margin:0;font:800 clamp(2.2rem,6vw,3.4rem)/1.05 var(--font-head, var(--font-ui));letter-spacing:-.02em}.gl-hero .lede{margin:10px 0 0;max-width:62ch;color:var(--ink-soft)}.gl-tools{margin-top:20px}.gl-find{display:flex;align-items:center;gap:10px;max-width:520px;padding:0 12px 0 14px;border-radius:var(--r-m);background:#12131a;color:#e6e4ef;border:1px solid color-mix(in srgb,var(--accent) 35%,#2a2b38);font:500 .92rem JetBrains Mono,ui-monospace,monospace}.gl-find:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.gl-find-prompt{color:#50fa7b;white-space:nowrap}.gl-find-prompt:before{content:"$ ";color:#8d8aa3}.gl-find input{flex:1;min-width:0;height:44px;border:0;background:none;color:inherit;font:inherit;outline:none}.gl-find input::placeholder{color:#8d8aa3}.gl-find kbd{padding:1px 7px;border:1px solid #3a3b4a;border-radius:5px;color:#8d8aa3;font-size:.76rem}.gl-rail{display:flex;flex-wrap:wrap;gap:2px;margin-top:14px;font:700 .8rem var(--font-ui)}.gl-rail a,.gl-rail span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:6px}.gl-rail a{color:var(--accent);text-decoration:none;background:color-mix(in srgb,var(--accent) 10%,transparent)}.gl-rail a:hover{background:var(--accent);color:#fff}.gl-rail span{color:color-mix(in srgb,var(--ink-soft) 45%,transparent)}.gl-group{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 20px;padding:26px 0 6px;border-top:1px solid var(--line);scroll-margin-top:80px}.gl-letter{position:sticky;top:84px;align-self:start;margin:0;font:800 2.6rem/1 var(--font-head, var(--font-ui));color:var(--accent);scroll-margin-top:90px}.gl-list{margin:0}.gl-entry{padding:2px 14px 18px;margin:0 -14px 6px;border-radius:var(--r-m);scroll-margin-top:100px;transition:background .6s var(--ease)}.gl-entry.lit{background:color-mix(in srgb,var(--accent) 12%,transparent)}.gl-entry dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.gl-term{font:700 1.3rem/1.3 var(--font-head, var(--font-ui));color:var(--ink);text-decoration:none}.gl-term:hover{color:var(--accent)}.gl-also{font:.85rem var(--font-ui);color:var(--ink-soft)}.gl-entry dd{margin:4px 0 0}.gl-def{margin:0;max-width:68ch;line-height:1.6}.gl-more{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;font:.86rem var(--font-ui);color:var(--ink-soft)}.gl-used{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.gl-used svg{color:var(--accent)}.gl-more a{color:var(--accent)}.gl-read{display:inline-flex;align-items:center;gap:3px;font-weight:600}.gl-sk{display:grid;gap:14px;margin-top:20px}.gl-sk .sk{height:84px;border-radius:var(--r-m)}@media(max-width:640px){.gl-group{grid-template-columns:1fr;padding-top:18px}.gl-letter{position:static;font-size:2rem;margin-bottom:8px}}.gl-admin .gl-search{width:100%;max-width:320px;margin-bottom:12px}.gl-flag{margin-left:6px;padding:0 5px;border-radius:4px;font:700 .7rem/1.5 var(--font-ui);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.gl-aliases{display:block;margin-top:2px}.gl-def-cell{max-width:46ch}.gl-empty{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--ink-soft)}.gl-empty svg{color:var(--accent)}.ap-player.asciinema-player-theme-unix3r,.cast .asciinema-player-theme-unix3r{--term-color-foreground: #e6e4ef;--term-color-background: #12131a;--term-color-0: #21222c;--term-color-1: #ff5f6d;--term-color-2: #50fa7b;--term-color-3: #f1fa8c;--term-color-4: #8fb4ff;--term-color-5: #ff79c6;--term-color-6: #8be9fd;--term-color-7: #e6e4ef;--term-color-8: #6c6a80;--term-color-9: #ff8a94;--term-color-10: #69ff94;--term-color-11: #ffffa5;--term-color-12: #b0caff;--term-color-13: #ff92df;--term-color-14: #a4ffff;--term-color-15: #ffffff}.prose .cast,.media-preview .cast{margin:1.8em 0;border-radius:var(--r-l);overflow:hidden;background:#12131a;color:#e6e4ef;border:1px solid color-mix(in srgb,var(--accent) 30%,#2a2b38);box-shadow:0 24px 48px -30px color-mix(in srgb,var(--accent) 55%,#000)}.media-preview .cast{margin:0;width:100%}.cast-bar{display:flex;align-items:center;gap:6px;padding:9px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07);font:500 .78rem JetBrains Mono,ui-monospace,monospace;color:#8d8aa3}.cast-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.cast-bar i:nth-child(2){background:#febc2e}.cast-bar i:nth-child(3){background:#28c840}.cast-title{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9c6d9}.cast-len{margin-left:auto;padding:1px 7px;border-radius:5px;background:#ffffff0f}.cast-screen{position:relative;min-height:120px}.cast-screen .ap-wrapper,.cast-screen .ap-player{border-radius:0}.cast-loading{display:grid;place-items:center;min-height:220px;font:.85rem JetBrains Mono,ui-monospace,monospace;color:#8d8aa3}.cast-cmds{border-top:1px solid rgba(255,255,255,.08);font:500 .84rem JetBrains Mono,ui-monospace,monospace}.cast-cmds-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;color:#8d8aa3}.cast-cmds-head>span:first-child{display:inline-flex;align-items:center;gap:7px}.cast-cmds-tools{display:inline-flex;gap:4px}.cast-cmds ol{margin:0;padding:0 6px 8px;list-style:none;max-height:260px;overflow:auto}.cast-cmds li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:3px 8px;border-radius:6px}.cast-cmds li.on{background:color-mix(in srgb,var(--accent) 22%,transparent)}.cast-cmds li.on code:before{color:#50fa7b}.cast-cmds code,.prose .cast-cmds code{overflow-wrap:anywhere;color:#e6e4ef;background:none;border:0;padding:0;font:inherit}.cast-cmds code:before{content:"$ ";color:#6c6a80}.cast-at{min-width:46px;padding:2px 6px;border:0;border-radius:5px;background:#ffffff0f;color:#8fb4ff;font:inherit;font-size:.76rem;cursor:pointer}.cast-at:hover,.cast-at:focus-visible{background:#8fb4ff;color:#12131a}.cast-copy{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:none;color:#8d8aa3;cursor:pointer}.cast-copy:hover,.cast-copy:focus-visible{background:#ffffff14;color:#e6e4ef}.cast-error{display:flex;align-items:center;gap:8px;margin:1.5em 0;padding:12px 14px;border-radius:var(--r-m);background:color-mix(in srgb,var(--warn) 14%,transparent);font:.9rem var(--font-ui)}.media-cast svg{color:#50fa7b}.media-tile.cast{background:#12131a}.up-tray{position:fixed;right:20px;bottom:20px;z-index:80;width:min(380px,calc(100vw - 32px));border-radius:var(--r-l);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--e3);font-family:var(--font-ui);overflow:hidden;animation:up-in .2s var(--ease)}@keyframes up-in{0%{opacity:0;transform:translateY(8px)}}.up-head{display:flex;align-items:center;gap:8px;padding:11px 12px 11px 14px;border-bottom:1px solid var(--line)}.up-head>svg{color:var(--accent)}.up-tray.done .up-head>svg{color:var(--ok)}.up-tray.failed .up-head>svg{color:var(--danger)}.up-head strong{font-size:.92rem}.up-overall{margin-left:auto;font:700 .84rem var(--font-ui);color:var(--accent);font-variant-numeric:tabular-nums}.up-close{margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer}.up-close:hover{background:var(--state);color:var(--ink)}.up-list{margin:0;padding:6px 0;list-style:none;max-height:260px;overflow:auto}.up-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:7px 14px}.up-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .86rem var(--font-ui)}.up-meta{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.up-meta b{color:var(--ink)}.up-item.done .up-meta{color:var(--ok)}.up-item.waiting{opacity:.65}.up-err{white-space:normal;color:var(--danger)}.up-item.error .up-meta{grid-column:1 / -1}.up-bar{grid-column:1 / -1;display:block;height:5px;border-radius:3px;background:var(--surface-2);overflow:hidden}.up-bar i{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .2s linear}.up-item.processing .up-bar i,.up-bar i.pulse{background:linear-gradient(90deg,var(--accent) 0 40%,color-mix(in srgb,var(--accent) 45%,var(--surface)) 50%,var(--accent) 60% 100%);background-size:250% 100%;animation:up-shine 1.2s linear infinite}@keyframes up-shine{0%{background-position:100% 0}to{background-position:-150% 0}}.up-item.done .up-bar i{background:var(--ok)}.up-item.error .up-bar i{background:var(--danger)}.rte-uploading{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.rte-uploading .spinner{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:up-spin .8s linear infinite}@keyframes up-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.up-tray{right:16px;bottom:16px}}.restore-panel .form{display:grid;gap:12px}.restore-drop{display:flex;align-items:center;gap:14px;padding:16px;border:2px dashed var(--outline);border-radius:var(--r-l);cursor:pointer;color:var(--ink-soft);transition:border-color .15s var(--ease),background .15s var(--ease)}.restore-drop:hover,.restore-drop:focus-visible,.restore-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);outline:none}.restore-drop.has{border-style:solid}.restore-drop svg{flex:none;color:var(--accent)}.restore-drop span{display:grid;gap:2px;min-width:0}.restore-drop strong{color:var(--ink);overflow-wrap:anywhere}.restore-drop small{font-size:.8rem}.restore-progress{display:grid;gap:6px;font:600 .86rem var(--font-ui)}.restore-review{display:grid;gap:12px}.restore-what{display:flex;align-items:center;gap:8px;margin:0}.restore-what svg{flex:none;color:var(--accent)}.restore-what span{overflow-wrap:anywhere}.restore-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.restore-counts li{display:grid;padding:8px 10px;border-radius:var(--r-m);background:var(--surface-2);font:.78rem var(--font-ui);color:var(--ink-soft)}.restore-counts b{font:700 1.15rem/1.2 var(--font-ui);color:var(--ink);font-variant-numeric:tabular-nums}.restore-warn{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-m);background:color-mix(in srgb,var(--danger) 10%,transparent);font-size:.88rem}.restore-warn svg{flex:none;margin-top:2px;color:var(--danger)}.restore-undo{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:.86rem;color:var(--ink-soft)}.restore-undo svg{flex:none;margin-top:3px}.restore-cli summary{cursor:pointer;font-size:.86rem;color:var(--ink-soft)}.restore-cli[open] summary{margin-bottom:8px}.restore-done{display:grid;gap:10px;justify-items:start}.restore-done p{margin:0}.restore-big{display:flex;align-items:center;gap:8px;font:700 1.1rem var(--font-ui);color:var(--ok)}.offsite-panel{margin-top:24px}.offsite-panel.is-on{box-shadow:inset 4px 0 0 var(--accent)}.offsite-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.offsite-head h2{margin:0}.offsite-last{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 10px;border-radius:var(--r-full);font:500 .82rem var(--font-ui);overflow-wrap:anywhere}.offsite-last.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.offsite-last.bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.offsite-panel .form{display:grid;gap:14px;max-width:760px}.offsite-type{display:inline-flex;flex-wrap:wrap;justify-self:start}.offsite-type label{display:inline-flex;align-items:center;height:38px;padding:0 16px;cursor:pointer;font:500 .88rem var(--font-ui)}.offsite-type label+label{border-left:1px solid var(--outline)}.offsite-type label.on{background:var(--tonal);font-weight:600}.offsite-type label:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.offsite-type input{position:absolute;opacity:0;pointer-events:none}.offsite-copies{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.offsite-copies h3{margin:0 0 8px;font-size:.95rem}.offsite-list{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.84rem}.offsite-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:5px 0;border-bottom:1px dashed var(--line)}.offsite-list .mono{overflow-wrap:anywhere}.icon-action.spinning svg{animation:up-spin 1s linear infinite}@media(max-width:600px){.restore-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.up-tray,.up-bar i,.rte-uploading .spinner,.icon-action.spinning svg,.gloss-card{animation:none;transition:none}}.offsite-warn{display:flex;gap:6px;align-items:flex-start;margin:2px 0 0;color:var(--warn);font-size:.82rem}.offsite-warn svg{flex:none;margin-top:2px}.offsite-keychanged{padding:10px 12px;border-radius:var(--r-m);color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);font-size:.88rem}.offsite-keychanged .btn{margin-left:8px}.offsite-hostkey{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-m);background:var(--surface-2);font-size:.84rem;color:var(--ink-soft)}.offsite-hostkey svg{flex:none;margin-top:2px;color:var(--ok)}.offsite-hostkey code{overflow-wrap:anywhere;color:var(--ink)}.offsite-key{font:.8rem/1.4 JetBrains Mono,ui-monospace,monospace}.offsite-hostrow{grid-template-columns:minmax(0,1fr) 140px}@media(max-width:600px){.offsite-hostrow{grid-template-columns:1fr}.offsite-type{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;border-radius:var(--r-m)}.offsite-type label{justify-content:center;padding:0 8px;border-left:0}.offsite-type label+label{border-left:0}.offsite-type label:not(:nth-child(3n+1)){border-left:1px solid var(--outline)}.offsite-type label:nth-child(n+4){border-top:1px solid var(--outline)}}.lead-post{--lead-c: var(--accent);container-type:inline-size;position:relative;isolation:isolate}.lead-post:before{content:"";position:absolute;top:18%;right:6%;bottom:-10px;left:6%;z-index:-1;border-radius:50%;filter:blur(48px);opacity:.45;background:color-mix(in srgb,var(--lead-c) 55%,transparent);pointer-events:none}.lead-media{display:block;overflow:hidden;aspect-ratio:16 / 9;border-radius:var(--r-xl);background:var(--surface-2)}.lead-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.lead-post:hover .lead-media img{transform:scale(1.035)}.lead-sheet{position:relative;margin:-56px 18px 0;padding:22px 24px 20px;border-radius:var(--r-xl);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 22px 44px -28px #00000073}.lead-sheet:before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--lead-c),color-mix(in srgb,var(--lead-c) 20%,transparent))}.lead-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:600 .78rem var(--font-ui)}.lead-label{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:var(--r-full);color:#fff;background:color-mix(in srgb,var(--accent) 64%,#000);background:oklch(from var(--accent) min(l,.5) c h)}.lead-label i{width:7px;height:7px;border-radius:50%;background:#fff}.lead-label.fresh i{background:#50fa7b;box-shadow:0 0 #50fa7bb3;animation:lead-ping 2.4s var(--ease) 3}@keyframes lead-ping{70%{box-shadow:0 0 0 7px #50fa7b00}to{box-shadow:0 0 #50fa7b00}}.lead-cat{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:var(--r-full);text-decoration:none;color:var(--ink);border:1px solid color-mix(in srgb,var(--lead-c) 55%,var(--line));background:color-mix(in srgb,var(--lead-c) 12%,transparent)}.lead-cat:hover{background:color-mix(in srgb,var(--lead-c) 22%,transparent)}.lead-time{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--ink-soft);font-weight:500}.lead-title{margin:14px 0 0;font:800 clamp(1.45rem,4.2cqi,2.15rem)/1.14 var(--font-head, var(--font-ui));letter-spacing:-.02em;text-wrap:balance}.lead-title a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--lead-c),var(--lead-c)) 0 100% / 0 2px no-repeat;transition:background-size .35s var(--ease)}.lead-title a:hover,.lead-title a:focus-visible{background-size:100% 2px}.lead-excerpt{margin:10px 0 0;max-width:66ch;color:var(--ink-soft);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lead-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}.lead-foot .meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.lead-read.ap-read{margin-top:0}@container (min-width: 700px){.lead-media{aspect-ratio:2.1 / 1}.lead-sheet{margin:-84px 32px 0;padding:26px 30px 22px}}@media(max-width:560px){.lead-sheet{margin:-36px 10px 0;padding:18px 16px 16px}.lead-time{margin-left:0}.lead-read.ap-read{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){.lead-media img,.lead-title a{transition:none}.lead-label.fresh i{animation:none}}.logo-fx{position:relative;display:inline-grid;flex:none;line-height:0;perspective:240px}.logo-fx img{display:block;object-fit:contain;transform-origin:50% 55%}@media(prefers-reduced-motion:no-preference){html[data-fx] :is(.logo-fx.fx-shine,.logo-fx.intro-shine,.logo-fx.idle-shine):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-mask:var(--logo-url) center / contain no-repeat;mask:var(--logo-url) center / contain no-repeat;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%) 160% 0 / 260% 100% no-repeat}html[data-fx] .logo-fx.intro-shine:after{animation:logo-shine 1.1s .1s var(--ease) both}html[data-fx] .logo-fx.idle-shine:after{animation:logo-shine-again .9s var(--ease) both}html[data-fx] .logo-fx.intro-glow img{animation:logo-intro-glow 1.6s var(--ease) both}html[data-fx] .logo-fx.intro-drop img{animation:logo-intro-drop .85s cubic-bezier(.3,1.4,.5,1) both}html[data-fx] .logo-fx.intro-flip img{animation:logo-intro-flip .95s cubic-bezier(.3,1.3,.5,1) both}html[data-fx] .logo-fx.idle-flip img{animation:logo-flip 1s cubic-bezier(.45,.05,.25,1)}html[data-fx] .logo-fx.idle-toss img{animation:logo-toss 1.15s cubic-bezier(.3,.6,.4,1)}html[data-fx] .logo-fx.idle-pulse img{animation:logo-pulse 1.25s var(--ease)}html[data-fx] .logo-fx.idle-wobble img{animation:logo-wobble .8s var(--ease)}html[data-fx] .logo-fx.idle-glitch img{animation:logo-glitch .6s steps(1)}html[data-fx] .logo-fx.idle-float img{animation:logo-float 3.6s ease-in-out infinite}html[data-fx] :is(.brand:hover,.brand:focus-visible,.bp-header:hover) .logo-fx.fx-shine:after{animation:logo-shine-hover .9s var(--ease) both}html[data-fx] .logo-fx.fx-glow img{transition:filter .3s var(--ease),transform .3s var(--ease)}html[data-fx] :is(.brand:hover,.brand:focus-visible,.bp-header:hover) .logo-fx.fx-glow img{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 85%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 55%,transparent));transform:scale(1.07)}html[data-fx] .logo-fx.fx-tilt img{transform:rotateY(calc(var(--lx, 0) * 28deg)) rotateX(calc(var(--ly, 0) * -28deg));transition:transform .18s ease-out}html[data-fx] :is(.brand:hover,.bp-header:hover) .logo-fx.fx-tilt img{transform:rotateY(calc(var(--lx, 0) * 28deg)) rotateX(calc(var(--ly, 0) * -28deg)) scale(1.08)}html[data-fx] :is(.brand:hover,.brand:focus-visible,.bp-header:hover) .logo-fx.fx-spin img{animation:logo-spin .8s cubic-bezier(.3,1.35,.5,1)}html[data-fx] :is(.brand:hover,.brand:focus-visible,.bp-header:hover) .logo-fx.fx-bounce img{animation:logo-bounce .7s var(--ease)}}@keyframes logo-shine{0%{background-position:160% 0}to{background-position:-60% 0}}@keyframes logo-shine-again{0%{background-position:160% 0}to{background-position:-60% 0}}@keyframes logo-shine-hover{0%{background-position:160% 0}to{background-position:-60% 0}}@keyframes logo-intro-glow{0%{opacity:0;transform:scale(.82);filter:drop-shadow(0 0 0 transparent)}35%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 90%,transparent)) drop-shadow(0 0 20px color-mix(in srgb,var(--accent) 60%,transparent))}to{transform:none;filter:drop-shadow(0 0 0 transparent)}}@keyframes logo-intro-drop{0%{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}@keyframes logo-intro-flip{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:none}}@keyframes logo-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg) scale(1.06)}to{transform:rotateY(360deg)}}@keyframes logo-toss{0%{transform:none}45%{transform:translateY(-9px) rotateX(200deg)}80%{transform:translateY(0) rotateX(360deg) scale(1.04,.95)}to{transform:rotateX(360deg)}}@keyframes logo-pulse{0%,to{transform:none;filter:drop-shadow(0 0 0 transparent)}20%{transform:scale(1.12);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 80%,transparent))}35%{transform:scale(.98)}50%{transform:scale(1.07);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 60%,transparent))}}@keyframes logo-wobble{0%,to{transform:none}20%{transform:rotate(-9deg)}40%{transform:rotate(7deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}@keyframes logo-glitch{0%,to{transform:none;filter:none}15%{transform:translate(-2px,1px);filter:drop-shadow(2px 0 0 rgba(255,0,90,.85)) drop-shadow(-2px 0 0 rgba(0,220,255,.85))}35%{transform:translate(2px,-1px) skew(-6deg);filter:drop-shadow(-2px 0 0 rgba(255,0,90,.85)) drop-shadow(2px 0 0 rgba(0,220,255,.85))}55%{transform:translate(-1px);filter:drop-shadow(1px 0 0 rgba(255,0,90,.7))}75%{transform:none;filter:drop-shadow(-1px 0 0 rgba(0,220,255,.7))}}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logo-bounce{0%,to{transform:none}30%{transform:translateY(-6px) scale(1.04,.97)}55%{transform:translateY(0) scale(.97,1.03)}75%{transform:translateY(-2px)}}@keyframes logo-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-2deg)}}.logo-motion{margin:6px 0 4px;padding:14px 16px 12px;border:1px solid var(--line);border-radius:var(--r-l);display:grid;gap:12px}.logo-motion legend{padding:0 6px;font:600 .92rem var(--font-ui)}.logo-motion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 16px}.logo-motion .row-actions{align-items:center}.offsite-type{border-radius:var(--r-m);flex-wrap:wrap}.offsite-steps{color:var(--ink-soft);font-size:.86rem;line-height:1.55}.gdrive-steps{margin:0;padding-left:20px;display:grid;gap:6px}.gdrive-redirect{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.gdrive-redirect code{padding:6px 10px;border-radius:var(--r-s);background:var(--surface-2);color:var(--ink);overflow-wrap:anywhere}.gdrive-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:var(--r-m);background:var(--surface-2);font-size:.9rem}.gdrive-status>svg{color:var(--ink-soft)}.gdrive-status.on>svg{color:var(--ok)}.gdrive-status .btn{margin-left:auto}.hero-side{position:relative;min-width:0;display:grid}.hero-side.with-emblem{justify-items:center}.hero-side>.hero-terminal{width:100%}.hero-emblem{position:relative;z-index:2;width:172px;height:172px;margin:-8px 0 -34px;touch-action:pan-y}.hero-emblem-still,.hero-emblem-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-emblem-still{object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45));transition:opacity .5s var(--ease)}.hero-emblem-canvas canvas{display:block;width:100%;height:100%;cursor:grab}.hero-emblem.grabbing canvas{cursor:grabbing}.hero-emblem.live .hero-emblem-still{opacity:0}.hero-emblem-canvas{opacity:0;transition:opacity .6s var(--ease)}.hero-emblem.live .hero-emblem-canvas{opacity:1}.hero-emblem-glow{position:absolute;left:50%;bottom:14px;z-index:-1;width:150px;height:34px;transform:translate(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 70%,#fff 10%),transparent);filter:blur(10px);opacity:.55;pointer-events:none}@media(prefers-reduced-motion:no-preference){html[data-fx] .hero-emblem-glow{animation:emblem-glow 3.2s ease-in-out infinite}}@keyframes emblem-glow{50%{opacity:.85;transform:translate(-50%) scale(1.12)}}@media(max-width:600px){.hero-emblem{width:132px;height:132px;margin:-4px 0 -26px}}@media(min-width:960px){.hero-emblem{width:200px;height:200px;margin:-24px 0 -40px}.hero-emblem-glow{width:170px}}
