@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./martian-mono-latin-400-normal-DZsjfPjH.woff2) format("woff2"),url(./martian-mono-latin-400-normal-DM4nBGIh.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./martian-mono-latin-ext-400-normal-CqsZQCXg.woff2) format("woff2"),url(./martian-mono-latin-ext-400-normal-CBFElp5P.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./martian-mono-latin-600-normal-BlUmYrg6.woff2) format("woff2"),url(./martian-mono-latin-600-normal-CDEEqth2.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./martian-mono-latin-ext-600-normal-B7SJLXMk.woff2) format("woff2"),url(./martian-mono-latin-ext-600-normal-DcTSv0-g.woff) format("woff")}:root{color-scheme:dark;--logo: #7fdcaa;--bg: #121a17;--bg-2: #18221e;--bg-3: #1f2b26;--border: #2a3832;--text: #e4ede8;--text-dim: #93a39b;--accent: #7fdcaa;--accent-2: #5fc491;--accent-soft: rgba(127, 220, 170, .14);--on-accent: #0c2a1c;--ok: #7fdcaa;--warn: #e8c170;--err: #ff7a6b;--info: #8fb7ff;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display: "Martian Mono", var(--mono);--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}:root[data-theme=light]{color-scheme:light;--logo: #1a7f55;--bg: #f5f8f6;--bg-2: #ffffff;--bg-3: #eaf0ec;--border: #d5dfda;--text: #14201b;--text-dim: #56665e;--accent: #1a7f55;--accent-2: #136143;--accent-soft: #ddf5e8;--on-accent: #ffffff;--ok: #1a7f55;--warn: #8a6300;--err: #c4382a;--info: #2f5fc4}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:13px/1.4 var(--font-body)}button,select,input{font:inherit;color:inherit}button{font-family:var(--font-display);font-weight:600;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap}button:hover{border-color:var(--text-dim)}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}button.danger{background:var(--err);border-color:var(--err);color:#1a0a08}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--bg-3)}button.icon{width:30px;padding:4px 0;font-family:var(--mono)}button.small{padding:1px 8px;font-size:12px}.dim{color:var(--text-dim)}.spacer{flex:1}kbd{font:11px var(--mono);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--bg-2)}code{font-family:var(--mono);font-size:12px;background:var(--bg-3);padding:1px 4px;border-radius:4px}.logo{color:var(--logo);flex:none}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:14px;margin-right:8px;color:inherit;text-decoration:none}.theme-toggle{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-color:var(--border)}.theme-toggle:hover{background:var(--bg-3)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .sun{display:none}:root[data-theme=light] .theme-toggle .moon{display:none}:root[data-theme=light] .theme-toggle .sun{display:block}.site{font:16px/1.6 var(--font-body)}.site h1,.site h2,.site h3{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0}.site a{color:var(--accent)}dialog{max-width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px);background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 22px 16px;line-height:1.55}dialog::backdrop{background:#00000080}dialog h2{margin:10px 0 4px;font-family:var(--font-display)}dialog h3{margin:14px 0 4px;font-size:13px;letter-spacing:.2px;color:var(--text-dim)}dialog ul,dialog ol{padding-left:20px;margin:4px 0}.dialog-actions{display:flex;justify-content:flex-end;margin-top:12px}.toast{position:fixed;left:50%;bottom:calc(40px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:8px;box-shadow:0 8px 24px #00000059;z-index:100;max-width:calc(100vw - 32px)}.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;font-family:var(--font-display);font-weight:600;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:7px 16px;color:var(--text)}.btn:hover{border-color:var(--text-dim)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.lg{padding:12px 24px;font-size:15px}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-3);border-color:transparent}.site-head{display:flex;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:20px 24px}.site-head .brand{font-size:16px}.site-head nav{display:flex;align-items:center;gap:20px}@media(max-width:480px){.site-head{gap:8px;padding:16px}.site-head nav{gap:10px}.site-head nav a:not(.btn){display:none}}.site-head nav a:not(.btn){color:var(--text-dim);text-decoration:none;font-size:14px}.site-head nav a:not(.btn):hover{color:var(--text)}.hero{max-width:1120px;margin:0 auto;padding:24px 24px 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.hero-copy h1{font-size:40px;max-width:14ch;margin-bottom:20px}.hero-copy p{color:var(--text-dim);max-width:46ch;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.hero-note{font-size:13px;color:var(--text-dim);max-width:46ch}.term{background:#0e1512;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 24px 60px -24px #00000080;font-family:var(--mono);font-size:13px;line-height:1.6}:root[data-theme=light] .term{box-shadow:0 24px 48px -24px #14281e40}.term-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#131c18;border-bottom:1px solid var(--border);color:#7f9089;font-size:12px}:root[data-theme=light] .term-bar{background:#0e1512}.term-body{padding:16px 18px 20px;color:#cfe0d7;min-height:220px;white-space:pre-wrap;word-break:break-word}.term-body .p{color:#7fdcaa}.term-body .err,.term-body .caret{color:#ff9c8f}.term-body .dim{color:#6d7d76}.term-body .cur{display:inline-block;width:7px;height:14px;background:#7fdcaa;vertical-align:-2px;animation:term-blink 1s step-end infinite}@keyframes term-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.term-body .cur{animation:none}}.tools{max-width:1120px;margin:0 auto;padding:0 24px 96px}.tools h2{font-size:20px;margin-bottom:4px}.tools .dim{margin:0 0 24px}.tool-list{border-top:1px solid var(--border)}.tool-row{display:grid;grid-template-columns:200px 1fr auto;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.tool-row.disabled{opacity:.55}a.tool-row:hover{background:var(--bg-2);margin:0 -16px;padding:20px 16px}.tool-name{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:15px}.tool-name .logo{width:16px;height:16px}.tool-row p{margin:0;color:var(--text-dim);max-width:60ch;font-size:14px}.pill{align-self:center;padding:3px 10px;border-radius:999px;font-size:12px;background:var(--bg-3);white-space:nowrap}.pill.approved{color:var(--ok);background:var(--accent-soft)}.pill.pending{color:var(--warn)}.pill.rejected,.pill.revoked{color:var(--err)}.site-foot{max-width:1120px;margin:0 auto;padding:24px 24px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);color:var(--text-dim);font-size:13px}.site-foot a{color:var(--text-dim)}.site-foot a:hover{color:var(--text)}.site-foot nav{display:flex;gap:16px}@media(max-width:860px){.hero{grid-template-columns:1fr;padding-bottom:56px}.hero-copy h1{font-size:32px;max-width:none}.tool-row{grid-template-columns:1fr;gap:6px}.pill{justify-self:start}}.auth-screen{min-height:100vh;display:flex;flex-direction:column}.auth-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.auth-top .btn{font-size:13px;padding:6px 12px}.auth-middle{flex:1;display:grid;place-items:center;padding:16px;gap:20px}.auth-card{width:min(400px,100%);background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:40px 32px;text-align:center}.auth-card h1{margin:18px 0 8px;font-size:24px}.auth-sub{color:var(--text-dim);margin:0}.auth-actions{display:flex;gap:8px;justify-content:center;margin-top:28px;flex-wrap:wrap}.auth-card .g-btn{display:inline-flex;align-items:center;gap:10px;width:100%;justify-content:center;padding:10px 16px}.auth-card .err{color:var(--err);margin-top:12px;min-height:1em;font-size:13px}.auth-card .ok{color:var(--ok);margin-top:4px;min-height:1em;font-size:13px}.auth-divider{display:flex;align-items:center;gap:10px;margin:24px 0 16px;color:var(--text-dim);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.auth-form{display:grid;gap:10px;text-align:left}.auth-form label{display:grid;gap:4px;font-size:13px;color:var(--text-dim)}.auth-form input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:14px var(--font-body)}.auth-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-form button[type=submit]{justify-self:stretch;padding:8px 10px;background:var(--bg-3)}button.linklike{background:none;border:none;padding:0;color:var(--accent);font-family:var(--font-body);font-weight:400;font-size:13px;justify-self:center;cursor:pointer}button.linklike:hover{text-decoration:underline}button.linklike:disabled{color:var(--text-dim);cursor:default;text-decoration:none}.pw-dialog{width:min(420px,calc(100vw - 32px))}.pw-dialog form{display:grid;gap:12px}.pw-dialog label{display:grid;gap:4px;font-size:13px;color:var(--text-dim)}.pw-dialog input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:inherit}.pw-dialog input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pw-dialog h2{margin:8px 0 0;font-size:18px}.pw-dialog p{margin:0;line-height:1.5}.pw-dialog .err,.pw-dialog .ok{min-height:1em;font-size:13px}.pw-dialog .err{color:var(--err)}.pw-dialog .ok{color:var(--ok)}.pw-dialog .dialog-actions{gap:8px;margin-top:0}.pw-dialog #pw-step-send,.pw-dialog #pw-step-set{display:grid;gap:10px}.pw-dialog #pw-resend{justify-self:start;margin-top:-4px}.auth-legal{max-width:340px;text-align:center;font-size:12px;line-height:1.6;margin:0}.auth-legal a{color:var(--text-dim);text-decoration:underline}.auth-legal a:hover{color:var(--text)}#user-menu{display:flex;align-items:center;gap:8px}#user-menu #user-email{color:var(--text-dim);font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#user-menu a{color:var(--accent);font-size:12px;text-decoration:none}.admin-page{max-width:1120px;margin:0 auto;padding:20px 24px;color:var(--text)}.admin-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-head .spacer{flex:1}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.admin-tabs button{border-radius:6px 6px 0 0}.admin-tabs button.active{background:var(--bg-3);border-bottom-color:var(--accent)}.admin-page table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:13px}.admin-page th,.admin-page td{text-align:left;padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-page th{color:var(--text-dim);font-weight:600}.admin-page td .row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-page .toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.admin-page input,.admin-page select{background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.admin-page pre{background:var(--bg-2);padding:10px;border-radius:6px;overflow:auto;max-height:50vh;font-family:var(--mono);font-size:12px}.admin-page .empty{color:var(--text-dim);padding:16px 0}.admin-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600}.doc{max-width:72ch;margin:0 auto;padding:40px 24px 80px}.doc h1{font-size:28px;margin-bottom:8px}.doc h2{font-size:17px;margin:32px 0 8px}.doc p,.doc li{color:var(--text);line-height:1.65}.doc .dim{font-size:13px}.doc>p:first-of-type{margin-top:20px}.doc-back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-dim);font-size:14px;margin-bottom:8px}.doc-back:hover{color:var(--text)}.doc-back .logo{width:18px;height:18px}
