.btn{min-height:var(--tap);padding:0 var(--s5);border-radius:var(--radius-pill);border:var(--border);background:var(--surface);color:var(--ink-8);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);white-space:nowrap}.btn:hover:not(:disabled){background:var(--ink-1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-6);font-weight:500}.btn-quiet:hover:not(:disabled){background:var(--ink-1)}.btn-full{width:100%}.card{background:var(--surface);border:var(--border);border-radius:var(--radius-lg);margin-bottom:var(--s4)}.card-accent{border-color:var(--accent);border-width:2px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--card-pad);border-bottom:var(--border);background:var(--surface-sunken);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;flex-wrap:wrap}.card-title{font-size:var(--fs-lg);font-weight:var(--w-bold);letter-spacing:var(--track-tight);color:var(--ink-9)}.card-sub{margin:var(--s1) 0 0;font-size:var(--fs-sm);line-height:1.45;letter-spacing:var(--track-snug);color:var(--ink-6)}.card-accent>.card-head,.card-accent>.card-summary{background:var(--accent-soft)}.card-accent .card-title{color:var(--accent)}.card-actions{display:flex;gap:var(--s2);flex-wrap:wrap}.card-body{padding:var(--card-pad)}.group{border:none;border-top:var(--border);margin:0;padding:var(--s5) 0 0}.group:first-of-type{border-top:none;padding-top:0}.group-title{padding:0;font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5)}.group-note{margin:var(--s2) 0 0;font-size:var(--fs-sm);color:var(--ink-6);max-width:70ch}.group-fields{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s3)}.banner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s4);border-radius:var(--radius);border:none;margin-bottom:var(--s4);font-size:var(--fs-sm)}.banner-title{display:block;font-size:var(--fs-sm);font-weight:var(--w-bold);letter-spacing:var(--track-snug)}.banner-text{margin-top:var(--s1);color:var(--ink-7)}.banner-info{background:var(--accent-soft)}.banner-info .banner-title{color:var(--accent)}.banner-warn{background:var(--warn-soft)}.banner-warn .banner-title{color:var(--warn)}.banner-danger{background:var(--danger-soft)}.banner-danger .banner-title{color:var(--danger)}.banner-ok{background:var(--ok-soft)}.banner-ok .banner-title{color:var(--ok)}.banner-close{border:none;background:transparent;color:var(--ink-6);cursor:pointer;font-size:var(--fs-xs);text-decoration:underline;min-height:var(--tap);padding:0 var(--s2)}.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--ink-6)}.empty-title{margin:0;font-size:var(--fs-md);font-weight:var(--w-semi);color:var(--ink-7)}.empty-text{margin-top:var(--s2);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:var(--s1);padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:590;line-height:1.35;letter-spacing:var(--track-snug);white-space:nowrap;border:none}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.badge-grey{background:var(--ink-1);color:var(--ink-6)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.link-field{position:relative}.link-chosen{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--tap);padding:0 var(--s2) 0 var(--s3);border:var(--border);border-radius:var(--radius-sm);background:var(--surface)}.link-chosen-text{font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-change{border:none;background:transparent;color:var(--accent);font-size:var(--fs-sm);font-weight:var(--w-semi);text-decoration:underline;cursor:pointer;min-height:var(--tap);padding:0 var(--s2);flex-shrink:0}.link-pop{position:absolute;z-index:40;top:calc(100% + var(--s1));left:0;right:0;min-width:20rem;background:var(--surface);border:var(--border-strong);border-radius:var(--radius);box-shadow:0 12px 32px #0d121629;overflow:hidden}.link-list{margin:0;padding:var(--s1);list-style:none;max-height:24rem;overflow-y:auto}.link-option{display:block;width:100%;text-align:left;min-height:var(--tap);padding:var(--s2) var(--s3);border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.link-option.is-active{background:var(--accent-soft)}.link-option-main{display:flex;align-items:baseline;gap:var(--s2)}.link-option-label{font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-option-tag{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--w-bold);color:var(--ink-6);background:var(--ink-1);border:1px solid var(--ink-3);border-radius:var(--radius-pill);padding:0 var(--s2)}.link-option.is-active .link-option-tag{background:var(--surface);border-color:var(--accent);color:var(--accent)}.link-option-sub{display:block;font-size:var(--fs-xs);color:var(--ink-6);margin-top:1px}.link-empty{padding:var(--s4) var(--s3);color:var(--ink-6);font-size:var(--fs-sm);line-height:1.45}.link-foot{margin:0;padding:var(--s2) var(--s3);border-top:var(--border);background:var(--surface-sunken);font-size:var(--fs-xs);color:var(--ink-6)}.link-create{display:flex;align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:none;border-top:var(--border);background:var(--surface);color:var(--accent);font-size:var(--fs-sm);font-weight:var(--w-semi);text-align:left;cursor:pointer}.link-create:hover{background:var(--accent-soft)}.link-create-plus{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;border-radius:var(--radius-pill);background:var(--accent-soft);font-weight:var(--w-bold);line-height:1}.dialog{border:none;border-radius:var(--radius-xl);padding:var(--card-pad);max-width:34rem;width:calc(100vw - var(--s5) * 2);box-shadow:0 10px 40px #0003}.dialog::backdrop{background:#0d12168c}.dialog-title{font-size:var(--fs-lg);margin-bottom:var(--s3)}.dialog-body{font-size:var(--fs-sm);color:var(--ink-7);line-height:1.5}.dialog-body .banner{margin-bottom:var(--s4)}.dialog-body>p{margin:0 0 var(--s4)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s5)}.table-scroll{overflow-x:auto;margin:0 calc(var(--card-pad) * -1);padding:0 var(--card-pad)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.data th,table.data td{padding:var(--s2) var(--s3);border-bottom:var(--border);text-align:left;vertical-align:top}table.data tbody td{line-height:var(--control-h)}table.data tbody td>*{line-height:1.45}table.data tbody td .muted,table.data tbody td .sub{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--ink-5)}table.data th{font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5);background:var(--surface-sunken);position:sticky;top:0}table.data tfoot th{text-transform:none;letter-spacing:var(--track-snug);font-size:var(--fs-sm);color:var(--ink-9);background:var(--surface);border-top:var(--border-strong);position:static}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:hover{background:var(--ink-1)}table.data tr.is-clickable{cursor:pointer;position:relative}.rowopen{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;display:block;width:100%}.rowopen:after{content:"";position:absolute;inset:0}.rowopen:focus-visible{outline:none}.rowopen:focus-visible:after{outline:3px solid var(--accent);outline-offset:-3px}table.data tr.is-clickable td.row-act{position:relative;z-index:1}.card-fold>.card-summary{cursor:pointer;list-style:none;min-height:var(--tap);align-items:center}.card-fold>.card-summary::-webkit-details-marker{display:none}.card-fold>.card-summary:hover{background:var(--ink-1)}.card-fold[open]>.card-summary{border-bottom:var(--border)}.card-fold:not([open])>.card-summary{border-bottom:none}.card-summary-text{min-width:0}.card-summary-values{color:var(--ink-7);overflow-wrap:anywhere}.card-summary-values em{font-style:normal;color:var(--ink-5)}.card-toggle{flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;padding:0 var(--s4);border:none;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);color:var(--accent);background:var(--accent-soft);white-space:nowrap}.card-fold>.card-summary:hover .card-toggle{background:var(--accent);color:var(--accent-ink)}.card-fold:not([open]) .card-toggle-close,.card-fold[open] .card-toggle-open{display:none}.card-fold>.card-summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-lg)}.card-fold-sub{margin:0 0 var(--s4)}@media print{.card-fold:not([open])>.card-body{display:block}.card-toggle{display:none}}.card{margin-bottom:var(--s5)}.card-fold+.card-fold{margin-top:calc(var(--s5) * -1 + var(--s3))}.btn,.chip,.card-toggle,.lt-add,.lt-del{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-press) var(--ease-out)}.btn:active:not(:disabled),.chip:active,.lt-add:active,.lt-del:active{transform:scale(.97)}.card-fold>.card-summary:active .card-toggle{transform:scale(.97)}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}.card-fold::details-content{height:0;overflow:hidden;transition:height var(--dur-base) var(--ease-out),content-visibility var(--dur-base) var(--ease-out) allow-discrete}.card-fold[open]::details-content{height:auto}}.field-input,.field-row{transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.card-fold>.card-summary,.lt-row,.badge,.sidebar-item{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.link-options{transform-origin:top center;animation:rise var(--dur-quick) var(--ease-out)}.banner{animation:rise var(--dur-base) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog[open]{animation:dialog-in var(--dur-base) var(--ease-out)}.dialog[open]::backdrop{animation:backdrop-in var(--dur-base) var(--ease-out)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s4);padding-top:var(--s4);border-top:var(--border);flex-wrap:wrap}.pager-where{font-size:var(--fs-sm);color:var(--ink-6);font-variant-numeric:tabular-nums}.pager-pages{display:flex;align-items:center;gap:2px;margin-left:auto}.pager-page,.pager-step{min-width:2rem;height:2rem;padding:0 var(--s2);display:grid;place-items:center;border:none;border-radius:7px;background:transparent;color:var(--ink-7);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.pager-page:hover:not(:disabled),.pager-step:hover:not(:disabled){background:var(--ink-1);color:var(--ink-9)}.pager-page.is-current{background:var(--ink-9);color:#fff;font-weight:var(--w-semi)}.pager-step{font-size:var(--fs-lg);line-height:1;color:var(--ink-5)}.pager-page:disabled,.pager-step:disabled{opacity:.4;cursor:default}.pager-gap{padding:0 var(--s1);color:var(--ink-4)}@media(max-width:640px){.pager{justify-content:center}.pager-pages{margin-left:0}}.login{min-height:100vh;display:grid;place-items:center;padding:var(--s4);background:var(--surface-sunken)}.login-box{width:100%;max-width:26rem;background:var(--surface);border:var(--border);border-radius:var(--radius-lg);padding:var(--s6) var(--s5)}.login-brand{text-align:center;margin-bottom:var(--s5)}.login-mark{display:block;font-size:var(--fs-2xl);font-weight:var(--w-bold);letter-spacing:-.02em;color:var(--accent)}.login-tag{display:block;margin-top:var(--s1);font-size:var(--fs-sm);color:var(--ink-6)}.login-langs{display:flex;gap:var(--s1);margin-bottom:var(--s5);background:var(--surface-sunken);padding:var(--s1);border-radius:var(--radius-sm)}.login-lang{flex:1;min-height:var(--tap);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-6);font-size:var(--fs-sm);font-weight:var(--w-semi);cursor:pointer}.login-lang.is-active{background:var(--surface);color:var(--ink-9);box-shadow:0 1px 2px #0000001f}.login-label{display:block;font-size:var(--fs-sm);font-weight:var(--w-semi);margin-bottom:var(--s1)}.login-input{width:100%;min-height:var(--tap);padding:0 var(--s3);border:var(--border);border-radius:var(--radius-sm);margin-bottom:var(--s4);background:var(--surface)}.login-action{margin-top:var(--s2)}.login-help{margin:var(--s5) 0 0;font-size:var(--fs-xs);color:var(--ink-5);line-height:1.5}.login-logo{display:block;margin:0 auto var(--s3);width:64px;height:64px;object-fit:contain}.sidebar{--sidebar-w: 264px;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s4) var(--s4) var(--s3)}.sidebar-brand{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-lg);font-weight:var(--w-bold);letter-spacing:-.01em;color:var(--accent);line-height:1.1}.sidebar-brand small{display:block;font-size:var(--fs-xs);font-weight:500;letter-spacing:0;color:var(--ink-5);margin-top:2px}.sidebar-brand-logo{width:34px;height:34px;flex-shrink:0;object-fit:contain}.sidebar-close{display:none;align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s2);border:none;background:transparent;color:var(--ink-6);font-size:var(--fs-xs);font-weight:var(--w-semi);cursor:pointer;border-radius:var(--radius-sm)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--s2) var(--s3)}.sidebar-section+.sidebar-section{margin-top:var(--s5)}.sidebar-section-title{font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5);padding:0 var(--s3) var(--s2)}.sidebar-item{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:52px;padding:var(--s2) var(--s3);margin-bottom:2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-7);text-align:left;cursor:pointer}.sidebar-item:hover{background:var(--ink-1)}.sidebar-item.is-active{background:var(--accent-soft);color:var(--accent)}.sidebar-item-icon{width:20px;height:20px;flex-shrink:0}.sidebar-item-text{min-width:0}.sidebar-item-label{display:block;font-size:var(--fs-sm);font-weight:var(--w-semi);line-height:1.25}.sidebar-item-hint{display:block;font-size:var(--fs-xs);color:var(--ink-5);line-height:1.3;margin-top:1px}.sidebar-item.is-active .sidebar-item-hint{color:var(--accent);opacity:.8}.sidebar-foot{border-top:var(--border);padding:var(--s3) var(--s3) var(--s4)}.sidebar-user{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:0;border-radius:var(--radius-sm);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;min-width:0}.sidebar-user:hover{background:var(--ink-1)}.sidebar-user-icon{width:18px;height:18px;flex:none;color:var(--ink-5)}.sidebar-user-text{min-width:0}.sidebar-user-name{display:block;font-size:var(--fs-sm);font-weight:var(--w-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{display:block;font-size:var(--fs-xs);color:var(--ink-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-signout{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:0 var(--s3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-6);font-size:var(--fs-sm);font-weight:var(--w-semi);cursor:pointer}.sidebar-signout:hover{background:var(--ink-1);color:var(--danger)}.icon{width:18px;height:18px;flex-shrink:0}.sidebar-scrim{display:none}@media(max-width:900px){.sidebar{position:fixed;z-index:50;top:0;left:0;bottom:0;height:100dvh;transform:translate(-100%);visibility:hidden;transition:transform .18s ease-out,visibility .18s;border-right:var(--border-strong);width:min(88vw,300px);flex-basis:auto}.sidebar.is-open{transform:translate(0);visibility:visible}.sidebar-close{display:inline-flex}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:40;background:#0d121673}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar-langs{display:flex;gap:2px;padding:3px;margin-bottom:var(--s3);background:var(--surface-sunken);border-radius:var(--radius-pill)}.sidebar-lang{flex:1;min-width:0;padding:6px 4px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-6);font:inherit;font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.sidebar-lang:hover{color:var(--ink-9)}.sidebar-lang.is-active{background:var(--surface);color:var(--ink-9);font-weight:var(--w-semi);box-shadow:var(--shadow-sm)}.boot{min-height:100vh;display:grid;place-items:center;align-content:center;gap:var(--s4);background:var(--surface-sunken)}.boot-logo{width:72px;height:72px;object-fit:contain}.boot-mark{font-size:var(--fs-2xl);font-weight:var(--w-bold);color:var(--ink-3)}.app{min-height:100vh;display:flex;align-items:stretch}.content{flex:1;min-width:0;display:flex;flex-direction:column}.shell{padding-left:var(--page-pad);padding-right:var(--page-pad);width:100%}.mobilebar{display:none;align-items:center;gap:var(--s3);background:var(--surface);border-bottom:var(--border);position:sticky;top:0;z-index:25;padding:0 var(--page-pad);min-height:56px}.mobilebar-menu{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s3) 0 var(--s2);margin-left:calc(var(--s2) * -1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-7);font-size:var(--fs-sm);font-weight:var(--w-semi);cursor:pointer}.mobilebar-menu:hover{background:var(--ink-1)}.mobilebar-title{font-size:var(--fs-md);font-weight:var(--w-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.mobilebar{display:flex}}.main{padding:var(--s5) 0 var(--s7)}.panel{padding-left:var(--page-pad);padding-right:var(--page-pad);padding-bottom:calc(var(--tap) + var(--s6))}.row{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-start}.chips{display:inline-flex;gap:2px;flex-wrap:wrap;margin-bottom:var(--s4);padding:3px;background:var(--surface-sunken);border:var(--border);border-radius:var(--radius-pill)}.chip{min-height:36px;padding:0 var(--s4);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-6);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);cursor:pointer;white-space:nowrap}.chip:hover:not(.is-active){color:var(--ink-8)}.chip.is-active{background:var(--surface);color:var(--ink-9);box-shadow:0 1px 3px #0000001f}@media(max-width:640px){.chips{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}}.list-controls{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;align-items:flex-start;margin-bottom:var(--s4)}.list-search{min-width:16rem;flex:1;max-width:26rem}.muted{color:var(--ink-5);font-size:var(--fs-xs)}.is-bad{color:var(--danger)}.card-sub,.group-note,.banner-text,.empty-text,.field-hint,.field-error,.lt-foot-note,.hgroup-note,.login-help{max-width:var(--prose-max)}@keyframes slide-forward{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes slide-back{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}.main .panel{animation:slide-forward var(--dur-base) var(--ease-out)}.main.is-back .panel{animation-name:slide-back}.main .panel{will-change:transform,opacity}@media(max-width:900px){.sidebar{transition:transform var(--dur-drawer) var(--ease-drawer)!important}}.chips{position:relative}.chip-pill{position:absolute;top:3px;left:0;bottom:3px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 1px 3px #0000001f;transition:transform var(--dur-base) var(--ease-in-out),width var(--dur-base) var(--ease-in-out);pointer-events:none}.chip.is-active{background:transparent;box-shadow:none}.chip{position:relative;z-index:1}:root{--ink-1: #f7f8f9;--ink-2: #e6e9ec;--ink-3: #c8ced5;--ink-4: #9aa4b0;--ink-5: #6b7683;--ink-6: #4a5560;--ink-7: #333c46;--ink-8: #1f262d;--ink-9: #0d1216;--surface: #ffffff;--surface-sunken: #f4f6f8;--surface-raised: #ffffff;--accent: #0b5cd5;--accent-ink: #ffffff;--accent-soft: #e7f0fd;--warn: #9a5b00;--warn-soft: #fff4e0;--danger: #a8231b;--danger-soft: #fdecea;--ok: #16653d;--ok-soft: #e6f4ec;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--radius-sm: 12px;--radius: 16px;--radius-lg: 20px;--radius-xl: 26px;--radius-pill: 999px;--page-pad: 20px;--prose-max: 82ch;--card-pad: 24px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-xs: 13px;--fs-sm: 15px;--fs-md: 17px;--fs-lg: 21px;--fs-xl: 28px;--fs-2xl: 34px;--track-tight: -.021em;--track-snug: -.01em;--track-wide: .06em;--w-semi: 590;--w-bold: 680;--tap: 44px;--control-h: 38px;--control-h-sm: 30px;--border: 1px solid var(--ink-3);--border-strong: 2px solid var(--ink-5);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-press: .12s;--dur-quick: .18s;--dur-base: .24s;--dur-drawer: .32s}@media(prefers-reduced-motion:reduce){:root{--dur-press: 1ms;--dur-quick: 1ms;--dur-base: 1ms;--dur-drawer: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font);font-size:var(--fs-md);color:var(--ink-9);background:var(--surface-sunken);-webkit-text-size-adjust:100%}.num{font-variant-numeric:tabular-nums;text-align:right}.mono{font-family:var(--font-mono)}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:var(--track-tight);font-weight:var(--w-bold);color:var(--ink-9);text-wrap:balance}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md);letter-spacing:var(--track-snug)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:640px){:root{--page-pad: 14px;--card-pad: 16px}}
