:root{color-scheme:light;--ink:#16120f;--charcoal:#211b17;--night:#090807;--ember:#dc704a;--ember-strong:#c95d38;--accent:#dc704a;--copper:#b98258;--antique-gold:#d9b875;--deep-gold:#9b7440;--pearl:#fbf7ef;--rice:#f6efe4;--paper:#fffaf2;--mist:#f4f1eb;--line:#e3d8ca;--muted:#746a60;--admin-bg:#f6f7f4;--admin-panel:#fff;--admin-line:#ddd8cf;--danger:#b42318;--success:#16784a;--warning:#a15c07}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--admin-bg);color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.58}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}.admin-page,.page,.public-page{min-height:100vh;padding:24px}.page{background:var(--mist)}.admin-shell,.public-shell,.shell{width:min(1120px,100%);margin:0 auto}.admin-shell--wide{width:min(1560px,100%)}.public-shell--narrow{width:min(760px,100%)}.stack{display:grid;gap:16px}.section{padding:24px 0}.admin-panel,.credential-card,.panel{background:var(--admin-panel);border:1px solid var(--line);border-radius:8px;padding:20px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;background:var(--ember);color:#fff;cursor:pointer;font-weight:800;padding:0 18px;text-align:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}.button:hover{background:var(--ember-strong);transform:translateY(-1px)}.button.secondary{border-color:rgba(220,112,74,.28);background:rgba(255,250,242,.92);color:var(--ink)}.button.danger{background:var(--danger)}.input,.select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 12px}.input:focus,.select:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(220,112,74,.16);outline:0}.label{display:grid;gap:8px;color:var(--muted);font-size:14px;font-weight:700}.field-label-row{display:grid;gap:3px}.field-hint{color:rgba(91,78,67,.74);font-size:12px;font-weight:700;line-height:1.45}.field-hint--emphasis{color:var(--ember-strong);font-weight:850}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.muted{color:var(--muted)}.admin-eyebrow,.eyebrow{margin:0;color:var(--ember);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.status-success{color:var(--success)}.status-warning{color:var(--warning)}.status-danger{color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--admin-line);border-radius:8px;background:var(--admin-panel)}.admin-table,table{width:100%;border-collapse:collapse;background:var(--admin-panel)}td,th{border-bottom:1px solid var(--admin-line);padding:13px 14px;text-align:left;white-space:nowrap}th{background:#f0ebe3;color:var(--muted);font-size:12px;font-weight:900}td{color:var(--ink);font-size:14px}.text-link{display:inline-flex;min-height:36px;align-items:center;border-bottom:1px solid;color:inherit;font-weight:800}.text-link--dark{color:var(--rice)}.brand-mark{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark__logo{display:inline-grid;width:48px;height:48px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:999px;background:transparent}.brand-mark img{width:100%;height:100%;max-width:none;-o-object-fit:contain;object-fit:contain;transform:scale(2.05)}.brand-mark span,.brand-mark strong{display:block;line-height:1.2}.brand-mark strong{font-size:17px;font-weight:900}.brand-mark span{margin-top:3px;font-size:12px;font-weight:700}.brand-mark--dark{color:var(--rice)}.brand-mark--light{color:var(--ink)}.brand-mark--compact .brand-mark__logo{width:36px;height:36px}.brand-mark--compact strong{font-size:15px}.public-page{position:relative;overflow:hidden;background:#f7f7f5;color:var(--ink)}.public-page:after,.public-page:before{content:none}.public-shell{position:relative;z-index:1;width:min(920px,100%)}.public-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.event-hero,.public-page .brand-mark--dark,.public-page .text-link--dark{color:var(--ink)}.event-hero{position:relative;display:grid;justify-items:center;gap:22px;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.event-hero__poster{display:block;width:min(812px,100%);height:auto;background:var(--ember);box-shadow:0 18px 52px rgba(127,65,31,.16)}.event-hero__summary{position:relative;z-index:1;width:min(680px,100%);display:grid;gap:16px;justify-items:center;text-align:center}.event-hero__brandline{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.event-hero__brandline .eyebrow{color:var(--ember-strong);font-size:12px;line-height:1.2}.event-hero h1{margin:0;font-size:clamp(20px,5.6vw,34px);font-weight:500;line-height:1.32;white-space:nowrap}.event-hero__description,.event-hero__subtitle{max-width:680px;color:var(--muted);font-size:15px;line-height:1.85}.event-hero__subtitle{margin-bottom:0;color:var(--ink);font-size:clamp(20px,3.2vw,26px);font-weight:500;line-height:1.3}.event-hero__actions{display:flex;flex-wrap:wrap;gap:12px}.event-hero__auth-actions{display:grid;gap:10px;justify-items:center}.wechat-auth-hint{max-width:560px;margin-bottom:0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.6}.wechat-auth-notice{display:grid;max-width:560px;gap:8px;border:1px solid rgba(220,112,74,.24);border-radius:8px;background:hsla(0,0%,100%,.9);padding:14px}.wechat-auth-notice strong{color:var(--ink);font-size:15px}.wechat-auth-notice p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.7}.wechat-auth-notice__copy{justify-self:start;min-height:38px;padding:0 14px}.event-meta{display:grid;gap:12px;justify-items:start;margin:4px 0 0}.event-meta span,.ticket-status{display:inline-flex;min-height:32px;align-items:center;gap:12px;border:0;border-radius:0;background:transparent;padding:0;font-size:16px;font-weight:500}.event-meta__icon{width:22px;height:22px;color:var(--ember);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.home-section{position:relative;overflow:hidden;border:1px solid #555;border-radius:0;background:#fff;color:var(--ink);padding:clamp(24px,4vw,42px);box-shadow:none}.home-section:before{content:none}.home-section__header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-lede{max-width:760px;margin:0 auto 28px;color:var(--muted);font-size:17px;line-height:1.9;text-align:center}.home-section--stats{padding:0}.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.home-stats div{display:grid;min-height:120px;justify-items:center;align-content:center;gap:6px;border-right:1px solid #777;background:#fff;padding:16px 10px;text-align:center}.home-stats div:last-child{border-right:0}.home-stats strong{color:var(--ink);font-size:15px;line-height:1.25}.home-stats span{color:var(--ink);font-size:14px;font-weight:500}.admin-titlebar h1,.home-section__header h2{margin:0}.home-section:not(.home-section--tickets) .home-section__header{justify-content:center;text-align:center}.home-section:not(.home-section--tickets) .home-section__header h2{position:relative;color:var(--ember);font-size:28px;font-weight:500}.home-section:not(.home-section--tickets) .home-section__header h2:after,.home-section:not(.home-section--tickets) .home-section__header h2:before{position:absolute;top:50%;width:62px;height:2px;background:var(--ember);content:""}.home-section:not(.home-section--tickets) .home-section__header h2:before{right:calc(100% + 14px)}.home-section:not(.home-section--tickets) .home-section__header h2:after{left:calc(100% + 14px)}.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.why-grid article{display:grid;justify-items:center;gap:12px;text-align:center}.why-grid h3,.why-grid p{margin-bottom:0}.why-grid h3{font-size:17px;font-weight:800}.why-grid p{color:var(--ink);font-size:13px;line-height:1.55}.contact-panel{display:grid;gap:22px;justify-items:center}.contact-lines{display:grid;gap:8px;width:min(330px,100%);color:var(--ink);font-size:16px;font-weight:900;line-height:1.6;text-align:left}.contact-line{display:grid;grid-template-columns:5.25em 4.25em 1fr;align-items:baseline;-moz-column-gap:4px;column-gap:4px;margin-bottom:0;white-space:nowrap}.contact-line__name{text-align:center}.contact-line__phone{font-variant-numeric:tabular-nums}.contact-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(330px,100%)}.contact-qr-card{display:grid;justify-items:center;gap:10px;margin:0;text-align:center}.contact-qr-card__image{display:grid;width:min(142px,100%);aspect-ratio:1;place-items:center;border:0;border-radius:8px;background:#fffdf8;box-shadow:inset 0 0 0 1px rgba(220,112,74,.18),0 8px 22px rgba(127,65,31,.1);padding:10px}.contact-qr-card__image img{width:100%;height:100%;border-radius:4px;-o-object-fit:contain;object-fit:contain}.contact-qr-card figcaption{display:grid;color:var(--ink);font-size:15px;line-height:1.3}.contact-qr-card__title{display:block;font-weight:900}.icon-mark{width:46px;height:46px;color:#5a5a5a;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8}.home-stats .icon-mark{width:38px;height:38px}.credential-card{display:grid;gap:18px;background:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(255,248,240,.94)),#fff;color:var(--ink);border-color:rgba(220,112,74,.18);box-shadow:0 18px 48px rgba(127,65,31,.1)}.credential-list{display:grid;gap:10px;margin:0}.credential-list div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:12px}.credential-list dt{color:var(--muted);font-weight:800}.credential-list dd{margin:0;font-weight:900;text-align:right;word-break:break-all}.ticket-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:16px;align-items:end;border:1px dashed rgba(155,116,64,.44);border-radius:8px;background:hsla(0,0%,100%,.62);padding:16px}.credential-card h2,.ticket-picker h2{margin-bottom:6px}.ticket-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ticket-option{display:grid;gap:16px}.ticket-option--active,.ticket-option--group{grid-column:1/-1}.ticket-benefit{--ticket-surface:linear-gradient(135deg,#fff,#fff8ef);--ticket-surface-active:linear-gradient(135deg,#ffe9db,#fff4ec);--ticket-border:#d9d0c5;--ticket-accent:var(--ember);--ticket-accent-strong:var(--ember-strong);--ticket-ring:rgba(220,112,74,.26);--ticket-active-overlay:rgba(220,112,74,.1);--ticket-shadow:rgba(127,65,31,.1);position:relative;display:grid;align-content:start;gap:14px;border:1px solid var(--ticket-border);border-radius:8px;background:var(--ticket-surface);color:inherit;cursor:pointer;font:inherit;min-height:238px;padding:18px;text-align:left;width:100%;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ticket-benefit:hover{border-color:var(--ticket-accent);box-shadow:0 10px 22px var(--ticket-shadow);transform:translateY(-1px)}.ticket-benefit--vip{--ticket-surface:linear-gradient(135deg,#fff7dd,#fff1cb 52%,#fffaf0);--ticket-surface-active:linear-gradient(135deg,#ffe19a,#fff0bf);--ticket-border:#d4aa51;--ticket-accent:#b27822;--ticket-accent-strong:#8c5a16;--ticket-ring:rgba(178,120,34,.28);--ticket-active-overlay:rgba(178,120,34,.18);--ticket-shadow:rgba(178,120,34,.18)}.ticket-benefit--early-bird{--ticket-surface:linear-gradient(135deg,#fff2e8,#fff8f1);--ticket-surface-active:linear-gradient(135deg,#ffd3bd,#ffeadd);--ticket-border:#e4a080;--ticket-accent:#c95d38;--ticket-accent-strong:#a94a2b;--ticket-ring:rgba(201,93,56,.26);--ticket-active-overlay:rgba(201,93,56,.16);--ticket-shadow:rgba(201,93,56,.16)}.ticket-benefit--standard{--ticket-surface:linear-gradient(135deg,#fbfcf5,#f4f8ed);--ticket-surface-active:linear-gradient(135deg,#dcebcf,#f0f6e8);--ticket-border:#c6d3b6;--ticket-accent:#627f4a;--ticket-accent-strong:#4a6435;--ticket-ring:rgba(98,127,74,.24);--ticket-active-overlay:rgba(98,127,74,.15);--ticket-shadow:rgba(98,127,74,.14)}.ticket-benefit--lunch{--ticket-surface:linear-gradient(135deg,#eef8f6,#e1f1ed);--ticket-surface-active:linear-gradient(135deg,#c9e9e1,#e8f5f2);--ticket-border:#9fc8bf;--ticket-accent:#347c6e;--ticket-accent-strong:#245f54;--ticket-ring:rgba(52,124,110,.24);--ticket-active-overlay:rgba(52,124,110,.14);--ticket-shadow:rgba(36,95,84,.14)}.ticket-benefit--founder{--ticket-surface:linear-gradient(135deg,#f7f3ef,#eee8e1);--ticket-surface-active:linear-gradient(135deg,#e1d6cb,#f2ebe4);--ticket-border:#c9bcb0;--ticket-accent:#776759;--ticket-accent-strong:#5d5046;--ticket-ring:rgba(119,103,89,.24);--ticket-active-overlay:rgba(119,103,89,.14);--ticket-shadow:rgba(119,103,89,.14)}.ticket-benefit--chai-fan{--ticket-surface:linear-gradient(135deg,#f1f6f8,#e4edf1);--ticket-surface-active:linear-gradient(135deg,#d7e6ec,#edf4f6);--ticket-border:#aebfca;--ticket-accent:#607f8e;--ticket-accent-strong:#486570;--ticket-ring:rgba(96,127,142,.24);--ticket-active-overlay:rgba(96,127,142,.14);--ticket-shadow:rgba(72,101,112,.14)}.ticket-benefit--summary{min-height:0}.ticket-benefit--vip-group{cursor:default}.ticket-benefit--group-selected{border-color:var(--ticket-accent)}.ticket-benefit--active,.ticket-benefit--group-selected{background:linear-gradient(var(--ticket-active-overlay),var(--ticket-active-overlay)),var(--ticket-surface-active);box-shadow:inset 0 0 0 3px var(--ticket-ring),0 16px 34px var(--ticket-shadow)}.ticket-benefit--active{border-width:2px;border-color:var(--ticket-accent);padding:17px 45px 17px 17px;transform:translateY(-1px)}.ticket-benefit--active:before{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:999px;background:var(--ticket-accent);box-shadow:0 4px 12px var(--ticket-shadow);content:""}.ticket-benefit--active:after{position:absolute;top:16px;right:20px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.ticket-benefit__header{display:grid;gap:12px}.ticket-benefit__header>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-benefit span,.ticket-benefit strong{font-weight:900}.ticket-benefit__title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.ticket-benefit__action-hint{display:inline-flex;min-height:30px;align-items:center;gap:6px;border:1px solid var(--ticket-accent);border-radius:999px;background:var(--ticket-accent);box-shadow:0 6px 16px var(--ticket-shadow);color:#fff;font-size:12px;font-weight:900;letter-spacing:0;line-height:1;padding:0 12px;white-space:nowrap}.ticket-benefit__action-hint:after{width:6px;height:6px;border:solid;border-width:2px 2px 0 0;content:"";transform:rotate(45deg)}.ticket-benefit--active .ticket-benefit__action-hint{min-height:34px;border-color:var(--ticket-accent-strong);background:var(--ticket-accent-strong);box-shadow:0 6px 16px var(--ticket-shadow);color:#fff;font-size:13px;padding:0 14px}.ticket-benefit--active .ticket-benefit__action-hint:after{display:none}.ticket-benefit--active .ticket-benefit__title strong{color:var(--ticket-accent-strong)}.ticket-benefit__price{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:7px;white-space:nowrap}.ticket-benefit__price del{color:var(--muted);font-size:13px;font-weight:800;text-decoration-thickness:2px}.ticket-tier-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ticket-tier{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(85,85,85,.16);border-radius:8px;background:hsla(0,0%,100%,.62);color:inherit;cursor:pointer;font:inherit;padding:12px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ticket-tier:hover{border-color:var(--ticket-accent);box-shadow:0 8px 18px var(--ticket-shadow);transform:translateY(-1px)}.ticket-tier--active{border-color:var(--ticket-accent-strong);background:hsla(0,0%,100%,.82);box-shadow:inset 0 0 0 2px var(--ticket-ring)}.ticket-tier__copy{display:grid;gap:4px;min-width:0}.ticket-tier__copy strong{color:var(--ink);font-size:15px;line-height:1.25;white-space:nowrap}.ticket-tier__meta{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;word-break:keep-all}.ticket-countdown{display:inline-flex;align-items:baseline;gap:7px;margin-top:6px;color:var(--ticket-accent-strong);white-space:nowrap}.ticket-countdown__label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:850}.ticket-countdown__label:before{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--ticket-accent);box-shadow:0 0 0 3px var(--ticket-ring);content:""}.ticket-countdown__digits{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:19px;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.02em;line-height:1}.ticket-tier__side{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.ticket-tier .ticket-benefit__action-hint{min-height:28px;padding:0 10px}.ticket-tier--active .ticket-benefit__action-hint{border-color:var(--ticket-accent-strong);background:var(--ticket-accent-strong);box-shadow:0 6px 16px var(--ticket-shadow)}.ticket-tier--active .ticket-benefit__action-hint:after{display:none}.ticket-benefit p{margin-bottom:0;font-size:13px;line-height:1.5}.ticket-benefit__details{display:grid;gap:8px;border-top:1px solid rgba(85,85,85,.16);padding-top:12px}.ticket-benefit__details span{color:var(--ink);font-size:15px}.ticket-benefit__details ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.ticket-benefit__details li{position:relative;color:var(--ink);font-size:13px;line-height:1.5;padding-left:16px}.ticket-benefit__details li:before{position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:999px;background:var(--ticket-accent);content:"";transform:translateY(-50%)}.home-section--tickets .credential-card{border:0;background:transparent;box-shadow:none;padding:0}.ticket-registration-slot{display:grid;gap:16px;grid-column:1/-1}.wechat-auth-reminder{display:grid;gap:6px;margin-bottom:16px;border:1px solid rgba(220,112,74,.28);border-radius:8px;background:rgba(255,246,238,.88);padding:14px}.wechat-auth-reminder strong{font-size:16px;font-weight:900}.wechat-auth-reminder p{margin-bottom:0;color:var(--muted);line-height:1.7}.label--error{color:var(--danger)}.input[aria-invalid=true],.label--error .input{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.1)}.field-error{color:var(--danger);font-size:12px;font-weight:800}.form-submit{width:100%}.form-result{display:grid;gap:10px;border:1px solid hsla(40,57%,65%,.28);border-radius:8px;background:hsla(40,57%,65%,.1);padding:16px}.submit-toast{position:fixed;top:22px;left:50%;z-index:1000;width:min(520px,calc(100vw - 32px));border:1px solid rgba(180,35,24,.28);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 14px 34px rgba(33,27,23,.18);color:var(--danger);font-size:14px;font-weight:900;line-height:1.5;padding:12px 16px;text-align:center;transform:translateX(-50%);animation:submit-toast-in .16s ease-out}@keyframes submit-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.my-ticket-panel{gap:22px}.local-ticket-list{display:grid;gap:10px}.local-ticket-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(155,116,64,.22);border-radius:8px;background:hsla(0,0%,100%,.58);padding:12px}.local-ticket-item p{margin-bottom:0}.local-ticket-item__title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ticket-kind-tag{display:inline-flex;min-height:24px;align-items:center;border:1px solid rgba(155,116,64,.3);border-radius:999px;background:hsla(0,0%,100%,.7);color:var(--ink);font-size:12px;font-weight:950;padding:2px 9px}.ticket-kind-tag--vip{background:hsla(40,57%,65%,.26);color:var(--ember-strong)}.ticket-kind-tag--early_bird{background:rgba(223,98,54,.14);color:var(--accent)}.ticket-kind-tag--standard{background:rgba(22,120,74,.12);color:var(--success)}.ticket-kind-tag--lunch{background:rgba(52,124,110,.14);color:#245f54}.ticket-kind-tag--founder{background:hsla(40,57%,65%,.2);color:var(--ember-strong)}.fallback-lookup{border-top:1px solid var(--line);padding-top:18px}.lottery-summary{display:grid;gap:28px}.lottery-draw-index{display:grid;gap:14px}.lottery-draw-index+.lottery-draw-index{border-top:1px solid var(--line);padding-top:24px}.lottery-draw-index__header h2,.lottery-draw-index__header p{margin-bottom:0}.lottery-prize-list{display:grid;border-bottom:1px solid var(--line)}.lottery-prize-row{display:grid;min-height:62px;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border-top:1px solid var(--line);color:inherit;text-decoration:none;transition:color .16s ease,transform .16s ease}.lottery-prize-row--open:hover{color:var(--accent);transform:translateX(4px)}.lottery-prize-row--disabled{color:rgba(34,29,24,.58)}.lottery-prize-row__title{display:inline-flex;align-items:baseline;gap:10px}.lottery-prize-row__title strong{font-size:20px}.lottery-prize-row__action,.lottery-prize-row__count{color:var(--muted);font-size:13px;font-weight:900}.lottery-prize-row__state{display:inline-flex;align-items:center;gap:12px;font-weight:900}.lottery-prize-row__action{color:var(--accent)}.lottery-detail{display:grid;gap:22px}.lottery-detail__status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px}.lottery-detail__status h2,.lottery-detail__status p{margin:0}.lottery-detail__status h2{font-size:30px}.lottery-detail-winner-list{display:grid}.lottery-detail-winner-list h2{margin-bottom:8px}.lottery-detail-winner-row{display:grid;min-height:56px;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border-top:1px solid var(--line)}.lottery-detail-winner-row p,.lottery-empty-state{margin:0;font-weight:800}.lottery-detail-winner-row__badge{display:inline-flex;min-width:32px;min-height:32px;align-items:center;justify-content:center;border-radius:999px;background:rgba(223,98,54,.12);color:var(--accent);font-size:13px;font-weight:900}.lottery-empty-state{color:var(--muted)}.ticket-switcher{display:grid;gap:8px;border:1px solid hsla(40,57%,65%,.3);border-radius:8px;background:rgba(255,250,242,.9);color:var(--ink);padding:12px 14px;box-shadow:0 18px 52px rgba(9,8,7,.18);touch-action:pan-y}.ticket-switcher__row{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;align-items:center}.ticket-switcher__control{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(155,116,64,.28);border-radius:999px;background:#fff;color:var(--ember-strong);font-size:24px;font-weight:900;line-height:1;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.ticket-switcher__control:hover{border-color:rgba(220,112,74,.42);box-shadow:0 8px 18px rgba(127,65,31,.14);transform:translateY(-1px)}.ticket-switcher__control--previous{justify-self:start}.ticket-switcher__control--next{justify-self:end}.ticket-switcher__status{display:grid;min-width:0;justify-items:center;gap:2px;text-align:center}.ticket-switcher__status strong{font-size:16px;font-weight:950}.ticket-switcher__meta,.ticket-switcher__status span{color:var(--muted);font-size:12px;font-weight:850}.ticket-switcher__meta{margin:0;overflow-wrap:anywhere;text-align:center}.ticket{display:grid;gap:24px;overflow:hidden;border:1px solid hsla(40,57%,65%,.34);border-radius:8px;background:linear-gradient(135deg,hsla(40,60%,96%,.98),hsla(37,46%,83%,.94)),var(--pearl);color:var(--ink);padding:28px;box-shadow:0 28px 80px rgba(9,8,7,.34)}.ticket__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ticket__identity{display:grid;gap:8px}.ticket__identity h1{margin:0;font-size:clamp(28px,7vw,46px);font-weight:900;line-height:1.08;overflow-wrap:anywhere}.ticket-status{align-self:start;border-color:var(--line);background:#fff}.ticket-status--valid{color:var(--success)}.ticket-status--checked_in{color:var(--warning)}.ticket-status--void{color:var(--danger)}.ticket--checked-in{background:linear-gradient(135deg,hsla(40,29%,94%,.98),hsla(37,18%,86%,.94)),var(--mist)}.ticket__qr{display:grid;justify-items:center;gap:12px;border:1px dashed rgba(185,130,88,.5);border-radius:8px;background:#fff;padding:18px}.ticket__qr img{width:min(320px,100%)}.ticket__qr--checked-in{border-color:hsla(30,9%,42%,.42);background:#eeeeec}.ticket__qr--checked-in img{filter:grayscale(1);opacity:.68}.ticket__used-badge{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid hsla(30,9%,42%,.22);border-radius:999px;background:#fff;color:var(--muted);font-weight:900;padding:6px 14px}.ticket-lunch-coupon{position:relative;display:grid;width:min(280px,100%);gap:4px;overflow:hidden;border:1px solid rgba(155,116,64,.38);border-radius:8px;background:linear-gradient(135deg,rgba(255,250,242,.98),hsla(40,57%,65%,.24)),#fff;padding:14px 18px;text-align:left}.ticket-lunch-coupon span{color:var(--muted);font-size:12px;font-weight:900}.ticket-lunch-coupon strong{color:var(--ink);font-size:24px;line-height:1.1}.ticket-lunch-coupon--issued{border-color:hsla(30,9%,42%,.28);background:#eeeeec;color:var(--muted)}.ticket-lunch-coupon--issued em{position:absolute;right:14px;top:12px;border:2px solid hsla(30,9%,42%,.48);border-radius:999px;color:var(--muted);font-size:13px;font-style:normal;font-weight:950;padding:7px 10px;transform:rotate(-12deg)}.ticket__manual-code{display:grid;gap:8px;border:1px solid rgba(155,116,64,.22);border-radius:8px;background:hsla(0,0%,100%,.62);padding:12px 14px}.ticket__manual-code span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.ticket__manual-code strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:30px;line-height:1.15;overflow-wrap:anywhere}.ticket__event-info{display:grid;gap:10px;border:1px solid rgba(155,116,64,.22);border-radius:8px;background:hsla(0,0%,100%,.62);padding:12px 14px}.ticket__event-info div{display:grid;gap:4px}.ticket__event-info span{color:var(--muted);font-size:12px;font-weight:900}.ticket__event-info strong{color:var(--ink);font-size:17px;line-height:1.35}.ticket__details{display:grid;gap:12px;margin:0}.ticket__details div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.ticket__details dt{color:var(--muted)}.ticket__details dd{margin:0;font-weight:800;text-align:right}.admin-page{--admin-canvas:#f4f3ef;--admin-surface:#fff;--admin-primary:#211b17;--admin-primary-ink:#fffaf3;--admin-muted-text:#746b63;--admin-soft-line:#ded8cf;--admin-hover:#f7f3ed;--admin-brand-soft:#f7ebe4;--admin-panel-shadow:0 8px 24px rgba(45,37,31,.045);background:var(--admin-canvas);color:var(--ink)}.admin-shell{display:grid;gap:18px}.admin-shell--login{width:min(460px,100%);min-height:calc(100vh - 48px);align-content:center}.admin-header{min-width:0;align-items:center;border:1px solid var(--admin-soft-line);border-radius:12px;background:hsla(0,0%,100%,.94);box-shadow:var(--admin-panel-shadow);padding:14px 16px}.admin-header,.admin-titlebar{display:flex;justify-content:space-between;gap:16px}.admin-titlebar{align-items:end;border:0;border-radius:0;background:transparent;padding:4px 2px 0}.admin-titlebar h1{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.08}.admin-titlebar p{max-width:760px;margin:7px 0 0;color:var(--admin-muted-text);line-height:1.65}.admin-page .admin-eyebrow{margin-bottom:5px;color:var(--ember-strong);letter-spacing:.08em}.admin-panel,.admin-stat,.scanner-card{border-color:var(--admin-soft-line);border-radius:12px;background:var(--admin-surface);box-shadow:var(--admin-panel-shadow)}.admin-panel{padding:20px}.admin-page .button{min-height:40px;border-color:var(--admin-primary);border-radius:8px;background:var(--admin-primary);box-shadow:0 5px 14px rgba(33,27,23,.16);color:var(--admin-primary-ink);padding:0 16px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease}.admin-page .button:hover:not(:disabled){border-color:#302720;background:#302720;box-shadow:0 7px 18px rgba(33,27,23,.2);transform:none}.admin-page .button:active:not(:disabled){box-shadow:0 2px 8px rgba(33,27,23,.16)}.admin-page .button.secondary{border-color:#d7d0c7;background:#fff;box-shadow:none;color:#3e352f}.admin-page .button.secondary:hover:not(:disabled){border-color:#bdb4aa;background:var(--admin-hover);color:var(--admin-primary)}.admin-page .admin-button--brand-soft{border-color:rgba(220,112,74,.2);background:var(--admin-brand-soft);box-shadow:none;color:#9f492f}.admin-page .admin-button--brand-soft:hover:not(:disabled){border-color:rgba(220,112,74,.34);background:#f3dfd4;color:#8f3e28}.admin-page .button:focus-visible,.admin-page .input:focus-visible,.admin-page .select:focus-visible{outline:2px solid rgba(220,112,74,.55);outline-offset:2px}.admin-page .button:disabled{box-shadow:none;opacity:.48}.admin-page .input,.admin-page .select{min-height:44px;border-color:var(--admin-soft-line);border-radius:8px;background:#fff}.admin-page .input:focus,.admin-page .select:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(220,112,74,.12)}.admin-shell--login .admin-panel{padding:24px;box-shadow:0 18px 48px rgba(45,37,31,.08)}@media (prefers-reduced-motion:reduce){.admin-page *,.admin-page :after,.admin-page :before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.admin-nav{display:flex;flex-wrap:wrap;gap:4px}.admin-nav__link{display:inline-flex;min-height:36px;align-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--admin-muted-text,var(--muted));padding:0 12px;font-weight:800;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.admin-nav__link:hover{border-color:var(--admin-soft-line,var(--admin-line));background:var(--admin-hover,#f7f3ed);color:var(--admin-primary,var(--ink))}.admin-nav__link--active,.admin-nav__link--active:hover{border-color:var(--admin-primary,var(--ink));background:var(--admin-primary,var(--ink));box-shadow:0 4px 12px rgba(33,27,23,.16);color:var(--admin-primary-ink,#fff)}.admin-nav__link:focus-visible{outline:2px solid rgba(220,112,74,.55);outline-offset:2px}.admin-stat{position:relative;display:grid;min-height:124px;align-content:space-between;gap:14px;overflow:hidden;padding:20px}.admin-stat:before{position:absolute;inset:0 0 auto;height:3px;background:var(--ember);content:""}.admin-stat span{color:var(--admin-muted-text);font-size:13px;font-weight:800}.admin-stat strong{color:var(--admin-primary);font-size:clamp(28px,4vw,38px);line-height:1}.admin-panel{border-color:var(--admin-soft-line)}.admin-filterbar{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,.35fr));gap:10px;align-items:end}.admin-pagination,.admin-table-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-table-summary{color:var(--admin-muted-text);font-size:13px;font-weight:800}.admin-page .table-wrap{border-color:var(--admin-soft-line);border-radius:10px;background:var(--admin-surface)}.admin-page .admin-table th{border-color:#e8e2da;background:#f4f0e9;color:var(--admin-muted-text);font-size:12px;font-weight:900;padding:12px 14px}.admin-page .admin-table td{border-color:#ece7e0;background:#fff;color:var(--ink);font-size:14px;padding:13px 14px;transition:background .14s ease}.admin-page .admin-table tbody tr:hover td{background:#fffbf7}.admin-page .admin-table tbody tr:last-child td{border-bottom:0}.admin-empty-table{margin:0;padding:24px 18px;color:var(--admin-muted-text);font-weight:800;text-align:center}.admin-order-action{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;white-space:nowrap}.admin-text-action{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:0 8px;white-space:nowrap;transition:background .16s ease,color .16s ease,opacity .16s ease}.admin-text-action:hover:not(:disabled){background:rgba(220,112,74,.08)}.admin-text-action:focus-visible{outline:2px solid rgba(220,112,74,.5);outline-offset:2px}.admin-text-action:disabled{cursor:not-allowed;opacity:.5}.admin-text-action--delete{color:var(--danger)}.admin-text-action--delete:hover:not(:disabled){background:rgba(180,35,24,.08)}.admin-action-divider{width:1px;height:16px;background:var(--admin-line)}.admin-action-empty{display:inline-block;min-width:24px;text-align:center}.admin-action-button{min-height:32px;padding:0 12px;white-space:nowrap}.admin-action-error{margin:0;border:1px solid rgba(180,35,24,.18);border-radius:8px;background:rgba(180,35,24,.06);color:var(--danger);font-weight:800;padding:10px 12px}.status-badge{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--admin-line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;white-space:nowrap}.status-badge--neutral{background:#f3f1ed;color:var(--muted)}.status-badge--success{border-color:rgba(22,120,74,.22);background:rgba(22,120,74,.1);color:var(--success)}.status-badge--warning{border-color:rgba(161,92,7,.24);background:rgba(161,92,7,.1);color:var(--warning)}.status-badge--danger{border-color:rgba(180,35,24,.22);background:rgba(180,35,24,.1);color:var(--danger)}.status-badge--brand{border-color:rgba(220,112,74,.24);background:rgba(220,112,74,.12);color:var(--ember-strong)}.admin-page .status-badge{min-height:26px;padding:3px 9px;font-size:12px}.admin-pagination{justify-content:flex-end}.admin-pagination .button{min-height:36px;padding:0 12px}.lottery-stage,.scanner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px}.scanner-card{padding:20px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.scanner-controls{gap:10px}.scanner-manual-form{border-top:1px solid #ece7e0;padding-top:16px}.scanner-card--success{border-color:rgba(22,120,74,.36);box-shadow:0 0 0 3px rgba(22,120,74,.08)}.scanner-card--warning{border-color:rgba(161,92,7,.38);box-shadow:0 0 0 3px rgba(161,92,7,.08)}.scanner-card--danger{border-color:rgba(180,35,24,.38);box-shadow:0 0 0 3px rgba(180,35,24,.08)}.scanner-box{border:1px solid var(--charcoal);background:var(--night)}.scanner-box,.scanner-box-frame{min-height:320px;overflow:hidden;border-radius:8px}.scanner-box-frame{position:relative}.scanner-box-frame--paused .scanner-box{filter:saturate(.45) brightness(.72)}.scanner-sound-state{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:800}.scan-feedback-overlay{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:10px;border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;padding:20px;text-align:center}.scan-feedback-overlay--success{background:linear-gradient(180deg,rgba(10,78,48,.94),rgba(12,102,63,.92)),var(--success)}.scan-feedback-overlay--warning{background:linear-gradient(180deg,rgba(109,61,5,.94),rgba(151,85,8,.92)),var(--warning)}.scan-feedback-overlay--danger{background:linear-gradient(180deg,rgba(111,24,17,.95),rgba(160,34,26,.92)),var(--danger)}.scan-feedback-overlay__eyebrow{font-size:12px;font-weight:900;letter-spacing:0;opacity:.78}.scan-feedback-overlay strong{font-size:clamp(34px,7vw,58px);font-weight:950;line-height:1.02}.scan-feedback-overlay__name{margin:0;font-size:clamp(24px,5vw,38px);font-weight:900;line-height:1.1}.scan-feedback-overlay__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.scan-feedback-overlay__badges span,.scan-feedback-overlay__lunch{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.24);border-radius:999px;background:hsla(0,0%,100%,.16);font-size:14px;font-weight:900;padding:6px 14px}.scan-feedback-overlay__lunch{min-height:46px;border-color:hsla(0,0%,100%,.42);background:hsla(0,0%,100%,.24);color:#fff;font-size:clamp(20px,4.8vw,30px);font-family:inherit;line-height:1.1;white-space:nowrap}.scan-feedback-overlay__lunch-group{display:grid;justify-items:center;gap:6px}.scan-feedback-overlay__lunch--action{cursor:pointer}.scan-feedback-overlay__lunch--action:disabled{cursor:not-allowed;opacity:.72}.scan-feedback-overlay__lunch--issued,.scan-feedback-overlay__lunch--muted{background:hsla(0,0%,100%,.14)}.scan-feedback-overlay__lunch--issued{position:relative;color:hsla(0,0%,100%,.78);padding-right:56px}.scan-feedback-overlay .scan-feedback-overlay__lunch--issued strong{position:absolute;right:-8px;top:-12px;border:2px solid hsla(0,0%,100%,.72);border-radius:999px;color:#fff;font-size:13px;line-height:1;padding:8px 10px;transform:rotate(-12deg)}.scan-feedback-overlay__lunch-error{color:hsla(0,0%,100%,.86);font-size:12px;font-weight:900}.scan-feedback-overlay small{max-width:92%;color:hsla(0,0%,100%,.82);font-size:13px;font-weight:800}.scan-feedback-overlay__action{width:min(220px,82%);margin-top:4px;background:#fff;color:var(--ink)}.admin-page .scan-feedback-overlay__action{border-color:#fff;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.16);color:var(--admin-primary)}.admin-page .scan-feedback-overlay__action:hover:not(:disabled){border-color:#fff;background:#f8f3ed;color:var(--admin-primary)}.scan-feedback{display:grid;gap:6px;border:1px solid;border-radius:8px;padding:14px 16px}.scan-feedback small,.scan-feedback span,.scan-record span{font-size:12px}.scan-feedback small,.scan-feedback span{color:var(--muted)}.scan-feedback strong{font-size:28px;line-height:1.1}.scan-feedback p{margin:0;color:var(--charcoal);font-weight:700}.scan-feedback__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.scan-feedback__badge{display:inline-flex;min-height:28px;align-items:center;border:1px solid rgba(34,34,34,.12);border-radius:999px;background:hsla(0,0%,100%,.72);color:var(--charcoal);font-size:12px;font-weight:900;padding:4px 10px}.scan-feedback__badge--vip{border-color:rgba(155,116,64,.36);background:hsla(40,57%,65%,.22);color:var(--ember-strong)}.scan-feedback__badge--lunch{border-color:rgba(22,120,74,.26);background:rgba(22,120,74,.12);color:var(--success)}.scan-feedback--success{border-color:rgba(22,120,74,.28);background:rgba(22,120,74,.1)}.scan-feedback--success strong{color:var(--success)}.scan-feedback--warning{border-color:rgba(161,92,7,.28);background:rgba(161,92,7,.1)}.scan-feedback--warning strong{color:var(--warning)}.scan-feedback--danger{border-color:rgba(180,35,24,.28);background:rgba(180,35,24,.1)}.scan-feedback--danger strong{color:var(--danger)}.scan-record{display:flex;justify-content:space-between;gap:12px;border-left:3px solid var(--admin-line);border-bottom:1px solid var(--admin-line);padding:0 0 10px 12px}.scan-record>div{display:grid;gap:2px}.scan-record>div span{color:var(--muted)}.scan-record--success{border-left-color:var(--success)}.scan-record--warning{border-left-color:var(--warning)}.scan-record--danger{border-left-color:var(--danger)}.scan-record:last-child{border-bottom:0;padding-bottom:0}.lottery-winner-list{display:grid;gap:10px;border-top:1px solid var(--admin-line);padding-top:14px}.lottery-winner-list h3{margin:0}@media (max-width:900px){.lottery-stage,.scanner-grid,.ticket-benefits,.ticket-picker,.ticket-tier-list{grid-template-columns:1fr}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-header{align-items:stretch;flex-direction:column}}@media (max-width:420px){.ticket-benefit__header>div{align-items:flex-start;flex-direction:column;gap:8px}.ticket-benefit__price{justify-content:flex-start}}@media (max-width:760px){.admin-page,.page,.public-page{padding:16px}.admin-header{gap:12px;padding:12px}.admin-titlebar{padding-top:0}.admin-titlebar h1{font-size:28px}.scanner-card{padding:14px}.grid.two.scanner-controls{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.scanner-controls .button,.scanner-manual-form .button,.scanner-manual-form .input{min-height:44px}.scanner-manual-form{gap:10px;padding-top:14px}.admin-filterbar,.grid.four,.grid.three,.grid.two,.ticket-tier{grid-template-columns:1fr}.ticket-tier__side{justify-content:flex-start}.ticket-countdown{align-items:flex-start;flex-direction:column;gap:6px}.ticket-countdown__digits{font-size:21px}.home-section__header,.local-ticket-item,.lottery-detail-winner-row,.lottery-detail__status,.lottery-prize-row,.public-topbar,.scan-record,.ticket__header{display:grid}.event-hero{gap:14px}.event-hero h1{font-size:clamp(19px,5.35vw,24px)}.event-hero__subtitle{font-size:20px}.event-meta span,.ticket-status{font-size:14px;text-align:left}.home-section:not(.home-section--tickets) .home-section__header h2:after,.home-section:not(.home-section--tickets) .home-section__header h2:before{width:32px}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.home-stats div{min-height:88px;padding:10px 4px}.home-stats .icon-mark{width:30px;height:30px}.home-stats strong{font-size:12px}.home-stats span{font-size:11px}.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.why-grid article{grid-template-rows:30px 1fr;min-height:124px;align-content:start;gap:8px}.why-grid article>div{display:grid;grid-template-rows:16px minmax(54px,auto);gap:4px}.why-grid .icon-mark{width:30px;height:30px}.why-grid h3{font-size:12px;line-height:16px}.why-grid p{font-size:10px;line-height:1.35}.contact-lines{width:100%;font-size:15px;line-height:1.55}.contact-line{grid-template-columns:5.25em 4.1em 1fr;-moz-column-gap:2px;column-gap:2px}.contact-qr-card,.contact-qr-grid{gap:12px}.contact-qr-card__image{width:min(130px,100%);padding:8px}.contact-qr-card figcaption{font-size:14px}.ticket__identity h1{font-size:clamp(26px,9vw,40px)}.credential-card .button,.event-hero__actions .button{width:100%}.local-ticket-item,.lottery-detail-winner-row,.lottery-detail__status,.lottery-prize-row{grid-template-columns:1fr}.lottery-prize-row__state{justify-content:space-between}.ticket__details div{display:grid}.ticket__details dd{text-align:left}.admin-nav{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav__link{flex:0 0 auto;white-space:nowrap}}