.bottom-bar[data-v-2ae09be6]{height:calc(var(--bottom-bar) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid var(--line);background:#111;flex:none;justify-content:space-around;align-items:stretch;display:flex}.tab[data-v-2ae09be6]{color:#888;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.tab .ico[data-v-2ae09be6]{font-size:18px}.tab.active[data-v-2ae09be6]{color:var(--accent);font-weight:600}@media (hover:hover) and (pointer:fine){.tab[data-v-2ae09be6]:hover{color:#ccc}.tab.active[data-v-2ae09be6]:hover{color:var(--accent)}}.toast-stack[data-v-f889580c]{top:calc(16px + env(safe-area-inset-top,0));z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast[data-v-f889580c]{pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c1c1ceb;border-radius:999px;max-width:min(420px,100vw - 32px);padding:10px 16px;font-size:13px;box-shadow:0 4px 16px #00000059}.toast.success[data-v-f889580c]{background:#2e7d32f2}.toast.error[data-v-f889580c]{background:#c62828f2}.toast.warn[data-v-f889580c]{color:#1a1a1a;background:#f57c00f2}.toast-enter-active[data-v-f889580c],.toast-leave-active[data-v-f889580c]{transition:transform .25s,opacity .25s}.toast-enter-from[data-v-f889580c],.toast-leave-to[data-v-f889580c]{opacity:0;transform:translateY(-8px)}.shell{background:var(--bg);height:100%;min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.main{flex:1;min-height:0;position:relative}@media (min-width:768px){.shell{width:100%;max-width:var(--shell-max);box-shadow:0 0 0 1px var(--line), 0 0 60px #000000b3}}:root{--bg:#0d0d0d;--bg-elev:#161616;--bg-elev-2:#1c1c1c;--line:#262626;--text:#fff;--text-2:#aaa;--text-3:#777;--accent:#ffcc4a;--accent-2:#ff7a59;--danger:#ff6b6b;--radius:12px;--radius-sm:8px;--gap:12px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--bottom-bar:56px;--shell-max:480px;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Helvetica Neue,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;color:inherit}input{font:inherit}.btn-primary{background:linear-gradient(90deg, var(--accent-2), var(--accent));color:#1a1a1a;border:0;border-radius:999px;padding:13px 20px;font-size:15px;font-weight:700}.btn-primary[disabled]{opacity:.5;cursor:default}.btn-ghost{color:#ddd;background:0 0;border:1px solid #444;border-radius:999px;padding:12px 20px;font-size:14px}.icon-btn{color:#fff;background:#0006;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.status{text-align:center;color:var(--text-2);padding:32px 16px;font-size:14px}.status.err{color:var(--danger)}.status button{background:var(--bg-elev-2);color:#fff;border:1px solid #333;border-radius:6px;margin-top:12px;padding:6px 14px}.page-top{padding:calc(12px + var(--safe-top)) 12px 8px;align-items:center;gap:12px;display:flex}.page-top h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:18px;overflow:hidden}.back-btn{color:#fff;background:#ffffff14;border:0;border-radius:50%;flex:none;width:32px;height:32px;font-size:18px}@media (min-width:768px){body{background:#050505}#app{background:radial-gradient(70% 60% at 50% 0,#1b1b1b,#050505 80%);justify-content:center;display:flex}}@media (hover:hover) and (pointer:fine){*{scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}::-webkit-scrollbar-track{background:0 0}.btn-primary:not([disabled]):hover{filter:brightness(1.08)}.btn-ghost:hover,.icon-btn:hover,.back-btn:hover{background:#ffffff2e}.status button:hover{background:#2a2a2a}.drag-scroll{cursor:grab}.drag-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.drag-scroll.is-dragging *{pointer-events:none}.drag-scroll img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}}
