@font-face{font-family:NotoSansSC;src:url(/fonts/NotoSansSC-subset.woff2) format("woff2"),url(/fonts/NotoSansSC-subset.ttf) format("truetype");font-weight:400;font-display:swap}:root{--brand: #E40000;--bg: #e8e2d6;--ink: #2a2a2a;--muted: #6b6b6b;--glass: rgba(255,255,255,.55);--glass-border: rgba(255,255,255,.65);--shadow: 0 12px 40px rgba(40,30,20,.18);--radius: 16px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;width:100%;overflow:hidden;background:var(--bg);font-family:NotoSansSC,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink)}#c{display:block;width:100%;height:100%;touch-action:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#f3eee4,#ddd4c4 70%,#cfc5b4);z-index:50;animation:fadeIn .5s var(--ease)}.overlay[hidden]{display:none!important}.login-card,.loader-inner{width:min(380px,92vw);padding:36px 32px;text-align:center}.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}.logo-mark{width:56px;height:56px;margin:0 auto 16px;border-radius:14px;background:var(--brand);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #e4000059}.logo-mark.pulse{animation:pulse 1.6s ease-in-out infinite}h1{margin:0 0 6px;font-size:1.6rem;letter-spacing:.08em}.sub{margin:0 0 24px;color:var(--muted);font-size:.9rem}label{display:block;text-align:left;font-size:.85rem;margin-bottom:6px;color:var(--muted)}input[type=password]{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #d0c8ba;background:#fff9;font-size:1rem;outline:none;transition:border .2s,box-shadow .2s}input[type=password]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #e4000026}#login-btn,.chip,.fab{cursor:pointer;border:none;font-family:inherit}#login-btn{width:100%;margin-top:16px;padding:12px;border-radius:10px;background:var(--brand);color:#fff;font-size:1rem;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s;box-shadow:0 6px 18px #e400004d}#login-btn:hover{transform:translateY(-1px)}#login-btn:active{transform:scale(.98)}.err{color:var(--brand);margin-top:12px;font-size:.9rem}.bar{height:6px;background:#0001;border-radius:99px;overflow:hidden;margin:16px 0 8px}#load-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--brand),#ff6b4a);transition:width .25s var(--ease);border-radius:99px}#load-pct{color:var(--muted);font-size:.85rem;margin:0}.hud{position:fixed;top:14px;left:50%;transform:translate(-50%);display:flex;gap:16px;align-items:center;padding:10px 18px;z-index:20;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;animation:slideDown .6s var(--ease)}.hud[hidden]{display:none!important}.hud-left{display:flex;align-items:center;gap:8px;white-space:nowrap}.hud-mid{display:flex;gap:10px;align-items:center;font-size:.85rem;color:var(--muted);flex-wrap:wrap;justify-content:center}.hud-mid b{color:var(--ink);font-weight:600}.sep{opacity:.35}.hud-right{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:6px 12px;border-radius:999px;background:#ffffffb3;border:1px solid #0001;font-size:.8rem;color:var(--ink);transition:background .2s,transform .2s var(--ease)}.chip:hover{transform:translateY(-1px)}.chip.active{background:var(--ink);color:#fff}.badge{background:var(--brand);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:999px;animation:pulse 1.4s ease-in-out infinite}.panel{position:fixed;right:16px;top:72px;width:min(320px,calc(100vw - 32px));padding:20px;z-index:25;max-height:calc(100vh - 100px);overflow:auto;animation:panelIn .45s var(--ease);transform-origin:top right}.panel[hidden]{display:none!important}.panel .close{position:absolute;right:10px;top:8px;border:none;background:transparent;font-size:1.4rem;cursor:pointer;color:var(--muted);line-height:1}.panel .avatar{width:64px;height:64px;border-radius:16px;object-fit:cover;box-shadow:0 4px 12px #0002}.panel h2{margin:12px 0 4px;font-size:1.15rem}.panel .meta{color:var(--muted);font-size:.85rem;margin-bottom:12px}.panel .row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #0001;font-size:.9rem}.panel .status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;color:#fff}.status-working{background:#38a169}.status-idle{background:#718096}.status-thinking{background:#805ad5}.status-offline{background:#a0aec0}.fab{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 22px;z-index:22;font-size:.95rem;font-weight:600;animation:fadeUp .4s var(--ease);cursor:pointer;border:none;color:var(--ink)}.fab[hidden]{display:none!important}.fab:hover{transform:translate(-50%) translateY(-2px)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#282828e0;color:#fff;padding:10px 18px;border-radius:10px;z-index:40;font-size:.9rem;animation:fadeUp .3s var(--ease)}.toast[hidden]{display:none!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@keyframes panelIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:720px){.hud{top:8px;padding:8px 12px;gap:8px}.hud-mid{font-size:.75rem}.panel{top:auto;bottom:70px;right:8px;left:8px;width:auto}}
