@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}:root{--color-canvas:#f9fcff;--color-surface:#fff;--color-surface-muted:#f1f8ff;--color-surface-sunken:#e4f2ff;--color-border:#dce9f4;--color-border-strong:#bfd7e9;--color-text:#151a2d;--color-text-secondary:#474f66;--color-text-muted:#636b82;--color-text-inverse:#fff;--color-brand:#126bd4;--color-brand-hover:#0a58b6;--color-brand-active:#084a9c;--color-brand-soft:#e7f3ff;--color-brand-soft-strong:#cfe6ff;--color-brand-text:#0753a8;--color-selected-border:var(--color-brand)}@supports (color:color-mix(in lab, red, red)){:root{--color-selected-border:color-mix(in srgb, var(--color-brand) 45%, var(--color-border-strong))}}:root{--color-selected-bg:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){:root{--color-selected-bg:color-mix(in srgb, var(--color-brand-soft) 60%, var(--color-surface))}}:root{--color-success:#0f7a52;--color-success-soft:#e3f5ec;--color-warning:#8f5400;--color-warning-soft:#fdf1d9;--color-danger:#c0283a;--color-danger-hover:#a51f30;--color-danger-soft:#fdebed;--color-info:#1d5cb8;--color-info-soft:#e7effb;--color-neutral-soft:#eceef4;--color-celebrate:#f4b53a;--color-celebrate-strong:#b77400;--color-celebrate-soft:#fff4dc;--font-sans:"DM Sans Variable", "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.55;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:.375rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--shadow-xs:0 1px 2px #151a2d0f;--shadow-sm:0 1px 3px #151a2d14, 0 1px 2px #151a2d0a;--shadow-md:0 8px 24px #151a2d17, 0 2px 6px #151a2d0d;--shadow-lg:0 24px 60px #151a2d29;--control-sm:2.25rem;--control-md:2.75rem;--control-lg:3.25rem;--touch-target:2.75rem;--focus-ring:0 0 0 3px #126bd457;--focus-ring-danger:0 0 0 3px #c0283a52;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.3, 0, 0, 1.2);--container-narrow:34rem;--width-prose:42rem;--width-form:56rem;--container-content:72rem;--container-wide:90rem;--sidebar-width:16rem;--topbar-height:3.75rem}.stage{--stage-bg:#090d20;--stage-bg-raised:#10163a;--stage-surface:#ffffff0d;--stage-surface-strong:#ffffff17;--stage-border:#ffffff1c;--stage-border-strong:#ffffff38;--stage-text:#f5f6fc;--stage-text-secondary:#c6cbe2;--stage-text-muted:#9aa2c2;--stage-accent:#9b91ff;--stage-accent-soft:#9b91ff29;--stage-gold:#ffcf5c;--stage-gold-soft:#ffcf5c24;--stage-success:#5fd6a4;--stage-danger:#ff8a98}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-width:320px;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100dvh}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:-.015em;overflow-wrap:anywhere}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-brand-text);text-underline-offset:.18em}a:hover{color:var(--color-brand-hover)}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:var(--color-brand-soft-strong)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-muted{color:var(--color-text-muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-text-inverse);font-weight:var(--weight-semibold);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn svg{flex:none;width:1.05em;height:1.05em}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:var(--color-brand);color:var(--color-text-inverse);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);color:var(--color-text-inverse)}.btn-secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text-muted);background:var(--color-surface-muted);color:var(--color-text)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);color:var(--color-text-inverse)}.btn-danger:focus-visible,.btn-danger-quiet:focus-visible{box-shadow:var(--focus-ring-danger)}.btn-danger-quiet{color:var(--color-danger);background:0 0;border-color:#0000}.btn-danger-quiet:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger-hover)}.btn-celebrate{background:linear-gradient(180deg, #ffd66e, var(--color-celebrate));color:#3b2500;box-shadow:0 10px 30px #f4b53a59}.btn-celebrate:hover:not(:disabled){filter:brightness(1.04);color:#3b2500}.btn-sm{min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{min-height:var(--control-lg);padding:0 var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base)}.btn-block{width:100%}.btn-icon{width:var(--control-md);padding:0}.btn-icon.btn-sm{width:var(--control-sm)}.btn[aria-busy=true]{cursor:progress}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.button-row-end{justify-content:flex-end}.form-stack,.form-grid{gap:var(--space-4);display:grid}@media (width>=768px){.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-full{grid-column:1/-1}}.field{gap:var(--space-1-5,.375rem);min-width:0;display:grid}.field-label{justify-content:space-between;align-items:baseline;gap:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.field-optional{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.field-hint{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.field-error{align-items:flex-start;gap:var(--space-1);color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.input,.select,.textarea{width:100%;min-width:0;min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.textarea{min-height:5.5rem;padding:var(--space-2) var(--space-3);resize:vertical}.select{padding-right:var(--space-8);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23636b82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat}.input::placeholder,.textarea::placeholder{color:#8a91a5}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text-muted)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-danger)}.input:disabled,.select:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed}.input-search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23636b82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-position:.75rem;background-repeat:no-repeat;padding-left:2.4rem}.check{align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;display:flex}.check input{width:1.15rem;height:1.15rem;accent-color:var(--color-brand);flex:none;margin:.15rem 0 0}.check strong{font-size:var(--text-sm);display:block}.check small{color:var(--color-text-muted);font-size:var(--text-sm);display:block}.choice-group{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.choice-group legend{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:0}@media (width>=768px){.choice-group-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.choice{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background-color var(--duration-fast);display:flex;position:relative}.choice:hover{border-color:var(--color-text-muted)}.choice:has(input:checked){border-color:var(--color-selected-border);background:var(--color-selected-bg)}.choice:has(input:focus-visible){box-shadow:var(--focus-ring)}.choice input{width:1.1rem;height:1.1rem;accent-color:var(--color-brand);flex:none;margin:.15rem 0 0}.choice-icon{border-radius:var(--radius-sm);background:var(--color-surface-muted);width:2.5rem;height:2.5rem;color:var(--color-brand);flex:none;place-items:center;display:grid}.choice strong{font-size:var(--text-sm);display:block}.choice small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);display:block}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm)}.card-body{padding:var(--space-5)}@media (width>=768px){.card-body{padding:var(--space-6)}}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;flex-wrap:wrap;display:flex}@media (width>=768px){.card-header{padding:var(--space-6) var(--space-6) 0}}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.card-description{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.card-footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}.card-danger{border-color:#f2c4ca}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.section-description{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.stack{gap:var(--space-6);display:grid}.stack-sm{gap:var(--space-3);display:grid}.divider{background:var(--color-border);border:0;height:1px;margin:0}.badge{border-radius:var(--radius-pill);min-height:1.6rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;vertical-align:middle;align-items:center;gap:.4em;padding:0 .6rem;line-height:1;display:inline-flex}.badge svg{width:.95em;height:.95em}.badge-neutral{background:var(--color-neutral-soft);color:var(--color-text-secondary)}.badge-brand{background:var(--color-brand-soft);color:var(--color-brand-text)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-celebrate{background:var(--color-celebrate-soft);color:var(--color-celebrate-strong)}.badge-live:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem;animation:1.8s ease-out infinite badge-pulse;box-shadow:0 0}@keyframes badge-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 45%, transparent)}80%,to{box-shadow:0 0 0 .45rem #0000}}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-snug);border:1px solid #0000;display:flex}.alert>svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.05rem}.alert-body{gap:var(--space-2);flex:1;min-width:0;display:grid}.alert-title{font-weight:var(--weight-semibold)}.alert-info{background:var(--color-info-soft);color:#173f7a;border-color:#c9dbf6}.alert-success{background:var(--color-success-soft);color:#0c5e3f;border-color:#bfe6d3}.alert-warning{background:var(--color-warning-soft);color:#6b3f00;border-color:#f4d9a2}.alert-danger{background:var(--color-danger-soft);color:#93202f;border-color:#f4c3c9}.alert-neutral{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}.empty-state{justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-5);text-align:center;display:grid}.empty-state-icon{width:3rem;height:3rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand);place-items:center;display:grid}.empty-state-icon svg{width:1.4rem;height:1.4rem}.empty-state h3{font-size:var(--text-md);font-weight:var(--weight-semibold)}.empty-state p{max-width:28rem;color:var(--color-text-muted);font-size:var(--text-sm)}.empty-state .btn,.empty-state .button-row{margin-top:var(--space-3)}.empty-state-compact{padding:var(--space-6) var(--space-4)}.page-header{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.page-title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-title-group{gap:var(--space-2);flex:22rem;min-width:0;display:grid}.page-title{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.page-title h1{min-width:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:var(--weight-bold);letter-spacing:-.025em}.page-description{max-width:48rem;color:var(--color-text-secondary)}.page-meta{gap:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.page-meta span{align-items:center;gap:var(--space-1);display:inline-flex}.page-meta svg{width:1rem;height:1rem}.page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tabs{gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none;display:inline-flex}.tab svg{width:1rem;height:1rem}.tab:hover{color:var(--color-text)}.tab[aria-current=page]{border-bottom-color:var(--color-brand);color:var(--color-brand-text)}.tab:focus-visible{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.tab-count{border-radius:var(--radius-pill);background:var(--color-surface-sunken);min-width:1.4rem;color:var(--color-text-secondary);font-size:var(--text-xs);text-align:center;padding:.1rem .4rem}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=1024px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{gap:var(--space-1);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.stat-label{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.stat-label svg{width:1rem;height:1rem}.stat-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.1}.stat-caption{color:var(--color-text-muted);font-size:var(--text-xs)}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.data-table tbody tr:last-child td{border-bottom:0}.data-table .cell-primary{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.data-table .cell-secondary{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:.15rem;display:block}.data-table .cell-actions{text-align:right;white-space:nowrap}.data-table .cell-nowrap{white-space:nowrap}.data-table .cell-wide{min-width:9rem}@media (width<=767.98px){.data-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:grid}.data-table tbody tr:last-child{border-bottom:0}.data-table td{gap:var(--space-3);border:0;grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);padding:0;display:grid}.data-table td:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.data-table td.cell-title{display:block}.data-table td.cell-title:before{content:none}.data-table .cell-actions{justify-content:flex-start;gap:var(--space-2);padding-top:var(--space-2);text-align:left;flex-wrap:wrap;display:flex}.data-table .cell-actions:before{content:none}}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.toolbar{align-items:flex-end;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.toolbar .field{flex:11rem}.toolbar .field-grow{flex:3 16rem}.toolbar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=479.98px){.toolbar-actions,.toolbar-actions .btn{width:100%}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-surface-muted) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-stack{gap:var(--space-3);display:grid}.dialog-backdrop{z-index:80;padding:var(--space-3);background:#0c0f1e7a;place-items:end center;display:grid;position:fixed;inset:0}@media (width>=480px){.dialog-backdrop{padding:var(--space-6);place-items:center}}.dialog{width:min(100%,30rem);max-height:calc(100dvh - 2 * var(--space-3));gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);color:var(--color-text);text-align:start;background:var(--color-surface);box-shadow:var(--shadow-lg);display:grid;overflow:auto}.dialog-header{gap:var(--space-3);display:flex}.dialog-icon{background:var(--color-brand-soft);width:2.5rem;height:2.5rem;color:var(--color-brand);border-radius:50%;flex:none;place-items:center;display:grid}.dialog-icon-danger{background:var(--color-danger-soft);color:var(--color-danger)}.dialog-icon svg{width:1.25rem;height:1.25rem}.dialog h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.dialog-description{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.dialog-actions{gap:var(--space-2);flex-direction:column-reverse;display:flex}@media (width>=480px){.dialog-actions{flex-direction:row;justify-content:flex-end}}.toast-region{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:90;justify-items:center;gap:var(--space-2);pointer-events:none;display:grid;position:fixed}@media (width>=768px){.toast-region{justify-items:end;left:auto}}.toast{align-items:flex-start;gap:var(--space-3);width:min(100%,24rem);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-sm);box-shadow:var(--shadow-lg);pointer-events:auto;display:flex}.toast svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.05rem}.toast-success svg{color:#6ee7b7}.toast-error svg{color:#fca5a5}.toast-info svg{color:#a5b4fc}.toast-message{flex:1}.toast-close{border-radius:var(--radius-xs);color:#ffffffb3;cursor:pointer;background:0 0;border:0;place-items:center;width:1.75rem;height:1.75rem;margin:-.2rem -.4rem -.2rem 0;display:grid}.toast-close:hover{color:#fff;background:#ffffff1f}.kv{gap:var(--space-3);margin:0;display:grid}.kv div{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(7rem,40%) minmax(0,1fr);display:grid}.kv dt{color:var(--color-text-muted)}.kv dd{font-weight:var(--weight-medium);overflow-wrap:anywhere;margin:0}.ref-code{border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.8em;font-weight:var(--weight-semibold);letter-spacing:.06em;align-items:center;padding:.1rem .45rem;display:inline-flex}.copy-field{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-muted);align-items:stretch;min-width:0;display:flex;overflow:hidden}.copy-field a,.copy-field span{min-width:0;padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;align-self:center;overflow:hidden}.form-section{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}.form-section-title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.animation-picker{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.animation-picker legend{margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:0}.animation-picker .field-hint{align-items:flex-start;gap:var(--space-2);display:flex}.animation-picker .field-hint svg{flex:none;width:1rem;height:1rem;margin-top:.15rem}.animation-picker{container-type:inline-size}.animation-options{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@container (width>=40rem){.animation-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.animation-option{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);grid-template-rows:1fr auto;display:grid;overflow:hidden}.animation-option:hover:not([data-locked]){border-color:var(--color-text-muted)}.animation-option[data-selected]{border-color:var(--color-selected-border);background:var(--color-selected-bg)}.animation-option:has(input:focus-visible){box-shadow:var(--focus-ring)}.animation-option-main{align-content:start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2);cursor:pointer;display:grid}@container (width<=39.99rem){.animation-option-main{grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr);align-items:center}}.animation-option[data-locked] .animation-option-main{cursor:default}.animation-option[data-locked]:not([data-selected]) .animation-option-main{opacity:.62}.animation-option-text strong{font-size:var(--text-base);font-weight:var(--weight-semibold);display:block}.animation-option-text small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);display:block}.animation-option-footer{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-muted);display:flex}.animation-option[data-selected] .animation-option-footer{border-top-color:var(--color-selected-border);background:var(--color-selected-bg)}.animation-option-state{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.animation-option[data-selected] .animation-option-state{color:var(--color-brand-text);font-weight:var(--weight-semibold)}.animation-option-state svg{width:1rem;height:1rem}.animation-option-radio{border:2px solid var(--color-border-strong);border-radius:50%;width:1rem;height:1rem}.dialog-preview{gap:var(--space-4);width:min(100%,64rem)}.preview-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.stage.preview-stage{height:calc(clamp(14rem,38vh,21rem) + 9rem);min-height:0;padding:var(--space-4);border-radius:var(--radius-lg);place-items:center;display:grid;overflow:hidden}.dialog-preview{max-height:calc(100dvh - 2 * var(--space-4))}.preview-stage .winner-name{font-size:clamp(2rem,1.2rem + 3vw,3.75rem)}.preview-note{align-items:flex-start;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.preview-note svg{width:1rem;height:1rem;color:var(--color-info);flex:none;margin-top:.2rem}.dialog-details{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}.draw-settings-list div{grid-template-columns:minmax(7rem,36%) minmax(0,1fr)}.readonly-field{align-items:baseline;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.readonly-field span{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.readonly-field small{color:var(--color-text-muted);font-size:var(--text-sm)}.app-shell{min-height:100dvh}.brand-mark{color:var(--color-brand);flex:none}.sidebar-brand{align-items:center;gap:var(--space-3);min-width:0;color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.sidebar-brand:hover{color:var(--color-text)}.topbar{z-index:40;height:var(--topbar-height);padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sidebar{display:none}.app-main{outline:none;min-width:0}.app-content{width:100%;max-width:var(--container-content);padding:var(--space-5) var(--space-4) var(--space-16);margin:0 auto}@media (width>=768px){.app-content{padding:var(--space-8) var(--space-8) var(--space-16)}}@media (width>=1024px){.topbar{display:none}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);height:100dvh;display:block;position:sticky;top:0}.app-content{padding:var(--space-10) var(--space-10) var(--space-16)}}@media (width>=1600px){.app-content{max-width:var(--container-wide)}}.sidebar-inner{height:100%;padding:var(--space-5) var(--space-3);flex-direction:column;display:flex}.sidebar-inner>.sidebar-brand{padding:0 var(--space-2);margin-bottom:var(--space-6)}.sidebar-nav{align-content:start;gap:var(--space-1);flex:1;grid-template-columns:minmax(0,1fr);display:grid;overflow-y:auto}.sidebar-group{margin-top:var(--space-5)}.sidebar-group ul{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.sidebar-group-label{margin:0 var(--space-3) var(--space-2);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.sidebar-link{align-items:center;gap:var(--space-3);min-width:0;min-height:2.5rem;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;display:flex}.sidebar-link svg{width:1.1rem;height:1.1rem;color:var(--color-text-muted);flex:none}.sidebar-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.sidebar-link.active,.sidebar-link[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand-text);font-weight:var(--weight-semibold)}.sidebar-link.active svg,.sidebar-link[aria-current=page] svg{color:var(--color-brand)}.sidebar-user{align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--color-border);display:flex}.sidebar-user-text{flex:1;min-width:0;line-height:1.3;display:grid}.sidebar-user-text strong{font-size:var(--text-sm)}.sidebar-user-text small{color:var(--color-text-muted);font-size:var(--text-xs)}.avatar{background:var(--color-brand-soft-strong);width:2.25rem;height:2.25rem;color:var(--color-brand-text);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.drawer-backdrop{z-index:60;background:#0c0f1e66;position:fixed;inset:0}.drawer{background:var(--color-surface);width:min(86vw,19rem);height:100%;box-shadow:var(--shadow-lg);animation:drawer-in var(--duration-base) var(--ease-standard)}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.full-page-loading{min-height:100dvh;color:var(--color-text-muted);place-items:center;display:grid}.full-page-loading>div{align-items:center;gap:var(--space-3);display:flex}.org-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}.org-card{gap:var(--space-4);padding:var(--space-5);color:inherit;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);text-decoration:none;display:grid}.org-card:hover{border-color:var(--color-brand-soft-strong);color:inherit;box-shadow:var(--shadow-md);transform:translateY(-1px)}.org-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.org-card-icon{border-radius:var(--radius-md);background:var(--color-brand-soft);width:2.75rem;height:2.75rem;color:var(--color-brand);place-items:center;display:grid}.org-card h2,.org-card h3{font-size:var(--text-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.org-card-footer{color:var(--color-text-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.org-card-footer svg{width:1rem;height:1rem}.onboarding-card{gap:var(--space-6);max-width:40rem;display:grid}.event-list{margin:0;padding:0;list-style:none;display:grid}.event-list>li+li{border-top:1px solid var(--color-border)}.event-row{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);color:inherit;transition:background-color var(--duration-fast);grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.event-row:hover{background:var(--color-surface-muted);color:inherit}.event-row-main{gap:var(--space-1);min-width:0;display:grid}.event-row-name{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.event-row-meta{gap:var(--space-1) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.event-row-meta span{align-items:center;gap:var(--space-1);display:inline-flex}.event-row-meta svg{width:.9rem;height:.9rem}.event-row-side{align-items:center;gap:var(--space-3);display:flex}.event-row-side>svg{width:1.1rem;height:1.1rem;color:var(--color-text-muted)}@media (width<=479.98px){.event-row{grid-template-columns:minmax(0,1fr)}.event-row-side>svg{display:none}}.list-heading{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.list-heading+.event-list,.event-list+.list-heading{border-top:0}.archived-block{border-top:1px solid var(--color-border)}.member-list{margin:0;padding:0;list-style:none;display:grid}.member-list li{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;display:flex}.member-list li+li{border-top:1px solid var(--color-border)}.member-list .member-text{flex:1;min-width:0;line-height:1.35;display:grid}.member-list .member-text small{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.inline-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.inline-form .field{flex:14rem}.overview-grid{gap:var(--space-6);display:grid}@media (width>=1024px){.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}.next-step{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-brand-soft-strong);border-radius:var(--radius-lg);background:radial-gradient(28rem 12rem at 100% 0%, #4f43d617, transparent 70%), var(--color-surface);display:grid}@media (width>=768px){.next-step{padding:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center}}.next-step-kicker{color:var(--color-brand-text);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.next-step h2{margin-top:var(--space-1);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.next-step p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm)}.next-step .page-actions{justify-content:flex-start}.lifecycle{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.lifecycle li{align-content:start;justify-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);text-align:center;overflow-wrap:anywhere;display:grid;position:relative}.lifecycle li+li:before{content:"";background:var(--color-border-strong);border-radius:1px;height:2px;position:absolute;top:.75rem;left:calc(.95rem - 50%);right:calc(50% + .95rem)}.lifecycle li[data-state=done]+li:before,.lifecycle li[data-state=done]+li[data-state=current]:before{background:var(--color-success)}.lifecycle-dot{z-index:1;border:1px solid var(--color-border-strong);background:var(--color-surface);width:1.5rem;height:1.5rem;font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid;position:relative}.lifecycle-dot svg{width:.85rem;height:.85rem}.lifecycle li[data-state=done]{color:var(--color-text-secondary)}.lifecycle li[data-state=done] .lifecycle-dot{border-color:var(--color-success);background:var(--color-success);color:#fff}.lifecycle li[data-state=current]{color:var(--color-brand-text);font-weight:var(--weight-semibold)}.lifecycle li[data-state=current] .lifecycle-dot{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.qr-panel{justify-items:center;gap:var(--space-4);text-align:center;display:grid}.qr-frame{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;line-height:0;display:inline-grid}.qr-frame svg{width:min(100%,11rem);height:auto}.qr-panel .copy-field{width:100%}.link-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.link-tile{align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:border-color var(--duration-fast), background-color var(--duration-fast);text-decoration:none;display:flex}.link-tile:hover{border-color:var(--color-brand-soft-strong);background:var(--color-brand-soft);color:var(--color-brand-text)}.link-tile>svg:first-child{width:1.15rem;height:1.15rem;color:var(--color-brand)}.link-tile>span{flex:1;min-width:0;display:grid}.link-tile small{color:var(--color-text-muted);font-weight:var(--weight-regular,400)}.link-tile>svg:last-child{width:1rem;height:1rem;color:var(--color-text-muted)}.gift-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));margin:0;padding:0;list-style:none;display:grid}.gift-card{align-content:start;gap:var(--space-3);padding:var(--space-4);display:grid}.gift-card-top{align-items:flex-start;gap:var(--space-3);display:flex}.gift-card-icon{border-radius:var(--radius-sm);background:var(--color-celebrate-soft);width:2.5rem;height:2.5rem;color:var(--color-celebrate-strong);flex:none;place-items:center;display:grid}.gift-card-icon svg{width:1.2rem;height:1.2rem}.gift-card h3{font-size:var(--text-base);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.gift-card-order{color:var(--color-text-muted);font-size:var(--text-xs)}.progress{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:.4rem;overflow:hidden}.progress>span{border-radius:inherit;background:var(--color-celebrate);height:100%;display:block}.gift-card-counts{justify-content:space-between;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.gift-card-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.readonly-note{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:inline-flex}.readonly-note svg{width:1rem;height:1rem}.participant-name{align-items:center;gap:var(--space-3);min-width:0;display:flex}.participant-name .avatar{background:var(--color-surface-sunken);width:2rem;height:2rem;color:var(--color-text-secondary)}.is-disqualified .participant-name strong{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);-webkit-text-decoration-color:var(--color-border-strong);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.row-edit{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.danger-zone{gap:var(--space-4);display:grid}.danger-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.danger-row+.danger-row{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.danger-row h3{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.danger-row p{max-width:34rem;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.results-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));display:grid}.results-gift{align-content:start;gap:var(--space-3);padding:var(--space-5);display:grid}.results-gift h2{font-size:var(--text-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.winner-list{gap:var(--space-2);counter-reset:winner;margin:0;padding:0;list-style:none;display:grid}.winner-list li{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-muted);counter-increment:winner;display:flex}.winner-list li:before{content:counter(winner);border:1px solid var(--color-border);background:var(--color-surface);width:1.6rem;height:1.6rem;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.winner-list strong{overflow-wrap:anywhere;flex:1;min-width:0}.results-hero{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5) var(--space-6);border:1px solid var(--color-success);flex-wrap:wrap;display:flex}@supports (color:color-mix(in lab, red, red)){.results-hero{border:1px solid color-mix(in srgb, var(--color-success) 25%, transparent)}}.results-hero{border-radius:var(--radius-lg);background:linear-gradient(120deg, var(--color-success-soft), #f6fcf9)}.results-hero-icon{background:var(--color-success);color:#fff;border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid}.results-hero h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.results-hero p{color:var(--color-text-secondary)}.audit-timeline{margin:0;padding:0;list-style:none;display:grid}.audit-item{gap:var(--space-3);padding:var(--space-4) var(--space-5);grid-template-columns:auto minmax(0,1fr);display:grid}.audit-item+.audit-item{border-top:1px solid var(--color-border)}.audit-icon{background:var(--color-surface-sunken);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid}.audit-icon svg{width:1rem;height:1rem}.audit-main{gap:var(--space-1);min-width:0;display:grid}.audit-title-row{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.audit-title-row strong{font-weight:var(--weight-semibold)}.audit-title-row time{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.audit-actor{color:var(--color-text-secondary);font-size:var(--text-sm)}.audit-summary{color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.section-gap{margin-bottom:var(--space-6)}.org-grid{margin:0;padding:0;list-style:none}.list-heading{align-items:center;gap:var(--space-2);display:flex}.list-heading svg{width:.8rem;height:.8rem}@media (width>=768px){.check-align-end{align-self:end}}.width-form{width:100%;max-width:var(--width-form)}.width-prose{max-width:var(--width-prose)}.public-page{background:radial-gradient(120% 60% at 50% 0%, #e9e6ff 0%, #e9e6ff00 70%), var(--color-canvas);flex-direction:column;min-height:100dvh;display:flex}.public-main{width:100%;max-width:var(--container-narrow);padding:var(--space-8) var(--space-4) var(--space-6);flex:1;align-content:start;margin:0 auto;display:grid}@media (width>=768px){.public-main{padding-top:var(--space-16)}}.public-hero{justify-items:center;gap:var(--space-2);margin-bottom:var(--space-6);text-align:center;display:grid}.public-hero-loading{justify-items:center;gap:var(--space-3);width:100%;display:grid}.public-hero h1{font-size:clamp(1.75rem,1.35rem + 2vw,2.5rem);font-weight:var(--weight-heavy);letter-spacing:-.03em;text-wrap:balance}.public-count{align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs);background:#fffc;display:inline-flex}.public-count svg{width:1rem;height:1rem;color:var(--color-brand)}.public-card{padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}@media (width>=480px){.public-card{padding:var(--space-8)}}.public-intro{gap:var(--space-1);display:grid}.public-intro h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.public-intro p,.public-help{color:var(--color-text-secondary);font-size:var(--text-sm)}.public-help{text-align:center}.public-pass-timer{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-sm);display:flex}.public-pass-timer svg{flex:none;width:1.1em;height:1.1em}.public-pass-timer strong{font-variant-numeric:tabular-nums}.public-input{min-height:3.25rem;font-size:1.0625rem}.public-closed{justify-items:center;gap:var(--space-2);padding:var(--space-4) 0;text-align:center;display:grid}.public-closed-icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-2);background:var(--color-surface-sunken);color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid}.public-closed h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.public-closed p{color:var(--color-text-secondary)}.public-success{justify-items:center;gap:var(--space-4);text-align:center;display:grid}.public-success h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.75rem);font-weight:var(--weight-heavy);letter-spacing:-.02em;text-wrap:balance}.public-success-name{margin-top:calc(-1 * var(--space-2));color:var(--color-text-secondary);font-weight:var(--weight-semibold)}.public-success-badge{place-items:center;display:grid;position:relative}.public-success-icon{background:var(--color-success);color:#fff;width:4.5rem;height:4.5rem;box-shadow:0 0 0 10px var(--color-success-soft);border-radius:50%;place-items:center;display:grid}.public-success-icon svg{stroke-width:3px;width:2.25rem;height:2.25rem}.ticket{gap:var(--space-1);width:min(100%,18rem);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);background:var(--color-celebrate-soft);border:2px dashed #e8c774;display:grid;position:relative}.ticket-label{color:var(--color-celebrate-strong);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase}.ticket-code{color:#3b2500;font-family:var(--font-mono);font-size:clamp(1.75rem,1.4rem + 2vw,2.25rem);font-weight:var(--weight-heavy);letter-spacing:.14em;font-variant-numeric:tabular-nums}.confetti{pointer-events:none;position:absolute;inset:50% auto auto 50%}.confetti i{background:hsl(calc(var(--i) * 47deg) 85% 60%);opacity:0;transform-origin:50%;width:.5rem;height:.8rem;animation:confetti-burst 1.1s cubic-bezier(.15, .7, .3, 1) calc(var(--i) * 18ms) forwards;--angle:calc(var(--i) * 25.7deg);border-radius:2px;position:absolute}@keyframes confetti-burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0deg)}to{opacity:0;transform:rotate(var(--angle)) translateY(-5.5rem) rotate(260deg)}}.public-footer{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:flex}.stage{min-height:100dvh;color:var(--stage-text);background:radial-gradient(70rem 40rem at 85% -15%, #7b6cff38, transparent 65%), radial-gradient(50rem 32rem at -10% 110%, #ffcf5c17, transparent 60%), var(--stage-bg);flex-direction:column;display:flex;position:relative;overflow-x:hidden}.stage :focus-visible{box-shadow:0 0 0 3px #9b91ff99}.stage a{color:var(--stage-accent)}.stage-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--stage-border);flex-wrap:wrap;display:flex}@media (width>=768px){.stage-topbar{padding:var(--space-4) var(--space-8)}}.stage-title{flex:16rem;gap:.1rem;min-width:0;display:grid}.stage-eyebrow{color:var(--stage-accent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;overflow-wrap:anywhere}.stage-title h1{font-size:clamp(1.15rem,.95rem + .8vw,1.5rem);font-weight:var(--weight-bold);overflow-wrap:anywhere}.stage-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-stage{border-color:var(--stage-border-strong);background:var(--stage-surface);color:var(--stage-text)}.btn-stage:hover:not(:disabled){background:var(--stage-surface-strong);color:#fff}.btn-stage-quiet{color:var(--stage-text-secondary);background:0 0}.btn-stage-quiet:hover:not(:disabled){background:var(--stage-surface);color:#fff}.btn-stage-danger{color:var(--stage-danger);background:0 0}.btn-stage-danger:hover:not(:disabled){color:#ffb3bd;background:#ff8a981f}.stage-badge{align-items:center;gap:var(--space-2);min-height:1.75rem;padding:0 var(--space-3);border:1px solid var(--stage-border);border-radius:var(--radius-pill);background:var(--stage-surface);color:var(--stage-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.stage-badge svg{width:.9rem;height:.9rem}.stage-panel{border:1px solid var(--stage-border);border-radius:var(--radius-lg);background:var(--stage-surface)}.stage-muted{color:var(--stage-text-muted)}.stage-message{justify-items:center;gap:var(--space-3);max-width:36rem;margin:var(--space-12) auto;padding:var(--space-8);text-align:center;display:grid}.stage-message h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.stage-message p{color:var(--stage-text-secondary)}.stage-message-icon{background:var(--stage-accent-soft);width:3.5rem;height:3.5rem;color:var(--stage-accent);border-radius:50%;place-items:center;display:grid}.stage-alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#ffd3d9;font-size:var(--text-sm);text-align:left;background:#ff8a981a;border:1px solid #ff8a9859;display:flex}.stage-alert svg{width:1.1rem;height:1.1rem;color:var(--stage-danger);flex:none;margin-top:.1rem}.qr-card{justify-items:center;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-xl);color:var(--color-text);text-align:center;background:#fff;display:grid;box-shadow:0 30px 80px #00000059}.qr-card svg{width:100%;max-width:var(--qr-size,18rem);height:auto;display:block}.qr-card-pending{width:100%;max-width:var(--qr-size,var(--qr-pending-size,18rem));aspect-ratio:1;place-content:center;justify-items:center;gap:var(--space-2);border:2px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:var(--weight-semibold);display:grid}.qr-card .qr-card-pending svg,.viewer .qr-card .qr-card-pending svg{width:1.75rem;height:1.75rem}@media (prefers-reduced-motion:no-preference){.qr-card-pending svg{animation:1.4s linear infinite qr-pending-spin}}@keyframes qr-pending-spin{to{transform:rotate(360deg)}}.qr-card-instruction{align-items:center;gap:var(--space-2);font-size:clamp(1rem,.85rem + .6vw,1.35rem);font-weight:var(--weight-bold);display:flex}.qr-card-instruction svg{width:1.4em;height:1.4em;color:var(--color-brand)}.qr-rotation-bar{width:100%;max-width:var(--qr-size,18rem);height:.375rem;margin-top:calc(var(--space-2) * -1);background:var(--color-border);border-radius:999px;display:block;overflow:hidden}.qr-rotation-bar i{border-radius:inherit;background:var(--color-brand);transform-origin:0;height:100%;animation-name:qr-rotation-drain;animation-timing-function:linear;animation-fill-mode:both;display:block}@keyframes qr-rotation-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.qr-rotation-bar{display:none}}@media (prefers-reduced-motion:no-preference){.qr-card[data-qr-mode=dynamic] svg[data-testid=registration-qr]{animation:.45s ease-out qr-code-in}}@keyframes qr-code-in{0%{opacity:.4}to{opacity:1}}.qr-card-rotation{color:var(--color-text-muted);font-size:var(--text-sm)}.qr-card-url{max-width:100%;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.count-display{text-align:center;justify-items:center;gap:0;display:grid}.count-display strong{font-size:clamp(3rem,2rem + 4vw,6rem);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.count-display span{color:var(--stage-text-secondary);font-size:clamp(1rem,.85rem + .6vw,1.4rem);font-weight:var(--weight-semibold)}.registration-closed-pill{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--stage-surface-strong);color:var(--stage-text-secondary);font-size:clamp(1rem,.9rem + .5vw,1.35rem);font-weight:var(--weight-semibold);display:inline-flex}.registration-stage{align-content:start;gap:var(--space-8);width:100%;max-width:120rem;padding:var(--space-6) var(--space-4) var(--space-10);flex:1;margin:0 auto;display:grid}@media (width>=768px){.registration-stage{padding:var(--space-8) var(--space-8) var(--space-10)}}@media (width>=1024px){.registration-stage{align-items:start;gap:var(--space-10);grid-template-columns:minmax(18rem,26rem) minmax(0,1fr)}.registration-aside{top:var(--space-8);position:sticky}}.registration-aside{justify-items:center;gap:var(--space-6);display:grid}.registration-aside .qr-card{width:min(100%,24rem)}.roster-panel{align-content:start;gap:var(--space-4);min-width:0;display:grid}.roster-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--stage-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;display:flex}.roster{gap:var(--space-3);grid-template-columns:repeat(auto-fill, minmax(var(--roster-min,14rem), 1fr));margin:0;padding:0;list-style:none;display:grid}.roster li{min-width:0;min-height:var(--roster-height,3.5rem);padding:0 var(--space-4);border:1px solid var(--stage-border);border-radius:var(--radius-md);background:var(--stage-surface);font-size:var(--roster-font,clamp(1.1rem, .9rem + .7vw, 1.6rem));font-weight:var(--weight-semibold);align-items:center;line-height:1.2;display:flex}.roster li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster[data-density=comfortable]{--roster-min:16rem;--roster-height:4.5rem;--roster-font:clamp(1.25rem, 1rem + 1vw, 2rem)}.roster[data-density=compact]{--roster-min:12.5rem;--roster-height:3.25rem;--roster-font:clamp(1rem, .85rem + .5vw, 1.3rem)}.roster[data-density=dense]{--roster-min:11rem;--roster-height:2.75rem;--roster-font:clamp(.95rem, .85rem + .35vw, 1.15rem);gap:var(--space-2)}.roster li.is-new{background:var(--stage-gold-soft);color:#fff4d6;animation:roster-new 5s var(--ease-standard) forwards;border-color:#ffcf5cb3}@keyframes roster-new{0%{transform:scale(.94);box-shadow:0 0 #ffcf5c99}12%{transform:scale(1.02);box-shadow:0 0 0 .5rem #ffcf5c00}20%{transform:scale(1)}to{transform:scale(1)}}.roster-overflow{color:var(--stage-text-muted);font-size:clamp(1rem,.85rem + .5vw,1.3rem);font-weight:var(--weight-semibold);text-align:center}.roster-empty{justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);border:1px dashed var(--stage-border-strong);border-radius:var(--radius-lg);color:var(--stage-text-secondary);text-align:center;font-size:clamp(1.1rem,.9rem + .6vw,1.5rem);display:grid}.roster-empty svg{width:2.5rem;height:2.5rem;color:var(--stage-accent)}.draw-layout{gap:var(--space-4);width:100%;max-width:120rem;padding:var(--space-4);flex:1;margin:0 auto;display:grid}@media (width>=768px){.draw-layout{gap:var(--space-6);padding:var(--space-6) var(--space-8)}}@media (width>=1024px){.draw-layout{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr) minmax(15rem,20rem);align-items:stretch}}.draw-rail{align-content:start;gap:var(--space-3);min-width:0;padding:var(--space-4);display:grid}.draw-rail h2{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--stage-text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase;display:flex}.draw-rail-meta{color:var(--stage-text-muted);font-size:var(--text-sm)}.gift-picker{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}@media (width>=480px) and (width<=1023.98px){.gift-picker{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}}.gift-option{gap:var(--space-1);width:100%;min-height:var(--touch-target);padding:var(--space-3) var(--space-4);border:1px solid var(--stage-border);border-radius:var(--radius-md);background:var(--stage-surface);color:var(--stage-text);text-align:left;cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);display:grid}.gift-option:hover:not(:disabled){border-color:var(--stage-border-strong);background:var(--stage-surface-strong)}.gift-option.is-selected{border-color:var(--stage-accent);background:var(--stage-accent-soft);box-shadow:inset 0 0 0 1px var(--stage-accent)}.gift-option:disabled{cursor:not-allowed;opacity:.55}.gift-option strong{font-size:var(--text-base);overflow-wrap:anywhere}.gift-option-meta{justify-content:space-between;gap:var(--space-1) var(--space-3);color:var(--stage-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.gift-option-meta small{font-size:var(--text-sm)}.gift-option .stage-progress{margin-top:var(--space-1)}.stage-progress{border-radius:var(--radius-pill);background:#ffffff1a;height:.3rem;overflow:hidden}.stage-progress>span{border-radius:inherit;background:var(--stage-gold);height:100%;display:block}.draw-center{min-width:0;min-height:24rem;padding:var(--space-8) var(--space-5);text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}@media (width<=1023.98px){.draw-center{order:-1;min-height:18rem}}@media (width>=1024px) and (height>=600px){.draw-screen{height:100dvh;min-height:0}.draw-screen .draw-layout{grid-template-rows:minmax(0,1fr);min-height:0}.draw-screen .draw-rail{scrollbar-width:thin;scrollbar-color:#fff3 transparent;overflow-y:auto}.draw-center{min-height:0;overflow-y:auto}}.draw-center-inner{justify-items:center;gap:var(--space-4);width:100%;max-width:52rem;display:grid}.draw-kicker{color:var(--stage-accent);font-size:clamp(.85rem,.75rem + .4vw,1.1rem);font-weight:var(--weight-bold);letter-spacing:.16em;text-transform:uppercase}.draw-gift-title{font-size:clamp(2rem,1.2rem + 3.6vw,4.5rem);font-weight:var(--weight-heavy);letter-spacing:-.035em;text-wrap:balance;line-height:1.05}.draw-gift-progress{justify-content:center;gap:var(--space-2) var(--space-4);color:var(--stage-text-secondary);font-size:clamp(1rem,.9rem + .4vw,1.25rem);font-weight:var(--weight-semibold);flex-wrap:wrap;display:flex}.draw-cta{min-height:4rem;margin-top:var(--space-4);padding:0 var(--space-10);border-radius:var(--radius-pill);font-size:clamp(1.1rem,1rem + .4vw,1.35rem)}.draw-cta svg{width:1.4rem;height:1.4rem}.draw-hint{justify-items:center;gap:var(--space-3);color:var(--stage-text-secondary);font-size:clamp(1.1rem,.95rem + .6vw,1.5rem);display:grid}.draw-hint svg{width:3rem;height:3rem;color:var(--stage-accent)}.draw-requesting{justify-items:center;gap:var(--space-4);color:var(--stage-text-secondary);font-size:var(--text-lg);display:grid}.draw-requesting .spinner{width:3rem;height:3rem;color:var(--stage-accent);border-width:3px}.winner-reveal{justify-items:center;gap:var(--space-3);width:100%;display:grid;position:relative}.winner-reveal:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#ffcf5c38,#0000);position:absolute;inset:-30% -10%}.winner-label{align-items:center;gap:var(--space-2);color:var(--stage-gold);font-size:clamp(1rem,.85rem + .6vw,1.5rem);font-weight:var(--weight-bold);letter-spacing:.18em;text-transform:uppercase;display:inline-flex}.winner-label svg{width:1.3em;height:1.3em}.winner-name{color:#fff;font-size:clamp(2.5rem,1.2rem + 6vw,7rem);font-weight:var(--weight-heavy);letter-spacing:-.04em;text-shadow:0 0 60px #ffcf5c59;text-wrap:balance;overflow-wrap:anywhere;line-height:1.02}.winner-gift{color:var(--stage-text-secondary);font-size:clamp(1.1rem,.9rem + 1vw,2rem);font-weight:var(--weight-semibold)}.winner-code{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--stage-surface-strong);color:var(--stage-text-secondary);font-size:var(--text-sm);display:inline-flex}.winner-code strong{color:#fff;font-family:var(--font-mono);letter-spacing:.1em}.stage-confetti{pointer-events:none;position:absolute;top:38%;left:50%}.stage-confetti i{background:hsl(calc(40deg + var(--i) * 37deg) 90% 65%);opacity:0;width:.55rem;height:.9rem;animation:stage-confetti 1.6s cubic-bezier(.1, .65, .3, 1) calc(var(--i) * 20ms) forwards;--angle:calc(var(--i) * 20deg);border-radius:2px;position:absolute}@keyframes stage-confetti{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0deg)}to{opacity:0;transform:rotate(var(--angle)) translateY(-14rem) rotate(320deg)}}.admin-actions{justify-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-6);display:grid}.admin-actions-secondary{justify-content:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--stage-border);flex-wrap:wrap;display:flex}.void-panel{gap:var(--space-3);width:min(100%,28rem);margin-top:var(--space-4);padding:var(--space-5);border:1px solid var(--stage-border-strong);border-radius:var(--radius-lg);background:var(--stage-bg-raised);text-align:left;display:grid}.void-panel h3{font-size:var(--text-base);font-weight:var(--weight-bold)}.void-panel p{color:var(--stage-text-secondary);font-size:var(--text-sm)}.void-panel .field-label{color:var(--stage-text)}.void-panel .select,.void-panel .input{border-color:var(--stage-border-strong);background-color:var(--stage-bg);color:var(--stage-text)}.retry-panel,.completion-panel{justify-items:center;gap:var(--space-3);width:min(100%,32rem);padding:var(--space-6);border:1px solid var(--stage-border-strong);border-radius:var(--radius-lg);background:var(--stage-bg-raised);display:grid}.retry-panel h2,.completion-panel h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.retry-panel p,.completion-panel p{color:var(--stage-text-secondary)}.retry-panel>svg{width:2.5rem;height:2.5rem;color:var(--stage-gold)}.completion-panel{margin-top:var(--space-6);border-color:#ffcf5c66}.stage-winner-groups{gap:var(--space-4);display:grid}.stage-winner-group h3{margin-bottom:var(--space-2);color:var(--stage-text);font-size:var(--text-sm);font-weight:var(--weight-bold);overflow-wrap:anywhere}.stage-winner-list{gap:var(--space-1);counter-reset:stage-winner;margin:0;padding:0;list-style:none;display:grid}.stage-winner-list li{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--stage-surface);font-size:var(--text-sm);counter-increment:stage-winner;overflow-wrap:anywhere;display:flex}.stage-winner-list li:before{content:counter(stage-winner);background:var(--stage-gold-soft);width:1.4rem;height:1.4rem;color:var(--stage-gold);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.viewer{padding:0}.viewer-header{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-6);flex-wrap:wrap;padding:clamp(1rem,.5rem + 1.5vw,2.5rem) clamp(1rem,.5rem + 3vw,4rem) 0;display:flex}.viewer-header p{color:var(--stage-accent);font-size:clamp(.8rem,.6rem + .6vw,1.25rem);font-weight:var(--weight-bold);letter-spacing:.14em;text-transform:uppercase;overflow-wrap:anywhere}.viewer-header h1{font-size:clamp(1.5rem,.9rem + 2.4vw,3.5rem);font-weight:var(--weight-heavy);letter-spacing:-.03em;overflow-wrap:anywhere;line-height:1.05}.viewer-body{flex:1;align-items:center;width:100%;max-width:140rem;margin:0 auto;padding:clamp(1rem,.5rem + 2vw,3rem) clamp(1rem,.5rem + 3vw,4rem);display:grid}.viewer-center{text-align:center;justify-items:center;gap:clamp(.75rem,.5rem + 1vw,2rem);display:grid}.viewer-notice h2{font-size:clamp(2rem,1.2rem + 3vw,4.5rem);font-weight:var(--weight-heavy);letter-spacing:-.03em;text-wrap:balance}.viewer-notice-icon{background:var(--stage-accent-soft);width:clamp(4rem,3rem + 3vw,7rem);height:clamp(4rem,3rem + 3vw,7rem);color:var(--stage-accent);border-radius:50%;place-items:center;display:grid}.viewer-notice-icon svg{width:50%;height:50%}.viewer-registration{align-items:start;gap:clamp(1.5rem,1rem + 2vw,4rem);display:grid}@media (width>=900px){.viewer-registration{grid-template-columns:minmax(18rem,30%) minmax(0,1fr)}}.viewer-registration .registration-aside{--qr-size:28rem}@media (width>=900px){.viewer-registration{grid-template-columns:minmax(20rem,32%) minmax(0,1fr)}.viewer-registration .registration-aside .qr-card{width:min(100%,30rem)}}.viewer .roster li{padding:var(--space-2) var(--space-4)}.viewer .roster li>span,.live-screen .roster li>span{white-space:normal;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}@media (width>=900px) and (height>=560px) and (orientation:landscape){.viewer,.live-screen{height:100dvh;min-height:0;overflow:hidden}.viewer .viewer-body{align-items:stretch;min-height:0}.viewer .viewer-body>.viewer-center{align-self:center}.viewer-registration,.live-screen .registration-stage{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.live-screen .registration-stage{flex:1}.viewer-registration .registration-aside,.live-screen .registration-aside{align-self:center;position:static}.viewer-registration .roster-panel,.live-screen .roster-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 82%,#0000);mask-image:linear-gradient(#000 82%,#0000)}.viewer-registration .roster,.live-screen .roster{align-content:start;overflow:hidden}}.viewer-results-title{margin-bottom:clamp(.5rem,.25rem + 1vw,1.5rem)}.viewer .viewer-result-card h2{font-size:clamp(1.25rem,.8rem + 1.3vw,2.6rem)}.viewer .viewer-result-card .stage-winner-list{gap:var(--space-2)}.viewer .viewer-result-card .stage-winner-list li{padding:clamp(.5rem,.3rem + .5vw,1rem) clamp(.75rem,.5rem + .6vw,1.25rem);font-size:clamp(1.1rem,.6rem + 1.1vw,2.2rem)}.viewer .viewer-result-card .stage-winner-list li:before{width:1.6em;height:1.6em;font-size:.65em}.viewer-ready-title{font-size:clamp(2.25rem,1.2rem + 4.5vw,6.5rem);font-weight:var(--weight-heavy);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;line-height:1.02}.viewer-waiting{font-size:clamp(1.75rem,1rem + 3vw,4rem);font-weight:var(--weight-bold);letter-spacing:-.02em}.viewer-waiting-dots{gap:.6rem;display:inline-flex}.viewer-waiting-dots i{background:var(--stage-accent);border-radius:50%;width:.8rem;height:.8rem;animation:1.4s ease-in-out infinite waiting-dot}.viewer-waiting-dots i:nth-child(2){animation-delay:.16s}.viewer-waiting-dots i:nth-child(3){animation-delay:.32s}@keyframes waiting-dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.viewer-progress{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--stage-surface-strong);color:var(--stage-text-secondary);font-size:clamp(1rem,.8rem + .8vw,1.75rem);font-weight:var(--weight-semibold);display:inline-flex}.viewer-supporting{width:min(100%,64rem);margin-top:clamp(1rem,.5rem + 2vw,3rem)}.viewer-supporting h3{margin-bottom:var(--space-3);color:var(--stage-text-muted);font-size:clamp(.8rem,.7rem + .4vw,1.1rem);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase}.viewer-chips{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.viewer-chips li{padding:var(--space-2) var(--space-4);border:1px solid var(--stage-border);border-radius:var(--radius-pill);background:var(--stage-surface);font-size:clamp(.95rem,.8rem + .5vw,1.4rem);font-weight:var(--weight-semibold)}.viewer-results-title{font-size:clamp(2.25rem,1.2rem + 4vw,6rem);font-weight:var(--weight-heavy);letter-spacing:-.04em}.viewer-results{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:clamp(.75rem,.5rem + 1vw,1.75rem);width:100%;display:grid}.viewer-result-card{align-content:start;gap:var(--space-3);padding:clamp(1rem,.75rem + 1vw,2rem);display:grid}.viewer-result-card h2{align-items:center;gap:var(--space-2);color:var(--stage-gold);font-size:clamp(1.1rem,.9rem + .8vw,1.9rem);font-weight:var(--weight-bold);overflow-wrap:anywhere;display:flex}.viewer-result-card h2 svg{flex:none;width:1em;height:1em}.viewer-result-card .stage-winner-list li{font-size:clamp(1rem,.85rem + .6vw,1.6rem);font-weight:var(--weight-semibold)}.draw-gift-bar{width:min(100%,22rem)}.completion-icon{width:2.25rem;height:2.25rem;color:var(--stage-gold)}.viewer{--proj-caption:clamp(1.125rem, .45rem + 1.25vw, 3.5rem);--proj-body:clamp(1.375rem, .5rem + 1.7vw, 4.25rem);--proj-heading:clamp(1.5rem, .6rem + 2.6vw, 6rem);--proj-title:clamp(2rem, .75rem + 3vw, 7.5rem);--proj-display:clamp(2.5rem, 1rem + 4.6vw, 11rem);--proj-hero:clamp(3rem, 1rem + 8vw, 18rem)}.viewer .viewer-header p,.viewer .roster-heading,.viewer .draw-kicker,.viewer .viewer-supporting h3,.viewer .reveal-kicker{font-size:var(--proj-caption)}.viewer .viewer-header h1{font-size:var(--proj-heading)}.viewer .reveal-gift,.viewer .winner-label,.viewer .winner-gift,.viewer .viewer-progress,.viewer .viewer-center>.stage-muted,.viewer .viewer-notice .stage-muted,.viewer .viewer-chips li,.viewer .count-display span,.viewer .qr-card-instruction,.viewer .registration-closed-pill,.viewer .viewer-result-card h2{font-size:var(--proj-body)}.viewer .viewer-result-card .stage-winner-list li{font-size:clamp(1.25rem,.4rem + 1.5vw,3.75rem)}.viewer .viewer-notice h2,.viewer .viewer-waiting{font-size:var(--proj-title)}.viewer .viewer-ready-title,.viewer .viewer-results-title{font-size:var(--proj-display)}.viewer .count-display strong{font-size:clamp(3.5rem,1.5rem + 6vw,14rem)}.viewer .winner-name{font-size:var(--proj-hero)}.viewer .viewer-notice-icon{width:clamp(4rem,1.5rem + 5vw,12rem);height:clamp(4rem,1.5rem + 5vw,12rem)}.viewer .viewer-header p{font-size:calc(var(--proj-caption) * .85)}.viewer .viewer-progress svg{width:1em;height:1em}.viewer .viewer-body{max-width:none}.viewer .roster[data-density=comfortable]{--roster-min:clamp(20rem, 1rem + 14vw, 46rem);--roster-height:clamp(5rem, 1.5rem + 3.4vw, 10rem);--roster-font:clamp(1.4rem, .8rem + 1.6vw, 4.2rem)}.viewer .roster[data-density=compact]{--roster-min:clamp(15rem, .5rem + 11vw, 36rem);--roster-height:clamp(3.75rem, 1rem + 2.6vw, 7.5rem);--roster-font:clamp(1.1rem, .7rem + .9vw, 3rem)}.viewer .roster[data-density=dense]{--roster-min:clamp(12.5rem, .5rem + 8.6vw, 28rem);--roster-height:clamp(3rem, .8rem + 2vw, 6rem);--roster-font:clamp(1rem, .7rem + .55vw, 2.2rem)}.viewer .qr-card-rotation{font-size:var(--proj-caption)}.viewer .qr-rotation-bar{height:clamp(.375rem,.3vw,.9rem)}.viewer .registration-closed-pill svg,.viewer .qr-card-instruction svg{width:1em;height:1em}.viewer .registration-aside .qr-card{width:min(100%,clamp(18rem,22vw,48rem))}.viewer .qr-card svg{width:100%;height:auto}.viewer .viewer-waiting-dots{gap:clamp(.6rem,.5vw,1.4rem)}.viewer .viewer-waiting-dots i{width:clamp(.8rem,.6vw,1.8rem);height:clamp(.8rem,.6vw,1.8rem)}@media (width>=900px) and (height>=560px) and (orientation:landscape){.viewer-registration{container-type:size}.viewer-registration .registration-aside{--qr-size:min(28rem, 48cqh);gap:min(var(--space-6), 3cqh);max-height:100%}.viewer .registration-aside .qr-card{gap:min(var(--space-4), 2cqh);padding:min(var(--space-6), 3cqh)}.viewer .qr-card-instruction{font-size:min(var(--proj-body), 4.6cqh);line-height:1.2}.viewer .qr-card-rotation{font-size:min(var(--proj-caption), 3.2cqh);line-height:1.25}.viewer .registration-aside .count-display strong{font-size:min(clamp(3.5rem,1.5rem + 6vw,14rem),12cqh);line-height:1}.viewer .registration-aside .count-display span{font-size:min(var(--proj-body), 4.6cqh)}}.media-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.media-frame{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted);background-image:linear-gradient(45deg,#00000009 25%,#0000 25% 75%,#00000009 75%),linear-gradient(45deg,#00000009 25%,#0000 25% 75%,#00000009 75%);background-position:0 0,8px 8px;background-size:16px 16px;place-items:center;display:grid;overflow:hidden}.media-frame,.logo-surface-frame,.org-card-logo{grid-template:minmax(0,1fr)/minmax(0,1fr)}.media-frame>img,.logo-surface-frame>img,.org-card-logo>img,.media-thumb>img{width:100%;max-width:none;height:100%;max-height:none;aspect-ratio:auto!important}.media-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);flex:none;place-items:center;width:3rem;height:3rem;display:inline-grid;overflow:hidden}.media-thumb-stage{border-color:var(--stage-border);vertical-align:middle;background:#ffffff0f;width:1.6em;height:1.6em}.image-field{gap:var(--space-2);min-width:0;display:grid}.image-field-body{gap:var(--space-3);align-items:start;display:grid}@media (width>=560px){.image-field-body{grid-template-columns:minmax(0,14rem) minmax(0,1fr)}.image-field[data-kind=logo] .image-field-body{grid-template-columns:minmax(0,1fr)}}.image-field-preview{gap:var(--space-2);min-width:0;display:grid}.image-field-preview>.media-frame{height:10rem;padding:var(--space-2)}.image-field-preview.is-pending>.media-frame,.image-field-preview.is-pending .logo-surface-frame{outline:2px dashed var(--color-brand);outline-offset:2px}.image-field-badge{padding:.1rem var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);justify-self:start}.image-field-empty{align-content:center;place-items:center;gap:var(--space-2);min-height:7rem;padding:var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-secondary);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);display:grid}.image-field-empty:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-text)}.image-field-empty:focus-visible{box-shadow:var(--focus-ring);outline:none}.image-field-empty:disabled{cursor:not-allowed;opacity:.6}.image-field-empty svg{width:1.5rem;height:1.5rem}.image-field input[type=file]:focus-visible+.image-field-body .image-field-empty,.image-field input[type=file]:focus-visible+.image-field-body .media-frame{box-shadow:var(--focus-ring)}.image-field-side{align-content:start;gap:var(--space-2);min-width:0;display:grid}.image-field-file{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo-surfaces{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.logo-surface{gap:var(--space-1);margin:0;display:grid}.logo-surface-frame{height:7rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);place-items:center;display:grid}.logo-surface-light .logo-surface-frame{background:#fff}.logo-surface-dark .logo-surface-frame{border-color:var(--stage-border);background:var(--stage-bg)}.logo-surface figcaption{color:var(--color-text-muted);font-size:var(--text-2xs)}.card-title-icon{width:1.1rem;height:1.1rem;margin-right:var(--space-2);vertical-align:-.15em;color:var(--color-text-muted)}.gift-card-media{height:9rem;padding:var(--space-2)}.org-card-logo{width:4.5rem;height:2.75rem;display:grid}.org-card-logo>img{object-position:left center}.results-gift-header{justify-content:flex-start;gap:var(--space-3)}.results-gift-header h2{flex:8rem;min-width:0}.public-logo{max-width:min(12rem,60vw);max-height:4.5rem;margin-bottom:var(--space-2)}.stage-logo{flex:none;max-width:clamp(4.5rem,3rem + 6vw,11rem);max-height:clamp(2.25rem,1.75rem + 2vw,4.5rem)}.viewer-header-title{flex:20rem;min-width:0}.viewer-header-side{justify-content:flex-end;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.viewer .stage-logo{max-width:clamp(6rem,3rem + 9vw,16rem);max-height:clamp(2.75rem,1.5rem + 3.5vw,7rem)}.draw-gift-image{border-radius:var(--radius-md);max-width:min(100%,22rem);max-height:clamp(5rem,22vh,13rem)}.viewer-gift-image{border-radius:var(--radius-lg);max-width:min(80vw,36rem);max-height:clamp(6rem,26vh,22rem)}.winner-gift-with-media{text-wrap:balance;flex-direction:column;align-items:center;gap:.35em;max-width:100%;display:flex}.winner-gift-image{border-radius:.3em;flex:none;max-width:4.5em;max-height:2.4em}@media (height<=540px){.draw-gift-image,.viewer-gift-image{max-height:4.5rem}}.connection-banner{top:max(var(--space-2), env(safe-area-inset-top));right:var(--space-3);left:var(--space-3);z-index:95;align-items:center;gap:var(--space-2);width:fit-content;max-width:calc(100vw - 2 * var(--space-3));padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin-inline:auto;display:flex;position:fixed}.connection-banner svg{flex:none;width:1rem;height:1rem}.connection-banner-offline{color:#fff;background:#7a2e0e}.connection-banner-recovered{color:#fff;background:#0f5132}.connection-pill{border:1px solid var(--stage-border);border-radius:var(--radius-pill);color:var(--stage-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:.45em;padding:.2em .7em;display:inline-flex}.connection-pill i{background:var(--stage-success);border-radius:50%;width:.5em;height:.5em}.connection-pill-connected{opacity:.7}.connection-pill-reconnecting i{background:var(--stage-gold)}.connection-pill-offline{border-color:var(--stage-danger);color:var(--stage-text)}.connection-pill-offline i{background:var(--stage-danger)}@media (prefers-reduced-motion:no-preference){.connection-pill-reconnecting i{animation:1.2s ease-in-out infinite connection-pulse}}@keyframes connection-pulse{50%{opacity:.3}}.error-fallback{min-height:60vh;padding:var(--space-6) var(--space-4);background:var(--color-canvas);color:var(--color-text);place-items:center;display:grid}.error-fallback-stage{background:var(--stage-bg);min-height:100dvh;color:var(--stage-text)}.error-fallback-card{justify-items:center;gap:var(--space-3);text-align:center;max-width:28rem;display:grid}.error-fallback-card h1{font-size:var(--text-xl);font-weight:var(--weight-bold)}.error-fallback-card p{color:var(--color-text-secondary)}.error-fallback-stage .error-fallback-card p{color:var(--stage-text-secondary)}.error-fallback-icon{width:2.5rem;height:2.5rem;color:var(--color-warning)}@media (width>=768px){.choice-group-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.choice-group-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=768px){.choice-group-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.choice-compact{padding:var(--space-3) var(--space-4);align-items:center}.choice-compact input,.choice-compact small{margin-top:0}.choice-group .span-all{grid-column:1/-1}.choice-group .field-hint svg,.dynamic-qr-note svg{width:1rem;height:1rem;margin-right:var(--space-1);vertical-align:-.15em;display:inline-block}.dynamic-qr-note{text-align:left;max-width:22rem}.sound-toggle{gap:var(--space-2)}.sound-toggle svg{width:1rem;height:1rem}@media (width<=767.98px){.sound-toggle-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.viewer .sound-toggle{opacity:.85;font-size:clamp(.75rem,.55rem + .35vw,1.1rem)}.preview-sound{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.winner-verify{justify-items:center;gap:var(--space-2);width:min(100%,44rem);padding-top:var(--space-3);border-top:1px solid var(--stage-border);display:grid}.winner-verify-label{align-items:center;gap:var(--space-2);color:var(--stage-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;display:inline-flex}.winner-verify-label .spinner{width:.9rem;height:.9rem}.winner-verify-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.winner-verify-actions .btn{white-space:nowrap;min-height:2.25rem}@media (width<=767.98px){.winner-verify-actions .btn{min-height:2.5rem}}@media (width<=479.98px){.winner-verify-actions .btn{white-space:normal}}.void-reason-options{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.void-reason-options legend{margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.void-reason-option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex}.summary-progress{gap:var(--space-2);display:grid}.summary-progress p{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.summary-progress strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.summary-progress span:not(.progress){color:var(--color-text-secondary);font-size:var(--text-sm)}.summary-metrics{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));margin:0;display:grid}.summary-metric{gap:var(--space-1);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.summary-metric dt{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);display:flex}.summary-metric dt svg{flex:none;width:.95rem;height:.95rem}.summary-metric dd{gap:.1rem;min-width:0;margin:0;display:grid}.summary-metric strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.15}.summary-metric small{color:var(--color-text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.reveal-stage{--scene-h:clamp(17rem, 50vh, 34rem);justify-items:center;gap:var(--space-3);width:100%;display:grid}.reveal-stage[data-variant=projector]{--scene-h:clamp(18rem, 58vh, 64rem);gap:clamp(.75rem,1.4vh,2rem)}.reveal-stage[data-variant=preview]{--scene-h:clamp(14rem, 38vh, 21rem)}@media (width<=767.98px){.reveal-stage[data-variant=console]{--scene-h:clamp(19rem, 58vh, 26rem)}}.reveal-kicker{color:var(--stage-accent);font-size:clamp(.9rem,.8rem + .4vw,1.15rem);font-weight:var(--weight-bold);letter-spacing:.16em;text-transform:uppercase}.reveal-scene{width:100%;max-width:76rem;height:var(--scene-h);border-radius:var(--radius-xl);position:relative;overflow:hidden;container-type:size}.reveal-stage[data-variant=projector] .reveal-scene{max-width:min(100%,180vh)}.reveal-gift{max-width:60ch;color:var(--stage-text-secondary);font-size:clamp(1.05rem,.9rem + .8vw,1.75rem);font-weight:var(--weight-semibold);text-align:center;overflow-wrap:anywhere}.reveal-progress{border-radius:var(--radius-pill);background:#ffffff1a;width:min(100%,26rem);height:.35rem;overflow:hidden}.reveal-stage[data-variant=projector] .reveal-progress{width:min(100%,40vw);height:clamp(.35rem,.6vh,.8rem)}.reveal-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--stage-accent), var(--stage-gold));width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:0;display:block}.reveal-reduced{text-align:center;place-content:center;justify-items:center;gap:4cqh;display:grid;position:absolute;inset:0}.reveal-reduced .animation-thumbnail{border-radius:3cqmin;width:min(56cqw,104cqh)}.reveal-reduced p{color:var(--stage-text);font-size:min(7cqh,5cqw);font-weight:var(--weight-bold);align-items:center;gap:.5em;display:inline-flex}.reveal-reduced p svg{width:1em;height:1em;color:var(--stage-gold)}[data-length]{overflow-wrap:anywhere}.slot-reveal{place-items:center;display:grid;position:absolute;inset:0}.slot-reel{--slot-step:25cqh;border:1px solid var(--stage-border-strong);background:linear-gradient(#00000061,#0000 30% 70%,#00000061),linear-gradient(#0d1233,#151c4a 50%,#0d1233);border-radius:5cqmin;width:min(100cqw,170cqh);height:92cqh;position:relative;overflow:hidden;box-shadow:inset 0 0 6cqh #00000073;-webkit-mask-image:linear-gradient(#0000 4%,#000 26% 74%,#0000 96%);mask-image:linear-gradient(#0000 4%,#000 26% 74%,#0000 96%)}.slot-reel:before{content:"";height:var(--slot-step);margin-top:calc(var(--slot-step) / -2);background:#ffffff0d;border-top:2px solid #ffffff38;border-bottom:2px solid #ffffff38;transition:border-color .24s,background-color .24s,box-shadow .24s;position:absolute;inset:50% 3cqw auto}.slot-reveal[data-landed] .slot-reel:before{background:#ffcf5c1f;border-color:#ffcf5cd9;box-shadow:0 0 6cqh #ffcf5c4d}.slot-marker{z-index:2;border-top:2.4cqh solid #0000;border-bottom:2.4cqh solid #0000;width:0;height:0;margin-top:-2.4cqh;position:absolute;top:50%}.slot-marker-left{border-left:2.6cqh solid var(--stage-gold);left:.8cqw}.slot-marker-right{border-right:2.6cqh solid var(--stage-gold);right:.8cqw}.slot-item{height:var(--slot-step);margin-top:calc(var(--slot-step) / -2);color:#fff;font-size:min(12cqh,8.4cqw);font-weight:var(--weight-heavy);letter-spacing:-.02em;text-align:center;white-space:nowrap;will-change:transform;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;top:50%;left:6cqw;right:6cqw}.slot-item[data-length=long]{font-size:min(9cqh,4.8cqw)}.slot-item[data-length=xlong]{white-space:normal;text-wrap:balance;font-size:min(6.4cqh,3.3cqw)}.slot-item.is-winner{color:var(--stage-gold);text-shadow:0 0 5cqh #ffcf5c73}.cards-reveal{perspective:1400px;position:absolute;inset:0}.cards-deck,.cards-flow{transform-style:preserve-3d;place-items:center;display:grid;position:absolute;inset:0}.reveal-card{aspect-ratio:5/7;height:min(68cqh,62cqw);color:var(--color-text);text-align:center;backface-visibility:hidden;will-change:transform, opacity;background:linear-gradient(160deg,#fff,#eef0fb);border:1px solid #151a2d1a;border-radius:3.6cqh;grid-area:1/1;align-content:center;justify-items:center;gap:4cqh;padding:5cqh 3cqh;display:grid;box-shadow:0 3cqh 7cqh #00000061}.reveal-card.is-back{background:radial-gradient(circle,#0000 5.4cqh,#ffcf5cd9 5.6cqh 6.4cqh,#0000 6.6cqh),radial-gradient(circle,#ffcf5c4d 0 2.6cqh,#0000 2.8cqh),repeating-linear-gradient(45deg,#ffffff12 0 1.4cqh,#0000 1.4cqh 2.8cqh),linear-gradient(160deg,#3a31a8,#1c1a5e);border:2px solid #ffffff38;box-shadow:inset 0 0 0 1.4cqh #090d2038,inset 0 0 0 1.6cqh #ffffff24,0 3cqh 7cqh #00000061}.reveal-card-avatar{background:var(--color-brand-soft-strong);width:17cqh;height:17cqh;color:var(--color-brand-text);font-size:6.5cqh;font-weight:var(--weight-heavy);border-radius:50%;place-items:center;display:grid}.reveal-card-name{max-width:100%;font-size:min(6.8cqh,5cqw);font-weight:var(--weight-heavy);letter-spacing:-.02em;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.12;display:-webkit-box;overflow:hidden}.reveal-card-name[data-length=long]{font-size:min(5.2cqh,4cqw)}.reveal-card-name[data-length=xlong]{-webkit-line-clamp:4;font-size:min(4.2cqh,3.2cqw)}.reveal-card.is-winner{border:.9cqh solid var(--stage-gold);box-shadow:0 0 9cqh #ffcf5c73,0 3cqh 7cqh #0006}.reveal-card.is-winner .reveal-card-avatar{background:var(--stage-gold);color:#2a1d00}.spotlight-reveal{align-items:center;padding:6cqh 2cqw 4cqh;display:grid;position:absolute;inset:0}.spotlight-stage{position:relative}.spotlight-grid{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:3cqh 1.6cqw;margin:0;padding:0;list-style:none;display:grid;position:relative}.spotlight-grid[data-count="1"]{grid-template-columns:minmax(0,.5fr);justify-content:center}.spotlight-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,.42fr));justify-content:center}.spotlight-grid[data-count="3"],.spotlight-grid[data-count="5"],.spotlight-grid[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.spotlight-grid li{border:1px solid var(--stage-border);min-height:20cqh;color:var(--stage-text-muted);font-size:min(5cqh,2.5cqw);font-weight:var(--weight-bold);text-align:center;will-change:transform, opacity;background:#ffffff0a;border-radius:2.4cqh;place-items:center;padding:1.6cqh 1.2cqw;line-height:1.15;transition:color .14s,background-color .14s,border-color .14s;display:grid}.spotlight-grid li>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.spotlight-grid li[data-length=xlong]{font-size:min(3.8cqh,2cqw)}.spotlight-grid li.is-lit{color:#fff;background:#fff0c81f;border-color:#ffde8c99}.spotlight-grid li.is-winner{border-color:var(--stage-gold);background:var(--stage-gold);color:#221800;box-shadow:0 0 8cqh #ffcf5c80}.spotlight-light{z-index:2;pointer-events:none;will-change:transform;background:radial-gradient(closest-side,#fff0be4d,#ffde8c1f 60%,#0000);border-radius:50%;position:absolute;top:0;left:0}.spotlight-shaft{z-index:0;pointer-events:none;will-change:transform;background:linear-gradient(#fff4cd00,#fff4cd1f 70%,#fff4cd0a);position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000)}@container (width<=560px){.spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2cqh 2cqw}.spotlight-grid li{min-height:14cqh;font-size:min(4.4cqh,4cqw)}.spotlight-grid li[data-length=xlong],.spotlight-grid li[data-length=long]{font-size:min(3.6cqh,3.2cqw)}}.elimination-reveal{grid-template-rows:auto minmax(0,1fr);gap:2.4cqh;padding:3.5cqh 2.5cqw 4cqh;display:grid;position:absolute;inset:0}.elimination-counter{color:var(--stage-text-secondary);font-size:min(4.6cqh,2.6cqw);font-weight:var(--weight-semibold);justify-content:center;align-items:baseline;gap:.45em;margin:0;display:flex}.elimination-counter strong{min-width:3ch;color:var(--stage-text);font-variant-numeric:tabular-nums;text-align:right;font-size:1.9em;line-height:1}.elimination-reveal[data-landed] .elimination-counter strong{color:var(--stage-gold)}.elimination-arena{min-height:0;position:relative}.elimination-mosaic{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));gap:max(2px,.5cqmin);margin:0;padding:0;list-style:none;display:grid;position:absolute;inset:0}.elimination-mosaic li{background:var(--stage-accent-soft);min-width:0;min-height:0;box-shadow:inset 0 0 0 1px var(--stage-border-strong);color:var(--stage-text);font-size:min(calc(46cqh / var(--rows)), calc(26cqw / var(--cols)));font-weight:var(--weight-bold);white-space:nowrap;will-change:opacity, transform;border-radius:max(2px,.8cqmin);place-items:center;line-height:1;transition:opacity .36s ease-out,transform .36s ease-out,background-color .2s;display:grid;overflow:hidden}.elimination-mosaic[data-density=sparse] li{font-size:min(calc(34cqh / var(--rows)), calc(13cqw / var(--cols)));padding:0 .4em}.elimination-mosaic li>span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.elimination-mosaic li[data-state=hidden]{opacity:0;transform:scale(.4)}.elimination-mosaic li[data-state=out]{background:var(--stage-surface);box-shadow:none;opacity:.12;transform:scale(.72)}.elimination-finals{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:center;gap:3cqh 1.8cqw;margin:0;padding:2cqh 0;list-style:none;display:grid;position:absolute;inset:0}.elimination-finals[data-count="1"]{grid-template-columns:minmax(0,.5fr);justify-content:center}.elimination-finals[data-count="2"]{grid-template-columns:repeat(2,minmax(0,.4fr));justify-content:center}.elimination-finals[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.elimination-finals li{border:1px solid var(--stage-border-strong);background:var(--stage-surface-strong);min-height:0;max-height:26cqh;color:var(--stage-text);font-size:min(5cqh,2.5cqw);font-weight:var(--weight-bold);text-align:center;will-change:transform, opacity;border-radius:2.4cqh;place-items:center;padding:1.6cqh 1.2cqw;line-height:1.15;transition:opacity .42s ease-out,filter .42s ease-out,color .2s,background-color .2s,border-color .2s;display:grid}.elimination-finals li>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.elimination-finals li[data-length=xlong]{font-size:min(3.8cqh,2cqw)}.elimination-finals li[data-state=out]{opacity:.18;filter:grayscale()}.elimination-reveal[data-landed] .elimination-finals li[data-state=out]{opacity:.08}.elimination-finals li.is-winner{border-color:var(--stage-gold);background:var(--stage-gold);color:#221800;box-shadow:0 0 8cqh #ffcf5c80}@container (width<=560px){.elimination-finals{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6cqh 2.4cqw}.elimination-finals li{font-size:min(4.6cqh,4.4cqw)}}.drum-reveal{position:absolute;inset:0;container-type:size}.drum{aspect-ratio:1;will-change:transform, opacity;background:radial-gradient(circle at 34% 28%,#fff3,#0000 34%),radial-gradient(circle,#9b91ff1a,#090d20b3 72%);border:1.1cqmin solid #dfe8ff8c;border-radius:50%;width:min(84cqh,80cqw);margin-left:calc(min(84cqh,80cqw)/-2);position:absolute;top:3cqh;left:50%;box-shadow:inset 0 0 6cqw #00000080,0 0 10cqh #9b91ff29;container-type:size}.drum-spokes{will-change:transform;background:linear-gradient(90deg,#0000 49.2%,#ffffff1f 49.2% 50.8%,#0000 50.8%),linear-gradient(#0000 49.2%,#ffffff1f 49.2% 50.8%,#0000 50.8%);border:.6cqw solid #ffffff1a;border-radius:50%;position:absolute;inset:7%}.drum-ticket{--ticket-color:#9b91ff;background:radial-gradient(circle at 0 50%, transparent 1.4cqw, var(--ticket-color) 1.5cqw) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 1.4cqw, var(--ticket-color) 1.5cqw) right / 51% 100% no-repeat;color:#0a0c1ecc;width:15cqw;height:9cqw;font-size:3.8cqw;font-weight:var(--weight-heavy);will-change:transform;border-radius:1.2cqw;place-items:center;margin:-4.5cqw 0 0 -7.5cqw;display:grid;position:absolute;top:50%;left:50%}.drum-mouth{background:#05081a;border-radius:2cqw;width:26cqw;height:5cqw;margin-left:-13cqw;position:absolute;bottom:-1.5cqw;left:50%;box-shadow:0 0 0 .9cqw #dfe8ff66}.drum-winner-ticket{z-index:3;transform-origin:50% 0;will-change:transform;position:absolute;top:0;left:50%}.drum-winner-paper{color:#2a1d00;text-align:center;transform-origin:50% 0;background:radial-gradient(circle at 0,#0000 3.2cqh,#ffd56f 3.3cqh) 0/51% 100% no-repeat,radial-gradient(circle at 100%,#0000 3.2cqh,#ffd56f 3.3cqh) 100%/51% 100% no-repeat;border-radius:2.4cqh;align-content:center;place-items:center;gap:2cqh;width:min(86cqw,150cqh);min-height:36cqh;padding:4cqh 7cqw;display:grid;position:relative;overflow:hidden;box-shadow:0 3cqh 8cqh #0006}.drum-winner-shine{pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:40%;position:absolute;inset:0 auto 0 0}.drum-winner-label{font-size:min(3.6cqh,3cqw);font-weight:var(--weight-bold);letter-spacing:.16em;text-transform:uppercase}.drum-winner-name{font-size:min(12cqh,6.6cqw);font-weight:var(--weight-heavy);letter-spacing:-.03em;text-wrap:balance;line-height:1.05}.drum-winner-name[data-length=long]{font-size:min(8.5cqh,4.8cqw)}.drum-winner-name[data-length=xlong]{font-size:min(5.2cqh,3.4cqw)}.doctor-reveal{--fly-x:-44cqw;--fly-y:-26cqh;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:2cqw;padding:2cqh 3cqw;display:grid;position:absolute;inset:0}.doctor-scene{place-items:center;height:100%;min-height:0;display:grid}.doctor-art{width:auto;max-width:100%;height:96cqh}.doctor-card-slot{perspective:1200px;place-items:center;height:100%;display:grid}.doctor-card{aspect-ratio:1.5;will-change:transform;width:min(100%,96cqh)}.doctor-card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.doctor-card-face{backface-visibility:hidden;text-align:center;border-radius:3cqh;align-content:center;place-items:center;gap:3cqh;padding:4cqh 4cqw;display:grid;position:absolute;inset:0}.doctor-card-back{color:var(--stage-gold);background:repeating-linear-gradient(45deg,#ffffff0f 0 1.4cqh,#0000 1.4cqh 2.8cqh),linear-gradient(160deg,#3a31a8,#1c1a5e);border:2px solid #fff3;transform:rotateY(180deg)}.doctor-card-back svg{width:22cqh;height:22cqh}.doctor-card-front{border:.9cqh solid var(--stage-gold);color:#221800;background:linear-gradient(160deg,#fffdf6,#fff2cf);box-shadow:0 3cqh 8cqh #0006}.doctor-reveal[data-landed] .doctor-card-front{box-shadow:0 0 10cqh #ffcf5c73,0 3cqh 8cqh #0006}.doctor-card-label{color:#8f5400;font-size:min(4cqh,2.2cqw);font-weight:var(--weight-bold);letter-spacing:.18em;text-transform:uppercase}.doctor-card-name{font-size:min(9cqh,4.6cqw);font-weight:var(--weight-heavy);letter-spacing:-.03em;text-wrap:balance;line-height:1.05}.doctor-card-name[data-length=long]{font-size:min(7.6cqh,3.9cqw)}.doctor-card-name[data-length=xlong]{font-size:min(6.4cqh,3.2cqw)}@container (aspect-ratio<=1.2){.doctor-reveal{--fly-x:18cqw;--fly-y:-42cqh;grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:1cqh;padding:2cqh 4cqw}.doctor-art{height:52cqh}.doctor-card{width:min(100%,64cqh)}.doctor-card-label{font-size:min(3.2cqh,4cqw)}.doctor-card-name{font-size:min(6.4cqh,8.4cqw)}.doctor-card-name[data-length=long]{font-size:min(5cqh,6cqw)}.doctor-card-name[data-length=xlong]{font-size:min(3.8cqh,4.6cqw)}}.animation-thumbnail{aspect-ratio:16/10;border-radius:var(--radius-md);background:radial-gradient(120% 90% at 80% -10%,#7b6cff4d,#0000 60%),linear-gradient(160deg,#10163a,#090d20);place-items:center;width:100%;display:grid;overflow:hidden}.animation-thumbnail svg{width:100%;height:100%}.animation-thumbnail[data-animation=DOCTOR_DRAW] svg{height:100%;margin-top:6%}.winner-name[data-length=long]{font-size:clamp(2rem,1rem + 4.4vw,5.5rem)}.winner-name[data-length=xlong]{font-size:clamp(1.6rem,.9rem + 3vw,4rem)}.viewer .winner-name[data-length=long]{font-size:clamp(2.5rem,.8rem + 5.6vw,13rem)}.viewer .winner-name[data-length=xlong]{font-size:clamp(2rem,.6rem + 3.8vw,9rem)}.analytics-toolbar{justify-content:flex-start;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.segmented{gap:var(--space-1);scrollbar-width:none;border-bottom:1px solid #d7e9f9;flex:1;display:flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented-option{cursor:pointer;position:relative}.segmented-option input{opacity:0;pointer-events:none;position:absolute}.segmented-option span{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;display:inline-flex}.segmented-option:hover span{color:var(--color-text)}.segmented-option input:checked+span{border-bottom-color:var(--color-brand);color:var(--color-brand-text)}.segmented-option input:focus-visible+span{border-radius:var(--radius-xs) var(--radius-xs) 0 0;box-shadow:var(--focus-ring)}[data-refreshing]{opacity:.55;transition:opacity var(--duration-fast)}.analytics-pair{gap:var(--space-4);display:grid}@media (width>=768px){.analytics-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-table .cell-numeric{font-variant-numeric:tabular-nums}.timeline-chart{--chart-height:12rem;gap:var(--space-2);display:grid}.timeline-plot{gap:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.timeline-axis{height:var(--chart-height);color:var(--color-text-muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:space-between;line-height:1;display:flex;transform:translateY(-.4em)}.timeline-area{height:var(--chart-height);position:relative}.timeline-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.timeline-grid span{background:var(--color-border);height:1px}.timeline-bars{gap:2px;height:100%;display:grid;position:relative}.timeline-bar{cursor:default;background:0 0;border:0;justify-content:center;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.timeline-bar:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--focus-ring);outline:none}.timeline-bar-fill{background:var(--color-brand);width:100%;max-width:24px;transition:background-color var(--duration-fast);border-radius:4px 4px 0 0;display:block}.timeline-bar[data-active] .timeline-bar-fill{background:var(--color-brand-hover)}.timeline-bar[data-active]{background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.timeline-bar[data-active]{background:color-mix(in srgb, var(--color-brand-soft) 60%, transparent)}}.timeline-bar[data-active]{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.timeline-labels{color:var(--color-text-muted);font-size:var(--text-2xs);white-space:nowrap;gap:2px;display:grid}.timeline-labels span{min-width:0;overflow:visible}.chart-tooltip{top:var(--space-2);z-index:2;min-width:8rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md);font-size:var(--text-xs);pointer-events:none;gap:2px;display:grid;position:absolute;transform:translate(-50%)}.chart-tooltip strong{color:var(--color-text);font-size:var(--text-sm)}.chart-tooltip span{color:var(--color-text-secondary)}.chart-table summary{width:fit-content;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer}.chart-table .table-scroll{margin-top:var(--space-2)}.source-split{gap:var(--space-4);display:grid}.source-bar{gap:2px;height:.75rem;display:flex}.source-bar-part{flex-basis:0;min-width:4px}.source-bar-part:first-child{border-radius:4px 0 0 4px}.source-bar-part:last-child{border-radius:0 4px 4px 0}.source-bar-part:only-child{border-radius:4px}.source-public{background:var(--color-brand)}.source-admin{background:#1baf7a}.chart-legend{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.chart-legend li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto 3rem;display:grid}.legend-swatch{border-radius:3px;width:.75rem;height:.75rem}.legend-label{color:var(--color-text-secondary)}.chart-legend strong{font-variant-numeric:tabular-nums}.legend-share{color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right}.status-bars{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.status-bars li{align-items:center;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:9.5rem minmax(0,1fr);display:grid}.status-bars-label{color:var(--color-text-secondary)}.status-bars-track{align-items:center;gap:var(--space-2);min-width:0;display:flex}.status-bars-fill{background:var(--color-brand);border-radius:0 4px 4px 0;height:.625rem}.status-bars-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.new-event-layout{gap:var(--shell-gap,var(--space-6));align-items:start;display:grid}@media (width>=1100px){.new-event-layout{grid-template-columns:minmax(0,1fr) 20rem}.new-event-aside{top:var(--shell-gap,var(--space-6));position:sticky}}.draft-summary{gap:var(--space-3);margin:0;display:grid}.draft-summary>div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.draft-summary dt{color:var(--color-text-muted)}.draft-summary dd{color:var(--color-text);font-weight:var(--weight-medium);text-align:right;margin:0}.draft-summary>.draft-summary-name{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:grid}.draft-summary-name dd{font-size:var(--text-base);font-weight:var(--weight-semibold);text-align:left;overflow-wrap:anywhere}.draft-summary-name dd[data-empty]{color:var(--color-text-muted);font-weight:var(--weight-regular,400)}.new-event-actions{gap:var(--space-2);display:grid}.event-form{gap:var(--space-8)}.event-form .form-section{gap:var(--space-8);padding-top:var(--space-8)}.event-form .form-section-title{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}.event-form .field-label,.event-form .choice-group legend,.event-form .animation-picker legend{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-bold)}.event-form .field{gap:var(--space-2)}.event-form .choice-group legend,.event-form .animation-picker legend{margin-bottom:var(--space-3)}.event-form .choice-group .field-hint,.event-form .animation-picker .field-hint{margin-top:calc(-1 * var(--space-1))}.field-label{justify-content:flex-start}.field-optional{font-weight:var(--weight-regular,400)}.field-optional:before{content:"· "}.add-gift-card{position:relative}.add-gift-close{top:var(--space-3);right:var(--space-3);z-index:1;position:absolute}.add-gift-card .card-body{padding-right:calc(var(--space-5) + 2rem)}.action-menu{position:relative}.action-menu-list{top:calc(100% + var(--space-2));z-index:20;min-width:13rem;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);display:grid;position:absolute;right:0}.action-menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.action-menu-item svg{width:1rem;height:1rem;color:var(--color-text-muted);flex:none}.action-menu-item:hover,.action-menu-item:focus-visible{background:var(--color-surface-muted);outline:none}.action-menu-item.is-danger,.action-menu-item.is-danger svg{color:var(--color-danger)}.action-menu-item.is-danger:hover,.action-menu-item.is-danger:focus-visible{background:var(--color-danger-soft)}.table-card>.card-header{padding-bottom:var(--space-4)}@media (width>=768px){.table-card>.card-header~.table-scroll .data-table th:first-child,.table-card>.card-header~.table-scroll .data-table td:first-child{padding-left:var(--space-6)}.table-card>.card-header~.table-scroll .data-table th:last-child,.table-card>.card-header~.table-scroll .data-table td:last-child{padding-right:var(--space-6)}}.gifts-layout{gap:var(--shell-gap,var(--space-6));align-items:stretch;display:grid}@media (width>=1024px){.gifts-layout:not(.is-readonly){grid-template-columns:22.5rem minmax(0,1fr)}}.gifts-form-panel>.card-body{top:var(--shell-gap,var(--space-6));position:sticky}.add-gift-form{gap:var(--space-5);display:grid}.add-gift-form .image-field-body{grid-template-columns:minmax(0,1fr)}.add-gift-form .image-field-empty,.add-gift-form .image-field-preview>.media-frame{width:100%;height:9.5rem;min-height:0}.add-gift-form .image-field-side .button-row:empty{display:none}.gift-panel-mode{justify-content:space-between;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 calc(-1 * var(--space-1));color:var(--color-brand-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.gift-panel-actions{gap:var(--space-2);display:grid}.add-gift-form .image-field-side:not(:has(*)){display:none}.gift-fields{gap:var(--space-4);display:grid}.gifts-list-panel{flex-direction:column;display:flex}.gifts-panel-list{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.gifts-panel-list>.empty-state{flex:1;align-content:center}.gifts-panel-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.gifts-panel-heading h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold)}.gifts-panel-heading p{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.duplicate-gift{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-warning);display:grid}@supports (color:color-mix(in lab, red, red)){.duplicate-gift{border:1px solid color-mix(in srgb, var(--color-warning) 30%, transparent)}}.duplicate-gift{border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-sm)}.gifts-list-panel .gift-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));align-items:start}.gift-item{align-items:center;gap:var(--space-3);padding:var(--space-3);grid-template-columns:3.5rem minmax(0,1fr) auto;display:grid;box-shadow:none!important}.gift-item-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);width:3.5rem;height:3.5rem;color:var(--color-celebrate-strong);place-items:center;display:grid;overflow:hidden}.gift-item-thumb img{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none;aspect-ratio:auto!important}.gift-item-thumb>svg{width:1.5rem;height:1.5rem}.gift-item-main{gap:var(--space-1);min-width:0;display:grid}.gift-item-main h3{font-size:var(--text-base);font-weight:var(--weight-semibold)}.gift-item-meta{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.gift-item-progress{height:.25rem;margin-top:var(--space-1)}.gift-item-actions{gap:var(--space-1);display:flex}.gift-item-delete{color:var(--color-danger)}.gift-item-error{grid-column:1/-1}.gift-item[aria-current]{border-color:var(--color-selected-border);background:var(--color-selected-bg)}.stepper{grid-template-columns:var(--control-md) minmax(0, 1fr) var(--control-md);min-height:var(--control-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-xs);display:grid;overflow:hidden}.stepper:focus-within{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.stepper-button{background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer;border:0;place-items:center;display:grid}.stepper-button:hover:not(:disabled){background:var(--color-brand-soft);color:var(--color-brand-text)}.stepper-button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.stepper-button svg{width:1rem;height:1rem}.stepper-input{min-width:0;color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;background:0 0;border:0}.stepper-input:focus{outline:none}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (width>=1024px){.app-shell .app-content{min-height:calc(100dvh - 2 * var(--shell-gap,1.5rem));flex-direction:column;display:flex}.app-shell .app-content>:last-child,.app-shell .fill>:last-child{flex:1 0 auto}.app-shell .fill{flex-direction:column;display:flex}.app-shell .fill-center{align-content:center;display:grid}.app-shell .app-content>.table-card:last-child,.app-shell .fill>.table-card:last-child{flex-direction:column;display:flex}.app-shell .table-card>.empty-state:last-child{flex:1;align-content:center}}.live-topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.live-topbar-start{justify-content:flex-start;display:flex}.live-topbar-end{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.live-topbar .live-header-brand{flex:none;justify-content:center;min-width:0}.live-topbar .live-header-brand h1{color:#123b69;font-size:clamp(1.25rem,1rem + 1vw,1.9rem);font-weight:var(--weight-bold);text-align:center;overflow-wrap:anywhere}@media (width<=767.98px){.live-topbar{grid-template-columns:minmax(0,1fr) auto}.live-topbar .live-header-brand{grid-area:1/1/auto/-1}}.qr-card-instruction{text-align:center;justify-content:center}.roster-viewport{min-width:0}.roster[data-density=dense] li,.roster[data-density=micro] li{padding:0 var(--space-3)}.roster[data-density=micro]{--roster-min:9.5rem;--roster-height:2.25rem;--roster-font:clamp(.85rem, .75rem + .3vw, 1rem);gap:var(--space-1-5,.375rem)}.roster[data-density=micro] li{border-radius:var(--radius-sm);font-weight:var(--weight-medium)}.roster li.roster-more{box-shadow:none;color:var(--stage-text-secondary);font-weight:var(--weight-semibold);background:0 0;border-style:dashed;justify-content:center}@media (width>=1024px){.live-screen{height:100dvh;overflow:hidden}.live-screen .registration-stage{min-height:0;padding-bottom:var(--space-8);flex:1;grid-template-rows:minmax(0,1fr);align-items:stretch}.live-screen .roster-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.live-screen .roster-viewport{flex:1;min-height:0;overflow:hidden}}.roster li[data-length=long]{font-size:calc(var(--roster-font,1.2rem) * .86)}.roster li[data-length=xlong]{font-size:calc(var(--roster-font,1.2rem) * .74)}@media (width>=1024px){.draw-screen{height:100dvh;overflow:hidden}.draw-screen .draw-layout{grid-template-rows:minmax(0,1fr);min-height:0}.draw-screen .draw-rail,.draw-screen .draw-center{overscroll-behavior:contain;min-height:0;overflow-y:auto}}.manual-participant-dialog{width:min(100%,32rem)}.live-screen .roster-panel{border-color:#cfe4f5;box-shadow:0 6px 22px #10508c0f}@media (width>=1024px){.draw-screen .draw-center{padding:var(--space-5) var(--space-6);container-type:size}.draw-screen .draw-center-inner{max-height:100%}.draw-screen .winner-reveal{flex-direction:column;align-items:center;gap:clamp(.35rem,1.6cqh,1rem);width:100%;display:flex}.draw-screen .winner-label{font-size:clamp(.85rem,2.6cqh,1.25rem)}.draw-screen .winner-name{font-size:min(12cqh,9cqw);line-height:1}.draw-screen .winner-name[data-length=long]{font-size:min(9cqh,6.5cqw)}.draw-screen .winner-name[data-length=xlong]{font-size:min(6.5cqh,4.6cqw)}.draw-screen .winner-gift,.draw-screen .winner-gift-with-media{color:#123b69;font-size:min(6cqh,4.2cqw);font-weight:var(--weight-bold);flex-direction:column;gap:clamp(.25rem,1.2cqh,.75rem);line-height:1.1}.draw-screen .winner-gift-image{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:min(30cqw,22rem);height:min(24cqh,14rem);max-height:none}.draw-screen .winner-code{font-size:clamp(.8rem,2.2cqh,.95rem)}.draw-screen .admin-actions{gap:clamp(.5rem,1.8cqh,1rem);margin-top:clamp(.25rem,1.5cqh,1rem)}.draw-screen .winner-verify{gap:var(--space-1);width:100%;padding-top:clamp(.4rem,1.5cqh,.75rem)}.draw-screen .winner-verify-actions{gap:var(--space-1)}.draw-screen .winner-verify-actions .btn{min-height:2rem;padding-inline:var(--space-2);font-size:var(--text-xs)}}.draw-screen .stage-winner-groups{gap:var(--space-5)}.draw-screen .stage-winner-group h3{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--stage-border);color:var(--stage-text);font-size:var(--text-base);display:flex}.stage-winner-count{padding:.05rem var(--space-2);border-radius:var(--radius-pill);background:var(--color-success-soft);color:var(--color-success);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none}.draw-screen .stage-winner-list{gap:var(--space-2)}.draw-screen .stage-winner-list li{padding:var(--space-2) var(--space-3);border:1px solid var(--stage-border);color:#123b69;font-size:var(--text-base);font-weight:var(--weight-semibold);background:#fff}.draw-screen .stage-winner-list li:before{border:1px solid var(--stage-border);background:var(--stage-surface-strong);width:1.6rem;height:1.6rem;color:var(--stage-text-secondary);font-size:var(--text-xs)}.draw-screen .stage-winner-list li.is-latest{border-color:var(--color-success);background:var(--color-success-soft);box-shadow:inset 0 0 0 1px var(--color-success)}.draw-screen .stage-winner-list li.is-latest:before{border-color:var(--color-success);background:var(--color-success);color:#fff}.draw-layout.is-finale{grid-template-columns:minmax(0,1fr)}.draw-finale{gap:var(--space-6);flex-direction:column;min-height:0;padding:clamp(1.25rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden}.draw-finale .stage-confetti{top:4rem}.draw-finale-header{align-items:center;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--stage-border);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.draw-finale-icon{background:var(--color-success-soft);width:4rem;height:4rem;color:var(--color-success);border-radius:50%;place-items:center;display:grid}.draw-finale-icon svg{width:2rem;height:2rem}.draw-finale-header h2{color:#123b69;font-size:clamp(1.4rem,1rem + 1.4vw,2.25rem);font-weight:var(--weight-bold);line-height:1.15}.draw-finale-header p{margin-top:var(--space-1);color:var(--stage-text-secondary);font-size:clamp(.95rem,.85rem + .3vw,1.1rem)}.draw-finale-header .btn{min-height:3.5rem;padding-inline:var(--space-8);font-size:var(--text-md)}@media (width<=767.98px){.draw-finale-header{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}}.draw-finale-winners{flex:1;min-height:0;overflow-y:auto}.draw-finale-winners .stage-winner-groups{align-items:start;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));display:grid}.draw-finale-winners .stage-winner-group h3{font-size:var(--text-lg)}.draw-finale-winners .stage-winner-list li{padding:var(--space-3) var(--space-4);font-size:var(--text-lg)}.draw-finale-winners .stage-winner-list li:before{width:2rem;height:2rem;font-size:var(--text-sm)}.void-choice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--stage-border-strong,#afd0e9);border-radius:var(--radius-md);color:#0b5bb4;text-align:left;cursor:pointer;background:#fff;display:inline-flex}.void-choice svg{flex:none;width:1.1rem;height:1.1rem}.void-choice strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.2;display:block}.void-choice small{color:var(--stage-text-muted,#55748e);font-size:var(--text-xs);line-height:1.25;display:block}.void-choice:hover:not(:disabled){background:#e7f3ff;border-color:#0b5bb4}.void-choice.is-danger{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.void-choice.is-danger{border-color:color-mix(in srgb, var(--color-danger) 35%, transparent)}}.void-choice.is-danger{color:var(--color-danger)}.void-choice.is-danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft)}.void-choice:disabled{cursor:not-allowed;opacity:.55}.stage-winner-list li{position:relative}.stage-winner-name{flex:1;min-width:0}.winner-actions{margin-left:auto}.winner-actions-toggle{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--stage-text-muted,#55748e);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.winner-actions-toggle:hover:not(:disabled),.winner-actions-toggle[aria-expanded=true]{background:var(--stage-surface-strong,#eff8ff);color:#0b5bb4}.winner-actions-toggle:disabled{cursor:not-allowed;opacity:.4}.winner-actions-toggle svg{width:1.1rem;height:1.1rem}.winner-actions-list{gap:var(--space-1);min-width:17rem;padding:var(--space-2)}.winner-actions-list .void-choice{border-color:#0000;width:100%}.draw-finale-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.draw-finale-hint{margin-top:calc(-1 * var(--space-3));color:var(--stage-text-muted,#55748e);font-size:var(--text-sm)}.draw-screen .draw-rail,.draw-finale-winners{overflow-x:visible}.viewer{--stage-bg-raised:#fff;--stage-danger:#b5263d;--stage-gold-soft:#fff4d9;background:linear-gradient(145deg,#fff 0%,#f8fcff 58%,#eff8ff 100%)}.viewer .viewer-header h1,.viewer .viewer-waiting,.viewer .viewer-ready-title,.viewer .viewer-results-title{color:#123b69}.viewer .viewer-waiting-dots i{background:#126bd4}.viewer .roster-panel{box-shadow:0 6px 22px #10508c0f}.viewer-fullscreen{right:var(--space-4);bottom:var(--space-4);z-index:50;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:#0b5bb4;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;opacity:0;pointer-events:none;background:#ffffffeb;border:1px solid #afd0e9;transition:opacity .3s;display:inline-flex;position:fixed;box-shadow:0 6px 22px #10508c1f}.viewer-fullscreen[data-visible]{opacity:1;pointer-events:auto}.viewer-fullscreen svg{width:1rem;height:1rem}.viewer .viewer-header{border-bottom:1px solid #d2e7f7;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding-bottom:clamp(.75rem,.5rem + 1vw,1.5rem);display:grid}.viewer-header-brand{justify-content:center;align-items:center;gap:clamp(.75rem,.5rem + 1vw,2rem);min-width:0;display:flex}.viewer-header-brand .stage-logo{object-fit:contain;max-width:clamp(4rem,2rem + 5vw,12rem);max-height:clamp(2.5rem,1.5rem + 3.5vw,8rem)}.viewer-header-brand h1{text-align:center}.viewer .viewer-header-side{justify-content:flex-end;display:flex}.viewer .winner-gift-with-media{color:#123b69;font-weight:var(--weight-bold);flex-direction:column;gap:clamp(.5rem,1.2vh,1.5rem)}.viewer .winner-gift-image{object-fit:contain;border-radius:var(--radius-lg);width:auto;max-width:min(40vw,48rem);height:clamp(8rem,30vh,36rem);max-height:none}.void-reason{gap:var(--space-3);border:0;min-width:0;margin:0;display:grid}.void-reason legend{align-items:baseline;gap:var(--space-1);float:left;width:100%;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:0;display:flex}.void-reason legend+*{clear:both}.void-reason-option{background:var(--color-surface)}.void-reason-option:has(input:checked){border-color:var(--color-selected-border);background:var(--color-selected-bg)}.void-reason-option input{accent-color:var(--color-brand)}.login-split{background:#f9fcff;min-height:100dvh;display:grid}@media (width>=1024px){.login-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.login-brand{color:#123b69}.login-brand .brand-mark{color:var(--color-brand)}.login-intro{justify-content:space-between;gap:var(--space-10);background:radial-gradient(40rem 28rem at 100% 0,#126bd421,#0000 70%),radial-gradient(32rem 22rem at 0 100%,#ffcf5c24,#0000 70%),linear-gradient(160deg,#eaf5ff 0%,#f6fbff 100%);border-right:1px solid #d4e8fa;flex-direction:column;padding:clamp(2rem,4vw,4rem);display:none}@media (width>=1024px){.login-intro{display:flex}}.login-intro-copy{max-width:38rem}.login-intro-copy h2{color:#123b69;font-size:clamp(2.25rem,1.4rem + 2vw,3.5rem);font-weight:var(--weight-bold);letter-spacing:-.03em;line-height:1.08}.login-intro-copy>p{margin-top:var(--space-5);color:#365a78;font-size:clamp(1rem,.9rem + .3vw,1.2rem);line-height:1.55}.login-highlights{gap:var(--space-3);margin:var(--space-8) 0 0;padding:0;list-style:none;display:grid}.login-highlights li{align-items:center;gap:var(--space-3);color:#1d4870;font-size:var(--text-base);font-weight:var(--weight-medium);display:flex}.login-highlights li>span{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-brand);background:#fff;border:1px solid #d4e8fa;flex:none;place-items:center;display:grid}.login-highlights svg{width:1.1rem;height:1.1rem}.login-footnote{color:#55748e;font-size:var(--text-sm)}.login-main{gap:var(--space-8);background:#fff;flex-direction:column;padding:clamp(1.5rem,4vw,4rem);display:flex}.login-brand-compact{display:inline-flex}@media (width>=1024px){.login-brand-compact{display:none}}.login-form-area{align-content:center;gap:var(--space-6);flex:1;width:100%;max-width:24rem;margin:0 auto;display:grid}.login-header h1{color:#123b69;font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);font-weight:var(--weight-bold);letter-spacing:-.02em}.login-form{gap:var(--space-5)}.login-form .input{min-height:3rem}.login-password{position:relative}.login-password .input{padding-right:3rem}.login-password-toggle{top:50%;right:var(--space-2);border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.login-password-toggle:hover{background:var(--color-surface-muted);color:var(--color-brand-text)}.login-password-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-password-toggle svg{width:1.1rem;height:1.1rem}.login-form .btn-lg{min-height:3rem;margin-top:var(--space-1)}.login-note{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.app-shell{background:#f9fcff}.app-main{background:#f9fcff;min-height:100dvh}.app-content{max-width:90rem}.app-shell .card,.app-shell .next-step{box-shadow:0 3px 14px #10508c0d}.app-shell .next-step{background:#fff;border-color:#d4e8fa}.app-shell .progress>span{background:var(--color-brand)}.app-shell .tabs{border-color:#d7e9f9}.app-shell .tab[aria-current=page]{color:var(--color-brand-text);border-color:var(--color-brand)}@media (width>=1024px){.app-shell{--shell-gap:1.5rem;gap:var(--shell-gap);padding:var(--shell-gap);grid-template-columns:minmax(15.5rem,17rem) minmax(0,1fr)}.app-shell .app-content{padding:0}.app-shell .page-title h1{margin-top:-.1em;line-height:1.1}.app-shell .sidebar{top:var(--shell-gap);height:calc(100dvh - 2 * var(--shell-gap));border:1px solid #dce9f4;border-radius:1.1rem;overflow:hidden;box-shadow:0 4px 20px #10508c0f}.app-shell .app-main{border-radius:1.1rem}}@media (width>=1600px){.app-content{max-width:92rem}}.sidebar-org-item{min-width:0;position:relative}.sidebar-org-item .sidebar-link{padding-right:3.25rem}.sidebar-org-delete{width:2.75rem;height:2.75rem;color:var(--color-danger);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:.45rem;place-items:center;display:grid;position:absolute;top:50%;right:.125rem;transform:translateY(-50%)}.sidebar-org-delete svg{width:1rem;height:1rem}.sidebar-org-item:hover .sidebar-org-delete,.sidebar-org-item:focus-within .sidebar-org-delete{opacity:1}.sidebar-org-delete:hover{background:var(--color-danger-soft)}.sidebar-link[aria-current=page],.sidebar-link.active{color:#fff;background:#126bd4}.sidebar-link[aria-current=page] svg,.sidebar-link.active svg{color:#fff}.sidebar-link[aria-current=page]:hover{color:#fff;background:#0a58b6}.sidebar-org-item .sidebar-link[aria-current=page]{padding-right:3.25rem}.sidebar-org-item:has(.sidebar-link[aria-current=page]) .sidebar-org-delete{color:#fff}.sidebar-org-item:has(.sidebar-link[aria-current=page]) .sidebar-org-delete:hover{background:#ffffff38}@media (hover:none){.sidebar-org-delete{opacity:1}}@media (width<=767px){.app-content{padding-inline:1rem}.page-actions .btn{white-space:normal;min-height:2.6rem}.org-grid,.gift-grid{grid-template-columns:minmax(0,1fr)}}@media (width>=768px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-shell .event-summary,.app-shell .card{min-width:0}.app-shell .width-form{margin-inline:auto}.app-shell .page-actions{justify-content:flex-end}.app-shell .page-actions .btn{flex-shrink:0}.app-shell .danger-row:has(.btn-secondary){justify-content:flex-start}.live-screen,.viewer{--stage-bg:#f5fbff;--stage-surface:#fff;--stage-surface-strong:#eff8ff;--stage-border:#cfe4f5;--stage-border-strong:#afd0e9;--stage-text:#162b4b;--stage-text-secondary:#365a78;--stage-text-muted:#55748e;--stage-accent:#126bd4;--stage-accent-soft:#d8edff;--stage-gold-soft:#e5f3ff;background:linear-gradient(145deg,#fff 0%,#f8fcff 58%,#eff8ff 100%)}.live-screen .stage-topbar{background:#ffffffd4;border-color:#d2e7f7;gap:1rem}.live-header-brand{flex:16rem;align-items:center;gap:1rem;min-width:0;display:flex}.live-header-brand .stage-logo{object-fit:contain;max-width:clamp(4rem,6vw,7rem);max-height:clamp(2.5rem,5vw,4.5rem)}.live-header-brand .stage-title{flex:auto}.live-header-brand h1{color:#123b69}.live-screen .btn-stage-quiet{color:#0b5bb4}.live-screen .btn-stage-quiet:hover{color:#084e9b;background:#dceeff}.live-screen .registration-stage{max-width:100rem}.live-screen .registration-aside{align-content:start}.live-screen .roster-panel,.viewer .roster-panel{background:#ffffffe0;border:1px solid #d9eaf7;border-radius:1rem;padding:clamp(1rem,2vw,2rem)}.live-screen .roster li,.viewer .roster li{color:#173c62;background:#fff;box-shadow:0 2px 8px #0f54910d}.live-screen .roster li.is-new,.viewer .roster li.is-new{color:#064889;background:#dbf0ff;border-color:#67b4ee}.live-screen .roster-heading,.viewer .roster-heading{color:#245377}.live-screen .qr-card,.viewer .qr-card{box-shadow:0 12px 30px #1a59921a}.live-screen .count-display strong,.viewer .count-display strong{color:#105baa}.live-screen .stage-message p,.viewer .stage-message p{color:#365a78}.live-screen .stage-alert,.viewer .stage-alert{color:#8c2030;background:#fff2f4}.draw-screen{--stage-bg:#f5fbff;--stage-bg-raised:#fff;--stage-surface:#fff;--stage-surface-strong:#eff8ff;--stage-border:#d9eaf7;--stage-border-strong:#afd0e9;--stage-text:#162b4b;--stage-text-secondary:#365a78;--stage-text-muted:#55748e;--stage-accent:#126bd4;--stage-accent-soft:#e7f3ff;--stage-gold-soft:#fff4d9;--stage-danger:#b5263d;background:linear-gradient(145deg,#fff 0%,#f8fcff 58%,#eff8ff 100%)}.draw-screen :focus-visible{box-shadow:var(--focus-ring)}.draw-screen .stage-topbar{background:#ffffffe0;border-color:#d2e7f7;gap:1rem}.draw-header-brand{flex:16rem;align-items:center;gap:1rem;min-width:0;display:flex}.draw-header-brand .stage-logo{object-fit:contain;max-width:clamp(4rem,6vw,7rem);max-height:clamp(2.5rem,5vw,4.5rem)}.draw-header-brand .stage-title{flex:auto}.draw-screen .stage-eyebrow,.viewer .stage-eyebrow{border-radius:var(--radius-pill);color:#0753a8;letter-spacing:.08em;background:#e7f3ff;width:fit-content;padding:.2rem .6rem}.draw-screen .stage-title h1,.viewer .stage-title h1{color:#123b69}.draw-screen .stage-panel,.viewer .stage-panel{box-shadow:0 6px 22px #10508c0f}.draw-screen .stage-badge,.viewer .stage-badge{color:#174a7c;background:#eaf5ff}.draw-screen .gift-option.is-selected,.viewer .gift-option.is-selected{background:#e7f3ff}.draw-screen .stage-progress,.draw-screen .reveal-progress,.viewer .stage-progress,.viewer .reveal-progress{background:#e2f0fb}.draw-screen .stage-progress>span,.viewer .stage-progress>span{background:#126bd4}.draw-screen .btn-stage,.draw-screen .btn-stage-quiet{color:#0b5bb4}.draw-screen .btn-stage:hover:not(:disabled),.draw-screen .btn-stage-quiet:hover:not(:disabled){color:#084e9b;background:#e7f3ff}.draw-screen .btn-stage-danger:hover:not(:disabled){color:#9b2034;background:#fdebed}.draw-screen .btn-celebrate{color:#fff;background:#126bd4;box-shadow:0 8px 22px #126bd430}.draw-screen .btn-celebrate:hover:not(:disabled){color:#fff;filter:none;background:#0a58b6}.draw-screen .winner-name,.draw-screen .winner-code strong,.viewer .winner-name,.viewer .winner-code strong{color:#123b69;text-shadow:none}.draw-screen .winner-label,.draw-screen .stage-winner-list li:before,.draw-screen .completion-icon,.viewer .winner-label,.viewer .stage-winner-list li:before,.viewer .completion-icon{color:#925700}.draw-screen .winner-code,.viewer .winner-code{background:#eef7ff}.draw-screen .stage-alert,.viewer .stage-alert{color:#8c2030;background:#fff2f4;border-color:#f3b9c2}.draw-screen .spotlight-grid li,.viewer .spotlight-grid li{color:#55748e;background:#f1f8ff}.draw-screen .spotlight-grid li.is-lit,.viewer .spotlight-grid li.is-lit{color:#0b4f9d;background:#dbeeff}.draw-screen .draw-rail,.viewer .draw-rail{scrollbar-color:#bfd7e9 transparent}@media (width<=767px){.draw-screen .stage-toolbar{width:100%}.live-screen .stage-toolbar{justify-content:space-between;width:100%}.live-screen .registration-stage{gap:1rem}.live-screen .roster-panel{padding:1rem}}
