:root{--font-body:"Hanken Grotesk";--font-display:"Archivo";--font-mono:"JetBrains Mono";--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--background:225 42% 8%;--foreground:229 47% 92%;--card:225 30% 13%;--card-foreground:229 47% 92%;--popover:225 28% 14%;--popover-foreground:229 47% 92%;--primary:72 100% 50%;--primary-foreground:226 42% 8%;--secondary:226 27% 17%;--secondary-foreground:229 47% 92%;--premium:45 79% 60%;--premium-foreground:42 100% 11%;--muted:225 24% 19%;--muted-foreground:224 17% 66%;--accent:223 25% 23%;--accent-foreground:229 47% 92%;--success:150 72% 56%;--success-foreground:144 61% 8%;--warning:40 100% 65%;--warning-foreground:32 95% 8%;--destructive:0 100% 68%;--destructive-foreground:0 0% 100%;--border:225 18% 24%;--input:225 18% 24%;--ring:72 100% 50%}.dark{color-scheme:dark}@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600;700&display=swap");:root{--volt:#ccff00;--volt-bright:#d9ff3d;--volt-dim:#a6cf00;--volt-soft:rgba(204,255,0,0.12);--volt-faint:rgba(204,255,0,0.06);--text-on-volt:#0e1321;--bg:#0e1321;--surface-1:#161b2a;--surface-2:#1d2437;--surface-3:#262e45;--surface-inset:#0a0e19;--text-primary:#ffffff;--text-secondary:#94a3b8;--text-tertiary:#5c6884;--text-inverse:#0e1321;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.15);--border-volt:rgba(204,255,0,0.45);--success:#3ee08f;--success-soft:rgba(62,224,143,0.14);--warning:#ffc24b;--warning-soft:rgba(255,194,75,0.14);--danger:#ff5d5d;--danger-soft:rgba(255,93,93,0.14);--info:#4aa8ff;--info-soft:rgba(74,168,255,0.14);--data-1:#ccff00;--data-2:#4aa8ff;--data-3:#b78bff;--data-4:#ff8a4a;--data-5:#3ee08f;--font-display:"Archivo",system-ui,sans-serif;--font-body:"Hanken Grotesk",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--text-display:4.0rem;--text-h1:2.5rem;--text-h2:2.0rem;--text-h3:1.5rem;--text-h4:1.25rem;--text-lg:1.125rem;--text-base:1.0rem;--text-sm:0.875rem;--text-xs:0.75rem;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-black:900;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.5;--track-tight:-0.02em;--track-flat:0;--track-wide:0.04em;--track-caps:0.12em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 16px rgba(0,0,0,0.35);--shadow-lg:0 12px 32px rgba(0,0,0,0.45);--shadow-xl:0 24px 60px rgba(0,0,0,0.55);--glow-volt:0 0 0 1px rgba(204,255,0,0.5),0 8px 28px rgba(204,255,0,0.28);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--container-max:1200px;--tabbar-h:64px;--header-h:56px;--sidebar-w:256px}.t-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--volt)}.t-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--w-black);line-height:var(--leading-tight);letter-spacing:var(--track-tight);color:var(--text-primary)}.t-h1{font-size:var(--text-h1)}.t-h1,.t-h2{font-family:var(--font-display);font-weight:var(--w-bold);line-height:var(--leading-snug);letter-spacing:var(--track-tight);color:var(--text-primary)}.t-h2{font-size:var(--text-h2)}.t-h3{font-family:var(--font-display);font-size:var(--text-h3)}.t-h3,.t-h4{font-weight:var(--w-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.t-h4{font-family:var(--font-body);font-size:var(--text-h4)}.t-body{font-weight:var(--w-regular);color:var(--text-secondary)}.t-body,.t-body-strong{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal)}.t-body-strong{font-weight:var(--w-semibold);color:var(--text-primary)}.t-sm{font-size:var(--text-sm);font-weight:var(--w-regular);line-height:var(--leading-normal);color:var(--text-secondary)}.t-meta,.t-sm{font-family:var(--font-body)}.t-meta{font-size:var(--text-xs);font-weight:var(--w-medium);color:var(--text-tertiary)}.t-num{font-family:var(--font-mono);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);color:var(--text-primary)}*,:after,:before{box-sizing:border-box}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--w-semibold);font-size:var(--text-sm);border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;padding:0 var(--space-5);height:44px;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base);-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn svg{width:18px;height:18px}.btn-primary{background:var(--volt);color:var(--text-on-volt)}.btn-primary:hover{background:var(--volt-bright);box-shadow:var(--glow-volt)}.btn-primary:active{background:var(--volt-dim)}.btn-secondary{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-3);border-color:var(--border-volt)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-1);color:var(--text-primary)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:rgba(255,93,93,.3)}.btn-danger:hover{background:rgba(255,93,93,.22)}.btn-sm{height:36px;font-size:var(--text-xs);padding:0 var(--space-4);border-radius:var(--r-sm)}.btn-lg{height:52px;font-size:var(--text-base);padding:0 var(--space-6);border-radius:var(--r-lg)}.btn-block{width:100%}.btn-icon{width:44px;padding:0}.btn[disabled]{opacity:.4;pointer-events:none}.chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);cursor:pointer;transition:all var(--dur-base) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip.is-active{background:var(--volt);color:var(--text-on-volt);border-color:var(--volt)}.badge,.chip.is-active{font-weight:var(--w-semibold)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;padding:3px 9px;border-radius:var(--r-xs);text-transform:uppercase}.badge-volt{background:var(--volt-soft);color:var(--volt)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out)}.card-hover:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card-elevated{background:var(--surface-2);box-shadow:var(--shadow-md);border-color:transparent}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-secondary)}.field-label,.input{font-family:var(--font-body)}.input{font-size:var(--text-base);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:0 var(--space-4);height:48px;width:100%;outline:none;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.input-search{padding-inline-start:2.75rem!important}.input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--volt);box-shadow:0 0 0 3px var(--volt-soft)}.input-error{border-color:var(--danger)}.switch{position:relative;width:48px;height:28px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:background var(--dur-base)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text-secondary);transition:transform var(--dur-base) var(--ease-out),background var(--dur-base)}.switch.is-on{background:var(--volt);border-color:var(--volt)}.switch.is-on:after{transform:translateX(20px);background:var(--text-on-volt)}.segment{display:inline-flex;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:3px;gap:3px}.segment>button{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-secondary);background:transparent;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--r-sm);cursor:pointer;transition:all var(--dur-base)}.segment>button.is-active{box-shadow:var(--shadow-sm)}.avatar,.segment>button.is-active{background:var(--surface-3);color:var(--text-primary)}.avatar{border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--surface-1);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--w-bold)}.avatar-sm{width:32px;height:32px;font-size:13px}.avatar-md{width:44px;height:44px;font-size:16px}.avatar-lg{width:64px;height:64px;font-size:22px}.avatar-ring{border-color:var(--volt);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--volt)}.activity-ring{transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-3)}.ring-fill{fill:none;stroke:var(--volt);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);transition:background var(--dur-base);cursor:pointer}.row:hover{background:var(--surface-2)}.tabbar{justify-content:space-around;height:var(--tabbar-h);background:rgba(22,27,42,.9);backdrop-filter:blur(16px);border-top:1px solid var(--border)}.tab,.tabbar{display:flex;align-items:center}.tab{flex-direction:column;gap:3px;color:var(--text-tertiary);font-family:var(--font-body);font-size:10px;font-weight:var(--w-semibold);letter-spacing:.02em;cursor:pointer;transition:color var(--dur-base);background:none;border:none}.tab svg{width:24px;height:24px}.tab.is-active{color:var(--volt)}.tab-fab{width:52px;height:52px;border-radius:var(--r-lg);background:var(--volt);color:var(--text-on-volt);display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-volt);margin-top:-16px}.tab-fab svg{width:26px;height:26px}.sidebar{width:var(--sidebar-w);background:var(--surface-1);border-right:1px solid var(--border);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--r-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);cursor:pointer;transition:all var(--dur-base)}.nav-item svg{width:20px;height:20px}.nav-item:hover{background:var(--surface-2);color:var(--text-primary)}.nav-item.is-active{background:var(--volt-soft);color:var(--volt);font-weight:var(--w-semibold)}.appbar{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 var(--space-4);background:var(--bg);border-bottom:1px solid var(--border)}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4)}.stat-value{font-family:var(--font-mono);font-weight:var(--w-bold);font-size:var(--text-h2);color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.stat-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-2)}.skeleton{background:linear-gradient(100deg,var(--surface-1) 30%,var(--surface-2) 50%,var(--surface-1) 70%);background-size:200% 100%;animation:sk 1.4s infinite;border-radius:var(--r-sm)}@keyframes sk{to{background-position:-200% 0}}.toast-stack{position:fixed;bottom:var(--space-6);right:var(--space-6);flex-direction:column-reverse;z-index:200;pointer-events:none}.toast,.toast-stack{display:flex;gap:var(--space-3)}.toast{align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--surface-2);box-shadow:var(--shadow-lg);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);min-width:280px;max-width:360px;pointer-events:auto;animation:toast-in var(--dur-base) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.toast svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.toast .toast-body{flex:1;line-height:1.45}.toast .toast-title{font-weight:var(--w-semibold);margin-bottom:2px}.toast .toast-close{width:20px;height:20px;display:grid;place-items:center;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;border:none;background:transparent}.toast-success{border-color:rgba(62,224,143,.3);background:rgba(62,224,143,.08)}.toast-success svg{color:var(--success)}.toast-error{border-color:rgba(255,93,93,.3);background:rgba(255,93,93,.08)}.toast-error svg{color:var(--danger)}.toast-warning{border-color:rgba(255,194,75,.3);background:rgba(255,194,75,.08)}.toast-warning svg{color:var(--warning)}.toast-info{border-color:rgba(74,168,255,.3);background:rgba(74,168,255,.08)}.toast-info svg{color:var(--info)}.toast-volt{border-color:var(--border-volt);background:var(--volt-faint)}.toast-volt svg{color:var(--volt)}.alert{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--r-md);border:1px solid;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.alert .alert-body{flex:1}.alert .alert-title{font-weight:var(--w-semibold);margin-bottom:3px}.alert-success{background:var(--success-soft);border-color:rgba(62,224,143,.4);color:var(--text-primary)}.alert-success .alert-title,.alert-success svg{color:var(--success)}.alert-warning{background:var(--warning-soft);border-color:rgba(255,194,75,.4);color:var(--text-primary)}.alert-warning .alert-title,.alert-warning svg{color:var(--warning)}.alert-danger{background:var(--danger-soft);border-color:rgba(255,93,93,.4);color:var(--text-primary)}.alert-danger .alert-title,.alert-danger svg{color:var(--danger)}.alert-info{background:var(--info-soft);border-color:rgba(74,168,255,.4);color:var(--text-primary)}.alert-info .alert-title,.alert-info svg{color:var(--info)}.alert-volt{background:var(--volt-faint);border-color:var(--border-volt);color:var(--text-primary)}.alert-volt .alert-title,.alert-volt svg{color:var(--volt)}.stepper{gap:0}.step-node,.stepper{display:flex;align-items:center}.step-node{flex-direction:column;gap:var(--space-2)}.step-circle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border);background:transparent;font-family:var(--font-mono);font-size:13px;font-weight:var(--w-bold);color:var(--text-tertiary);transition:all var(--dur-base);flex-shrink:0}.step-circle.is-done{background:var(--volt);border-color:var(--volt);color:var(--text-on-volt)}.step-circle.is-active{border-color:var(--volt);color:var(--volt)}.step-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}.step-label.is-active{color:var(--volt)}.step-label.is-done{color:var(--text-secondary)}.step-line{flex:1;height:2px;background:var(--border);margin-bottom:22px;transition:background var(--dur-base)}.step-line.is-done{background:var(--volt)}.tabs{display:flex;border-bottom:1px solid var(--border);gap:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--dur-base);background:transparent;border:none;border-bottom:2px solid transparent}.tab-item:hover{color:var(--text-primary)}.tab-item.is-active{color:var(--volt);border-bottom-color:var(--volt);font-weight:var(--w-semibold)}.tab-item .tab-badge{font-family:var(--font-mono);font-size:11px;font-weight:var(--w-bold);background:var(--surface-3);color:var(--text-secondary);padding:1px 6px;border-radius:var(--r-pill)}.tab-item.is-active .tab-badge{background:var(--volt-soft);color:var(--volt)}.input-success{border-color:var(--success)}.input-success:focus{box-shadow:0 0 0 3px var(--success-soft)}.field-hint{font-family:var(--font-body);font-size:var(--text-xs);margin-top:4px;display:flex;align-items:center;gap:5px}.field-hint svg{width:13px;height:13px;flex-shrink:0}.field-hint.hint-error{color:var(--danger)}.field-hint.hint-success{color:var(--success)}.field-hint.hint-warn{color:var(--warning)}.field-hint.hint-info{color:var(--text-tertiary)}.field.is-error .field-label{color:var(--danger)}.field.is-success .field-label{color:var(--success)}.char-count{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);text-align:right;margin-top:4px}.char-count.near-limit{color:var(--warning)}.char-count.at-limit{color:var(--danger)}.datepicker{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-xl);padding:var(--space-5);box-shadow:var(--shadow-lg);min-width:308px}.datepicker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.datepicker-title{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h4);color:var(--text-primary)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.datepicker-dow{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-align:center;color:var(--text-tertiary);padding-bottom:var(--space-2);text-transform:uppercase}.datepicker-day{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-md);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-primary);background:transparent;border:1px solid transparent;transition:all var(--dur-fast)}.datepicker-day:hover{background:var(--surface-3)}.datepicker-day.is-today{border-color:var(--border-volt);color:var(--volt)}.datepicker-day.is-selected{background:var(--volt);color:var(--text-on-volt);border-color:var(--volt);font-weight:var(--w-bold)}.datepicker-day.is-range{background:var(--volt-soft);color:var(--text-primary)}.datepicker-day.is-disabled{opacity:.3;pointer-events:none}.datepicker-day.other-month{color:var(--text-tertiary)}.rating{display:flex;gap:4px;align-items:center}.rating-star{width:28px;height:28px;cursor:pointer;color:var(--surface-3);transition:color var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.rating-star svg{width:28px;height:28px;fill:currentColor}.rating-star.is-filled{color:var(--volt)}.rating-star:hover{transform:scale(1.15)}.rating-sm .rating-star,.rating-sm .rating-star svg{width:20px;height:20px}.tooltip-wrap{position:relative;display:inline-flex}.tooltip{bottom:calc(100% + 8px);background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-primary);font-family:var(--font-body);font-size:12px;padding:6px 10px;border-radius:var(--r-sm);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:50}.tooltip,.tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.tooltip:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--border-strong)}.tooltip-right{left:calc(100% + 8px);top:50%;bottom:auto;transform:translateY(-50%)}.tooltip-right:after{top:50%;left:auto;right:100%;transform:translateY(-50%);border-top-color:transparent;border-right-color:var(--border-strong)}.dropdown{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:0 var(--space-4);height:48px;cursor:pointer;transition:border-color var(--dur-base),box-shadow var(--dur-base);width:100%}.dropdown-trigger svg{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.dropdown-trigger.is-open{border-color:var(--volt);box-shadow:0 0 0 3px var(--volt-soft)}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:60}.dropdown-opt{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--dur-base)}.dropdown-opt:hover{background:var(--surface-3)}.dropdown-opt.is-selected{color:var(--volt);font-weight:var(--w-semibold)}.dropdown-opt.is-selected svg{color:var(--volt)}.map-pin{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--dur-base)}.map-pin-label{background:var(--surface-1);border:1.5px solid var(--border-strong);color:var(--text-primary);font-family:var(--font-mono);font-weight:var(--w-bold);font-size:13px;padding:6px 12px;border-radius:var(--r-pill);box-shadow:var(--shadow-md);white-space:nowrap}.map-pin-label.is-active,.map-pin-label:hover{background:var(--volt);color:var(--text-on-volt);border-color:var(--volt);box-shadow:var(--glow-volt)}.map-pin-dot{width:36px;height:36px;border-radius:50%;background:var(--data-4);border:2px solid rgba(255,255,255,.2);display:grid;place-items:center;box-shadow:var(--shadow-md)}.map-pin-dot.is-match{background:var(--data-4)}.map-pin-dot.is-venue{background:var(--surface-1);border-color:var(--border-strong)}.m-header{justify-content:space-between;height:var(--header-h);padding:0 var(--space-4);background:rgba(14,19,33,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.m-header,.m-header .lead{display:flex;align-items:center}.m-header .lead{gap:var(--space-3);min-width:0}.m-header .title{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h4);letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-header .actions{display:flex;align-items:center;gap:var(--space-2)}.icon-btn{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;position:relative;transition:background var(--dur-base),color var(--dur-base)}.icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.icon-btn svg{width:22px;height:22px}.icon-btn .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--volt);border:2px solid var(--bg)}.back-btn svg{width:24px;height:24px}.w-header{gap:var(--space-8);height:68px;padding:0 var(--space-8);background:rgba(14,19,33,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.w-header,.w-header .brand{display:flex;align-items:center}.w-header .brand{gap:var(--space-3)}.w-header .links{display:flex;align-items:center;gap:var(--space-1)}.w-header .links a{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);transition:all var(--dur-base)}.w-header .links a:hover{background:var(--surface-2)}.w-header .links a.is-active,.w-header .links a:hover{color:var(--text-primary)}.w-header .links a.is-active:after{content:"";display:block;height:2px;background:var(--volt);border-radius:2px;margin-top:6px}.w-header .right{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.footer{background:var(--surface-1);border-top:1px solid var(--border);padding:var(--space-12) var(--space-8) var(--space-8)}.footer .cols{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:var(--space-8);max-width:var(--container-max);margin:0 auto}.footer h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 var(--space-4);font-weight:var(--w-semibold)}.footer a{display:block;color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-2) 0;transition:color var(--dur-base)}.footer a:hover{color:var(--volt)}.footer .blurb{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;max-width:30ch;margin:var(--space-4) 0 var(--space-5)}.footer .social{display:flex;gap:var(--space-2)}.footer .bottom{max-width:var(--container-max);margin:var(--space-10) auto 0;padding-top:var(--space-6);border-top:1px solid var(--border);justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm)}.footer .bottom,.search{display:flex;align-items:center}.search{position:relative}.search>svg.lead{position:absolute;left:var(--space-4);width:18px;height:18px;color:var(--text-tertiary);pointer-events:none}.search input{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-pill);height:44px;width:100%;padding:0 var(--space-4) 0 44px;outline:none;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.search input::-moz-placeholder{color:var(--text-tertiary)}.search input::placeholder{color:var(--text-tertiary)}.search input:focus{border-color:var(--volt);box-shadow:0 0 0 3px var(--volt-soft)}.search .clear{position:absolute;right:var(--space-3)}.search-compact input{height:40px}.search-panel{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);overflow:hidden}.search-panel .ph{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);padding:var(--space-2) var(--space-3)}.search-result{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-md);cursor:pointer}.search-result .ic,.search-result:hover{background:var(--surface-3)}.search-result .ic{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-secondary);flex-shrink:0}.search-result svg{width:18px;height:18px}.overlay{position:fixed;inset:0;background:rgba(6,9,16,.66);backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-4);z-index:100;opacity:0;pointer-events:none;transition:opacity var(--dur-base)}.overlay.is-open{opacity:1;pointer-events:auto}.modal{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-width:440px;transform:translateY(8px) scale(.98);transition:transform var(--dur-base) var(--ease-out)}.overlay.is-open .modal{transform:none}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-6) 0}.modal-head h3{margin:0;font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h3);color:var(--text-primary)}.modal-body{padding:var(--space-3) var(--space-6) var(--space-6);color:var(--text-secondary);font-size:var(--text-base);line-height:1.55}.modal-actions{display:flex;gap:var(--space-3);padding:0 var(--space-6) var(--space-6)}.modal-actions .btn{flex:1}.sheet{background:var(--surface-1);border-top:1px solid var(--border-strong);border-radius:var(--r-2xl) var(--r-2xl) 0 0;box-shadow:var(--shadow-xl);width:100%;max-width:480px;align-self:end;padding:var(--space-3) var(--space-5) var(--space-6);transform:translateY(12px);transition:transform var(--dur-base) var(--ease-out)}.overlay.is-open .sheet{transform:none}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--surface-3);margin:var(--space-2) auto var(--space-5)}.empty{text-align:center;padding:var(--space-12) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty .glyph{width:72px;height:72px;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--volt);margin-bottom:var(--space-2)}.empty .glyph svg{width:32px;height:32px}.empty h4{margin:0;font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h4);color:var(--text-primary)}.empty p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);max-width:36ch;line-height:1.5}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--volt);animation:spin .8s linear infinite}.spinner-sm{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(1turn)}}.progress{height:6px;background:var(--surface-3);overflow:hidden}.progress,.progress>span{border-radius:var(--r-pill)}.progress>span{display:block;height:100%;background:var(--volt);transition:width var(--dur-slow) var(--ease-out)}.progress-indeterminate>span{width:40%;animation:ind 1.2s var(--ease-in-out) infinite}@keyframes ind{0%{margin-left:-40%}to{margin-left:100%}}