.app-root{--n1:#fff;--n2:#f5f8fc;--n3:#ebf0f7;--n4:#e0e8f2;--n5:#d4deeb;--n6:#c3d0e1;--n7:#7b8aa0;--n8:#5e6e85;--n9:#4a5a70;--n10:#3b4a5e;--n11:#2a3647;--n12:#0e1b2e;--ink:var(--n12);--ink-muted:var(--n9);--mist:var(--n2);--paper:var(--n1);--line:var(--n6);--route:#1e5bc6;--night:#0f2a5c;--progress:#6d4aff;--verified:#0f7a55;--amber:#9a5b00;--route-soft:#e8eefb;--night-soft:var(--n6);--progress-soft:#f0ecff;--verified-soft:#e4f3ec;--amber-soft:#fbf1e3;--score-high:#123e8c;--score-good:#1e5bc6;--score-part:#5b8be0;--score-low:#94a3b8;--score-high-text:#123e8c;--score-good-text:#1e5bc6;--score-part-text:#2f63c0;--score-low-text:#4a5a70;--progress-text:#5b34d6;--switch-off:var(--n8);--background:var(--n2);--foreground:var(--ink);--card:var(--paper);--card-foreground:var(--ink);--popover:var(--paper);--popover-foreground:var(--ink);--primary:var(--route);--primary-foreground:#fff;--secondary:var(--n3);--secondary-foreground:var(--ink);--muted:var(--n3);--muted-foreground:var(--ink-muted);--accent:#d0e0f8;--accent-foreground:var(--score-high);--destructive:#b42318;--destructive-foreground:#fff;--border:var(--n6);--input:var(--n7);--ring:var(--route);--hover:var(--n4);--selected:var(--n5);--border-strong:var(--n8);--on-night-bg:#ffffff1f;--on-night-border:#fff6;--radius:10px;--chart-1:var(--route);--chart-2:var(--progress);--chart-3:var(--verified);--chart-4:var(--score-part);--chart-5:var(--amber);--sidebar:var(--paper);--sidebar-foreground:var(--ink);--sidebar-primary:var(--route);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--route-soft);--sidebar-accent-foreground:var(--score-high);--sidebar-border:var(--line);--sidebar-ring:var(--route);--font-ui:var(--font-app);--font-mono:var(--font-app);--tabbar-h:60px;--shadow-overlay:0 16px 40px #0e1b2e24}@layer base{.app-root{font-family:var(--font-app);font-variant-numeric:tabular-nums;background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;text-wrap:pretty;font-size:15px;font-weight:400;line-height:1.6}.app-root *,.app-root :before,.app-root :after{border-color:var(--border)}.app-root h1{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.25}.app-root h2{letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.35}.app-root h3{font-size:16px;font-weight:600;line-height:1.4}.app-root :where(h1,h2,h3,h4){padding-block-start:.04em}.app-root :where(h1,h2,h3){text-wrap-style:balance}.app-root :where(p,li,dd,figcaption,label){text-wrap-style:pretty}.app-root .job-body{max-width:72ch;color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.65}.app-root .job-body>:first-child{margin-top:0}.app-root .job-body>:last-child{margin-bottom:0}.app-root .job-body :where(p){margin:0 0 .75em}.app-root .job-body :where(h3,h4){letter-spacing:0;margin:1.5em 0 .5em;font-size:16px;font-weight:600;line-height:1.4}.app-root .job-body :where(h4){font-size:15px}.app-root .job-body :where(ul,ol){margin:0 0 .75em;padding-left:1.4em}.app-root .job-body :where(ul){list-style:outside}.app-root .job-body :where(ol){list-style:decimal}.app-root .job-body :where(li){margin:.25em 0;padding-left:.2em}.app-root .job-body :where(li>ul,li>ol){margin:.25em 0 0}.app-root .job-body :where(li)::marker{color:var(--muted-foreground)}.app-root .job-body :where(strong){font-weight:600}.app-root main:not(:has(>[data-slot=page-shell])){width:100%;padding-block-start:24px;padding-inline:16px}@media (min-width:1024px){.app-root main:not(:has(>[data-slot=page-shell])){padding-inline:32px}}}.app-root :focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:none}.app-root [data-slot=select-item]:focus-visible{outline:none}.app-root nav a:has(>.nav-pending-dot[data-pending]){background:var(--accent);color:var(--primary);font-weight:600}.app-root{--toast-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px)}html:has(>body.app-root){scroll-padding-top:4rem;scroll-padding-bottom:calc(60px + env(safe-area-inset-bottom) + 8px)}@media (min-width:64rem){html:has(>body.app-root){scroll-padding-bottom:0}.app-root{--toast-bottom:24px}}.app-root .truncate{line-height:1.45}.app-root .nav-pending-dot{opacity:0;visibility:hidden;background:currentColor;border-radius:999px;width:6px;height:6px;margin-inline-start:auto;display:inline-block}.app-root .nav-pending-dot[data-pending]{visibility:visible;animation:.16s .3s forwards nav-pending-in,1s ease-in-out .3s infinite nav-pending-pulse}.app-root .nav-pending-bar{z-index:60;background:var(--primary);width:100%;height:3px;box-shadow:0 1px 6px color-mix(in srgb, var(--primary) 55%, transparent);opacity:0;pointer-events:none;position:fixed;inset-block-start:0;inset-inline:0}.app-root .nav-pending-bar[data-pending]{animation:.16s .3s forwards nav-pending-in,1.2s ease-in-out .46s infinite nav-pending-pulse}@keyframes nav-pending-in{to{opacity:1}}@keyframes nav-pending-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.app-root .nav-pending-dot[data-pending],.app-root .nav-pending-bar[data-pending]{animation:1ms linear .3s forwards nav-pending-in}}@keyframes route-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.app-root .route-draw{transform-origin:0;animation:.6s cubic-bezier(.22,.61,.36,1) both route-draw}@keyframes route-pin{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.app-root .route-pin{animation:.24s cubic-bezier(.22,.61,.36,1) .52s both route-pin}@media (prefers-reduced-motion:reduce){.app-root .route-draw,.app-root .route-pin{opacity:1;animation:none;transform:none}}
