:root{--bg:#f3f6f4;--surface:#ffffff;--line:#dbe4df;--fg:#14231c;--muted:#5d6e66;--accent:#0f6b4f;--accent-soft:#e2f1ea;--on-accent:#ffffff;--ok:#1d7a4a;--ok-soft:#e1f3e8;--warn:#9a5b00;--warn-soft:#fdf0d8;--bad:#b3261e;--bad-soft:#fbe4e2;--display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--body:"Figtree",ui-sans-serif,system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--r:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1714;--surface:#16211c;--line:#26352e;--fg:#e6efea;--muted:#94a69d;--accent:#4cc79a;--accent-soft:#173a2e;--on-accent:#06261a;--ok:#5fd394;--ok-soft:#173a26;--warn:#f0b357;--warn-soft:#3a2a10;--bad:#ff8a80;--bad-soft:#3d1a18;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1714;--surface:#16211c;--line:#26352e;--fg:#e6efea;--muted:#94a69d;--accent:#4cc79a;--accent-soft:#173a2e;--on-accent:#06261a;--ok:#5fd394;--ok-soft:#173a26;--warn:#f0b357;--warn-soft:#3a2a10;--bad:#ff8a80;--bad-soft:#3d1a18;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.5}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}nav.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:env(safe-area-inset-top,0px);height:100vh}.brand{font-family:var(--display);font-weight:700;font-size:19px;padding:4px 10px 16px;display:flex;align-items:center;gap:8px}.brand i{width:22px;height:22px;border-radius:6px;background:var(--accent);display:inline-grid;place-items:center;color:var(--on-accent);font-style:normal;font-size:15px}.navbtn{all:unset;cursor:pointer;padding:9px 12px;border-radius:8px;color:var(--muted);font-weight:500;display:flex;gap:10px;align-items:center}.navbtn:hover{background:var(--bg);color:var(--fg)}.navbtn[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.navbtn:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.navbtn svg{width:18px;height:18px;flex:none}.role{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.seg{display:flex;background:var(--bg);border-radius:8px;padding:3px}.seg button{all:unset;cursor:pointer;flex:1;text-align:center;padding:6px;border-radius:6px;font-weight:500;font-size:13px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #00000014}main{padding-block:28px 90px;padding-inline:clamp(16px,4vw,40px);min-width:0;max-width:1040px}.demo{display:inline-block;font-size:12px;color:var(--warn);background:var(--warn-soft);padding:3px 9px;border-radius:99px;margin-bottom:12px}h1{font-family:var(--display);font-size:clamp(24px,3.4vw,32px);margin:0 0 4px;text-wrap:balance;letter-spacing:-.01em}h2{font-family:var(--display);font-size:18px;margin:0 0 12px}.sub{color:var(--muted);margin:0 0 24px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}.label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.big{font-family:var(--display);font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.row:first-of-type{border-top:0}.row .t{min-width:0}.row .t b{display:block;font-weight:600}.row .t span{color:var(--muted);font-size:13px}.pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-new{background:var(--accent-soft);color:var(--accent)}.btn{all:unset;cursor:pointer;background:var(--accent);color:var(--on-accent);font-weight:600;padding:9px 16px;border-radius:8px;text-align:center;font-size:14px}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}.btn.small{padding:5px 12px;font-size:13px}.btn:hover{filter:brightness(1.08)}.clock{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.clock .time{font-family:var(--mono);font-size:40px;letter-spacing:-.02em}.bar{height:8px;background:var(--bg);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}form.req{display:grid;gap:12px;grid-template-columns:1fr 1fr}.auth{min-height:100vh;display:grid;place-items:center;padding-block:32px;padding-inline:16px}.authcard{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px}.authcard .brand{padding:0 0 18px}.stack{display:flex;flex-direction:column;gap:12px}.link{all:unset;cursor:pointer;color:var(--accent);font-size:14px;font-weight:500}.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint{font-size:13px;color:var(--muted);margin:12px 0 0}.rules{list-style:none;padding:0;margin:0;font-size:13px;display:grid;gap:4px;color:var(--muted)}.rules li:before{content:"○ "}.rules li.ok{color:var(--ok)}.rules li.ok:before{content:"● "}.note{background:var(--accent-soft);color:var(--fg);border-radius:8px;padding:10px 12px;font-size:14px;margin-top:12px}.mail{border:1px solid var(--line);border-radius:var(--r);margin-top:16px;overflow:hidden}.mail .hd{background:var(--bg);padding:10px 14px;font-size:13px;color:var(--muted);display:grid;gap:2px}.mail .hd b{color:var(--fg);font-weight:600}.mail .bd{padding:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:52ch}.btn:disabled{opacity:.45;cursor:not-allowed}.stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;font-size:13px}.stepper span{padding:5px 11px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-weight:500}.stepper .cur{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.stepper .done{color:var(--ok)}.signp{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:660px}.signp>*{max-width:100%}.signp p{margin:0}.docprev{max-height:300px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px;font-size:14px;width:100%}.docprev p{margin:0 0 10px}.chk{display:flex;gap:8px;align-items:center;font-weight:500;cursor:pointer}canvas#pad{width:100%;height:180px;touch-action:none;background:var(--bg);border:1px dashed var(--muted);border-radius:8px;cursor:crosshair}.evid{width:100%;border:1px solid var(--line);border-radius:8px;padding:14px}.ev{display:flex;justify-content:space-between;gap:4px 12px;padding:7px 0;font-size:14px;flex-wrap:wrap}.ev+.ev{border-top:1px solid var(--line)}.ev span{color:var(--muted)}.ev b{font-weight:600;min-width:0;overflow-wrap:anywhere;text-align:right}form.req label,.stack label,.stack-l{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);font-weight:500}form.req .full{grid-column:1/-1}input,select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:10px 18px;border-radius:8px;font-weight:500;font-size:14px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.drop{border:2px dashed var(--line);border-radius:var(--r);padding:22px;text-align:center;color:var(--muted)}.drop b{color:var(--fg)}.steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:13px}.steps span{background:var(--bg);padding:5px 10px;border-radius:6px}.mobile-nav{display:none}@media (max-width:760px){.shell{grid-template-columns:1fr}nav.side{display:none}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;z-index:5}.mobile-nav .navbtn{flex-direction:column;gap:2px;font-size:11px;padding:6px 4px}.topbar{display:flex!important}form.req{grid-template-columns:1fr}}.topbar{display:none;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}@media (prefers-reduced-motion:no-preference){.view{animation:in .25s ease}}@keyframes in{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}html,body{margin:0}body{-webkit-font-smoothing:antialiased}.err{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:10px 12px;font-size:14px}.search{width:100%;max-width:320px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}td select{padding:4px 6px;font-size:13px}.empty{color:var(--muted);padding:12px 0}.navlabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:14px 12px 4px}.sigpad{width:100%;height:200px;touch-action:none;background:#fff;border:1px dashed var(--muted);border-radius:8px;cursor:crosshair;display:block}.editp{border-color:var(--accent);margin-bottom:16px;scroll-margin-top:16px}.access{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}.access .row{border-top:0;padding:8px 0}.selrow td{background:var(--accent-soft)}.btn.danger{color:var(--bad);border-color:var(--bad)}input[aria-invalid]{border-color:var(--bad)}.demobar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;margin-bottom:16px}.demo-login{display:flex;flex-direction:column;gap:8px}
