@font-face{font-family:Figtree;src:url(../fonts/Figtree-Variable.woff2)format("woff2-variations");font-weight:300 900;font-style:normal;font-display:swap}:root{--navy-950:#010b22;--navy-900:#012156;--navy-800:#012a6f;--navy-700:#003f9c;--blue-600:#025fd8;--blue-500:#1e6fe8;--blue-400:#4a92ff;--blue-300:#82b4ff;--cyan-400:#35d6ff;--cyan-300:#7ce6ff;--amber-400:#ffb64a;--ink:#04081a;--ink-2:#060d24;--ink-3:#08122e;--hairline:#7aa5ff24;--hairline-strong:#7aa5ff47;--fg:#eaf1ff;--fg-muted:#a3b6dd;--fg-dim:#7186ae;--shell:min(1200px, 100% - 2.5rem);--shell-wide:min(1400px, 100% - 2.5rem);--r-sm:10px;--r-md:16px;--r-lg:24px;--r-xl:32px;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--ink);color:var(--fg);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);font-weight:400;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(60rem 40rem at 78% -10%,#025fd838,#0000 62%),radial-gradient(45rem 35rem at 4% 12%,#0121568c,#0000 60%),radial-gradient(70rem 50rem at 50% 118%,#35d6ff14,#0000 62%);position:fixed;inset:0}canvas,img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--blue-600);color:#fff}:focus-visible{outline:2px solid var(--cyan-400);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;font-weight:800;line-height:1.04}h1{font-size:clamp(2.6rem,1.5rem + 4.6vw,5rem)}h2{font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem)}h3{letter-spacing:-.025em;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}p{text-wrap:pretty}.lede{color:var(--fg-muted);max-width:62ch;font-size:clamp(1.075rem,1rem + .5vw,1.3rem);line-height:1.55}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--blue-300);align-items:center;gap:.6em;font-size:.75rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(90deg,transparent,var(--blue-400));width:1.75rem;height:1px}.grad{background:linear-gradient(100deg,var(--blue-400) 0,var(--cyan-300) 52%,var(--blue-300) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.muted{color:var(--fg-muted)}.dim{color:var(--fg-dim)}.shell{width:var(--shell);margin-inline:auto}.shell-wide{width:var(--shell-wide);margin-inline:auto}section{position:relative}.section{padding-block:clamp(4.5rem,3rem + 7vw,9rem)}.section-head{gap:1.1rem;max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem);display:grid}.rule{background:linear-gradient(90deg,transparent,var(--hairline-strong) 20%,var(--hairline-strong) 80%,transparent);border:0;height:1px}.card{border-radius:var(--r-lg);border:1px solid var(--hairline);transition:border-color .4s var(--ease-out),transform .4s var(--ease-out);background:linear-gradient(#0b183ac7,#050b1ec7);padding:clamp(1.5rem,1.2rem + .8vw,2rem);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000,#7ab4ff73,#0000);height:1px;position:absolute;inset:0 0 auto}.card:hover{border-color:var(--hairline-strong)}.card--lit:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-out);background:radial-gradient(22rem 22rem at var(--mx,50%) var(--my,50%),#4a92ff29,transparent 60%);position:absolute;inset:-1px}.card--lit:hover:after{opacity:1}.panel{border-radius:var(--r-xl);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#091432b3,#04091ab3)}.chip{border:1px solid var(--hairline);color:var(--blue-300);white-space:nowrap;background:#025fd81a;gap:.45rem;padding:.38rem .75rem;font-size:.8rem;font-weight:600}.btn,.chip{border-radius:999px;align-items:center;display:inline-flex}.btn{--btn-bg:transparent;border:1px solid var(--hairline-strong);background:var(--btn-bg);letter-spacing:-.01em;cursor:pointer;isolation:isolate;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out);justify-content:center;gap:.55rem;padding:.9rem 1.5rem;font-size:.95rem;font-weight:700;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{color:#fff;--btn-bg:linear-gradient(135deg, var(--blue-600), var(--navy-700) 55%, var(--blue-500));border-color:#0000;box-shadow:0 10px 30px -12px #025fd8cc,inset 0 1px #ffffff38}.btn-primary:hover{box-shadow:0 18px 40px -14px #025fd8f2,inset 0 1px #ffffff47}.btn-primary:after{content:"";z-index:-1;transition:transform .75s var(--ease-out);background:linear-gradient(110deg,#0000 25%,#ffffff4d 50%,#0000 75%);position:absolute;inset:0;transform:translate(-120%)}.btn-primary:hover:after{transform:translate(120%)}.btn-ghost{color:var(--fg);background:#7aa5ff0f}.btn-ghost:hover{border-color:var(--blue-400);background:#7aa5ff1c}.btn-lg{padding:1.05rem 1.85rem;font-size:1rem}.btn-arrow{transition:transform .3s var(--ease-out)}.btn:hover .btn-arrow{transform:translate(3px)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;border-radius:var(--r-sm);background:var(--blue-600);color:#fff;transition:transform .25s var(--ease-out);padding:.7rem 1.1rem;font-weight:700;position:absolute;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.section-alt{position:relative}.section-alt:before{content:"";pointer-events:none;background:linear-gradient(#0000,#01143673 18% 82%,#0000);position:absolute;inset:0}.section-alt>*{position:relative}.split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(2rem,1rem + 4vw,4.5rem);display:grid}.split>div{align-content:start;gap:1.25rem;display:grid}.split .btn{justify-self:start}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr))}.feature-grid,.trio{gap:1.1rem;display:grid}.trio{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin-top:clamp(2rem,1.5rem + 2vw,3rem)}.trio h3{margin-bottom:.55rem;font-size:1.05rem}.ticks{gap:.6rem;padding:0;list-style:none;display:grid}.ticks li{color:var(--fg-muted);align-items:flex-start;gap:.65rem;font-size:.95rem;display:flex}.ticks svg{color:var(--cyan-300);flex:none;margin-top:.2rem}.ticks strong{color:var(--fg);font-weight:700}@media (width<=1024px){.split{grid-template-columns:minmax(0,1fr)}.split-reverse>div:first-child{order:2}}.app-ui{--p-primary-color:#1b7bf0;--p-surface-0:#fff;--p-surface-50:#f8fafc;--p-surface-100:#f1f5f9;--p-surface-200:#e2e8f0;--p-surface-300:#cbd5e1;--p-surface-400:#94a3b8;--p-text-color:#334155;--p-text-muted-color:#64748b;--p-content-border-color:#e2e8f0;--p-amber-400:#fbbf24;--p-amber-600:#d97706;--p-amber-700:#b45309;--p-red-500:#ef4444;--p-green-500:#22c55e;--p-green-600:#16a34a;--p-orange-600:#ea580c;--p-rose-400:#fb7185;--p-rose-500:#f43f5e;--p-rose-600:#e11d48;--p-rose-700:#be123c;--p-purple-400:#a78bfa;--p-purple-500:#8b5cf6;color:var(--p-text-color);background:var(--p-surface-0);letter-spacing:normal;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.4}.app-ui .grid-scroll{border:1px solid var(--p-content-border-color);overscroll-behavior-x:contain;border-radius:6px;overflow:auto}.app-ui .grid{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem}.app-ui .grid td,.app-ui .grid th{border-bottom:1px solid var(--p-content-border-color);border-right:1px solid var(--p-content-border-color)}.app-ui .grid tr:last-child>*{border-bottom:0}.app-ui .grid tr>:last-child{border-right:0}.app-ui .name-col{background:var(--p-surface-0);text-align:left;z-index:2;min-width:11rem;padding:.4rem .6rem;position:sticky;left:0}.app-ui thead .name-col{background:var(--p-surface-100)}.app-ui .name-text{white-space:nowrap;font-size:.8rem;font-weight:600;display:block}.app-ui .name-row{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.app-ui .row-dots{color:var(--p-primary-color);padding:0 .2rem;font-weight:900;line-height:1}.app-ui .pattern{color:var(--p-text-muted-color);font-size:.72rem}.app-ui .pattern-row{margin-top:.1rem;display:block}.app-ui tbody .name-col.g-male{background:color-mix(in srgb,#60a5fa 10%,var(--p-surface-0))}.app-ui tbody .name-col.g-female{background:color-mix(in srgb,#f472b6 12%,var(--p-surface-0))}.app-ui .day-head{background:var(--p-surface-100);text-align:center;vertical-align:top;min-width:2.2rem;padding:.3rem .15rem}.app-ui .day-head.weekend{background:var(--p-surface-200)}.app-ui .day-head.sunday{background:color-mix(in srgb,var(--p-rose-400) 26%,var(--p-surface-100))}.app-ui .day-head.sunday .day-dow{color:var(--p-rose-600);font-weight:700}.app-ui .day-head.holiday{background:color-mix(in srgb,var(--p-purple-400) 24%,var(--p-surface-100))}.app-ui .day-head.locked{background:var(--p-surface-300)}.app-ui .day-num{font-weight:600;display:block}.app-ui .day-dow{color:var(--p-text-muted-color);font-size:.7rem;display:block}.app-ui .ph-badge{background:var(--p-purple-500);color:#fff;border-radius:3px;width:fit-content;margin:.1rem auto 0;padding:0 .2rem;font-size:.55rem;font-weight:700;line-height:1.2;display:block}.app-ui .cov-head{background:var(--p-surface-50);text-align:center;vertical-align:middle;padding:.1rem}.app-ui .cov-head.weekend{background:var(--p-surface-100)}.app-ui .cov-head.sunday{background:color-mix(in srgb,var(--p-rose-400) 16%,var(--p-surface-50))}.app-ui .cov-head.holiday{background:color-mix(in srgb,var(--p-purple-400) 18%,var(--p-surface-50))}.app-ui .cov-corner-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.app-ui .cov-corner-label{color:var(--p-text-muted-color);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:700}.app-ui .fake-select{border:1px solid var(--p-surface-300);color:var(--p-text-color);white-space:nowrap;border-radius:6px;align-items:center;gap:.6rem;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.app-ui .fake-select:after{border-bottom:1.5px solid var(--p-text-muted-color);border-right:1.5px solid var(--p-text-muted-color);content:"";width:.35rem;height:.35rem;transform:translateY(-2px)rotate(45deg)}.app-ui .cell{text-align:center;vertical-align:middle;min-width:2.2rem;height:2.6rem;padding:.1rem 0;position:relative}.app-ui .cell.weekend{background:var(--p-surface-50)}.app-ui .cell.weekend:where(.cls-worked){background-color:color-mix(in srgb,var(--p-primary-color) 15%,transparent)}.app-ui .cell.weekend:where(.cls-leave){background-color:color-mix(in srgb,var(--p-amber-400) 22%,transparent)}.app-ui .cell.sunday:where(.cls-worked){background-color:color-mix(in srgb,var(--p-rose-500) 32%,transparent)}.app-ui .cell.sunday:where(.cls-worked) .sym{color:var(--p-rose-700)}.app-ui .cell.sunday{background-image:linear-gradient(color-mix(in srgb,var(--p-rose-400) 10%,transparent),color-mix(in srgb,var(--p-rose-400) 10%,transparent))}.app-ui .cell.holiday{background-image:linear-gradient(color-mix(in srgb,var(--p-purple-400) 10%,transparent),color-mix(in srgb,var(--p-purple-400) 10%,transparent))}.app-ui .sym{font-weight:700;line-height:1.1;display:block}.app-ui .roster-sym{text-decoration:line-through}.app-ui .hours,.app-ui .roster-sym{color:var(--p-text-muted-color);font-size:.65rem;line-height:1;display:block}.app-ui .cls-worked{background:color-mix(in srgb,var(--p-primary-color) 22%,transparent)}.app-ui .cls-worked .sym{color:var(--p-primary-color)}.app-ui .cls-off .sym{color:var(--p-text-muted-color)}.app-ui .cls-leave{background:color-mix(in srgb,var(--p-amber-400) 28%,transparent)}.app-ui .cls-leave .sym{color:var(--p-amber-700)}.app-ui .cell .dot{top:2px;right:2px}.app-ui .cell .dot,.app-ui .cell.custom:before{background:var(--p-primary-color);border-radius:50%;width:.4rem;height:.4rem;position:absolute}.app-ui .cell.custom:before{content:"";bottom:2px;left:2px}.app-ui .cell.locked{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,color-mix(in srgb,var(--p-surface-400) 45%,transparent) 4px,color-mix(in srgb,var(--p-surface-400) 45%,transparent) 8px)}.app-ui .lock-icon{color:var(--p-text-muted-color);display:inline-flex;position:absolute;bottom:1px;right:2px}.app-ui .ot-badge,.app-ui .short-badge{color:#fff;border-radius:2px;padding:0 .15rem;font-size:.55rem;font-weight:700;line-height:1.2;position:absolute;top:1px}.app-ui .cell.badged{padding-top:.6rem}.app-ui .ot-badge{background:var(--p-green-600);right:1px}.app-ui .short-badge{background:var(--p-orange-600);left:1px}.app-ui .cov-slot{justify-content:center;align-items:center;gap:.12rem;min-height:1rem;padding:.05rem 0;line-height:1.1;display:flex}.app-ui .cov-tod{color:var(--p-text-muted-color);font-size:.55rem;font-weight:700}.app-ui .cov-num{font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:700}.app-ui .cov-ico{display:inline-flex}.app-ui .cov-female{color:var(--p-text-muted-color);font-size:.62rem;font-weight:700}.app-ui .cov-under .cov-ico,.app-ui .cov-under .cov-num{color:var(--p-amber-600)}.app-ui .cov-over .cov-ico,.app-ui .cov-over .cov-num{color:var(--p-red-500)}.app-ui .cov-ok .cov-ico{color:color-mix(in srgb,var(--p-green-500) 75%,transparent)}.app-ui .cov-grade{color:var(--p-amber-600);display:inline-flex}.app-ui .legend{flex-wrap:wrap;align-items:center;gap:.45rem 1rem;display:flex}.app-ui .legend-item{color:var(--p-text-muted-color);white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.app-ui .legend-sep{border-left:1px solid var(--p-content-border-color);align-self:stretch}.app-ui .swatch{border-radius:3px;width:.8rem;height:.8rem;display:inline-block}.app-ui .swatch.worked{background:var(--p-primary-color)}.app-ui .swatch.off{background:var(--p-surface-300)}.app-ui .swatch.leave{background:var(--p-amber-400)}.app-ui .swatch.custom{background:var(--p-surface-0);border:1px solid var(--p-primary-color);box-shadow:inset -3px 3px 0 -1px var(--p-primary-color)}.app-ui .swatch.locked{background:repeating-linear-gradient(45deg,var(--p-surface-300),var(--p-surface-300) 3px,var(--p-surface-100) 3px,var(--p-surface-100) 6px)}.app-ui .swatch.sun-sw{background:color-mix(in srgb,var(--p-rose-400) 30%,transparent);border:1px solid var(--p-rose-500)}.app-ui .swatch.ph-sw{background:color-mix(in srgb,var(--p-purple-400) 30%,transparent);border:1px solid var(--p-purple-500)}.app-ui .badge-sw{color:#fff;border-radius:3px;padding:0 .2rem;font-size:.62rem;font-weight:700;line-height:1.3}.app-ui .ot-sw{background:var(--p-green-600)}.app-ui .short-sw{background:var(--p-orange-600)}.app-ui .ico-under{color:var(--p-amber-600);display:inline-flex}.app-ui .ico-over{color:var(--p-red-500);display:inline-flex}.app-ui .ico-ok{color:var(--p-green-500);display:inline-flex}.app-tip{color:#fff;background:#3f3f46;border-radius:6px;width:fit-content;max-width:100%;padding:.4rem .6rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.75rem;line-height:1.35;position:relative}.app-tip:after{content:"";border:5px solid #0000;border-top-color:#3f3f46;position:absolute;top:100%;left:50%;transform:translate(-50%)}.field[data-v-979ad152]{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}canvas[data-v-979ad152]{width:100%;height:100%}.field-veil[data-v-979ad152]{background:radial-gradient(70% 60% at 20% 40%,#04081ac7,transparent 70%),linear-gradient(180deg,transparent 55%,var(--ink) 100%);position:absolute;inset:0}.err[data-v-81e3dd7e]{padding-block:clamp(5rem,4rem + 8vw,10rem);overflow:hidden}.err[data-v-81e3dd7e],.err-inner[data-v-81e3dd7e]{position:relative}.err-inner[data-v-81e3dd7e]{z-index:1;gap:1.3rem;max-width:44rem;display:grid}.err-cta[data-v-81e3dd7e]{flex-wrap:wrap;gap:.85rem;margin-top:.4rem;display:flex}
