:root{--font-display: "Sora", "Segoe UI", sans-serif;--font-sans: "Sora", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, Monaco, monospace;--col: 840px;--pad: clamp(1.25rem, 4vw, 2rem);--radius: 12px;--ease: cubic-bezier(.22, 1, .36, 1);--accent: #3e1700;--accent-hot: #5a2408;--ink: #3e1700;--ink-dim: #4d4d4d;--mute: #737373;--paper: #ffffff;--paper-2: #f6f6f6;--paper-3: #ececec;--hair: #ececec;--hair-strong: #e0e0e0;--accent-soft: rgba(62, 23, 0, .06);--accent-glow: transparent;--ok: #2f6b2f;--surface: #f7f7f7;--surface-strong: #f2f2f2;--surface-panel: #fafafa;--surface-hover: #f3f3f3;--code-fg: #3e1700;--pre-bg: #f6f6f6;--pre-fg: #272727;--pre-comment: #8a8a8a;--pre-inset: transparent;--link-underline: rgba(62, 23, 0, .22);--eyebrow-fg: #737373;--eyebrow-border: #e6e6e6;--header-bg: #f4f4f4;--btn-bg: #f4f4f4;--btn-hover-bg: #ececec;--btn-hover-border: #d8d8d8;--btn-shadow: none;--btn-shadow-hover: none;--glow-a: transparent;--glow-b: transparent;--glow-c: transparent;--bg-top: #ffffff;--grain-opacity: 0;--mascot-fill: #ffffff;--mascot-stroke: #3e1700;--mascot-mark: #3e1700;--panel-accent-border: #ececec;--panel-accent-bg: #fafafa;--cta-bg: #f7f7f7;--dialog-shadow: 0 18px 60px rgba(62, 23, 0, .12);--dialog-backdrop: rgba(39, 39, 39, .28);--input-bg: #ffffff;--hero-glow: transparent;--hero-shadow: none;--cmd-pre-bg: #f6f6f6;--theme-color: #ffffff;--on-accent: #ffffff}html[data-theme=dark]{--ink: #f4efe9;--ink-dim: #c8bfb6;--mute: #9a9188;--paper: #16110e;--paper-2: #1d1814;--paper-3: #26211c;--hair: rgba(244, 239, 233, .1);--hair-strong: rgba(244, 239, 233, .16);--accent: #f4efe9;--accent-hot: #ffffff;--accent-soft: rgba(244, 239, 233, .08);--ok: #9ad08a;--surface: rgba(255, 255, 255, .035);--surface-strong: rgba(255, 255, 255, .05);--surface-panel: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .06);--code-fg: #f4efe9;--pre-bg: #100c0a;--pre-fg: #f4efe9;--pre-comment: #8a8178;--link-underline: rgba(244, 239, 233, .28);--eyebrow-fg: #c8bfb6;--eyebrow-border: rgba(244, 239, 233, .14);--header-bg: #211c18;--btn-bg: #211c18;--btn-hover-bg: #2a241f;--btn-hover-border: rgba(244, 239, 233, .22);--mascot-fill: #16110e;--mascot-stroke: #f4efe9;--mascot-mark: #f4efe9;--panel-accent-border: rgba(244, 239, 233, .12);--panel-accent-bg: rgba(255, 255, 255, .03);--cta-bg: rgba(255, 255, 255, .04);--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .5);--dialog-backdrop: rgba(8, 6, 5, .7);--input-bg: #100c0a;--cmd-pre-bg: rgba(255, 255, 255, .04);--theme-color: #16110e;--on-accent: #16110e}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth;color-scheme:light}html[data-theme=dark]{color-scheme:dark}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,body:after{content:none}.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:400;letter-spacing:-.03em;margin:0;color:var(--ink)}h1{font-size:clamp(2.4rem,6.4vw,3.5rem);line-height:1.12;letter-spacing:-.03em;font-weight:400}.mark{color:var(--ink)}h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;font-weight:400;font-family:var(--font-display);color:var(--ink);text-align:center}h3{font-size:1.05rem;letter-spacing:-.02em;font-weight:500}p{margin:0 0 1em;max-width:42rem;color:var(--ink-dim)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}p code,li code,dd code,summary code{background:var(--accent-soft);color:var(--code-fg);padding:.1em .35em;border-radius:5px;font-size:.86em;overflow-wrap:anywhere;word-break:break-word}pre{background:var(--pre-bg);color:var(--pre-fg);padding:1.1rem 1.2rem;margin:0;overflow-x:auto;font-size:.82rem;line-height:1.6;border:1px solid var(--hair);border-radius:12px}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-sans);font-size:.78rem;letter-spacing:0;text-transform:none;border:0;color:var(--mute);background:transparent;padding:0;border-radius:0}.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:0;background:transparent;position:sticky;top:0;z-index:20;padding:1rem var(--pad) 0}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:var(--col);margin:0 auto;padding:.5rem .5rem .5rem 1.15rem;background:var(--header-bg);border-radius:999px;font-family:var(--font-sans);font-size:.9rem}.site-header a.brand{text-decoration:none;font-family:var(--font-sans);font-weight:600;letter-spacing:-.03em;font-size:1.05rem;display:inline-flex;align-items:center;gap:.6rem;color:var(--ink)}.site-header a.brand:hover{color:var(--ink)}.site-header nav{display:flex;gap:.25rem;align-items:center}.site-header nav a{text-decoration:none;color:var(--ink-dim);padding:.5rem .8rem;border-radius:999px;line-height:1;transition:color .16s var(--ease),background .16s var(--ease)}.site-header nav a:hover{color:var(--ink);background:var(--btn-hover-bg)}.site-header nav .theme-toggle{margin-left:.25rem;border-radius:999px}@media (max-width: 560px){.header-bar{gap:.75rem;padding-left:.95rem}.site-header nav a:not(:last-of-type){display:none}}.hero{border-bottom:0;padding:clamp(3.5rem,10vw,6.5rem) 0 clamp(4rem,8vw,6.5rem);overflow:hidden}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:36rem}.hero-copy h1{max-width:14ch;margin:0;animation:rise .7s var(--ease) both}.hero-copy .tag{max-width:36ch;font-size:1rem;color:var(--ink-dim);margin:1.25rem 0 0;line-height:1.55;animation:rise .7s var(--ease) both;animation-delay:80ms}.hero-copy .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.75rem;animation:rise .7s var(--ease) both;animation-delay:.14s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.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}@media (prefers-reduced-motion: reduce){.troopr-eye,.troopr-smile,.eyebrow .dot,.hero-copy h1,.hero-copy .tag,.hero-copy .ctas,.hero-illus{animation:none!important;transition:none!important}.troopr-eye{transform:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--font-sans);font-size:.92rem;font-weight:600;letter-spacing:-.01em;padding:.8em 1.7em;min-height:44px;border:1px solid transparent;text-decoration:none;background:var(--btn-bg);color:var(--ink);border-radius:10px;cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:none}.btn.primary:hover{background:var(--accent-hot);border-color:var(--accent-hot);color:var(--on-accent)}.btn:hover{color:var(--ink);background:var(--btn-hover-bg)}.btn:focus-visible,.theme-toggle:focus-visible,.faq summary:focus-visible,.contact-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.arrow:after{content:"→";font-family:var(--font-mono)}section{padding:clamp(3rem,7vw,5rem) 0;border-bottom:0}section .wrap>h2{margin-bottom:1.15rem}.lede{font-size:1rem;max-width:42rem;margin-left:auto;margin-right:auto;line-height:1.65;color:var(--ink-dim);text-align:center}.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.25rem 0;background:transparent;border:0;border-top:1px solid var(--hair);border-radius:0}.step:hover{border-color:var(--hair);background:transparent}.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:.8rem;padding:1.2rem 0 0;border:0;background:transparent;border-radius:0;position:relative;margin-top:.5rem}.denylist:before{display:none}.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}.illus{max-width:560px;margin:2.25rem auto 0}.illus svg{width:100%;height:auto;display:block;overflow:visible}.ill-box{fill:var(--mascot-fill);stroke:var(--mascot-stroke);stroke-width:1.5;stroke-linejoin:round}.ill-soft{fill:var(--surface-panel);stroke:var(--hair-strong);stroke-width:1}.ill-shadow{filter:drop-shadow(0 1px 1px rgba(40,20,5,.04)) drop-shadow(0 8px 18px rgba(40,20,5,.06))}.ill-line,.ill-dash,.ill-ok,.ill-deny,.ill-divider,.ill-faint{fill:none;stroke-linecap:round;stroke-linejoin:round}.ill-line{stroke:var(--mascot-stroke);stroke-width:1.5}.ill-dash{stroke:var(--mute);stroke-width:1.2;stroke-dasharray:3 4;opacity:.7}.ill-divider{stroke:var(--hair-strong);stroke-width:1}.ill-faint{stroke:var(--hair-strong);stroke-width:4}.ill-ok{stroke:var(--ok);stroke-width:1.6}.ill-deny{stroke:var(--accent);stroke-width:1.6}.ill-badge-ok{fill:color-mix(in srgb,var(--ok) 14%,transparent)}.ill-badge-deny{fill:color-mix(in srgb,var(--accent) 10%,transparent)}.ill-end{fill:var(--accent)}.ill-solid{fill:var(--mascot-stroke)}.ill-header{fill:var(--surface-strong)}.ill-chip{fill:var(--mascot-fill);stroke:var(--hair-strong);stroke-width:1}.ill-logo{fill:var(--ink)}.ill-agent{font-family:var(--font-sans);font-size:13px;fill:var(--ink-dim)}.ill-flow{fill:none;stroke:var(--mascot-stroke);stroke-width:1.2;stroke-linecap:round;opacity:.45}.ill-pip{fill:var(--mute);opacity:.4}.ill-grid{fill:var(--hair-strong)}.hero-illus .mascot-stroke{stroke-width:2.8}.ill-text{font-family:var(--font-mono);font-size:13px;fill:var(--mute)}.ill-strong{fill:var(--ink)}.ill-small{font-size:12px}.ill-lg{font-size:14px}.illus.hero-illus{max-width:780px;margin-top:clamp(2.75rem,7vw,4rem);animation:rise .9s var(--ease) both;animation-delay:.22s}.ill-label{font-family:var(--font-sans);font-size:13px;fill:var(--mute);text-anchor:middle}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:.85rem;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.card-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}@media (max-width: 640px){.team-grid{grid-template-columns:1fr}}.team-card{padding:1.25rem 1.35rem;border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface-panel)}.team-card h3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .45rem}.team-card p{margin:0;color:var(--mute)}.badge{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.02em;padding:.2rem .55rem;border-radius:999px;background:var(--paper-3);color:var(--ink-dim);vertical-align:middle;white-space:nowrap}.badge--live{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.group-label{margin:2rem 0 0}.group-label+.team-grid{margin-top:.75rem}.team-cta{margin-top:1.5rem}.faq{margin-top:1.25rem;border-top:1px solid var(--hair)}.faq details{border-bottom:1px solid var(--hair)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;font-size:.98rem;font-weight:400;color:var(--ink);min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.2rem;line-height:1;color:var(--mute);flex-shrink:0}.faq details[open] summary:after{content:"–"}.faq details p{margin:0 0 1.15rem;color:var(--mute);max-width:none;text-align:left}footer.site-footer{padding:2.5rem 0 3.25rem;font-family:var(--font-sans);font-size:.82rem;color:var(--mute);border-top:1px solid var(--hair)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:baseline}.site-footer nav{display:flex;gap:1.15rem}.site-footer a{color:var(--ink-dim);text-decoration:none}.site-footer a:hover{color:var(--ink)}@media (min-width: 720px){.step{grid-template-columns:56px minmax(0,1fr);gap:1.25rem;padding:1.35rem 0}.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}}.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.2rem,5vw,3.2rem);margin:1.15rem 0 0;max-width:16ch}.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:1.45rem;margin-top:0;margin-bottom:1.25rem;scroll-margin-top:5rem;text-align:left}.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;margin-left:0;font-size:1rem;text-align:left}.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.2rem,5vw,3.2rem);margin:1.15rem 0 0;max-width:16ch}.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:400;text-transform:none;letter-spacing:-.03em;margin:0;line-height:1.15;color:var(--ink);text-align:left}.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:2.25rem;height:2.25rem;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink-dim);cursor:pointer;transition: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)}.mascot-mark{fill:var(--mascot-mark)}
