:root{--paper:#fffaef;--ink:#17151a;--muted:#68616b;--outline:#17151a;--shadow:#17151a;--acid:#dfff4f;--danger:#ed4540;--danger-text:#b42318;--on-accent:#17151a;--mark-paper:#f4f1ea;--mark-ring:#bd3f35;--mark-pupil:#19202a}@media (prefers-color-scheme:dark){:root{--paper:#111014;--ink:#f4f1f7;--muted:#aaa3b0;--outline:#6a6372;--shadow:#070609;--danger-text:#ff8078}}body,html{background:var(--paper);color:var(--ink);height:100%;margin:0}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}#app-loading{align-items:center;background:radial-gradient(color-mix(in srgb,currentcolor 9%,transparent) 1.2px,transparent 1.3px) 0 0/22px 22px,var(--paper);box-sizing:border-box;display:flex;justify-content:center;min-height:100%;opacity:1;padding:24px;transition:opacity .35s ease}#app-loading.is-done{opacity:0;pointer-events:none}.loader-card{align-items:center;display:flex;flex-direction:column;max-width:360px;text-align:center;width:100%}.loader-eye{align-items:center;animation:loader-tilt 6s ease-in-out infinite;background:var(--mark-paper);border:3px solid var(--outline);box-shadow:8px 8px 0 var(--shadow);display:flex;height:132px;justify-content:center;margin-bottom:34px;width:132px}.loader-ring{align-items:center;animation:loader-blink 6s linear infinite;border:17px solid var(--mark-ring);border-radius:50%;box-sizing:border-box;display:flex;height:92px;justify-content:center;width:92px}.loader-pupil{animation:loader-glance 6s cubic-bezier(.6,0,.2,1) infinite;background:var(--mark-pupil);border-radius:50%;height:18px;width:18px}.loader-logo{align-items:center;display:inline-flex;font-size:3rem;font-weight:900;letter-spacing:-.06em;line-height:.9;margin:0}.loader-logo span{background:var(--acid);border:2px solid var(--on-accent);color:var(--on-accent);font-size:.54em;letter-spacing:0;line-height:1.15;margin-left:.19em;padding:.19em .31em}.loader-stages{display:flex;gap:8px;margin:24px 0 14px}.loader-stages span{border:2px solid var(--outline);height:12px;position:relative;width:12px}.loader-stages span::after{background:var(--acid);content:"";inset:0;opacity:0;position:absolute}#app-loading[data-stage="1"] .loader-stages span:first-child::after,#app-loading[data-stage="2"] .loader-stages span:nth-child(-n+2)::after{opacity:1}#app-loading:not([data-stage="1"],[data-stage="2"]) .loader-stages span:first-child::after,#app-loading[data-stage="1"] .loader-stages span:nth-child(2)::after,#app-loading[data-stage="2"] .loader-stages span:nth-child(3)::after{animation:loader-pulse 1s steps(1) infinite}.loader-status{color:var(--muted);display:grid;font-size:.85rem;font-weight:700;margin:0;min-height:1.4em}.loader-status .ph{grid-area:1/1;opacity:0;transition:opacity .2s ease}#app-loading:not([data-stage="1"],[data-stage="2"]) .loader-status .p1,#app-loading[data-stage="1"] .loader-status .p2,#app-loading[data-stage="2"] .loader-status .p3{opacity:1}#app-loading.has-error .loader-eye{animation:none;box-shadow:8px 8px 0 var(--danger)}#app-loading.has-error .loader-ring{animation:none;transform:scaleY(.1)}#app-loading.has-error .loader-pupil{animation:none}#app-loading.has-error:not([data-stage="1"],[data-stage="2"]) .loader-stages span:first-child::after,#app-loading.has-error[data-stage="1"] .loader-stages span:nth-child(2)::after,#app-loading.has-error[data-stage="2"] .loader-stages span:nth-child(3)::after{animation:none;background:var(--danger);opacity:1}#app-loading.has-error .loader-status{color:var(--danger-text);display:block;line-height:1.4}.loader-retry{background:var(--acid);border:2.5px solid var(--on-accent);box-shadow:4px 4px 0 var(--shadow);color:var(--on-accent);cursor:pointer;font:900 0.85rem/1 system-ui,sans-serif;letter-spacing:.06em;margin-top:18px;min-height:48px;padding:0 26px;text-transform:uppercase}.loader-retry:active{box-shadow:2px 2px 0 var(--shadow);transform:translate(2px,2px)}.loader-retry:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@keyframes loader-glance{0%,10%,100%,44%,54%,80%{transform:translate(0,0)}15%,26%{transform:translate(-14px,2px)}31%,40%{transform:translate(14px,2px)}59%,74%{transform:translate(0,15px)}}@keyframes loader-blink{0%,100%,47%,51%,87%,91%{transform:scaleY(1)}49%,89%{transform:scaleY(.08)}}@keyframes loader-tilt{0%,10%,100%,44%{transform:rotate(0)}15%,26%{transform:rotate(-3deg)}31%,40%{transform:rotate(3deg)}}@keyframes loader-pulse{0%{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){#app-loading,.loader-status .ph{transition:none}.loader-eye,.loader-pupil,.loader-ring{animation:none}#app-loading:not(.has-error) .loader-stages span:nth-child(n)::after{animation:none}#app-loading:not(.has-error,[data-stage="1"],[data-stage="2"]) .loader-stages span:first-child::after,#app-loading[data-stage="1"]:not(.has-error) .loader-stages span:nth-child(2)::after,#app-loading[data-stage="2"]:not(.has-error) .loader-stages span:nth-child(3)::after{opacity:.45}}