:root{--ground: #ece9df;--surface: #fbf9f3;--surface-2: #f2efe6;--surface-3: #e7e3d6;--ink: #19223a;--ink-soft: #4e566a;--ink-faint: #8a877c;--line: #e1ddce;--line-soft: #ebe7db;--card-hi: rgba(255, 255, 255, .7);--accent: #21406e;--accent-deep: #152744;--accent-bright: #3a5f9a;--accent-soft: #e6eaf2;--gold: #b28a3c;--gold-bright: #c9a349;--gold-soft: #f1e8d2;--gold-line: rgba(178, 138, 60, .55);--wheat: #97772a;--wheat-soft: #f0e8d2;--danger: #a3341f;--danger-soft: #f3ddd4;--sh-1: 0 1px 2px rgba(24, 32, 54, .06);--sh-2: 0 1px 2px rgba(24, 32, 54, .06), 0 8px 24px rgba(24, 32, 54, .08);--sh-3: 0 2px 6px rgba(24, 32, 54, .08), 0 22px 50px rgba(24, 32, 54, .15);--sh-pop: 0 30px 72px rgba(21, 39, 68, .34);--r-sm: 9px;--r: 13px;--r-lg: 18px;--r-xl: 24px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", "Segoe UI Mono", Consolas, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--sidebar-w: 258px}@media (prefers-color-scheme: dark){:root{--ground: #0b0f17;--surface: #141a27;--surface-2: #1c2331;--surface-3: #262f3e;--ink: #eceff5;--ink-soft: #a8b1c3;--ink-faint: #7a8496;--line: #283142;--line-soft: #202735;--card-hi: rgba(255, 255, 255, .045);--accent: #5f84cc;--accent-deep: #aec7ec;--accent-bright: #87a7de;--accent-soft: #19243c;--gold: #d8b25a;--gold-bright: #e6c674;--gold-soft: #29230f;--gold-line: rgba(216, 178, 90, .42);--wheat: #d4ad4f;--wheat-soft: #29230f;--danger: #e59079;--danger-soft: #2d1a15;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 26px rgba(0, 0, 0, .38);--sh-3: 0 2px 6px rgba(0, 0, 0, .5), 0 24px 52px rgba(0, 0, 0, .58);--sh-pop: 0 30px 78px rgba(0, 0, 0, .7)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.58;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(1100px 460px at 50% -260px,color-mix(in srgb,var(--gold) 8%,transparent),transparent),var(--ground);background-attachment:fixed}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:-.015em;text-wrap:balance}p{margin:0}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:5px}::selection{background:color-mix(in srgb,var(--gold) 26%,transparent)}.btn{font:600 .9rem var(--sans);padding:9px 18px;border-radius:var(--r-sm);border:1px solid transparent;color:#fff;cursor:pointer;background-color:var(--accent);background-image:linear-gradient(180deg,#ffffff24,#fff0 58%);box-shadow:var(--sh-1),inset 0 1px #ffffff1f;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .16s var(--ease),box-shadow .2s var(--ease),filter .18s ease,background-color .18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:var(--sh-2),inset 0 1px #ffffff24;filter:brightness(1.05)}.btn:active{transform:translateY(0);box-shadow:var(--sh-1)}.btn:disabled{opacity:.5;cursor:default;filter:none;transform:none;box-shadow:none}.btn.ghost{background:transparent;color:var(--accent);border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--accent-soft);transform:none;filter:none}.btn.subtle{background:var(--surface);background-image:none;color:var(--ink);border-color:var(--line);box-shadow:var(--sh-1)}.btn.subtle:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));filter:none}.btn.sm{padding:6px 13px;font-size:.82rem}.btn.danger{background-color:var(--danger)}label{font-size:.76rem;color:var(--ink-soft);font-weight:600;letter-spacing:.01em;display:block;margin-bottom:6px}.input,select,textarea{width:100%;font:.92rem var(--sans);color:var(--ink);padding:10px 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--ink-faint) 45%,var(--line))}.input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,transparent)}.field{margin-bottom:15px}.field-group{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px 4px;margin:0;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.field-group>legend{padding:0 8px;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}.kiosk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;padding:clamp(16px,3vw,40px);gap:clamp(12px,2.5vh,28px);background:radial-gradient(1200px 520px at 50% -280px,color-mix(in srgb,var(--gold) 12%,transparent),transparent),var(--ground);color:var(--ink);overflow:hidden}.kiosk-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.kiosk-service{font-size:clamp(1.1rem,3.5vw,1.9rem);font-weight:700;display:flex;flex-direction:column}.kiosk-date{font-size:.72em;font-weight:500;color:var(--ink);opacity:.55}.kiosk-controls{display:flex;gap:8px}.kiosk-count{text-align:center}.kiosk-count-n{display:block;font-size:clamp(4.5rem,22vw,12rem);font-weight:800;line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.kiosk-count-l{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(.8rem,2.5vw,1.1rem);color:var(--ink);opacity:.6;margin-top:6px}.kiosk-scanner{flex:1;min-height:0;max-width:520px;width:100%;margin:0 auto;display:flex}.kiosk-scanner>*{width:100%}.kiosk-flash{min-height:92px;max-width:620px;width:100%;margin:0 auto}.kiosk-flash .scan-flash{padding:18px 22px}.kiosk-flash .scan-flash-name{font-size:clamp(1.5rem,5vw,2.2rem)}.kiosk-flash .scan-avatar{width:72px;height:72px}.kiosk-setup{align-items:center;justify-content:center}.kiosk-setup-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi);padding:clamp(24px,5vw,48px);max-width:460px;width:100%;text-align:center;display:flex;flex-direction:column;gap:14px}.kiosk-emblem{font-size:3rem}.kiosk-setup-card h1{margin:0;font-size:clamp(1.6rem,6vw,2.2rem)}.kiosk-start{font-size:1.15rem;padding:14px;margin-top:6px}.kiosk-back{color:var(--ink);opacity:.6;text-decoration:none;font-size:.9rem}.kiosk-back:hover{opacity:.9}.scan-count{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0 4px}.scan-count-n{font-size:clamp(3rem,12vw,5rem);font-weight:800;line-height:1;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}.scan-count-l{font-size:.9rem;color:var(--ink);opacity:.7;margin-top:4px}.scan-count-l strong{color:var(--ink);opacity:.92}.scan-flash{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);animation:scanpop .26s var(--ease)}@keyframes scanpop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.scan-flash{animation:none}}.scan-flash.ok{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.scan-flash.dup{background:color-mix(in srgb,var(--gold) 15%,var(--surface));border-color:color-mix(in srgb,var(--gold) 48%,var(--line))}.scan-flash.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.scan-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 1px 4px #1820362e}.scan-avatar-initials{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--gold))}.scan-flash-body{flex:1;min-width:0}.scan-flash-name{font-size:1.45rem;font-weight:700;line-height:1.15}.scan-flash-msg{font-size:.92rem;color:var(--ink);opacity:.72;margin-top:2px}.scan-flash-icon{font-size:1.9rem;font-weight:800;flex:0 0 auto}.scan-flash.ok .scan-flash-icon{color:var(--accent)}.scan-flash.dup .scan-flash-icon{color:var(--gold)}.scan-flash.error .scan-flash-icon{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi);padding:22px;transition:box-shadow .22s var(--ease),transform .22s var(--ease),border-color .22s ease}.card-title{font-size:1.05rem;margin-bottom:2px;letter-spacing:-.01em}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.mono{font-family:var(--mono)}a.card,.card.clickable{cursor:pointer}a.card:hover,.card.clickable:hover{transform:translateY(-3px);box-shadow:var(--sh-3),inset 0 1px 0 var(--card-hi);border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}.badge{font:600 .66rem var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-soft)}.badge.accent{background:var(--accent-soft);color:var(--accent-deep);border-color:transparent}.badge.wheat{background:var(--gold-soft);color:var(--wheat);border-color:color-mix(in srgb,var(--gold) 30%,transparent)}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,var(--gold) 6%),var(--surface) 220px);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;gap:3px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40}.brand{display:flex;align-items:center;gap:11px;padding:6px 10px 16px}.brand .mark{font-size:1.55rem;line-height:1}.brand .name{font-family:var(--serif);font-size:1.16rem;font-weight:600;line-height:1.05}.brand .tag{font-size:.63rem;color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase}.brand-emblem{width:38px;height:38px;border-radius:11px;background:#fff;object-fit:cover;box-shadow:var(--sh-1),0 0 0 1px var(--gold-line);flex:0 0 auto}.logo-lockup{display:inline-block;background:#fff;border-radius:16px;padding:20px 26px;box-shadow:var(--sh-2),0 0 0 1px var(--gold-line)}.logo-lockup img{display:block;width:100%;max-width:260px;height:auto}.nav-scroll{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}.nav-group-label{font:600 .6rem var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);padding:14px 12px 5px}.nav-link{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:var(--r-sm);color:var(--ink-soft);font-weight:500;font-size:.885rem;position:relative;transition:background .16s ease,color .16s ease,padding-left .16s var(--ease)}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:color-mix(in srgb,var(--accent-soft) 92%,var(--gold) 8%);color:var(--accent-deep);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--gold-bright),var(--gold))}.nav-link .ic{width:18px;text-align:center;font-size:.98rem;opacity:.92}.sidebar-foot{margin-top:8px;padding-top:12px;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--accent-bright),var(--accent));color:#fff;display:grid;place-items:center;font:600 .82rem var(--sans);flex:0 0 auto;box-shadow:var(--sh-1),0 0 0 2px color-mix(in srgb,var(--gold) 38%,transparent)}.avatar.sm{width:28px;height:28px;font-size:.72rem}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:14px 30px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);position:sticky;top:0;z-index:30;min-height:62px}.topbar .title-wrap{min-width:0}.topbar h1{font-size:1.26rem;line-height:1.15}.topbar .subtitle{font-size:.76rem;color:var(--ink-faint)}.topbar-spacer{flex:1}.topbar-user{display:flex;align-items:center;gap:10px}.menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);font-size:1.15rem}.content{padding:26px 30px 72px;max-width:1200px;width:100%}.content>*{animation:rise .4s var(--ease)}.backdrop{display:none}.grid{display:grid;gap:16px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stat{position:relative;overflow:hidden}.stat .n{font-family:var(--serif);font-size:2.1rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.1}.stat .l{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin-top:3px}.stat .n.accent{background:linear-gradient(120deg,var(--accent),var(--accent-bright));-webkit-background-clip:text;background-clip:text;color:transparent}a.card.stat{transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s ease}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi)}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font:600 .66rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);padding:13px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}td{padding:13px 18px;border-bottom:1px solid var(--line-soft)}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer;transition:background .14s ease}tbody tr.clickable:hover{background:color-mix(in srgb,var(--gold) 7%,var(--surface-2))}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:6px}.section-gap>*+*{margin-top:22px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h2{font-size:1.55rem}.page-head h2{position:relative;padding-bottom:10px}.page-head h2:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold-bright),color-mix(in srgb,var(--gold) 20%,transparent))}.alert{background:var(--danger-soft);color:var(--danger);border-radius:var(--r-sm);padding:11px 15px;font-size:.88rem;border:1px solid color-mix(in srgb,var(--danger) 22%,transparent)}.notice{background:var(--gold-soft);color:var(--wheat);border-radius:var(--r-sm);padding:11px 15px;font-size:.88rem;border:1px solid var(--gold-line)}.empty{padding:52px 24px;text-align:center;color:var(--ink-faint);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-load,.page-load-stagger>*{animation:rise .42s var(--ease) both}.page-load-stagger>*:nth-child(2){animation-delay:.05s}.page-load-stagger>*:nth-child(3){animation-delay:.1s}.page-load-stagger>*:nth-child(4){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}.content>*,.page-load,.page-load-stagger>*,.modal,.msg{animation:none}.btn:hover,a.card:hover,.card.clickable:hover,.chip-btn:hover{transform:none}}.meter{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #1820361f}.meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:999px;transition:width .5s var(--ease)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c101a85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:60;animation:fade .18s ease}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-pop),inset 0 1px 0 var(--card-hi);width:100%;max-width:540px;max-height:92vh;overflow-y:auto;padding:26px;animation:rise .24s var(--ease)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{font-size:.83rem;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;text-align:left;transition:all .16s var(--ease);box-shadow:var(--sh-1)}.chip-btn:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));color:var(--ink);transform:translateY(-1px)}.chip-btn.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent-deep);font-weight:600}.chat{display:flex;flex-direction:column;height:calc(100vh - 150px)}.chat-scroll{flex:1;overflow-y:auto;padding:4px 2px 16px;display:flex;flex-direction:column;gap:16px}.msg{display:flex;animation:rise .3s var(--ease)}.msg.user{justify-content:flex-end}.bubble{max-width:min(80%,640px);padding:12px 16px;border-radius:16px;line-height:1.55;white-space:pre-wrap;word-break:break-word;box-shadow:var(--sh-1)}.msg.user .bubble{background:var(--accent);background-image:linear-gradient(180deg,#ffffff1f,#fff0 60%);color:#fff;border-bottom-right-radius:5px}.msg.assistant .bubble{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:var(--sh-2)}.msg.system .bubble{background:var(--gold-soft);color:var(--wheat);font-size:.85rem;border-radius:999px;padding:6px 14px;box-shadow:none}.msg .who{font:600 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 4px 5px}.composer{display:flex;gap:10px;align-items:flex-end;padding-top:14px;border-top:1px solid var(--line)}.composer textarea{resize:none;min-height:46px;max-height:160px}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bounce 1.1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion: reduce){.typing i,.msg{animation:none}}@media (max-width: 860px){:root{--sidebar-w: 0px}.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:274px;height:100vh;transform:translate(-100%);transition:transform .28s var(--ease);box-shadow:var(--sh-pop);z-index:70}.sidebar.open{transform:translate(0)}.menu-btn{display:inline-flex}.backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0c101a70;z-index:65;animation:fade .2s ease}.topbar{padding:12px 16px}.content{padding:18px 16px 64px}.card{padding:18px}.topbar-user .who-name{display:none}}@media (max-width: 520px){.stat .n{font-size:1.85rem}.page-head h2{font-size:1.34rem}th,td{padding:11px 13px}.modal{padding:20px;border-radius:var(--r-lg)}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.landing{min-height:100vh;background:radial-gradient(1200px 560px at 50% -320px,color-mix(in srgb,var(--gold) 12%,transparent),transparent),var(--ground);color:var(--ink)}.landing-wrap{max-width:1120px;margin:0 auto;padding:0 24px}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.landing-brand{display:flex;align-items:center;gap:10px;font-weight:700}.landing-brand img{width:34px;height:34px;border-radius:9px}.landing-brand .tag{font-size:.7rem;color:var(--ink);opacity:.55;font-weight:500}.hero{text-align:center;padding:clamp(40px,8vw,96px) 0 clamp(30px,5vw,60px)}.hero-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;padding:6px 14px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--gold) 8%,transparent)}.hero-title{font-size:clamp(2.2rem,6.5vw,4rem);line-height:1.04;margin:20px auto 0;max-width:15ch;letter-spacing:-.02em;text-wrap:balance}.hero-title .grad{background:linear-gradient(120deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{font-size:clamp(1rem,2.4vw,1.25rem);color:var(--ink);opacity:.72;max-width:62ch;margin:20px auto 0;line-height:1.6}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.btn-xl{padding:13px 26px;font-size:1.02rem;border-radius:12px}.hero-note{margin-top:14px;font-size:.82rem;color:var(--ink);opacity:.55}.landing-section{padding:clamp(36px,6vw,72px) 0}.section-head{text-align:center;max-width:60ch;margin:0 auto clamp(24px,4vw,44px)}.section-head h2{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.01em}.section-head p{color:var(--ink);opacity:.68;font-size:1.02rem;margin-top:8px}.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi);padding:22px}.feat .ic{font-size:1.6rem}.feat h3{margin:12px 0 6px;font-size:1.1rem}.feat p{color:var(--ink);opacity:.7;font-size:.92rem;line-height:1.55}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi);padding:22px;text-align:center}.price-card .band{font-size:.8rem;color:var(--ink);opacity:.6}.price-card .amount{font-size:2rem;font-weight:800;margin-top:8px;background:linear-gradient(120deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.price-card .per{font-size:.8rem;color:var(--ink);opacity:.55}.price-note{text-align:center;color:var(--ink);opacity:.6;font-size:.9rem;margin-top:16px}.price-event{margin-top:18px;text-align:center;background:color-mix(in srgb,var(--gold) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:var(--r-lg);padding:20px}.landing-cta{text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),color-mix(in srgb,var(--gold) 12%,var(--surface)));border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(30px,5vw,56px);margin:clamp(30px,5vw,60px) 0}.landing-cta h2{font-size:clamp(1.6rem,4vw,2.2rem)}.landing-cta p{color:var(--ink);opacity:.72;margin:10px auto 22px;max-width:50ch}.landing-foot{border-top:1px solid var(--line);padding:26px 0;color:var(--ink);opacity:.6;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.landing .grad{background:linear-gradient(120deg,var(--accent),var(--gold),var(--accent-bright),var(--gold));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradShift 8s ease-in-out infinite}@keyframes gradShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.tw-caret{display:inline-block;width:3px;margin-left:2px;background:var(--gold);animation:caretBlink 1s step-end infinite;vertical-align:-.08em}@keyframes caretBlink{50%{opacity:0}}.reveal{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:.06s}.reveal.d2{transition-delay:.12s}.reveal.d3{transition-delay:.18s}.reveal.d4{transition-delay:.24s}.feat,.price-card{transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}.feat:hover,.price-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:var(--sh-3);border-color:var(--gold-line)}.feat .ic{display:inline-block;transition:transform .28s var(--ease)}.feat:hover .ic{transform:scale(1.25) rotate(-6deg)}.hero-eyebrow{animation:rise .6s var(--ease) both}.hero-title{animation:rise .7s var(--ease) .05s both}.hero-sub{animation:rise .7s var(--ease) .15s both}.hero-cta{animation:rise .7s var(--ease) .25s both}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.price-card.pick{cursor:pointer}.price-card.pick:active{transform:translateY(-2px) scale(.99)}@media (prefers-reduced-motion: reduce){.landing .grad,.tw-caret{animation:none}.reveal{opacity:1;transform:none;transition:none}.hero-eyebrow,.hero-title,.hero-sub,.hero-cta{animation:none}.feat:hover,.price-card:hover{transform:none}}.hero-trust{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.hero-trust span{font-size:.82rem;color:var(--ink);opacity:.72;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);animation:rise .7s var(--ease) both}.ambassador{text-align:center;border-radius:var(--r-xl);padding:clamp(28px,5vw,52px);border:1px solid color-mix(in srgb,var(--gold) 36%,var(--line));background:radial-gradient(600px 200px at 50% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent),color-mix(in srgb,var(--gold) 6%,var(--surface))}.ambassador-badge{font-size:2.4rem}.ambassador h2{margin-top:8px}.ambassador p{color:var(--ink);opacity:.78;max-width:60ch;margin:12px auto 0;line-height:1.6}.ambassador-tiers{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.ambassador-tiers span{font-weight:700;font-family:var(--mono);font-size:.9rem;padding:8px 14px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--gold));box-shadow:var(--sh-2)}.card{transition:box-shadow .28s var(--ease),transform .28s var(--ease),border-color .2s ease}a.card:hover,.card.clickable:hover{transform:translateY(-3px)}.stat .n{transition:transform .28s var(--ease)}.card.stat:hover .n{transform:scale(1.04)}.badge{transition:transform .16s var(--ease)}tbody tr.clickable{transition:background .16s ease}@media (max-width: 640px){body{font-size:14px}.landing-wrap{padding:0 16px}.landing-nav{flex-wrap:wrap;gap:8px}.hero{padding:32px 0 24px}.stat-row{grid-template-columns:repeat(2,1fr)!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:520px}.modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:92vh;overflow-y:auto}.page-head{flex-wrap:wrap;gap:10px}.chips{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}.chips::-webkit-scrollbar{display:none}.kiosk-count-n{font-size:clamp(3.5rem,26vw,8rem)}.grid{grid-template-columns:1fr!important}.ambassador-tiers span{font-size:.8rem;padding:6px 10px}}@media (max-width: 400px){.stat-row{grid-template-columns:1fr!important}}.dash-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(20px,4vw,34px);border:1px solid var(--line);box-shadow:var(--sh-2),inset 0 1px 0 var(--card-hi);background:radial-gradient(680px 240px at 88% -60%,color-mix(in srgb,var(--gold) 20%,transparent),transparent),radial-gradient(520px 200px at 8% 140%,color-mix(in srgb,var(--accent) 18%,transparent),transparent),var(--surface)}.dash-hero h2{font-size:clamp(1.4rem,4vw,2rem)}.dash-hero .greet-grad{background:linear-gradient(120deg,var(--accent),var(--gold));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradShift 8s ease-in-out infinite}.dash-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.dash-stat{position:relative;overflow:hidden;animation:rise .5s var(--ease) both}.dash-stat .stat-ic{position:absolute;top:12px;right:14px;font-size:1.35rem;opacity:.5;transition:transform .3s var(--ease),opacity .3s ease}.dash-stat:hover .stat-ic{transform:scale(1.25) rotate(-8deg);opacity:.85}.dash-stat .n{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dash-stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.dash-stat:hover:after{transform:scaleX(1)}.dash-stat.flag:after{transform:scaleX(1);background:linear-gradient(90deg,var(--wheat),var(--gold))}.alert-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-sm);background:var(--surface-2);border-left:3px solid var(--gold-line);transition:transform .16s var(--ease),box-shadow .16s var(--ease);color:inherit}.alert-row:hover{transform:translate(3px);box-shadow:var(--sh-1)}.alert-row.danger{border-left-color:var(--danger)}.alert-row.accent{border-left-color:var(--accent-bright)}.alert-row .a-ic{font-size:1.1rem;flex:0 0 auto}@media (prefers-reduced-motion: reduce){.dash-stat,.dash-hero .greet-grad{animation:none}}.portal-hero{position:relative;overflow:hidden;border-radius:0 0 var(--r-xl) var(--r-xl);margin:0 -16px 18px;padding:22px 20px 24px;color:#fff;background:radial-gradient(520px 200px at 90% -40%,rgba(255,255,255,.22),transparent),linear-gradient(135deg,var(--accent-deep),var(--accent) 55%,var(--gold));box-shadow:var(--sh-2);animation:rise .5s var(--ease) both}.portal-hero .p-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-hero .p-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;opacity:.92}.portal-hero .p-body{display:flex;align-items:center;gap:14px;margin-top:16px}.portal-avatar{width:58px;height:58px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--accent-deep);background:#fff;box-shadow:0 4px 14px #00000038;border:2px solid rgba(255,255,255,.7);overflow:hidden}.portal-avatar img{width:100%;height:100%;object-fit:cover}.portal-hero h2{color:#fff;font-size:clamp(1.3rem,5vw,1.7rem);line-height:1.1}.portal-hero .p-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.portal-hero .p-pill{font-size:.72rem;padding:3px 10px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portal-hero .btn.subtle{background:#ffffff29;color:#fff;border-color:#ffffff4d}.portal-hero .btn.subtle:hover{background:#ffffff42}.portal-tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-bottom:18px}.portal-tabs::-webkit-scrollbar{display:none}.portal-tabs .chip-btn{white-space:nowrap}.member-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:22px 22px 24px;color:#fff;margin-top:8px;background:radial-gradient(560px 220px at 88% -50%,rgba(255,255,255,.2),transparent),linear-gradient(135deg,var(--accent-deep),var(--accent) 58%,var(--gold));box-shadow:var(--sh-2);animation:rise .5s var(--ease) both;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.member-hero .mh-id{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1 260px}.member-hero h2{color:#fff;font-size:clamp(1.4rem,4.5vw,1.9rem);line-height:1.08}.member-hero .mh-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.member-hero .p-pill{font-size:.72rem;padding:3px 10px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-transform:capitalize}.member-hero .p-pill.mono{font-family:var(--mono);text-transform:none;letter-spacing:.02em}.member-hero .p-pill.dim{opacity:.72}.member-hero .mh-side{display:flex;align-items:center;gap:16px;margin-left:auto}.member-hero .btn.subtle,.member-hero .btn.ghost{background:#ffffff29;color:#fff;border-color:#ffffff52}.member-hero .btn.subtle:hover,.member-hero .btn.ghost:hover{background:#ffffff47}.mh-ring{--pct: 0;width:72px;height:72px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--pct) * 1%),#ffffff3d 0);box-shadow:0 4px 14px #0003}.mh-ring>span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;line-height:1;background:var(--accent-deep);color:#fff;text-align:center}.mh-ring b{font-size:1.15rem;font-weight:800}.mh-ring small{font-size:.54rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}@media (max-width: 560px){.member-hero .mh-side{margin-left:0;width:100%;justify-content:space-between}}.give-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:22px 24px;color:#fff;background:radial-gradient(520px 220px at 92% -60%,rgba(255,255,255,.2),transparent),linear-gradient(135deg,var(--accent-deep),var(--accent) 60%,var(--gold));box-shadow:var(--sh-2);animation:rise .5s var(--ease) both;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.give-hero .gh-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;opacity:.82}.give-hero .gh-total{font-size:clamp(2rem,7vw,3.1rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px}.give-hero .gh-figs{display:flex;flex-wrap:wrap;gap:22px;margin-top:16px}.give-hero .gh-figs>div{display:flex;flex-direction:column}.give-hero .gh-figs b{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.give-hero .gh-figs span{font-size:.72rem;opacity:.8;text-transform:uppercase;letter-spacing:.06em}.give-hero .gh-spark{width:240px;max-width:100%;height:auto;flex:0 1 240px;opacity:.95}@media (max-width: 560px){.give-hero .gh-spark{flex-basis:100%}}.avatar-sm{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--accent-deep);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}.eng-mini{display:inline-flex;align-items:center;gap:8px}.eng-mini .em-track{width:54px;height:5px;border-radius:3px;background:var(--surface-2);overflow:hidden}.eng-mini .em-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--gold))}.eng-mini .em-n{font-variant-numeric:tabular-nums;font-size:.82rem;min-width:20px;text-align:right}.gathering-emblem{width:38px;height:38px;border-radius:11px;flex:0 0 auto;display:grid;place-items:center;font-size:1.1rem;line-height:1;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.brand-preview{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-lg);color:#fff;margin-top:4px;box-shadow:var(--sh-1);overflow:hidden;transition:background .25s ease}.brand-preview .bp-avatar{width:46px;height:46px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.15rem;color:#fff;background:#fff3;border:1.5px solid rgba(255,255,255,.5)}.brand-preview .bp-name{font-family:var(--serif);font-weight:700;font-size:1.15rem;line-height:1.1}.brand-preview .bp-tag{font-size:.82rem;opacity:.9;margin-top:2px}.brand-preview .bp-caption{margin-left:auto;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;opacity:.75;align-self:flex-start}.public-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(720px 360px at 50% -12%,color-mix(in srgb,var(--gold) 15%,transparent),transparent),radial-gradient(560px 440px at 108% 112%,color-mix(in srgb,var(--accent) 12%,transparent),transparent),var(--ground)}.public-card{position:relative;overflow:hidden;animation:rise .5s var(--ease) both}.public-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold))}.public-emblem{width:56px;height:56px;border-radius:16px;margin:0 auto;display:grid;place-items:center;font-size:1.7rem;line-height:1;color:#fff;box-shadow:var(--sh-1);background:radial-gradient(120% 120% at 30% 0%,rgba(255,255,255,.28),transparent),linear-gradient(135deg,var(--accent-deep),var(--accent) 60%,var(--gold))}.public-emblem img{width:100%;height:100%;border-radius:16px;object-fit:cover}.pw-field{position:relative;display:block}.pw-field .input{width:100%;padding-right:40px}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;font-size:1rem;line-height:1;padding:4px 6px;border-radius:8px;opacity:.7}.pw-eye:hover{opacity:1;background:var(--surface-2)}.op-tile{transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.op-tile:hover{border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.op-tile.open{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:var(--sh-2)}.find-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:.84rem;transition:all .16s var(--ease)}.find-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--ink)}.find-btn-label{font-weight:500}.cmdk-kbd{font:600 .66rem var(--mono);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:5px;padding:1px 5px;color:var(--ink-faint)}.guide-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-faint);cursor:pointer;font-size:.82rem;transition:all .16s var(--ease)}.guide-toggle.on{background:var(--gold-soft);color:var(--wheat);border-color:color-mix(in srgb,var(--gold) 30%,transparent)}.guide-note{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 26%,transparent);color:var(--ink-soft);border-radius:var(--r-sm);padding:11px 14px;font-size:.86rem;line-height:1.5}.guide-note-ic{flex-shrink:0}@media (max-width: 640px){.find-btn-label,.guide-toggle-label{display:none}}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:color-mix(in srgb,#0b1220 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.cmdk{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2),0 24px 60px #00000047;overflow:hidden;display:flex;flex-direction:column;max-height:70vh;animation:cmdk-in .14s var(--ease)}@keyframes cmdk-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.cmdk-input{flex:1;border:none;background:none;outline:none;font-size:1rem;color:var(--ink)}.cmdk-list{overflow-y:auto;padding:6px}.cmdk-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:none;border-radius:10px;cursor:pointer;text-align:left;color:inherit}.cmdk-item.active{background:var(--accent-soft)}.cmdk-ic{font-size:1.15rem;width:26px;text-align:center;flex-shrink:0}.cmdk-text{display:flex;flex-direction:column;min-width:0;flex:1}.cmdk-label{font-weight:600;font-size:.9rem}.cmdk-desc{font-size:.76rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.cmdk-empty{padding:28px 16px;text-align:center;font-size:.9rem}.cmdk-foot{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-top:1px solid var(--line);font-size:.72rem}.kiosk-stage{display:flex;flex-direction:column;gap:14px}.kiosk-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(260px,340px);gap:16px;align-items:start}.kiosk-qr{text-align:center}.kiosk-qr-img{display:inline-block}.kiosk-stage:fullscreen{background:var(--ground, var(--surface-2));padding:22px 28px;overflow:auto}.kiosk-stage:fullscreen .kiosk-grid{flex:1 1 auto;grid-template-columns:1.2fr 1fr;align-items:stretch;min-height:0}.kiosk-stage:fullscreen .kiosk-form,.kiosk-stage:fullscreen .kiosk-qr{overflow:auto;display:flex;flex-direction:column}.kiosk-stage:fullscreen .kiosk-qr{align-items:center;justify-content:center}.kiosk-stage:fullscreen h2{font-size:1.9rem}.kiosk-stage:fullscreen .card-title{font-size:1.4rem}@media (max-width: 720px){.kiosk-grid{grid-template-columns:1fr}.kiosk-stage:fullscreen .kiosk-grid{grid-template-columns:1fr}}.entry-pass{box-shadow:var(--sh-2),0 22px 55px #00000038}.entry-pass-head{background:linear-gradient(150deg,var(--accent, #21406e),color-mix(in srgb,var(--accent, #21406e) 62%,#000));color:#fff;padding:22px 22px 18px}.entry-pass-head h2{color:#fff}
