/* One first-load moment: warm ink, true stroke order, no artificial delay. */
.startup-loader{--startup-ground:#242b1d;--startup-letter:#f2d4a8;--startup-secondary:#e0cfb5;position:fixed;inset:0;z-index:1000;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:100dvh;background:radial-gradient(ellipse at 95% 7%,#a56537a6 0%,#70452459 28%,transparent 65%),radial-gradient(ellipse at 0% 92%,#66734499 0%,#3845235c 35%,transparent 72%),linear-gradient(145deg,#3e482d 0%,#292e20 43%,#43311f 79%,#704326 100%);color:var(--startup-letter);opacity:1;transition:opacity 220ms ease-out;font-family:"Segoe UI","Microsoft YaHei UI","PingFang SC",system-ui,sans-serif}
.startup-loader[hidden]{display:none!important}
.startup-light{position:absolute;inset:-45% -70% 5% 18%;transform:rotate(-26deg);background:linear-gradient(90deg,transparent,#dec39709 42%,#dec39711 50%,transparent 72%);border-left:1px solid #dcc39d10;pointer-events:none}
.startup-composition{position:relative;text-align:center;width:min(82vw,480px);transform:translateY(4dvh);padding:24px 0;display:flex;flex-direction:column;align-items:center}
.startup-wordmark{display:block;width:clamp(240px,32vw,420px);max-width:100%;height:auto;overflow:visible;margin:0 auto 36px;filter:drop-shadow(0 10px 20px #080c0838)}
.startup-stroke-guide{fill:#dec79f;opacity:.055}
.startup-stroke{fill:none;stroke:var(--startup-letter);stroke-width:180;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:startup-write 125ms cubic-bezier(.25,.6,.3,1) var(--stroke-delay) both}
@keyframes startup-write{to{stroke-dashoffset:0}}
.startup-wordmark{animation:startup-cycle 4300ms linear infinite}
@keyframes startup-cycle{0%,84%{opacity:1}96%,100%{opacity:0}}
.startup-loader.is-restarting .startup-stroke{animation:none;stroke-dashoffset:1}
.startup-loader.is-paused .startup-wordmark{animation-play-state:paused}
.startup-loader[data-state="error"] .startup-wordmark{animation:none;opacity:1}
@media(prefers-reduced-motion:reduce){.startup-wordmark{animation:none;opacity:1}}
.startup-caption{display:flex;align-items:center;justify-content:center;gap:11px;min-height:28px;color:var(--startup-secondary);font-size:14px;line-height:1.7;letter-spacing:.06em}
.startup-caption p{margin:0;color:inherit}
.startup-pulse{display:block;width:4px;height:4px;border-radius:50%;background:#e8c89e;animation:startup-breathe 1800ms ease-in-out infinite}
@keyframes startup-breathe{0%,100%{opacity:.35}50%{opacity:1}}
.startup-detail{color:var(--startup-secondary);font-size:13px;line-height:1.8;max-width:31em;overflow-wrap:anywhere;margin:16px 0 0}
.startup-retry{appearance:none;margin:24px 0 0;min-height:46px;padding:10px 24px;border:1px solid #bda17880;border-radius:14px;background:#dec39712;color:#f4e7d1;font:inherit;font-size:14px;cursor:pointer;transition:background 140ms ease-out}
.startup-retry:hover{background:#dec39724}.startup-retry:focus-visible{outline:2px solid #efc28d;outline-offset:5px}
.startup-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-startup-loading] {overflow:hidden;scrollbar-gutter:auto}
.startup-loader.is-leaving{opacity:0;pointer-events:none}
.startup-loader.is-paused .startup-stroke,.startup-loader.is-paused .startup-pulse{animation-play-state:paused}
.startup-loader[data-state="error"] .startup-stroke{animation:none;stroke-dashoffset:0}
.startup-loader[data-state="error"] .startup-pulse{animation:none;opacity:.5}
@media(max-width:600px){.startup-composition{transform:translateY(3dvh);width:82vw}.startup-wordmark{width:min(74vw,310px);margin-bottom:28px}.startup-caption{font-size:13px;letter-spacing:.04em}.startup-detail{font-size:12px}}
@media(max-height:430px){.startup-composition{transform:none;padding:16px 0}.startup-wordmark{width:220px;margin-bottom:12px}.startup-retry{margin-top:12px}.startup-detail{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.startup-stroke{animation:none;stroke-dashoffset:0}.startup-pulse{animation:none;opacity:.65}.startup-loader{transition:opacity 100ms linear}}
@media(forced-colors:active){.startup-loader{background:Canvas;color:CanvasText}.startup-stroke{stroke:CanvasText}.startup-caption,.startup-detail{color:CanvasText}.startup-light,.startup-stroke-guide{display:none}.startup-retry{border-color:ButtonText;color:ButtonText}}
