@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-800-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-800-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-800-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#58872a;--primary-soft:#79b247;--primary-deep:#3d5e1d;--on-primary:#ffffff;--brand-gradient:linear-gradient(135deg, #58872a 0%, #79b247 100%);--bg:#0a0f0a;--surface:#11171a;--surface-container-low:#131a16;--surface-container:#161e19;--surface-container-high:#1c2620;--surface-container-highest:#22302a;--bg-elevated:var(--surface-container-high);--border:#1f2a23;--border-strong:#2a3a30;--border-focus:var(--primary);--text:#e8efe9;--text-muted:#9aa8a0;--text-dim:#6a7872;--status-ok:#58872a;--status-warn:#e0b341;--status-err:#e05a3a;--status-unknown:#6a7872;--shape-xs:6px;--shape-sm:10px;--shape-md:14px;--shape-lg:20px;--shape-xl:28px;--shape-pill:9999px;--radius:var(--shape-sm);--radius-card:var(--shape-md);--ease-emphasized:cubic-bezier(0.2, 0, 0, 1);--ease-decelerated:cubic-bezier(0, 0, 0.2, 1);--ease-accelerated:cubic-bezier(0.3, 0, 1, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out:var(--ease-emphasized);--dur-short:120ms;--dur-medium:240ms;--dur-long:400ms;--t-fast:var(--dur-short) var(--ease-emphasized);--t-base:var(--dur-medium) var(--ease-emphasized);--t-spring:var(--dur-medium) var(--ease-spring);--state-hover:0.08;--state-focus:0.12;--state-pressed:0.16;--focus-ring-w:3px;--focus-ring:0 0 0 var(--focus-ring-w) rgba(88, 135, 42, 0.45);--elev-1:0 1px 2px rgba(0,0,0,0.18),0 1px 3px rgba(0,0,0,0.12);--elev-2:0 4px 8px rgba(0,0,0,0.24),0 1px 4px rgba(0,0,0,0.16);--elev-3:0 12px 28px rgba(0,0,0,0.32),0 4px 10px rgba(0,0,0,0.18);--header-h:64px;--font-body:'Nunito',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;color-scheme:dark}html.light{--bg:#f6f9f4;--surface:#ffffff;--surface-container-low:#f0f4ed;--surface-container:#e8efe4;--surface-container-high:#dfe7da;--surface-container-highest:#d4ddcd;--bg-elevated:var(--surface-container);--border:#d8e1d3;--border-strong:#b8c5b0;--text:#1a1f1b;--text-muted:#4a5b4f;--text-dim:#5a6b5f;--primary:#3d5e1d;--primary-soft:#58872a;--elev-1:0 1px 2px rgba(40,60,40,0.08),0 1px 3px rgba(40,60,40,0.06);--elev-2:0 4px 8px rgba(40,60,40,0.10),0 1px 4px rgba(40,60,40,0.06);--elev-3:0 12px 28px rgba(40,60,40,0.12),0 4px 10px rgba(40,60,40,0.08);color-scheme:light}html.theme-transition,html.theme-transition body{transition:background-color var(--dur-medium) var(--ease-emphasized),color var(--dur-medium) var(--ease-emphasized)}@layer reset,base,components,chrome; @layer reset{*{box-sizing:border-box}body,html{margin:0;padding:0}button,input,optgroup,select,textarea{font-family:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--primary);cursor:pointer}}[hidden]{display:none!important}@layer base{body{font-family:var(--font-body);font-size:16px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-soft);text-decoration:none}a:not(.btn):not(.pill):hover{color:var(--primary)}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:0;box-shadow:var(--focus-ring)}}@layer components{.ic{width:16px;height:16px;flex-shrink:0;stroke:currentColor;display:inline-block;vertical-align:middle}.ic-sm{width:14px;height:14px}.ic-lg{width:20px;height:20px}}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hdr{position:sticky;top:0;z-index:10;height:var(--header-h);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--border)}.hdr-inner{max-width:1200px;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.hdr-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:700;letter-spacing:.2px;text-decoration:none}.hdr-brand:hover{color:var(--text);text-decoration:none}.hdr-logo{width:28px;height:28px;display:block;flex-shrink:0}.hdr-title{font-size:16px}.hdr-title em{color:var(--text-muted);font-style:normal;font-weight:400}.hdr-sep{color:var(--text-dim);font-weight:400}.hdr-title-page{font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;margin:0;line-height:1.2}.hdr-actions{display:flex;align-items:center;gap:8px}.hdr-trigger{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--shape-pill,999px);background:var(--surface-container);color:var(--text);font:600 13px/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.hdr-trigger:hover{background:var(--surface-container-high);border-color:var(--primary)}.hdr-trigger:focus-visible{outline:0;box-shadow:var(--focus-ring)}.hdr-trigger:active{transform:scale(.97)}.hdr-trigger .ic{width:15px;height:15px;color:var(--text-muted)}.hdr-trigger>span{white-space:nowrap}.hdr-icon-btn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--border);border-radius:var(--shape-pill);color:var(--text-muted);cursor:pointer;overflow:hidden;isolation:isolate;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.hdr-icon-btn::before{content:'';position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--t-fast);z-index:-1}.hdr-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.hdr-icon-btn:hover::before{opacity:var(--state-hover)}.hdr-icon-btn:active{transform:scale(.92)}.hdr-icon-btn svg{width:18px;height:18px}.theme-icon{display:none}.theme-icon.theme-icon-active{display:inline-block}.bg-orbs::after,.bg-orbs::before{content:'';position:fixed;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.18;z-index:0}.bg-orbs::before{top:-10%;left:-10%;width:480px;height:480px;background:radial-gradient(closest-side,var(--primary-soft),transparent)}.bg-orbs::after{bottom:-10%;right:-10%;width:540px;height:540px;background:radial-gradient(closest-side,var(--primary),transparent)}@layer components{.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--shape-pill);font-family:var(--font-body);font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;overflow:hidden;transition:transform var(--t-fast),box-shadow var(--t-base),background var(--t-base);isolation:isolate;white-space:nowrap}.btn::before{content:'';position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--t-fast);pointer-events:none;z-index:-1}.btn:hover::before{opacity:var(--state-hover)}.btn:active::before{opacity:var(--state-pressed)}.btn:active{transform:scale(.97)}.btn:disabled,.btn[disabled]{opacity:.4;filter:saturate(.6);cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none}.btn:disabled::before,.btn[disabled]::before{opacity:0}.btn-primary{background:var(--brand-gradient);color:var(--on-primary);box-shadow:var(--elev-1)}.btn-primary:hover{box-shadow:var(--elev-2);transform:translateY(-1px)}.btn-secondary{background:var(--surface-container);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{border-color:var(--primary)}.btn-danger{background:var(--status-err);color:#fff;border:none;box-shadow:var(--elev-1)}.btn-danger:hover{box-shadow:var(--elev-2);transform:translateY(-1px)}}.card{background:var(--surface-container);border:1px solid var(--border);border-radius:var(--shape-md);padding:20px;transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-base)}.card:hover{border-color:var(--border-strong);box-shadow:0 0 40px rgba(88,135,42,.12),var(--elev-1);transform:translateY(-2px)}.input{width:100%;padding:11px 14px;background:var(--surface-container);border:1px solid var(--border);border-radius:var(--shape-sm);color:var(--text);font-family:var(--font-body);font-size:14px;outline:0;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.input:hover{border-color:var(--border-strong)}.input:focus,.input:focus-visible{border-color:var(--border-focus);box-shadow:var(--focus-ring);background:var(--surface-container-high)}.input:disabled,.input[disabled]{opacity:.45;cursor:not-allowed;background:var(--surface-container-low);color:var(--text-muted)}.input:invalid:not(:placeholder-shown):not(:focus){border-color:var(--status-err);box-shadow:0 0 0 1px color-mix(in srgb,var(--status-err) 30%,transparent)}.input::placeholder{color:var(--text-muted);opacity:.7}.pill{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--shape-pill);background:var(--surface-container);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;overflow:hidden;isolation:isolate;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.pill::before{content:'';position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--t-fast);pointer-events:none;z-index:-1}.pill:hover::before{opacity:var(--state-hover)}.pill:active{transform:scale(.96)}.pill:hover{color:var(--text);border-color:var(--border-strong)}.pill.active{background:var(--brand-gradient);color:var(--on-primary);border-color:transparent;box-shadow:var(--elev-1)}.pill.active::before{opacity:0}kbd{display:inline-block;padding:2px 6px;background:var(--surface-container-high);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--shape-xs);font-size:11px;color:var(--text-muted)}.os-select{position:relative;display:block;width:100%}.os-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:var(--surface-container);border:1px solid var(--border);border-radius:var(--shape-sm);color:var(--text);font-family:var(--font-body);font-size:14px;text-align:left;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.os-select-trigger:hover{border-color:var(--border-strong)}.os-select-trigger[aria-expanded=true]{border-color:var(--border-focus);box-shadow:var(--focus-ring);background:var(--surface-container-high)}.os-select-trigger:disabled,.os-select-trigger[disabled]{opacity:.45;cursor:not-allowed;background:var(--surface-container-low);color:var(--text-muted);pointer-events:none}.os-select-chevron{width:14px;height:14px;flex-shrink:0;color:var(--text-muted);transition:transform var(--t-base)}.os-select-trigger[aria-expanded=true] .os-select-chevron{transform:rotate(180deg)}.os-select-menu{position:fixed;margin:0;background:var(--surface-container-high);border:1px solid var(--border-strong);border-radius:var(--shape-md);box-shadow:var(--elev-3);padding:6px;max-height:min(600px,calc(100vh - 80px));overflow-y:auto;z-index:9999;transform-origin:top center;transform:scaleY(.94) translateY(-4px);opacity:0;transition:transform var(--dur-medium) var(--ease-spring),opacity var(--dur-short) var(--ease-emphasized)}.os-select-menu:popover-open{transform:scaleY(1) translateY(0);opacity:1}.os-select-menu::backdrop{background:0 0}::view-transition-new(root),::view-transition-old(root){animation-duration:var(--dur-medium);animation-timing-function:var(--ease-emphasized)}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{from{opacity:0}}.os-select-option{display:block;width:100%;padding:9px 12px;border-radius:var(--shape-xs);background:0 0;border:none;color:var(--text);font-family:var(--font-body);font-size:14px;text-align:left;cursor:pointer;transition:background var(--t-fast)}.os-select-option:hover,.os-select-option[data-active=true]{background:color-mix(in srgb,currentColor 8%,transparent)}.os-select-option[aria-selected=true]{color:var(--primary-soft);font-weight:700}.item-add:active{transform:scale(.98)}.osort-ghost{opacity:.4;background:rgba(88,135,42,.08)!important;border-style:dashed!important;border-color:var(--primary)!important}.osort-ghost>*{visibility:hidden}.osort-chosen{cursor:grabbing!important;box-shadow:var(--elev-3),0 0 0 1px var(--primary-soft)!important}.osort-cat-ghost{opacity:.35}.osort-cat-ghost>*{visibility:hidden}.osort-cat-chosen{cursor:grabbing}dialog{background:var(--surface-container-high);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--shape-xl);padding:0;box-shadow:var(--elev-3);max-width:min(520px,94vw);width:100%;opacity:0;transform:scale(.94);transition:opacity var(--dur-medium) var(--ease-emphasized),transform var(--dur-medium) var(--ease-spring),overlay var(--dur-medium) var(--ease-emphasized) allow-discrete,display var(--dur-medium) var(--ease-emphasized) allow-discrete}dialog[open]{opacity:1;transform:scale(1)}@starting-style{transform:scale(.94)}dialog[open]::backdrop{opacity:1}.dialog-body{padding:24px}.dialog-body h3{margin:0 0 18px;font-size:20px;font-weight:800;letter-spacing:-.3px}.dialog-body form{display:flex;flex-direction:column;gap:14px}.dialog-body label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted);font-weight:700;letter-spacing:.3px}.lbl-text{display:inline-flex;align-items:center;gap:6px}.lbl-req{color:var(--status-err);font-style:normal;font-weight:700}.lbl-opt{font-size:10px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.6px;padding:2px 6px;background:var(--surface-container);border-radius:var(--shape-pill)}.lbl-help{font-size:11px;color:var(--text-dim);font-weight:400;text-transform:none;letter-spacing:0;margin-top:2px}.lbl-help code{background:var(--surface-container);padding:1px 5px;border-radius:var(--shape-xs);font-size:11px}.dialog-body .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.confirm-msg{margin:0 0 20px;color:var(--text-muted);font-size:14px;line-height:1.5}.toast[hidden]{display:none}.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);padding:10px 18px 10px 14px;background:var(--surface-container-high);border:1px solid var(--border-strong);border-radius:var(--shape-pill);font-size:13px;font-weight:700;color:var(--text);box-shadow:var(--elev-3);z-index:200;display:inline-flex;align-items:center;gap:8px;animation:toast-in var(--dur-medium) var(--ease-spring)}.toast .ic{width:18px;height:18px}.toast[data-kind=ok]{border-color:var(--status-ok);color:var(--status-ok)}.toast[data-kind=warn]{border-color:var(--status-warn);color:var(--status-warn)}.toast[data-kind=err]{border-color:var(--status-err);color:var(--status-err)}@keyframes toast-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}.locale-switcher .ic{width:14px;height:14px}.locale-switcher-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:12px;background:var(--surface-container-high);color:var(--text);padding:10px 16px;border:1px solid var(--border-strong);border-radius:var(--shape-pill);font-size:13px;font-weight:700;text-decoration:none;z-index:1000;transition:top var(--t-fast)}.skip-link:focus,.skip-link:focus-visible{top:12px;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media (pointer:coarse){.btn,.cat-del,.hdr-icon-btn,.item-del,.item-edit,.pill{min-height:36px}}.hero h1{font-size:clamp(28px, 8vw, 44px);line-height:1.1}.page{padding-left:clamp(16px,4vw,24px)!important;padding-right:clamp(16px,4vw,24px)!important}@media (max-width:700px){.btn,.cat-del,.hdr-icon-btn,.item-del,.item-edit,.locale-switcher,.pill{min-height:36px}}@media (max-width:700px){.hdr-inner{padding:0 12px;gap:4px}.hdr-brand{padding:6px 4px}.hdr-title em{display:none}.hdr .pill kbd,.hdr .pill>span:not(.dirty-dot){display:none}.locale-switcher .ic{width:16px;height:16px}.cmdk-panel{top:8vh;max-height:80vh}dialog{max-width:calc(100vw - 24px)}.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.filters::-webkit-scrollbar{display:none}.filters .pill{font-size:11px;padding:7px 12px;flex-shrink:0}}@media (max-width:380px){.hdr-brand .hdr-title{display:none}.hdr-inner{gap:2px;padding:0 8px}}.locale-menu{display:flex;flex-direction:column;overflow:hidden}.locale-menu .locale-search{flex:0 0 auto;width:100%;box-sizing:border-box;margin-bottom:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--shape-xs);background:color-mix(in srgb,currentColor 6%,transparent);color:var(--text);font-family:var(--font-body);font-size:14px;outline:0}.locale-menu .locale-search:focus{border-color:var(--primary);box-shadow:none;outline:0}.locale-menu .locale-list{flex:1 1 auto;min-height:0;list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}.locale-menu .locale-list,.os-select-menu{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.locale-menu .locale-list::-webkit-scrollbar,.os-select-menu::-webkit-scrollbar{width:8px;height:8px}.locale-menu .locale-list::-webkit-scrollbar-track,.os-select-menu::-webkit-scrollbar-track{background:0 0}.locale-menu .locale-list::-webkit-scrollbar-thumb,.os-select-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.locale-menu .locale-list::-webkit-scrollbar-thumb:hover,.os-select-menu::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}.locale-menu .locale-option{display:flex;align-items:baseline;gap:0;padding:8px 12px;border-radius:var(--shape-xs);color:var(--text);font-size:14px;text-decoration:none;cursor:pointer;transition:background var(--t-fast)}.locale-menu .locale-option:focus-visible,.locale-menu .locale-option:hover{background:color-mix(in srgb,currentColor 10%,transparent);outline:0;box-shadow:none}.os-select-menu.locale-menu .locale-option.active,.os-select-menu.locale-menu .locale-option.active:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary-soft);font-weight:700}.locale-menu .locale-name{font-size:14px;white-space:nowrap}.locale-menu .locale-sub{opacity:.6;font-size:13px;white-space:nowrap}.locale-switcher .os-select-chevron{width:12px;height:12px;transition:transform var(--t-fast)}.locale-switcher[aria-expanded=true] .os-select-chevron{transform:rotate(180deg)}.nav-burger{display:none}.nav-drawer-menu .nav-drawer-option a{display:block;padding:12px 16px;color:var(--text);font-size:14px;font-weight:600;text-decoration:none}.nav-drawer-menu .nav-drawer-option a:hover{background:var(--surface-container-highest)}@media (max-width:1000px){.nav-burger{display:inline-flex;order:-1}}@media (max-width:700px){#cmdk-open kbd,#cmdk-open>span:not(.dirty-dot){display:none}#cmdk-open{padding:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.cmdk .cmdk-panel{top:0!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;transform:none!important;animation:cmdk-mobile-in var(--dur-medium) var(--ease-emphasized) forwards;overflow:hidden}.cmdk-foot,.cmdk-input-wrap kbd{display:none!important}.cmdk-input{font-size:16px}}.cmdk-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body.cmdk-open{overflow:hidden}@keyframes cmdk-mobile-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:color-mix(in srgb,var(--bg) 75%,transparent);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-top:1px solid var(--border);z-index:40;padding-bottom:env(safe-area-inset-bottom,0);view-transition-name:bottom-nav}::view-transition-group(bottom-nav){z-index:10}html[data-filter-dir]::view-transition-new(bottom-nav),html[data-filter-dir]::view-transition-old(bottom-nav){animation:none!important}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.2px;position:relative;padding:8px 4px;transition:color var(--t-fast)}.bottom-nav-item .ic{width:22px;height:22px;transition:transform var(--t-fast)}.bottom-nav-item:hover{color:var(--text)}.bottom-nav-item.is-active{color:var(--primary-soft)}.bottom-nav-item.is-active::before{content:'';position:absolute;top:0;left:50%;width:24px;height:3px;background:var(--brand-gradient);border-radius:0 0 3px 3px;transform:translateX(-50%)}.bottom-nav-item:active .ic{transform:scale(.9)}.bottom-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (max-width:1000px){.bottom-nav{display:flex}body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0))}body.editing .editbar{bottom:calc(72px + env(safe-area-inset-bottom,0))}}@keyframes osc-section-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.cat{animation:osc-section-in var(--dur-medium) var(--ease-emphasized) backwards}}.cmdk-input-wrap{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 8px 0 0}.cmdk-search-ic{width:18px;height:18px;margin-left:18px;margin-right:4px;color:var(--text-dim);flex-shrink:0}.cmdk-input{flex:1;border:none;outline:0;background:0 0;color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:500;padding:16px 8px;min-width:0}.cmdk-input::placeholder{color:var(--text-dim);font-weight:400}.cmdk-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--shape-pill);background:0 0;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast);flex-shrink:0}.cmdk-close:hover{color:var(--text);background:var(--surface-container-high)}.cmdk-close .ic{width:16px;height:16px}.cmdk-list .cmdk-row{display:grid;grid-template-columns:36px 1fr auto;grid-template-rows:auto auto;gap:0 12px;align-items:center;padding:8px 12px;margin:0 4px;cursor:pointer;border-radius:var(--shape-sm);transition:background var(--t-fast)}.cmdk-list .cmdk-row.active{background:color-mix(in srgb,currentColor 8%,transparent)}.cmdk-row-leading{grid-row:1/3;width:32px;height:32px;border-radius:8px;background:var(--surface-container-high);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--primary-soft)}.cmdk-row-title{grid-column:2;grid-row:1;font-size:14px;font-weight:600;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-row-sub{grid-column:2;grid-row:2;font-family:var(--font-mono);color:var(--text-dim);font-size:11px;margin-top:2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-row-cat{grid-column:3;grid-row:1/3;font-size:10px;padding:2px 8px;background:var(--surface-container);border:1px solid var(--border);border-radius:var(--shape-pill);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}@media (max-width:700px){.cmdk .cmdk-panel{height:auto!important;max-height:90vh!important;top:5vh!important;left:12px!important;right:12px!important;width:auto!important;border-radius:var(--shape-lg)!important;bottom:auto!important}.cmdk-input-wrap{padding:0 4px 0 0}.cmdk-search-ic{margin-left:14px}.cmdk-input{padding:14px 8px}}.kbd-mac{display:none}html.is-mac .kbd-mac{display:inline}html.is-mac .kbd-win{display:none}html[data-filter-dir]::view-transition-new(root),html[data-filter-dir]::view-transition-old(root){animation:none!important}html[data-filter-dir=fade]::view-transition-new(filter-grid),html[data-filter-dir=fade]::view-transition-old(filter-grid){animation-duration:var(--dur-long)!important;animation-timing-function:var(--ease-emphasized)!important}@keyframes osc-slide-out-left{to{opacity:0;transform:translateX(-24px)}}@keyframes osc-slide-in-right{from{opacity:0;transform:translateX(24px)}}@keyframes osc-slide-out-right{to{opacity:0;transform:translateX(24px)}}@keyframes osc-slide-in-left{from{opacity:0;transform:translateX(-24px)}}html[data-filter-dir=left]::view-transition-old(filter-grid){animation:osc-slide-out-left var(--dur-long) var(--ease-emphasized) forwards!important}html[data-filter-dir=left]::view-transition-new(filter-grid){animation:osc-slide-in-right var(--dur-long) var(--ease-emphasized) forwards!important}html[data-filter-dir=right]::view-transition-old(filter-grid){animation:osc-slide-out-right var(--dur-long) var(--ease-emphasized) forwards!important}html[data-filter-dir=right]::view-transition-new(filter-grid){animation:osc-slide-in-left var(--dur-long) var(--ease-emphasized) forwards!important}.cmdk-input:focus,.cmdk-input:focus-visible{box-shadow:none;outline:0;border:none}dialog.cmdk{border:none;padding:0;margin:0;max-width:640px;width:92vw;max-height:70vh;background:var(--surface-container-high);color:var(--text);border-radius:var(--shape-lg);box-shadow:var(--elev-3);position:fixed;top:12vh;left:50%;transform:translateX(-50%);inset:12vh auto auto 50%}dialog.cmdk::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}dialog.cmdk .cmdk-panel{all:unset;display:flex;flex-direction:column;max-height:70vh}@media (max-width:700px){dialog.cmdk{top:5vh;left:12px;right:12px;transform:none;inset:5vh 12px auto 12px;width:auto;max-width:none;max-height:90vh}dialog.cmdk .cmdk-panel{max-height:90vh}}.site-footer{margin-top:96px;background:var(--surface-container-low);border-top:1px solid var(--border)}.site-footer-inner{max-width:1200px;margin:0 auto;padding:56px 24px 24px}.site-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.site-footer-brand{padding-right:24px}.site-footer-logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:18px;letter-spacing:.2px;text-decoration:none;margin-bottom:16px}.site-footer-mark{width:24px;height:24px;border-radius:6px;background:var(--brand-gradient);box-shadow:0 4px 12px rgba(88,135,42,.25)}.site-footer-tagline{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6;max-width:32ch}.site-footer-title{margin:0 0 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text)}.site-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.site-footer-col a{color:var(--text-muted);text-decoration:none;font-size:14px;transition:color var(--t-fast)}.site-footer-col a:hover{color:var(--text)}.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--border)}.site-footer-build,.site-footer-copy{margin:0;font-size:12px;color:var(--text-dim)}.site-footer-build code{font-family:var(--font-mono);background:var(--surface-container);border:1px solid var(--border);border-radius:var(--shape-xs);padding:2px 6px;color:var(--text-muted);font-size:11px}.site-footer-build-label{text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--text-dim)}@media (max-width:800px){.site-footer-inner{padding:40px 16px 20px}.site-footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px;margin-bottom:32px}.site-footer-brand{grid-column:1/-1;padding-right:0}}@media (max-width:480px){.site-footer-grid{grid-template-columns:1fr;gap:28px}.site-footer-bottom{flex-direction:column;align-items:flex-start}}.hdr-nav{display:flex;position:relative;gap:28px;align-items:center}.hdr-nav-link{position:relative;padding:8px 0;border-radius:0;background:0 0;font-size:14px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--t-fast)}.hdr-nav-link:hover{background:0 0;color:var(--text)}.hdr-nav-link.is-active{color:var(--text)}.hdr-nav-indicator{position:absolute;bottom:0;left:0;height:2px;width:0;background:var(--primary);border-radius:2px;transform:translateX(0);transition:transform var(--dur-medium) var(--ease-emphasized),width var(--dur-medium) var(--ease-emphasized),opacity var(--t-fast);pointer-events:none}.hdr-icon-btn{border:none;background:0 0;width:auto;height:auto;padding:8px;border-radius:var(--shape-pill)}.hdr-icon-btn::before{display:none}.hdr-icon-btn:hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:transparent}.hdr-actions .pill.locale-switcher{border:none;background:0 0;padding:8px 6px;font-weight:500;font-size:13px;color:var(--text-muted)}.hdr-actions .pill.locale-switcher:hover{color:var(--text);background:color-mix(in srgb,currentColor 8%,transparent)}.hdr-menu-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);cursor:pointer;border-radius:var(--shape-pill);padding:0}.hdr-menu-btn:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.hdr-menu-btn svg{width:22px;height:22px}body.drawer-open{overflow:hidden}.drawer{border:none;padding:0;background:var(--bg);width:min(380px,88vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;position:fixed;inset:0 0 0 auto;color:var(--text);box-shadow:-16px 0 48px rgba(0,0,0,.35);opacity:1;transform:translateX(0);transition:transform 320ms var(--ease-emphasized),opacity 240ms var(--ease-emphasized)}.drawer.is-closing,.drawer.is-opening{opacity:0;transform:translateX(100%)}.drawer::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background-color 320ms var(--ease-emphasized),backdrop-filter 320ms var(--ease-emphasized)}.drawer.is-closing::backdrop,.drawer.is-opening::backdrop{background-color:rgba(0,0,0,0);backdrop-filter:blur(0)}.drawer-inner{display:flex;flex-direction:column;height:100%;padding:12px 16px max(env(safe-area-inset-bottom,16px),16px);overflow-y:auto;overscroll-behavior:contain}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 16px;margin-bottom:8px;border-bottom:1px solid var(--border)}.drawer-close{background:0 0;border:none;color:var(--text-muted);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--shape-pill);cursor:pointer;margin-right:-8px}.drawer-close:hover{background:color-mix(in srgb,currentColor 8%,transparent);color:var(--text)}.drawer-close svg{width:22px;height:22px}.drawer-nav{display:flex;flex-direction:column;gap:2px;flex:1;padding:12px 0}.drawer-nav-link{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;color:var(--text-muted);font-size:15px;font-weight:500;border-radius:var(--shape-sm);transition:color var(--t-fast),background var(--t-fast)}.drawer-nav-link:hover{color:var(--text);background:color-mix(in srgb,currentColor 6%,transparent)}.drawer-nav-link.is-active{color:var(--text);background:color-mix(in srgb,var(--primary) 10%,transparent)}.drawer-nav-link.is-active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--primary);border-radius:0 3px 3px 0}.drawer-nav-link svg{width:20px;height:20px;flex-shrink:0;color:var(--text-dim)}.drawer-nav-link.is-active svg{color:var(--primary)}.drawer-section{margin-top:12px;padding-top:16px;border-top:1px solid var(--border)}.drawer-section-title{margin:0 12px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.drawer-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:0 0;border:none;border-radius:var(--shape-sm);text-align:left;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--text);cursor:pointer;transition:background var(--t-fast)}.drawer-row:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.drawer-row-ic{width:20px;height:20px;flex-shrink:0;color:var(--text-dim)}.drawer-row-label{flex:1}.drawer-row-value{color:var(--text-muted);font-size:14px}.drawer-row-chev{width:16px;height:16px;color:var(--text-dim);transition:transform var(--t-fast)}.drawer-row[aria-expanded=true] .drawer-row-chev{transform:rotate(180deg)}.drawer-sublist{list-style:none;margin:4px 0 8px;padding:4px 0;border-radius:var(--shape-sm);background:var(--surface-container-low);max-height:40vh;overflow-y:auto;overscroll-behavior:contain}.drawer-sublist[hidden]{display:none}.drawer-sublist li{display:block}.drawer-sublist .drawer-lang-opt{display:flex;align-items:center;gap:0;padding:12px 16px;font-size:14px;color:var(--text-muted);text-decoration:none;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.drawer-sublist .drawer-lang-opt:focus-visible,.drawer-sublist .drawer-lang-opt:hover{background:color-mix(in srgb,currentColor 8%,transparent);color:var(--text);outline:0;box-shadow:none}.drawer-sublist .drawer-lang-opt.active{color:var(--primary-soft);font-weight:600}.drawer-sublist .drawer-lang-name{white-space:nowrap}.drawer-sublist .drawer-lang-sub{opacity:.6;font-size:13px;white-space:nowrap}.drawer-sublist .drawer-lang-opt.active::after{margin-left:auto;content:'';width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat}.drawer-head .hdr-brand:focus,.drawer-head .hdr-brand:focus-visible{box-shadow:none;outline:0}.hdr-menu-btn .ic-menu,.hdr-menu-btn .ic-x{transition:opacity var(--t-fast),transform var(--t-fast)}.hdr-menu-btn .ic-x{display:none}body.drawer-open .hdr-menu-btn .ic-menu{display:none}body.drawer-open .hdr-menu-btn .ic-x{display:inline-block}@media (max-width:1000px){.hdr-nav-link{display:none}.hdr-menu-btn{display:inline-flex}.hdr-actions #locale-switcher-mount,.hdr-actions #theme-toggle{display:none}.bottom-nav{display:none!important}body{padding-bottom:0!important}}.os-tip{position:fixed;margin:0;padding:9px 13px;background:var(--surface-container-high);border:1px solid var(--border-strong);border-radius:var(--shape-sm);box-shadow:var(--elev-2);color:var(--text);font-family:var(--font-body);font-size:12.5px;line-height:1.45;max-width:320px;pointer-events:none;z-index:9999;opacity:0;transform:scale(.96);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-spring);overflow:visible}.os-tip:popover-open{opacity:1;transform:scale(1)}.os-tip-title{font-weight:600;color:var(--text);margin:0;white-space:normal;word-break:break-word}.os-tip-sub{display:block;margin-top:4px;padding-top:4px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text-dim);word-break:break-all}.os-tip::before{content:'';position:absolute;width:8px;height:8px;background:inherit;border:1px solid var(--border-strong);left:var(--tip-arrow-x,50%);margin-left:-5px;transform:rotate(45deg)}.os-tip[data-pos=below]::before{top:-5px;border-right:0;border-bottom:0}.os-tip[data-pos=above]::before{bottom:-5px;border-left:0;border-top:0}@media (hover:none){.os-tip{font-size:13px;max-width:88vw}}