@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500&family=DM+Mono&display=swap";.scanner-wrap[data-v-168de08b]{background:#000;border-radius:16px;width:100%;height:55vw;min-height:200px;max-height:340px;position:relative;overflow:hidden}.scanner-video[data-v-168de08b]{object-fit:cover;width:100%;height:100%;display:block}.scanner-overlay[data-v-168de08b]{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scanner-frame[data-v-168de08b]{aspect-ratio:2;width:65%;position:relative}.corner[data-v-168de08b]{border-color:var(--accent);border-style:solid;width:20px;height:20px;position:absolute}.tl[data-v-168de08b]{border-width:2px 0 0 2px;top:0;left:0}.tr[data-v-168de08b]{border-width:2px 2px 0 0;top:0;right:0}.bl[data-v-168de08b]{border-width:0 0 2px 2px;bottom:0;left:0}.br[data-v-168de08b]{border-width:0 2px 2px 0;bottom:0;right:0}.scan-line[data-v-168de08b]{background:var(--accent);height:1px;box-shadow:0 0 8px var(--accent);animation:2s ease-in-out infinite scan-168de08b;position:absolute;left:2px;right:2px}@keyframes scan-168de08b{0%{top:2px}50%{top:calc(100% - 2px)}to{top:2px}}.scanner-hint[data-v-168de08b]{text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin-top:14px;font-size:.7rem}.result-card[data-v-e3e85c76]{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:14px;padding:16px;transition:border-color .2s,transform .15s;animation:.3s fade-in-e3e85c76}.result-card[data-v-e3e85c76]:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));transform:translateY(-1px)}.result-card--new[data-v-e3e85c76]{border-color:var(--accent);box-shadow:0 0 16px color-mix(in srgb, var(--accent) 25%, transparent)}@keyframes fade-in-e3e85c76{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-main[data-v-e3e85c76]{align-items:flex-start;gap:12px;display:flex}.result-info[data-v-e3e85c76]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.result-brand[data-v-e3e85c76]{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.result-variant[data-v-e3e85c76]{font-family:var(--font-display);letter-spacing:.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.3rem;line-height:1.2;overflow:hidden}.result-barcode[data-v-e3e85c76]{font-family:var(--font-mono);color:var(--muted);letter-spacing:.1em;font-size:.7rem}.result-rankings[data-v-e3e85c76]{flex-direction:column;gap:4px;min-width:90px;display:flex}.rank-row[data-v-e3e85c76]{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.rank-name[data-v-e3e85c76]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.rank-badge[data-v-e3e85c76]{font-family:var(--font-display);color:var(--accent);text-align:right;min-width:28px;font-size:.85rem;font-weight:700}.rank-badge--empty[data-v-e3e85c76]{color:var(--muted);font-weight:400}.rank-more[data-v-e3e85c76]{color:var(--muted);text-align:right;margin-top:2px;font-size:.72rem}.modal-backdrop[data-v-e3e85c76]{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card[data-v-e3e85c76]{background:var(--surface);border-radius:24px 24px 0 0;width:100%;max-width:560px;max-height:85dvh;padding:28px 24px 40px;position:relative;overflow-y:auto}.modal-close[data-v-e3e85c76]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1rem;transition:color .2s;position:absolute;top:16px;right:16px}.modal-close[data-v-e3e85c76]:hover{color:var(--text)}.modal-header[data-v-e3e85c76]{margin-bottom:20px}.modal-brand[data-v-e3e85c76]{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem}.modal-variant[data-v-e3e85c76]{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);margin:2px 0 4px;font-size:2rem;line-height:1.1}.modal-barcode[data-v-e3e85c76]{font-family:var(--font-mono);color:var(--muted);letter-spacing:.12em;font-size:.78rem}.modal-avg[data-v-e3e85c76]{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:12px;align-items:baseline;gap:8px;margin-bottom:20px;padding:14px 16px;display:flex}.avg-label[data-v-e3e85c76]{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem}.avg-value[data-v-e3e85c76]{font-family:var(--font-display);color:var(--accent);font-size:2rem;line-height:1}.avg-sub[data-v-e3e85c76]{color:var(--muted);font-size:.78rem}.modal-members[data-v-e3e85c76]{flex-direction:column;gap:14px;display:flex}.modal-member[data-v-e3e85c76]{align-items:center;gap:12px;display:flex}.member-left[data-v-e3e85c76]{flex-shrink:0;align-items:center;gap:10px;min-width:120px;display:flex}.member-avatar[data-v-e3e85c76]{background:color-mix(in srgb, var(--accent) 15%, var(--border));width:32px;height:32px;color:var(--accent);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.member-name[data-v-e3e85c76]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.member-right[data-v-e3e85c76]{flex:1;align-items:center;gap:10px;display:flex}.member-rank[data-v-e3e85c76]{font-family:var(--font-display);color:var(--accent);min-width:36px;font-size:1.1rem}.member-bar-wrap[data-v-e3e85c76]{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.member-bar[data-v-e3e85c76]{background:var(--accent);border-radius:2px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.member-unranked[data-v-e3e85c76]{color:var(--muted);font-size:.8rem}.modal-enter-active[data-v-e3e85c76]{transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .2s}.modal-leave-active[data-v-e3e85c76]{transition:transform .2s ease-in,opacity .15s}.modal-enter-from[data-v-e3e85c76],.modal-leave-to[data-v-e3e85c76]{opacity:0;transform:translateY(100%)}.prefs-panel[data-v-214f5270]{padding-bottom:40px}.prefs-header[data-v-214f5270]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.prefs-header h2[data-v-214f5270]{font-family:var(--font-display);letter-spacing:.03em;color:var(--text);margin:0 0 4px;font-size:1.4rem}.prefs-sub[data-v-214f5270]{color:var(--muted);margin:0;font-size:.8rem}.invite-badge[data-v-214f5270]{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:10px;flex-shrink:0;padding:8px 12px;transition:border-color .2s}.invite-badge[data-v-214f5270]:hover{border-color:var(--accent)}.invite-label[data-v-214f5270]{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6rem;display:block}.invite-code[data-v-214f5270]{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;font-size:1.1rem;display:block}.invite-copy[data-v-214f5270]{color:var(--muted);font-size:.7rem}.list-label[data-v-214f5270]{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 6px;font-size:.7rem}.list-label--rest[data-v-214f5270]{margin-top:16px}.drag-list[data-v-214f5270]{border:1px solid var(--border);border-radius:12px;min-height:48px;overflow:hidden}.drag-list--ranked[data-v-214f5270]{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.drag-list--unranked[data-v-214f5270]{background:var(--surface)}.drag-item[data-v-214f5270]{border-bottom:1px solid var(--border);cursor:default;align-items:center;gap:10px;padding:11px 14px;transition:background .15s;display:flex}.drag-item[data-v-214f5270]:last-child{border-bottom:none}.drag-item[data-v-214f5270]:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.drag-handle[data-v-214f5270]{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;font-size:1rem;line-height:1}.drag-rank[data-v-214f5270]{font-family:var(--font-display);color:var(--accent);min-width:24px;font-size:.8rem;font-weight:700}.drag-rank--none[data-v-214f5270]{color:var(--muted);font-weight:400}.drag-info[data-v-214f5270]{flex-direction:column;gap:1px;min-width:0;display:flex}.drag-brand[data-v-214f5270]{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem}.drag-variant[data-v-214f5270]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.drag-empty[data-v-214f5270]{color:var(--muted);text-align:center;padding:16px 14px;font-size:.85rem}.drag-empty--muted[data-v-214f5270]{opacity:.6}.drag-ghost{opacity:.4;background:color-mix(in srgb, var(--accent) 20%, var(--surface))!important}.loading-rows[data-v-214f5270]{flex-direction:column;gap:8px;display:flex}.skel[data-v-214f5270]{background:var(--surface);border-radius:10px;height:48px;animation:1.4s ease-in-out infinite shimmer-214f5270}@keyframes shimmer-214f5270{0%,to{opacity:.4}50%{opacity:.8}}.auth-panel[data-v-79faf025]{width:100%;max-width:420px}.auth-tabs[data-v-79faf025]{border-bottom:1px solid var(--border);gap:0;margin-bottom:28px;display:flex}.auth-tabs button[data-v-79faf025]{color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 0 12px;font-size:.95rem;transition:color .2s,border-color .2s}.auth-tabs button.active[data-v-79faf025]{color:var(--accent);border-bottom-color:var(--accent)}.auth-form[data-v-79faf025]{flex-direction:column;gap:6px;display:flex}.auth-form label[data-v-79faf025]{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:10px;font-size:.75rem}.auth-form label[data-v-79faf025]:first-child{margin-top:0}.group-toggle[data-v-79faf025]{gap:8px;margin:12px 0 4px;display:flex}.group-toggle button[data-v-79faf025]{background:var(--surface);border:1px solid var(--border);height:38px;color:var(--muted);cursor:pointer;font-size:.85rem;font-family:var(--font-body);border-radius:6px;flex:1;transition:all .2s}.group-toggle button.active[data-v-79faf025]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.auth-error[data-v-79faf025]{color:#ff5f5f;margin:4px 0;font-size:.85rem}.btn-primary[data-v-79faf025]{background:var(--accent);height:46px;color:var(--bg);font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-top:18px;font-size:1rem;transition:opacity .2s,transform .1s;display:flex}.btn-primary[data-v-79faf025]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-79faf025]:not(:disabled):hover{opacity:.85}.btn-primary[data-v-79faf025]:not(:disabled):active{transform:scale(.98)}.mono[data-v-79faf025]{font-family:var(--font-mono);letter-spacing:.15em}.spinner[data-v-79faf025]{border:2px solid #0003;border-top-color:var(--bg);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin-79faf025;display:inline-block}@keyframes spin-79faf025{to{transform:rotate(360deg)}}.modal-backdrop[data-v-18ab3b6d]{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0 0 env(safe-area-inset-bottom,0);background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card[data-v-18ab3b6d]{background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-width:540px;padding:28px 24px 32px;animation:.25s cubic-bezier(.32,.72,0,1) slide-up-18ab3b6d}@keyframes slide-up-18ab3b6d{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header h2[data-v-18ab3b6d]{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);margin:0 0 4px;font-size:1.4rem}.barcode-display[data-v-18ab3b6d]{font-family:var(--font-mono);color:var(--muted);letter-spacing:.15em;margin:0 0 20px;font-size:.85rem}.add-form[data-v-18ab3b6d]{flex-direction:column;gap:6px;display:flex}.add-form label[data-v-18ab3b6d]{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-top:10px;font-size:.72rem}.form-error[data-v-18ab3b6d]{color:#ff5f5f;margin:4px 0;font-size:.85rem}.modal-actions[data-v-18ab3b6d]{gap:10px;margin-top:20px;display:flex}.btn-ghost[data-v-18ab3b6d]{border:1px solid var(--border);height:46px;color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;flex:1;font-size:.95rem;transition:border-color .2s}.btn-ghost[data-v-18ab3b6d]:hover{border-color:var(--text);color:var(--text)}.btn-primary[data-v-18ab3b6d]{background:var(--accent);height:46px;color:var(--bg);font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;border:none;border-radius:8px;flex:2;justify-content:center;align-items:center;font-size:1rem;transition:opacity .2s;display:flex}.btn-primary[data-v-18ab3b6d]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-18ab3b6d]{border:2px solid #0003;border-top-color:var(--bg);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin-18ab3b6d;display:inline-block}@keyframes spin-18ab3b6d{to{transform:rotate(360deg)}}:root{--bg:#0c0c0e;--surface:#16161a;--border:#2a2a30;--text:#e8e8f0;--muted:#666680;--accent:#c8ff00;--font-display:"Bebas Neue", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);border-radius:8px;outline:none;width:100%;height:44px;padding:0 14px;font-size:1rem;transition:border-color .2s}input:focus,select:focus{border-color:var(--accent)}#app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:20;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.header-logo{align-items:center;gap:6px;display:flex}.logo-icon{align-items:center;font-size:1.3rem;display:inline-flex}.logo-text{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);text-transform:lowercase;font-size:1.5rem}.header-nav{align-items:center;gap:4px;display:flex}.nav-btn{color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:.85rem;transition:background .15s,color .15s;display:flex}.nav-btn svg{flex-shrink:0;width:16px;height:16px}@media (width<=768px){.nav-btn span{display:none}.nav-btn svg{width:20px;height:20px}}.nav-btn:hover{background:var(--surface);color:var(--text)}.nav-btn.active{color:var(--accent)}.nav-btn--logout{padding:6px 8px}.app-main{flex:1;width:100%;max-width:600px;margin:0 auto;padding:16px}.welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:calc(100dvh - 88px);display:flex}.welcome-icon{font-size:4rem}.welcome-button--wrap{filter:drop-shadow(0 0 16px var(--accent));animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{filter:drop-shadow(0 0 8px var(--accent))}50%{filter:drop-shadow(0 0 24px var(--accent))}}.welcome h1{font-family:var(--font-display);letter-spacing:.1em;color:var(--accent);font-size:3.5rem}.welcome p{color:var(--muted);font-size:1.05rem;line-height:1.6}.btn-cta{background:var(--accent);height:50px;color:var(--bg);font-family:var(--font-display);letter-spacing:.1em;cursor:pointer;box-shadow:0 4px 24px color-mix(in srgb, var(--accent) 30%, transparent);border:none;border-radius:10px;margin-top:8px;padding:0 36px;font-size:1.1rem;transition:transform .15s,box-shadow .15s}.btn-cta:hover{box-shadow:0 8px 32px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-2px)}.scan-view{flex-direction:column;gap:16px;display:flex}.scan-error{color:#ff5f5f;background:color-mix(in srgb, #ff5f5f 10%, var(--surface));border-radius:8px;padding:10px 14px;font-size:.85rem}.results-list{flex-direction:column;gap:10px;display:flex}.empty-hint{text-align:center;color:var(--muted);padding:32px 0;font-size:.85rem}.auth-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;max-width:420px;padding:32px 28px;position:relative}.auth-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1rem;transition:color .2s;position:absolute;top:14px;right:14px}.auth-close:hover{color:var(--text)}.overlay-enter-active,.overlay-leave-active{transition:opacity .2s}.overlay-enter-from,.overlay-leave-to{opacity:0}
