@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.2yptelh8aqa_5.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0s9lyv6-dq8sg.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.0injkow7o_js7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.04ex7n90-6tif.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.1wlj3nn-4xnfp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2odd3csjijl0b.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root,[data-theme=dark]{--ink:#121212;--bone:#e4e3de;--stone:#8a8984;--paper:#f4f3ef;--lime:#d4f53c;--moss:#7f8a4a;--surface:#121212;--surface-raised:#1e1e1e;--text:#e4e3de;--text-muted:#8a8984;--text-moss:#7f8a4a;--border:#8a898459;--border-strong:#8a8984;--accent:#d4f53c;--on-accent:#121212;--focus-ring:#d4f53c;--danger:#ff8a7a;--danger-bg:#ff8a7a1f;--warn:#f2c76b;--warn-bg:#f2c76b1f}[data-theme=light]{--surface:#f4f3ef;--surface-raised:#e4e3de;--text:#121212;--text-muted:#5e5d59;--text-moss:#5c6633;--border:#12121226;--border-strong:#5e5d59;--focus-ring:#121212;--danger:#a3271b;--danger-bg:#a3271b14;--warn:#7a5410;--warn-bg:#7a541014}:root{--space-4:4px;--space-8:8px;--space-16:16px;--space-24:24px;--space-32:32px;--space-64:64px;--radius-ui:6px;--radius-pill:999px;--opacity-disabled:.4;--font-display:"VEUX Display","JetBrains Mono Variable","JetBrains Mono",ui-monospace,monospace;--font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--surface);color:var(--text);font:400 15px/26px var(--font-mono);-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin:0;font-weight:700}h1{font-size:28px;line-height:36px}h2{font-size:18px;line-height:28px}h3{font-size:15px;line-height:24px}p{margin:0}.label{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);font-size:12px;line-height:16px}.muted{color:var(--text-muted)}.mono-num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.topbar{align-items:center;gap:var(--space-16);padding:var(--space-16) 20px;border-bottom:1px solid var(--border);background:var(--surface);z-index:10;display:flex;position:sticky;top:0}.logo{font-family:var(--font-display);letter-spacing:0;white-space:nowrap;font-weight:700;text-decoration:none}.logo span{color:var(--text-muted);font-weight:400}.nav{gap:var(--space-4);flex:1;display:flex;overflow-x:auto}.nav a{padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap;font-size:13px;text-decoration:none}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{color:var(--text);background:var(--surface-raised)}main{padding:var(--space-32) 20px var(--space-64);width:100%;max-width:1240px;margin:0 auto}@media (min-width:900px){.topbar{padding:var(--space-16) 6vw}main{padding:var(--space-64) 6vw}}.page-head{gap:var(--space-16);margin-bottom:var(--space-32);flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.stack{gap:var(--space-32);display:grid}.stack-sm{gap:var(--space-16);display:grid}.grid-2{gap:var(--space-24);display:grid}@media (min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}.card{background:var(--surface-raised);border-radius:var(--radius-ui);padding:var(--space-24);border:1px solid #0000}.card-head{justify-content:space-between;align-items:center;gap:var(--space-16);margin-bottom:var(--space-16);display:flex}.stats{gap:var(--space-16);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface-raised);border-radius:var(--radius-ui);padding:var(--space-16) var(--space-24)}.stat strong{font-family:var(--font-display);font-size:28px;line-height:40px;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);padding:var(--space-8) var(--space-16) var(--space-8) 0;border-bottom:1px solid var(--border);white-space:nowrap;font-size:12px;font-weight:400}td{padding:var(--space-16) var(--space-16) var(--space-16) 0;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.row-link{font-weight:600;text-decoration:none}.row-link:hover{text-decoration:underline}.empty{color:var(--text-muted);padding:var(--space-16) 0}.list{gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid}.list>li{justify-content:space-between;gap:var(--space-16);padding:var(--space-16) 0;border-bottom:1px solid var(--border);display:flex}.list>li:last-child{border-bottom:0}dl.facts{gap:var(--space-8) var(--space-24);grid-template-columns:max-content 1fr;margin:0;display:grid}dl.facts dt{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);padding-top:1px;font-size:12px}dl.facts dd{overflow-wrap:anywhere;margin:0}.badge{align-items:center;gap:var(--space-4);padding:0 var(--space-8);border-radius:var(--radius-pill);border:1px solid var(--border-strong);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-size:12px;line-height:20px;display:inline-flex}.badge.overdue{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.badge.soon{color:var(--warn);border-color:var(--warn);background:var(--warn-bg)}.badge.ok{color:var(--text-moss);border-color:var(--text-moss)}.btn{justify-content:center;align-items:center;gap:var(--space-8);min-height:44px;padding:0 var(--space-24);border-radius:var(--radius-pill);font:600 13px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:1px solid var(--border-strong);color:var(--text);background:0 0;text-decoration:none;transition:filter .2s ease-out,background .2s ease-out;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{filter:brightness(.92)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-raised{background:var(--surface-raised);border-color:#0000}.btn-small{min-height:36px;padding:0 var(--space-16);font-size:12px}.btn-danger{color:var(--danger);border-color:var(--danger)}.link-arrow{text-underline-offset:4px;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:14px;text-decoration:underline}.link-arrow:after{content:" →"}form.form,.form-grid{gap:var(--space-16);display:grid}@media (min-width:700px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}.field{gap:var(--space-8);display:grid}.field>span{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);font-size:12px;line-height:16px}input,select,textarea{font:400 15px/24px var(--font-mono);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-ui);padding:9px var(--space-16);width:100%;min-height:44px}textarea{resize:vertical;min-height:96px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.code-input{letter-spacing:.4em;text-align:center;max-width:280px;font-size:28px}.form-actions{gap:var(--space-16);flex-wrap:wrap;align-items:center;display:flex}.error{color:var(--danger);font-size:14px}.notice{border:1px solid var(--border-strong);border-radius:var(--radius-ui);padding:var(--space-16);font-size:14px}details.add{border-top:1px solid var(--border);padding-top:var(--space-16);margin-top:var(--space-16)}details.add>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;align-items:center;min-height:44px;font-size:13px;list-style:none;display:flex}details.add>summary:before{content:"+ ";white-space:pre}details.add[open]>summary:before{content:"– "}details.add>summary::-webkit-details-marker{display:none}details.add>form{margin-top:var(--space-16)}.auth{min-height:100dvh;padding:var(--space-32) 20px;place-items:center;display:grid}.auth-card{gap:var(--space-24);width:100%;max-width:440px;display:grid}.qr{background:var(--paper);padding:var(--space-16);border-radius:var(--radius-ui);width:216px;height:216px}.secret{overflow-wrap:anywhere;background:var(--surface-raised);padding:var(--space-8) var(--space-16);border-radius:var(--radius-ui);font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.pre{white-space:pre-wrap}
