:root{--font-display: "Syne", "Segoe UI", sans-serif;--font-sans: "DM Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, Monaco, monospace;--col: 980px;--pad: clamp(1.25rem, 4vw, 2.5rem);--radius: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--accent: #ff3b00;--accent-hot: #ff5522;--ink: #f2efe8;--ink-dim: #b8b3a8;--mute: #8a857a;--paper: #12110f;--paper-2: #1a1815;--paper-3: #23201c;--hair: rgba(242, 239, 232, .1);--hair-strong: rgba(242, 239, 232, .18);--accent-soft: rgba(255, 59, 0, .14);--accent-glow: rgba(255, 59, 0, .35);--ok: #c8f07a;--surface: rgba(255, 255, 255, .025);--surface-strong: rgba(255, 255, 255, .03);--surface-panel: rgba(255, 255, 255, .02);--surface-hover: rgba(255, 59, 0, .04);--code-fg: #ffc9b5;--pre-bg: #0a0908;--pre-fg: #e8e4dc;--pre-comment: #6f6a60;--pre-inset: rgba(255, 255, 255, .04);--link-underline: rgba(242, 239, 232, .28);--eyebrow-fg: #ff8f6b;--eyebrow-border: rgba(255, 59, 0, .45);--header-bg: rgba(18, 17, 15, .72);--btn-bg: rgba(255, 255, 255, .03);--btn-hover-bg: rgba(255, 255, 255, .06);--btn-hover-border: rgba(255, 255, 255, .35);--btn-shadow: 0 8px 28px rgba(255, 59, 0, .28);--btn-shadow-hover: 0 12px 32px rgba(255, 59, 0, .38);--glow-a: rgba(255, 59, 0, .16);--glow-b: rgba(255, 180, 80, .06);--glow-c: rgba(255, 59, 0, .05);--bg-top: #161411;--grain-opacity: .35;--mascot-fill: #f2efe8;--mascot-stroke: #0a0908;--panel-accent-border: rgba(255, 59, 0, .35);--panel-accent-bg: linear-gradient(160deg, rgba(255, 59, 0, .08), rgba(255, 255, 255, .02));--cta-bg: linear-gradient(145deg, rgba(255, 59, 0, .1), rgba(255, 255, 255, .02));--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .55);--dialog-backdrop: rgba(8, 7, 6, .72);--input-bg: rgba(0, 0, 0, .25);--hero-glow: rgba(255, 59, 0, .28);--hero-shadow: drop-shadow(0 18px 40px rgba(0, 0, 0, .45));--cmd-pre-bg: rgba(255, 255, 255, .03);--theme-color: #12110f}html[data-theme=light]{--ink: #161411;--ink-dim: #4a463f;--mute: #6f6a60;--paper: #f7f5f1;--paper-2: #ffffff;--paper-3: #ebe7e0;--hair: rgba(22, 20, 17, .1);--hair-strong: rgba(22, 20, 17, .16);--accent-soft: rgba(255, 59, 0, .1);--accent-glow: rgba(255, 59, 0, .22);--ok: #3d7a1c;--surface: rgba(22, 20, 17, .03);--surface-strong: rgba(22, 20, 17, .045);--surface-panel: rgba(255, 255, 255, .65);--surface-hover: rgba(255, 59, 0, .05);--code-fg: #c43300;--pre-bg: #1a1815;--pre-fg: #f2efe8;--pre-comment: #8a857a;--pre-inset: rgba(255, 255, 255, .04);--link-underline: rgba(22, 20, 17, .22);--eyebrow-fg: #d63500;--eyebrow-border: rgba(255, 59, 0, .4);--header-bg: rgba(247, 245, 241, .84);--btn-bg: rgba(22, 20, 17, .03);--btn-hover-bg: rgba(22, 20, 17, .06);--btn-hover-border: rgba(22, 20, 17, .28);--btn-shadow: 0 8px 24px rgba(255, 59, 0, .22);--btn-shadow-hover: 0 12px 28px rgba(255, 59, 0, .3);--glow-a: rgba(255, 59, 0, .12);--glow-b: rgba(255, 140, 60, .08);--glow-c: rgba(255, 59, 0, .05);--bg-top: #fffdf9;--grain-opacity: .18;--mascot-fill: #ffffff;--mascot-stroke: #161411;--panel-accent-border: rgba(255, 59, 0, .3);--panel-accent-bg: linear-gradient(160deg, rgba(255, 59, 0, .07), rgba(255, 255, 255, .5));--cta-bg: linear-gradient(145deg, rgba(255, 59, 0, .08), rgba(255, 255, 255, .7));--dialog-shadow: 0 24px 80px rgba(22, 20, 17, .16);--dialog-backdrop: rgba(22, 20, 17, .38);--input-bg: #ffffff;--hero-glow: rgba(255, 59, 0, .18);--hero-shadow: drop-shadow(0 14px 28px rgba(22, 20, 17, .12));--cmd-pre-bg: rgba(22, 20, 17, .04);--theme-color: #f7f5f1}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:17px;scroll-behavior:smooth;color-scheme:dark}html[data-theme=light]{color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;transition:background-color .2s var(--ease),color .2s var(--ease)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 50% at 15% -10%,var(--glow-a),transparent 55%),radial-gradient(ellipse 60% 40% at 90% 10%,var(--glow-b),transparent 50%),radial-gradient(ellipse 50% 35% at 50% 100%,var(--glow-c),transparent 55%),linear-gradient(180deg,var(--bg-top) 0%,var(--paper) 28%,var(--paper) 100%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.site-header,main,footer.site-footer,.notfound{position:relative;z-index:1}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--link-underline);transition:color .16s var(--ease),text-decoration-color .16s var(--ease)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;margin:0;color:var(--ink)}h1{font-size:clamp(3.4rem,10vw,6.5rem);line-height:.9;letter-spacing:-.05em;font-weight:800}.mark{color:var(--accent)}h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-family:var(--font-mono);display:flex;align-items:center;gap:.7em;color:var(--ink-dim)}h2:before{content:"";display:inline-block;width:.55em;height:.55em;background:var(--accent);border-radius:2px;box-shadow:0 0 12px var(--accent-glow)}h3{font-size:1.2rem;letter-spacing:-.02em;font-weight:700}p{margin:0 0 1em;max-width:60ch;color:var(--ink-dim)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}p code,li code,dd code{background:var(--accent-soft);color:var(--code-fg);padding:.1em .4em;border-radius:5px;font-size:.86em;overflow-wrap:anywhere;word-break:break-word}pre{background:var(--pre-bg);color:var(--pre-fg);padding:1.15rem 1.3rem;margin:0;overflow-x:auto;font-size:.84rem;line-height:1.6;border:1px solid var(--hair-strong);border-radius:12px;box-shadow:inset 0 1px 0 var(--pre-inset)}pre .prompt{color:var(--accent);user-select:none}pre .comment{color:var(--pre-comment)}pre .denied{color:var(--accent)}hr{border:0;border-top:1px solid var(--hair);margin:0}ul{padding-left:1.1em;margin:0 0 1em}ul li{margin:.25em 0;color:var(--ink-dim)}.wrap{max-width:var(--col);margin:0 auto;padding:0 var(--pad)}.eyebrow{display:inline-flex;align-items:center;gap:.65em;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;border:1px solid var(--eyebrow-border);color:var(--eyebrow-fg);background:var(--accent-soft);padding:.4em .8em;border-radius:999px}.eyebrow .dot{width:6px;height:6px;background:var(--accent);display:inline-block;border-radius:50%;box-shadow:0 0 8px var(--accent-glow);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.site-header{border-bottom:1px solid var(--hair);backdrop-filter:blur(14px);background:var(--header-bg);position:sticky;top:0;z-index:20}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:.95rem;padding-bottom:.95rem;font-family:var(--font-mono);font-size:.82rem}.site-header a.brand{text-decoration:none;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;font-size:1.15rem}.site-header nav{display:flex;gap:1.25rem;align-items:center}.site-header nav a{text-decoration:none;color:var(--ink-dim)}.site-header nav a:hover{color:var(--ink)}.hero{border-bottom:1px solid var(--hair);padding:clamp(3.5rem,10vw,7rem) 0 clamp(3rem,7vw,5.5rem);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.75rem;align-items:center}@media (min-width: 900px){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3.5rem}}.hero-text>*+*{margin-top:1.35rem}.hero-text h1{animation:rise .7s var(--ease) both}.hero-text .eyebrow{animation:rise .7s var(--ease) both;animation-delay:40ms}.hero-text .tag{max-width:34ch;font-size:clamp(1.05rem,1.7vw,1.25rem);color:var(--ink-dim);margin-top:1.5rem;line-height:1.55;animation:rise .7s var(--ease) both;animation-delay:.12s}.hero-text .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;animation:rise .7s var(--ease) both;animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-art{margin:0;display:flex;justify-content:center;align-items:center;position:relative;animation:rise .9s var(--ease) both;animation-delay:.18s}.hero-art:before{content:"";position:absolute;width:min(78%,320px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--hero-glow),transparent 68%);filter:blur(18px);z-index:0;animation:glow-breathe 4.5s ease-in-out infinite}@keyframes glow-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.hero-art svg{width:100%;max-width:340px;height:auto;display:block;position:relative;z-index:1;filter:var(--hero-shadow)}.troopr-eye{transform-box:fill-box;transform-origin:center;transition:transform 80ms ease-in-out;will-change:transform}.troopr-smile{d:path("M 146 188 Q 160 188 174 188");transition:d .28s ease;pointer-events:none}.hero-grid:has(.ctas .btn:hover) .troopr-smile,.hero-grid:has(.ctas .btn:focus-visible) .troopr-smile{d:path("M 146 188 Q 160 200 174 188")}@media (prefers-reduced-motion: reduce){.troopr-eye,.troopr-smile,.eyebrow .dot,.hero-art:before,.hero-text h1,.hero-text .eyebrow,.hero-text .tag,.hero-text .ctas,.hero-art{animation:none!important;transition:none!important}.troopr-eye{transform:none!important}}@media (min-width: 900px){.hero-art{justify-content:flex-end}.hero-art svg{max-width:380px}}@media (max-width: 520px){.hero-art svg{max-width:250px}}.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-mono);font-size:.86rem;letter-spacing:.01em;padding:.78em 1.2em;border:1px solid var(--hair-strong);text-decoration:none;background:var(--btn-bg);color:var(--ink);border-radius:999px;cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--btn-shadow)}.btn.primary:hover{background:var(--accent-hot);border-color:var(--accent-hot);color:#fff;transform:translateY(-1px);box-shadow:var(--btn-shadow-hover)}.btn:hover{color:var(--ink);border-color:var(--btn-hover-border);background:var(--btn-hover-bg)}.arrow:after{content:"→";font-family:var(--font-mono)}section{padding:clamp(3.25rem,7vw,5.5rem) 0;border-bottom:1px solid var(--hair)}section .wrap>h2{margin-bottom:1.5rem}.lede{font-size:1.1rem;max-width:52ch;line-height:1.6;color:var(--ink-dim)}.denied-inline{color:var(--accent);font-family:var(--font-mono)}.steps{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:.5rem}.step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:1rem;padding:1.4rem 1.35rem;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);transition:border-color .18s var(--ease),background .18s var(--ease)}.step:hover{border-color:var(--panel-accent-border);background:var(--surface-hover)}.step .num{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;color:var(--accent);font-weight:600;padding-top:.15rem}.step h3{margin-bottom:.4rem}.step p{margin-bottom:.85rem;color:var(--mute)}.step pre{max-width:100%}.profiles{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-mono);font-size:.84rem;margin-top:1.25rem;border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;background:var(--surface-panel)}.profiles th,.profiles td{text-align:left;padding:.95rem 1.1rem;border-bottom:1px solid var(--hair);vertical-align:top}.profiles tbody tr:last-child td{border-bottom:0}.profiles th{font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;background:var(--surface-strong);color:var(--mute)}.profiles tr td:first-child{font-weight:600;color:var(--ink)}.profiles .blocked{color:var(--accent)}.profiles .allowed{color:var(--ok)}.denylist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.45rem 1.4rem;font-family:var(--font-mono);font-size:.84rem;padding:1.4rem 1.35rem 1.2rem;border:1px solid var(--panel-accent-border);background:var(--panel-accent-bg);border-radius:var(--radius);position:relative;margin-top:1.25rem}.denylist:before{content:"deny";position:absolute;top:-.7em;left:1.1rem;background:var(--paper);padding:0 .55em;color:var(--accent);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.denylist span{position:relative;padding-left:1.05em;color:var(--ink-dim)}.denylist span:before{content:"✕";position:absolute;left:0;color:var(--accent);font-size:.85em}.faq{margin-top:.5rem}.faq dt{font-family:var(--font-display);font-weight:700;margin-top:1.75rem;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink)}.faq dt:first-of-type{margin-top:.5rem}.faq dd{margin:.45rem 0 0;color:var(--mute);max-width:60ch}footer.site-footer{padding:2.5rem 0 3.25rem;font-family:var(--font-mono);font-size:.78rem;color:var(--mute)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:baseline}.site-footer a{color:var(--ink-dim);text-decoration:none}.site-footer a:hover{color:var(--accent)}@media (min-width: 720px){.step{grid-template-columns:72px minmax(0,1fr);gap:1.25rem;padding:1.55rem 1.6rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}}@media (max-width: 520px){pre{font-size:.76rem;padding:.9rem 1rem}h1{letter-spacing:-.055em}.denylist{grid-template-columns:1fr;font-size:.8rem}.site-header nav{gap:.85rem;font-size:.75rem}}.docs-hero{border-bottom:1px solid var(--hair);padding:clamp(2.75rem,7vw,4.75rem) 0 clamp(2.25rem,5vw,3.5rem)}.docs-hero h1{font-size:clamp(2.4rem,6vw,4rem);margin:1.15rem 0 0}.docs-hero .tag{margin-top:1.15rem;font-size:1.05rem;max-width:52ch;color:var(--ink-dim)}.docs-body{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--hair)}.docs-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}@media (min-width: 900px){.docs-grid{grid-template-columns:200px minmax(0,1fr);gap:4rem}}.docs-toc{font-family:var(--font-mono);font-size:.8rem;line-height:1.7;border:1px solid var(--hair);border-radius:var(--radius);padding:1.1rem 1.15rem;background:var(--surface-panel)}@media (min-width: 900px){.docs-toc{position:sticky;top:5rem;align-self:start}}.docs-toc .toc-label{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:.75rem}.docs-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}.docs-toc li{counter-increment:toc;margin:0;display:flex;gap:.55rem}.docs-toc li:before{content:counter(toc,decimal-leading-zero);color:var(--mute);font-size:.7rem;padding-top:.15em}.docs-toc a{text-decoration:none;display:block;padding:.08em 0;color:var(--ink-dim)}.docs-toc a:hover{color:var(--accent)}.docs-content{min-width:0}.docs-content>h2{font-size:.78rem;margin-top:0;margin-bottom:1.25rem;scroll-margin-top:5rem}.docs-content h2:not(:first-of-type){margin-top:0}.docs-content h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-top:1.75rem;margin-bottom:.55rem;letter-spacing:-.02em}.docs-content p{max-width:64ch;margin:0 0 1em}.docs-content p.lede{max-width:60ch;margin-bottom:1.5rem;font-size:1rem}.docs-content ul,.docs-content ol{max-width:64ch;margin:0 0 1em;padding-left:1.2em}.docs-content li{margin:.3em 0}.docs-content pre{margin:0 0 1.25rem;max-width:100%}.docs-content hr{margin:2.75rem 0;border-top:1px solid var(--hair)}.docs-content .anchor{color:var(--mute);margin-right:.4em;text-decoration:none;opacity:0;transition:opacity 80ms linear}.docs-content h2:hover .anchor,.docs-content h3:hover .anchor{opacity:1;color:var(--accent)}.cmd-block{border-left:2px solid var(--accent);padding-left:1rem;margin:1.5rem 0}.cmd-block h3{margin-top:0;font-family:var(--font-mono);font-size:.95rem}.cmd-block pre{background:var(--cmd-pre-bg);color:var(--ink);padding:.65rem .85rem;font-size:.82rem;margin-bottom:.7rem}.cmd-block p{color:var(--mute);margin-bottom:0}.ref-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;margin:.5rem 0 1.75rem;border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;background:var(--surface-panel)}.ref-table th,.ref-table td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--hair);vertical-align:top}.ref-table tr:last-child td{border-bottom:0}.ref-table th{font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;background:var(--surface-strong);color:var(--mute)}.ref-table code{background:var(--accent-soft);color:var(--code-fg);padding:.05em .35em;border-radius:4px;font-size:.88em}.ref-table .blocked{color:var(--accent);font-family:var(--font-mono)}.ref-table .allowed{font-family:var(--font-mono);color:var(--ok)}.profiles-table tr td:first-child code{font-weight:600}.denylist-table code.ko{color:var(--accent);background:transparent;padding:0}.denied{color:var(--accent);font-family:var(--font-mono)}.uc-hero{border-bottom:1px solid var(--hair);padding:clamp(2.75rem,7vw,4.75rem) 0 clamp(2.25rem,5vw,3.5rem)}.uc-hero h1{font-size:clamp(2.4rem,6vw,4rem);margin:1.15rem 0 0}.uc-lede{margin-top:1.15rem;font-size:1.05rem;max-width:48ch;color:var(--ink-dim)}.uc-list{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--hair)}.uc{padding:clamp(1.75rem,3.5vw,2.5rem);scroll-margin-top:5rem;max-width:760px;margin-bottom:1rem;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius)}.uc:first-child{margin-top:.25rem}.uc-head{margin-bottom:1.35rem}.uc-num{display:block;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.2em;color:var(--accent);font-weight:600;margin-bottom:.45rem}.uc-body{min-width:0}.uc-head h2{display:block;font-family:var(--font-display);font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;text-transform:none;letter-spacing:-.03em;margin:0;line-height:1.15;color:var(--ink)}.uc-head h2:before{display:none}.uc-head h2 .anchor{color:var(--mute);margin-right:.3em;text-decoration:none;opacity:0;transition:opacity 80ms linear}.uc-head h2:hover .anchor{opacity:1;color:var(--accent)}.uc-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.85rem;align-items:baseline;margin-bottom:1rem}.uc-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding-top:.35em}.uc-label--defense{color:var(--accent)}.uc-row p{margin:0;max-width:56ch;font-size:.97rem;line-height:1.55}.uc-example{margin:1.15rem 0 1rem 87px;font-size:.82rem;white-space:pre;padding:.85rem 1rem;max-width:56ch}.uc-caveat{font-family:var(--font-sans);font-size:.88rem;color:var(--mute);margin:0 0 0 87px;padding-left:.9rem;border-left:2px solid var(--eyebrow-border);max-width:calc(56ch - 87px);line-height:1.5}.uc-caveat-label{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-right:.5em;font-weight:600}@media (max-width: 640px){.uc-row{grid-template-columns:minmax(0,1fr);gap:.4rem}.uc-example,.uc-caveat{margin-left:0;max-width:100%}}.uc-cta{margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.4rem,3vw,1.85rem);border:1px solid var(--panel-accent-border);background:var(--cta-bg);border-radius:var(--radius);display:grid;gap:1rem}.uc-cta p{margin:0;max-width:60ch}@media (min-width: 720px){.uc-cta{grid-template-columns:1fr auto;align-items:center;gap:1.5rem}}.contact-dialog{border:1px solid var(--hair-strong);background:var(--paper-2);color:var(--ink);padding:0;width:min(480px,calc(100% - 2rem));max-height:calc(100vh - 2rem);font-family:var(--font-sans);border-radius:16px;box-shadow:var(--dialog-shadow)}.contact-dialog::backdrop{background:var(--dialog-backdrop);backdrop-filter:blur(6px)}.contact-form{padding:1.5rem;display:grid;gap:1rem}.contact-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.85rem;border-bottom:1px solid var(--hair)}.contact-head h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.03em;margin:0;text-transform:none}.contact-head h3:before{display:none}.contact-close{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--mute);padding:0 .3rem;font-family:var(--font-mono)}.contact-close:hover{color:var(--accent)}.contact-intro{font-size:.92rem;color:var(--mute);margin:0;max-width:none}.contact-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-field{display:grid;gap:.4rem}.contact-field>span{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mute)}.contact-field input[type=text],.contact-field input[type=email],.contact-field textarea{border:1px solid var(--hair-strong);background:var(--input-bg);color:var(--ink);padding:.7em .85em;font-family:var(--font-sans);font-size:.95rem;border-radius:10px;width:100%;box-sizing:border-box}.contact-field textarea{resize:vertical;min-height:86px;line-height:1.45;font-family:var(--font-sans)}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--eyebrow-border);outline-offset:0;border-color:var(--eyebrow-border)}.contact-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-status{font-family:var(--font-mono);font-size:.8rem;color:var(--mute);flex:1;min-width:0}.contact-status.success{color:var(--ok)}.contact-status.error{color:var(--accent)}.notfound{min-height:60vh;display:grid;place-content:center;text-align:left;padding:4rem var(--pad)}.notfound h1{font-size:clamp(3.5rem,12vw,7rem)}.notfound p{margin-top:1rem;font-family:var(--font-mono);color:var(--ink-dim)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--hair-strong);border-radius:999px;background:var(--btn-bg);color:var(--ink-dim);cursor:pointer;transition:color .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.theme-toggle:hover{color:var(--ink);border-color:var(--btn-hover-border);background:var(--btn-hover-bg)}.theme-toggle svg{width:1rem;height:1rem;display:block}.theme-toggle .icon-sun,html[data-theme=light] .theme-toggle .icon-moon{display:none}html[data-theme=light] .theme-toggle .icon-sun{display:block}.mascot-fill{fill:var(--mascot-fill)}.mascot-stroke{stroke:var(--mascot-stroke)}.mascot-visor{fill:var(--mascot-stroke)}.mascot-eye{fill:var(--mascot-fill)}
