:root{--bg: #0a0c0f;--bg-soft: #12151b;--card: #161a21;--card-hover: #1c212b;--border: #232936;--border-soft: #1b2029;--text: #e6e9ef;--text-dim: #8b93a3;--text-faint: #5c6472;--accent: #2e6be6;--accent-soft: rgba(46, 107, 230, .14);--gold: #f0b90b;--green: #0ecb81;--red: #f6465d;--radius: 14px;--radius-sm: 10px;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: "SF Mono", "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);background:transparent;color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#app{min-height:100dvh;display:flex;flex-direction:column;background:transparent}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit}.card{background:#161a21d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:18px}.btn-glass{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border:1px solid rgba(255,255,255,.48);border-radius:9999px;color:#1a1a1a;font-size:15px;font-weight:600;letter-spacing:.2px;background:#ffffff5c;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 8px 30px #0000001f,inset 0 1px #ffffff8c;cursor:pointer;user-select:none;transition:transform .12s ease,box-shadow .25s ease,background .2s ease}.btn-glass:hover{background:#ffffff85;box-shadow:0 12px 36px #0000002e,inset 0 1px #ffffffa6;filter:brightness(1.02)}.btn-glass:active{transform:scale(.97)}.btn-glass:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.btn-glass-sm{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:1px solid rgba(255,255,255,.38);border-radius:9999px;color:#1a1a1a;font-size:12.5px;font-weight:500;background:#ffffff52;-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff73;transition:transform .1s ease,background .2s ease;cursor:pointer;user-select:none}.btn-glass-sm:hover{background:#ffffff75;filter:brightness(1.02)}.btn-glass-sm:active{transform:scale(.95)}.btn-glass-sm.danger{color:#b91c1c}.btn-glass-sm:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-green{background:#0ecb811f;color:var(--green)}.badge-red{background:#f6465d1f;color:var(--red)}.badge-blue{background:var(--accent-soft);color:#7aa6f5}.badge-gold{background:#f0b90b1f;color:var(--gold)}.badge-gray{background:#8b93a31f;color:var(--text-dim)}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);font-size:13px;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.pill:hover{border-color:var(--accent);color:var(--text)}.pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--text-dim);font-weight:500}.input{width:100%;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-faint)}.switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;border-radius:999px;background:var(--border);transition:background .2s ease;cursor:pointer}.switch .track:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s ease}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{transform:translate(20px)}.overlay{position:fixed;inset:0;background:#0009;z-index:90;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}}.sheet{width:100%;max-width:560px;background:var(--card);border-radius:18px 18px 0 0;padding:20px;max-height:86dvh;overflow-y:auto;border:1px solid var(--border);animation:slideUp .22s cubic-bezier(.2,.9,.3,1)}@media(min-width:720px){.overlay{align-items:center;padding:20px}.sheet{border-radius:16px;max-height:82dvh;box-shadow:var(--shadow)}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2a3140;border-radius:4px}::-webkit-scrollbar-track{background:transparent}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.skeleton{animation:shimmer 1.4s infinite;background:var(--bg-soft);border-radius:8px}.toast-wrap{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px)}.toast{padding:12px 16px;border-radius:12px;font-size:13px;font-weight:500;background:var(--card-hover);border:1px solid var(--border);box-shadow:var(--shadow);animation:slideUp .25s ease;display:flex;gap:10px;align-items:center}.toast.ok{border-color:#0ecb8166}.toast.err{border-color:#f6465d80}
