@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafafa;--surface:#fff;--subtle:#f4f4f5;--hover:#f0f0f1;--text:#18181b;--muted:#71717a;--faint:#a1a1aa;--line:#e8e8ea;--line-strong:#d4d4d8;--ink:#18181b;--on-ink:#fafafa;--accent:#1f7a5a;--accent-soft:#e7f3ee;--danger:#b4372f;--danger-soft:#fbeceb;--radius:8px;--radius-lg:12px;--ease:cubic-bezier(.16, 1, .3, 1);--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;font-family:var(--sans);font-feature-settings:"ss01", "cv11";color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111113;--surface:#18181b;--subtle:#1d1d21;--hover:#222226;--text:#ececee;--muted:#9a9aa3;--faint:#6b6b74;--line:#26262b;--line-strong:#34343a;--ink:#ececee;--on-ink:#18181b;--accent:#6cc4a0;--accent-soft:#17302a;--danger:#f1857c;--danger-soft:#3a1c1a}}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-height:100dvh;margin:0;font-size:14.5px;line-height:1.55}::selection{background:var(--accent-soft)}a{color:inherit;text-decoration:none}.link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}.link:hover{text-decoration-color:currentColor}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:1.375rem;font-weight:600;line-height:1.3}h2{letter-spacing:-.005em;font-size:.95rem;font-weight:600}code,kbd{font-family:var(--mono);font-size:.85em}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button,.button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);white-space:nowrap;cursor:pointer;height:2.25rem;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease), opacity .15s var(--ease);justify-content:center;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.9rem;font-weight:500;display:inline-flex}button:hover,.button:hover{background:var(--hover)}button:active:not(:disabled),.button:active{transform:scale(.98)}button:disabled{cursor:default;opacity:.5}button.primary,.button.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}button.primary:hover,.button.primary:hover{background:color-mix(in srgb, var(--ink) 86%, var(--bg))}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover{background:var(--hover);color:var(--text)}button.danger{color:var(--danger)}button.danger:hover{background:var(--danger-soft);border-color:#0000}button.icon{width:2.25rem;padding:0}button.small{height:1.875rem;padding:0 .65rem;font-size:.84rem}input:not([type=checkbox]),select,textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-width:0;height:2.25rem;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:0 .75rem}textarea{resize:vertical;height:auto;padding:.6rem .75rem;line-height:1.55}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 6.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;padding-right:2rem}input::placeholder,textarea::placeholder{color:var(--faint)}input:not([type=checkbox]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox]{accent-color:var(--accent);width:.95rem;height:.95rem;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}label,.label{font-size:.86rem;font-weight:500;display:block}.field{gap:.4rem;display:grid}.hint{color:var(--muted);font-size:.8rem}.check{cursor:pointer;align-items:center;gap:.6rem;font-size:.9rem;font-weight:400;display:flex}.shell{max-width:1080px;margin:0 auto;padding:0 1.5rem}.header{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.header .shell{justify-content:space-between;align-items:center;gap:1.5rem;height:3.5rem;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.brand-mark{background:var(--ink);width:1.375rem;height:1.375rem;color:var(--on-ink);border-radius:6px;place-items:center;display:grid}.nav{align-items:center;gap:.15rem;display:flex}.nav a{color:var(--muted);transition:color .15s var(--ease), background-color .15s var(--ease);border-radius:6px;padding:.35rem .65rem;font-size:.9rem}.nav a:hover{color:var(--text);background:var(--hover)}.nav a[aria-current=page]{color:var(--text);font-weight:500}.nav{margin-left:auto}.sign-out{border-left:1px solid var(--line);border-radius:0;margin-left:.25rem;padding-left:.85rem}.sign-out:hover{background:0 0}.main{padding-top:2.25rem;padding-bottom:5rem}.narrow{max-width:640px}.page-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;display:flex}.page-head p{color:var(--muted);margin-top:.3rem}.muted{color:var(--muted)}.small{font-size:.84rem}.mono{font-family:var(--mono)}.tabular{font-variant-numeric:tabular-nums}.row{align-items:center;gap:.5rem;display:flex}.grow{flex:1;min-width:0}.stack{gap:1.25rem;display:grid}.break{overflow-wrap:anywhere}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:20;border-radius:var(--radius);background:var(--ink);color:var(--on-ink);padding:.5rem .75rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:.75rem}.alert{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .6rem .6rem .85rem;font-size:.88rem;display:flex}.alert button{border-color:color-mix(in srgb, currentColor 30%, transparent);height:1.875rem;color:inherit;background:0 0;font-size:.84rem}.chip{background:var(--subtle);height:1.5rem;color:var(--muted);white-space:nowrap;transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:999px;align-items:center;gap:.3rem;padding:0 .5rem;font-size:.78rem;font-weight:500;display:inline-flex}a.chip:hover{background:var(--hover);color:var(--text)}.dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot.pulse{animation:pulse 1.6s var(--ease) infinite}.empty{text-align:center;color:var(--muted);padding:4rem 1rem}.empty h2{color:var(--text);margin-bottom:.3rem}.skeleton{background:linear-gradient(90deg, var(--subtle) 0%, var(--hover) 50%, var(--subtle) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}.section{border-top:1px solid var(--line);padding:1.75rem 0}.section:first-of-type{border-top:0;padding-top:0}.fade-in{animation:fade-in .35s var(--ease) both}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.shell{padding:0 1rem}.main{padding-top:1.5rem}.header .shell{flex-wrap:wrap;gap:0;height:auto;padding-top:.6rem}.nav{scrollbar-width:none;order:3;width:100%;margin:.35rem -.5rem 0;padding-bottom:.35rem;overflow-x:auto}.nav a{padding:.35rem .5rem}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--text);border-radius:0}.sign-out{border-left:0;margin-left:auto}}.toast{z-index:30;background:var(--ink);color:var(--on-ink);border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.86rem;font-weight:500;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px -8px #00000040}.toast-enter-active,.toast-leave-active{transition:opacity .25s var(--ease), transform .25s var(--ease)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}
