.toast-host[data-v-992783ad]{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}.toast[data-v-992783ad]{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:10px 12px;min-width:240px;animation:fh-rise .2s ease}.icon[data-v-992783ad]{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.toast.success .icon[data-v-992783ad]{background:var(--posBg);color:var(--pos)}.toast.error .icon[data-v-992783ad]{background:var(--negBg);color:var(--neg)}.toast.info .icon[data-v-992783ad]{background:var(--accentBg);color:var(--accent)}.msg[data-v-992783ad]{flex:1;font-size:13px;font-weight:600;color:var(--text1)}.x[data-v-992783ad]{background:transparent;border:none;color:var(--text3);cursor:pointer;padding:0}.x[data-v-992783ad]:hover{color:var(--text1)}.boot[data-v-2f16eab5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .35s ease}.boot.hide[data-v-2f16eab5]{opacity:0;pointer-events:none}.logo[data-v-2f16eab5]{width:68px;height:68px;border-radius:18px;background:var(--accent);color:var(--gold);display:grid;place-items:center;font-size:38px;font-weight:700;animation:fh-pulse-2f16eab5 1.4s ease-in-out infinite}.name[data-v-2f16eab5]{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--text1)}.bar[data-v-2f16eab5]{width:160px;height:4px;border-radius:3px;background:var(--surface3);overflow:hidden}.bar span[data-v-2f16eab5]{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#56b6e6);animation:fh-bar-2f16eab5 1.6s ease-out forwards}.muted[data-v-2f16eab5]{font-size:12px;color:var(--text3)}@keyframes fh-pulse-2f16eab5{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes fh-bar-2f16eab5{0%{width:4%}60%{width:72%}to{width:100%}}:root,[data-theme=dark]{--bg: #0d1016;--surface: #161a21;--surface2: #1b2028;--surface3: #222834;--border: #262d39;--border2: #333c4a;--text1: #e9edf3;--text2: #9aa4b4;--text3: #646e7e;--accent: #7c8bf7;--accentBg: rgba(124, 139, 247, .15);--accentBd: rgba(124, 139, 247, .4);--pos: #3ddc97;--posBg: rgba(61, 220, 151, .14);--neg: #f97066;--negBg: rgba(249, 112, 102, .14);--warn: #f5b544;--warnBg: rgba(245, 181, 68, .16);--warnBd: rgba(245, 181, 68, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 12px 32px -8px rgba(0, 0, 0, .55);--ring: rgba(124, 139, 247, .5);--gold: #f4c44e}[data-theme=light]{--bg: #f3f5f9;--surface: #ffffff;--surface2: #f6f8fb;--surface3: #eef1f6;--border: #e4e8ef;--border2: #d3dae3;--text1: #161c26;--text2: #5b6573;--text3: #8b95a4;--accent: #4b52e0;--accentBg: rgba(75, 82, 224, .09);--accentBd: rgba(75, 82, 224, .32);--pos: #12a06b;--posBg: rgba(18, 160, 107, .11);--neg: #d8453f;--negBg: rgba(216, 69, 63, .1);--warn: #b5790c;--warnBg: rgba(214, 148, 16, .13);--warnBd: rgba(214, 148, 16, .4);--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 14px 34px -10px rgba(16, 24, 40, .14);--ring: rgba(75, 82, 224, .4);--gold: #c79a2f}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text1);font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit}.mono{font-family:IBM Plex Mono,monospace}.num{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}button:focus-visible,input:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@keyframes fh-nav{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fh-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fh-shimmer{0%,to{opacity:.55}50%{opacity:1}}
