:root{--launch-paper:#fff;--launch-ink:#24292c;--launch-accent:#6f8da5;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--launch-paper);color:#302d27}
html[data-launch-appearance="dark"]{color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body.hosted-entry{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fbf8f1,#f4efe5 62%)}
.horizon-launch{position:fixed;z-index:1000;inset:0 auto 0 0;width:100vw;display:grid;place-items:center;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--launch-accent) 34%,var(--launch-paper)),var(--launch-paper) 62%);opacity:1;transition:opacity .55s cubic-bezier(.4,0,.2,1);pointer-events:none;will-change:opacity;contain:strict;backface-visibility:hidden}
.horizon-launch>div{display:flex;align-items:center;flex-direction:column;gap:18px;animation:horizon-launch-arrive .72s cubic-bezier(.2,.75,.25,1) both}
.horizon-launch-mark{display:block;width:132px;height:auto;overflow:visible;fill:none;stroke:var(--launch-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.horizon-launch-mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:horizon-launch-draw .9s .18s cubic-bezier(.35,.7,.25,1) forwards}
.horizon-launch strong{color:var(--launch-ink);font-family:var(--heading-font,Inter,ui-sans-serif,system-ui,sans-serif);font-size:32px;font-weight:560;letter-spacing:-.035em;line-height:1;animation:horizon-launch-word .7s .48s ease both}
.horizon-launch.leaving{opacity:0}
body:not(.horizon-app-painted) #app{visibility:hidden}
@keyframes horizon-launch-arrive{from{opacity:0;transform:translateY(5px) scale(.975)}to{opacity:1;transform:none}}
@keyframes horizon-launch-draw{to{stroke-dashoffset:0}}
@keyframes horizon-launch-word{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.horizon-launch{transition:none}.horizon-launch>div,.horizon-launch-mark path,.horizon-launch strong{animation:none}.horizon-launch-mark path{stroke-dashoffset:0}}
.hosted-shell{width:min(42rem,calc(100% - 2rem));padding:clamp(1.5rem,5vw,3.5rem);border:1px solid transparent;border-radius:1.25rem;background:transparent;box-shadow:none;text-align:center}
.hosted-shell:has(#horizon-sign-in:not([hidden])),.hosted-shell:has(#horizon-retry:not([hidden])){border-color:#d8d0c2;background:#faf7f0;box-shadow:0 1.5rem 5rem rgba(74,61,42,.14);text-align:left}
.eyebrow{margin:0 0 .7rem;color:#797267;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
h1{margin:0;font:600 clamp(1.65rem,4vw,2.55rem)/1.08 Georgia,serif}
#horizon-status{min-height:3rem;color:#6f695f;line-height:1.55}
dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}
dl div{padding:1rem;border:1px solid #ddd5c8;border-radius:.8rem;background:#f5f0e7}
dt{color:#7f786d;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
dd{margin:.35rem 0 0;font-size:1.7rem;font-weight:650}
.boundary{padding-top:1rem;border-top:1px solid #ddd5c8;color:#7b7469;font-size:.9rem;line-height:1.55}
button,.action{display:inline-block;border:1px solid #aa9876;border-radius:.65rem;padding:.7rem 1rem;background:#efe5d2;color:#342e24;font:inherit;font-weight:650;cursor:pointer;text-decoration:none}
button:focus-visible,.action:focus-visible{outline:3px solid #d8c49f;outline-offset:3px}
.hosted-account{position:relative}
.hosted-account summary{min-width:53px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:var(--text-label-strong);font-weight:600;line-height:1;cursor:pointer;list-style:none}
.hosted-account summary::-webkit-details-marker{display:none}
.hosted-account summary:focus-visible,.hosted-account-menu button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,white);outline-offset:2px}
.hosted-account-menu{position:absolute;z-index:80;top:calc(100% + 7px);right:0;width:190px;display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.22);color:var(--ink)}
.hosted-account-menu strong{font-size:var(--text-label-strong)}
.hosted-account-menu span,.hosted-account-menu small{color:var(--muted);font-size:var(--text-micro);line-height:1.35}
.hosted-account-menu button{min-height:28px;padding:5px 9px;border:1px solid color-mix(in srgb,#b45b57 55%,var(--line));border-radius:6px;background:color-mix(in srgb,#b45b57 12%,var(--panel));color:color-mix(in srgb,#d66b65 76%,var(--ink));font-size:var(--text-label-strong)}
.hosted-account-menu button:disabled{cursor:wait;opacity:.65}
@media(max-width:32rem){dl{grid-template-columns:1fr}.hosted-shell{padding:1.35rem}}
