@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal.D4X5GqEv.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal.CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal.U01xdrZh.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal.CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal.BzFMHfZw.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;--bg:#fbf6ea;--surface:#fffdf8;--segment:#fffdf8;--bar:#fbf6eae0;--text:#1f2a44;--muted:#5b6275;--faint:#a7aab3;--separator:#1f2a4414;--border:#ece3d0;--fill:#f5eedf;--fill-strong:#e9dfca;--field-border:#8f8778;--yellow:#f2b51d;--red:#d8352a;--blue:#3f7fd0;--accent:#2f6dbd;--accent-hover:#2a64b0;--accent-soft:#e4edf9;--accent-text:#2a64b0;--on-accent:#fff;--coral:#d8352a;--coral-soft:#fbe5e1;--danger:#d8352a;--danger-text:#b02a21;--danger-soft:#fbe5e1;--ok:#5fa37d;--ok-text:#336b4c;--ok-soft:#e4f2e9;--warning:#f2b51d;--warning-text:#8a6205;--warning-soft:#fdf1d2;--holiday:#b9603f;--holiday-text:#9c4f32;--holiday-soft:#fdede4;--ink:#1f2a44;--ink-2:#2a3858;--on-ink:#fbf6ea;--on-ink-muted:#fbf6eabf;--glow-1:#3f7fd0;--glow-2:#d8352a;--on-ink-accent:#f2b51d;--control-h:50px;--tabbar-h:calc(64px + env(safe-area-inset-bottom));--header-h:calc(52px + env(safe-area-inset-top));--focus:var(--accent);--focus-on-ink:#f2b51d;--radius:20px;--radius-sm:14px;--shadow:0 1px 2px #1f2a440a, 0 4px 16px #1f2a440d;--shadow-lift:0 2px 6px #1f2a440d, 0 12px 28px #1f2a4414;--shadow-pop:0 4px 16px #1f2a441f, 0 1px 2px #1f2a440d;--shadow-accent:0 6px 18px #2f6dbd40;--ease-out:cubic-bezier(.22, 1, .36, 1);--font:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--serif:"Playfair Display Variable", "Playfair Display", Didot, "Bodoni 72", Georgia, serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px);scroll-padding-bottom:calc(var(--tabbar-h) + 12px);overflow-x:clip}::selection{background:color-mix(in srgb, var(--yellow) 45%, transparent);color:var(--text)}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;accent-color:var(--accent);margin:0;font-size:17px;line-height:1.55}main{max-width:1080px;padding:20px 16px calc(32px + var(--tabbar-h));margin:0 auto}h1,h2{font-family:var(--serif);font-style:italic}h1{letter-spacing:-.015em;margin:0 0 4px;font-size:1.75rem;font-weight:800;line-height:1.15}h2{letter-spacing:-.01em;margin:28px 0 10px;font-size:1.3rem;font-weight:700}h3{font-weight:750}a{color:var(--accent);font-weight:650;text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.list-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list-row{width:100%;min-height:54px;color:inherit;text-align:left;align-items:center;gap:14px;padding:11px 18px;transition:background-color .12s;display:flex;position:relative}.list-row+.list-row:before{content:"";border-top:1px solid var(--separator);position:absolute;top:0;left:18px;right:0}a.list-row:hover{background:var(--fill);text-decoration:none}a.list-row:active{background:var(--fill-strong)}.chevron{background:var(--faint);flex:none;width:8px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 1.5l5 5-5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 1.5l5 5-5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.avatar{background:var(--c,var(--accent-soft));width:34px;height:34px;color:var(--on-c,var(--text));letter-spacing:0;border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:750;display:grid}button,.btn{font:inherit;min-height:var(--control-h);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;gap:6px;max-width:100%;padding:8px 18px;font-weight:700;transition:background-color .15s,transform .1s,opacity .15s;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--fill);text-decoration:none}button:active:not(:disabled),.btn:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:default}button.primary,.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-accent);border-color:#0000}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--accent-hover)}button.danger{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 24%, transparent)}button.plain{color:var(--accent);background:0 0;border-color:#0000;padding-inline:8px}button.plain:hover:not(:disabled){background:var(--fill)}input,select,textarea{font:inherit;color:var(--text);background-color:var(--surface);border:1px solid var(--field-border);border-radius:var(--radius-sm);min-height:var(--control-h);padding:8px 12px;font-size:16px;transition:box-shadow .15s,background-color .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}input:disabled,select:disabled{background-color:var(--fill);border-color:var(--fill-strong);color:var(--muted)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:not([type=checkbox],[type=radio],[type=range]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input[type=range]{min-height:0;box-shadow:none;background-color:#0000;border:none;padding:0}input[type=range]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=color]{cursor:pointer;padding:3px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:7px}input[type=color]::-moz-color-swatch{border:none;border-radius:7px}input[type=checkbox]{appearance:none;cursor:pointer;vertical-align:middle;background-color:var(--field-border);background-image:radial-gradient(circle,#fff 10px,#0000001a 10.8px,#0000 12px);background-position:0 0;background-repeat:no-repeat;background-size:26px 26px;border:none;border-radius:999px;flex:none;width:44px;height:26px;min-height:0;margin:0;padding:0;transition:background-position .2s,background-color .2s}input[type=checkbox]:focus{background-color:var(--field-border);box-shadow:none}input[type=checkbox]:checked{background-color:var(--accent);background-position:18px 0}input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=checkbox]:disabled{opacity:.5;cursor:default}label{color:var(--text);margin:0 0 6px 2px;font-size:.85rem;font-weight:700;display:block}.segmented{background:var(--fill);scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented>button,.segmented>a{min-width:0;min-height:44px;color:var(--muted);background:0 0;border:none;border-radius:999px;flex:auto;justify-content:center;align-items:center;padding:6px 14px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background-color .2s,box-shadow .2s;display:inline-flex}.segmented>button:hover:not(:disabled):not(.active),.segmented>a:hover:not(.active){color:var(--text);background:0 0}.segmented>button:active:not(:disabled){transform:none}.segmented>.active{background:var(--segment);color:var(--accent);box-shadow:var(--shadow-pop)}table{border-collapse:separate;border-spacing:0;width:100%}th,td{border:none;border-bottom:1px solid var(--separator);text-align:left;padding:9px 12px;font-size:.9rem}th{color:var(--muted);font-size:.82rem;font-weight:750}tbody tr:last-child td{border-bottom:none}.badge{letter-spacing:0;white-space:nowrap;background:var(--accent-soft);color:var(--accent-text);border-radius:999px;align-items:center;gap:4px;padding:4px 11px;font-size:.82rem;font-weight:750;display:inline-flex}.badge.published{background:var(--ok-soft);color:var(--ok-text)}.badge.running{background:var(--warning-soft);color:var(--warning-text)}.badge.failed{background:var(--danger-soft);color:var(--danger-text)}.badge.ready{background:var(--accent-soft);color:var(--accent-text)}.error-box,.ok-box,.warning-box{border-radius:var(--radius-sm);margin:12px 0;padding:12px 16px;font-size:.92rem;font-weight:650}.error-box{background:var(--danger-soft);color:var(--danger-text)}.ok-box{background:var(--ok-soft);color:var(--ok-text)}.warning-box{background:var(--warning-soft);color:var(--warning-text)}.spinner{vertical-align:-3px;border:2px solid;border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>label{margin:0}.grow{flex:1}.row:has(>.grow>h1){align-items:flex-end;margin-bottom:4px}.row>.grow:has(>h1){flex-basis:100%}.row>.grow>h1+p.muted:last-child{margin-bottom:2px}.sticky-actions{gap:10px;margin-top:16px;display:flex}.sticky-actions>button{flex:1}@media (width>=768px){:root{--control-h:40px;--tabbar-h:0px;--header-h:64px}body{font-size:16px}main{padding:28px 20px 88px}h1{font-size:2rem}button,.btn{padding:7px 18px}input,select,textarea{font-size:16px}.segmented>button,.segmented>a{flex:1 0 auto;min-height:34px;padding:5px 18px}.row>.grow:has(>h1){flex-basis:0%}.sticky-actions>button{flex:none}}.loading-hint{text-align:center;color:var(--muted);padding:40px 0}.eyebrow{background:var(--accent-soft);color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin:0 0 10px;padding:4px 12px;font-size:.82rem;font-weight:750;display:inline-flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ink-accent{color:var(--on-ink-accent)}.holiday-tag{background:var(--holiday-soft);color:var(--holiday-text);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.8rem;font-weight:750;display:inline-block}.school-tag{background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.8rem;font-weight:650;display:inline-block}.reveal{opacity:0;transform:translateY(32px)}.reveal.in{opacity:1;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:none}@media (prefers-reduced-motion:reduce){.reveal{transform:none}}@media print{:root{--bg:#fff;--surface:#fff;--text:#000;--muted:#444}body{background:#fff}.no-print,header.bar,nav.links{display:none!important}main{max-width:none;padding:0}.reveal{opacity:1;transform:none}}.member-only{display:none}html.member .member-only{display:block}html.member .visitor-only{display:none}.toasts.svelte-r9p0hk{top:calc(env(safe-area-inset-top) + 58px);z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:16px;right:16px}.toast.svelte-r9p0hk{pointer-events:auto;max-width:100%;min-height:44px;font:inherit;color:var(--text);background:var(--surface);box-shadow:var(--shadow-pop);animation:svelte-r9p0hk-toast-in .25s var(--ease-out);text-align:left;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:600;display:flex}.toast.sticky.svelte-r9p0hk{border-radius:var(--radius-sm);padding:6px 6px 6px 18px}.text.svelte-r9p0hk{min-width:0}.close.svelte-r9p0hk{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:none;flex:none;padding:0}.icon.svelte-r9p0hk{border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.toast.success.svelte-r9p0hk .icon:where(.svelte-r9p0hk){background:var(--ok-soft);color:var(--ok-text)}.toast.error.svelte-r9p0hk .icon:where(.svelte-r9p0hk){background:var(--danger-soft);color:var(--danger-text)}@keyframes svelte-r9p0hk-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast.svelte-r9p0hk{animation:none}}.backdrop.svelte-1yi2gi9{z-index:70;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 16px);background:#00000059;justify-content:center;align-items:flex-end;animation:.18s ease-out svelte-1yi2gi9-fade-in;display:flex;position:fixed;inset:0}.sheet.svelte-1yi2gi9{background:var(--surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-pop);padding:20px;animation:.22s ease-out svelte-1yi2gi9-sheet-in}h2.svelte-1yi2gi9{margin:0 0 8px;font-size:18px;font-weight:650}p.svelte-1yi2gi9{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.45}.actions.svelte-1yi2gi9{gap:10px;display:flex}.actions.svelte-1yi2gi9 .btn:where(.svelte-1yi2gi9){flex:1}.confirm.svelte-1yi2gi9{background:var(--accent);color:var(--on-accent)}.confirm.danger.svelte-1yi2gi9{background:var(--danger)}@keyframes svelte-1yi2gi9-fade-in{0%{opacity:0}}@keyframes svelte-1yi2gi9-sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (width>=768px){.backdrop.svelte-1yi2gi9{align-items:center}}.consent.svelte-1b4rsd0{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:90;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:560px;box-shadow:var(--shadow-pop);margin:0 auto;padding:10px 12px;font-size:.82rem;position:fixed}.consent.above-tabs.svelte-1b4rsd0{bottom:calc(var(--tabbar-h) + 8px)}p.svelte-1b4rsd0{margin:0 0 8px;line-height:1.4}.actions.svelte-1b4rsd0{gap:8px;display:flex}.actions.svelte-1b4rsd0 button:where(.svelte-1b4rsd0){flex:1;min-height:44px;padding-block:4px}@media (width>=768px){.consent.svelte-1b4rsd0{padding:14px 16px;font-size:.9rem;bottom:12px;left:12px;right:12px}p.svelte-1b4rsd0{margin-bottom:12px}}@media print{.consent.svelte-1b4rsd0{display:none}}.update-bar.svelte-12qhfyh{left:12px;right:12px;top:calc(env(safe-area-inset-top) + 8px);z-index:100;border:1px solid var(--border);background:var(--surface);max-width:560px;box-shadow:var(--shadow-pop);border-radius:999px;align-items:center;gap:12px;margin:0 auto;padding:8px 8px 8px 16px;font-size:.9rem;font-weight:600;display:flex;position:fixed}.update-bar.svelte-12qhfyh span:where(.svelte-12qhfyh){flex:1}.update-bar.svelte-12qhfyh button:where(.svelte-12qhfyh){flex:none;min-height:38px;padding:6px 16px}.bar.svelte-12qhfyh{z-index:50;padding-top:env(safe-area-inset-top);border-bottom:.5px solid var(--separator);position:sticky;top:0}.bar.svelte-12qhfyh:before{content:"";z-index:-1;background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);position:absolute;inset:0}.bar-inner.svelte-12qhfyh{align-items:center;gap:10px;max-width:1080px;height:52px;margin:0 auto;padding:0 14px;display:flex}.brand.svelte-12qhfyh{color:var(--text);letter-spacing:-.01em;align-items:center;gap:9px;font-size:1.15rem;font-weight:800;display:flex}.brand.svelte-12qhfyh:hover{text-decoration:none}.links.svelte-12qhfyh{z-index:60;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--separator);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.links.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--muted);letter-spacing:0;white-space:nowrap;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;align-items:center;gap:2px;padding:3px 0;font-size:.8rem;font-weight:700;transition:color .15s;display:flex}.links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{text-decoration:none}.links.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--accent);font-weight:800}.tab-icon.svelte-12qhfyh{border-radius:999px;place-items:center;width:44px;height:28px;transition:background-color .15s;display:grid}.links.svelte-12qhfyh a.active:where(.svelte-12qhfyh) .tab-icon:where(.svelte-12qhfyh){background:var(--accent-soft)}.account-menu.svelte-12qhfyh{position:relative}.who.svelte-12qhfyh{background:0 0;border-color:#0000;gap:8px;min-height:0;padding:3px 10px 3px 3px;font-size:.92rem}.who.svelte-12qhfyh .avatar:where(.svelte-12qhfyh){width:32px;height:32px}.who-name.svelte-12qhfyh{display:none}.caret.svelte-12qhfyh{fill:none;width:10px;height:6px;stroke:var(--muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.menu.svelte-12qhfyh{z-index:70;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:230px;box-shadow:var(--shadow-pop);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-head.svelte-12qhfyh{border-bottom:1px solid var(--separator);flex-direction:column;gap:1px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.menu-head.svelte-12qhfyh .muted:where(.svelte-12qhfyh){font-size:.82rem}.menu-item.svelte-12qhfyh{width:100%;color:var(--danger-text);border-color:#0000;border-radius:8px;justify-content:flex-start}.menu-item.install.svelte-12qhfyh{color:var(--accent);font-weight:650}.console-link.svelte-12qhfyh{min-height:40px;color:var(--accent);align-items:center;padding:0 12px;font-weight:600;display:flex}.console-link.svelte-12qhfyh:hover{background:var(--fill);text-decoration:none}.menu-link.svelte-12qhfyh{color:var(--text);font-weight:500}.menu-credit.svelte-12qhfyh{border-top:1px solid var(--separator);color:var(--muted);margin:4px 0 0;padding:8px 10px 4px;font-size:.72rem;line-height:1.45}.menu-credit.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--muted)}@media (width>=768px){.bar-inner.svelte-12qhfyh{gap:18px;height:64px;padding:0 20px}.links.svelte-12qhfyh{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:999px;gap:2px;padding:4px;position:static}.links.svelte-12qhfyh a:where(.svelte-12qhfyh){border-radius:999px;flex-direction:row;flex:none;padding:6px 12px;font-size:.95rem;transition:color .15s,background-color .15s}.links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--text)}.links.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--on-accent);background:var(--accent);box-shadow:var(--shadow-accent)}.tab-icon.svelte-12qhfyh{display:none}.who-name.svelte-12qhfyh{display:inline}}
