@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";.page{min-height:100vh}.page__container{width:100%;margin:0 auto}.page__header{position:sticky;top:0;z-index:30}.layout-flex{display:flex}.layout-grid{display:grid}.layout-stack{display:flex;flex-direction:column}.layout-center{display:flex;align-items:center;justify-content:center}:where(.ticket-renderer,.ticket-grid,.ticket-mgmt,.ticket-booking,.game-tickets,.winners-display__ticket-grid,[class^=ticket-],[class*=" ticket-"]){--app-text-scale: 1}.number-grid{--app-text-scale: 1}@media(min-width:768px){.host-header__row{flex-direction:row;align-items:center;justify-content:space-between}.game-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.app-header__container{padding:.7rem 1rem}.index-footer__container{padding:.75rem 1rem}.index-footer__content{flex-direction:row;align-items:center;justify-content:space-between}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes cherry-breathe{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.1);opacity:1}}.host-dashboard__prize-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.host-dashboard__prize-item{display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;border-radius:.45rem;background:hsl(var(--card) / .55);border:1px solid hsl(var(--border) / .35);cursor:pointer;transition:background .12s ease}.host-dashboard__prize-item:hover{background:hsl(var(--card) / .75)}.host-dashboard__prize-label{font-size:calc(.82rem * var(--app-text-scale));font-weight:500;color:hsl(var(--foreground));cursor:pointer;display:flex;align-items:center;gap:.35rem}@media(min-width:768px){.host-dashboard__prize-list{grid-template-columns:repeat(5,1fr)}}@media(max-width:480px){.number-grid{gap:.5rem!important;padding:.6rem!important}.number-cell{font-size:calc(.62rem * var(--app-text-scale))!important;line-height:1.1!important;padding:0!important;border-width:1px!important;border-radius:.25rem!important;min-width:0!important}.number-cell .number-grid__number{font-size:calc(.62rem * var(--app-text-scale))!important}.number-grid__row{gap:1px}.number-grid__board{gap:1px;overflow-x:hidden}.number-grid__legend{font-size:calc(.68rem * var(--app-text-scale))}.number-grid__legend-items{gap:.5rem}.number-grid__progress-summary{gap:.4rem;font-size:calc(.57rem * var(--app-text-scale))}.number-grid__legend-swatch{width:.55rem;height:.55rem}}@media(min-width:481px)and (max-width:640px){.number-grid{gap:.6rem!important;padding:.7rem!important}.number-cell{font-size:calc(.72rem * var(--app-text-scale))!important;line-height:1.15!important;border-width:1px!important;border-radius:.3rem!important}.number-grid__progress-summary{gap:.5rem;font-size:calc(.63rem * var(--app-text-scale))}}@keyframes cherry-fall-1{0%{transform:translateY(-5vh) translate(0) rotate(0);opacity:0}10%{opacity:.7}to{transform:translateY(105vh) translate(40px) rotate(360deg);opacity:0}}@keyframes cherry-fall-2{0%{transform:translateY(-5vh) translate(0) rotate(0);opacity:0}10%{opacity:.55}to{transform:translateY(105vh) translate(-30px) rotate(-270deg);opacity:0}}@keyframes cherry-fall-3{0%{transform:translateY(-5vh) translate(0) rotate(0);opacity:0}10%{opacity:.5}to{transform:translateY(105vh) translate(20px) rotate(200deg);opacity:0}}[data-theme-preset=cherryBlossom] .game-view:before,[data-theme-preset=cherryBlossom] .host-dashboard:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:url(/themes/cherry-blossom/petal.png) 10% -20px / 18px auto no-repeat,url(/themes/cherry-blossom/petal.png) 30% -60px / 14px auto no-repeat,url(/themes/cherry-blossom/petal.png) 55% -30px / 20px auto no-repeat,url(/themes/cherry-blossom/petal.png) 75% -50px / 12px auto no-repeat,url(/themes/cherry-blossom/petal.png) 90% -10px / 16px auto no-repeat;animation:cherry-fall-1 12s linear infinite;opacity:.35}[data-theme-preset=cherryBlossom] .game-view:after,[data-theme-preset=cherryBlossom] .host-dashboard:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:url(/themes/cherry-blossom/petal.png) 20% -40px / 15px auto no-repeat,url(/themes/cherry-blossom/petal.png) 45% -70px / 11px auto no-repeat,url(/themes/cherry-blossom/petal.png) 65% -15px / 17px auto no-repeat,url(/themes/cherry-blossom/petal.png) 85% -55px / 13px auto no-repeat;animation:cherry-fall-2 18s linear 3s infinite;opacity:.25}[data-theme-preset=cherryBlossom] .game-status__card,[data-theme-preset=cherryBlossom] .game-booking-info,[data-theme-preset=cherryBlossom] .game-tickets,[data-theme-preset=cherryBlossom] .game-prizes__card,[data-theme-preset=cherryBlossom] .game-over,[data-theme-preset=cherryBlossom] .game-view__board-card,[data-theme-preset=cherryBlossom] .ticket-booking__start-card,[data-theme-preset=cherryBlossom] .ticket-booking__info,[data-theme-preset=cherryBlossom] .ticket-booking__grid,[data-theme-preset=cherryBlossom] .app-header,[data-theme-preset=cherryBlossom] .index-footer,[data-theme-preset=cherryBlossom] .host-dashboard .host-header,[data-theme-preset=cherryBlossom] .host-dashboard__status-card,[data-theme-preset=cherryBlossom] .host-controls__section,[data-theme-preset=cherryBlossom] .ticket-mgmt__summary,[data-theme-preset=cherryBlossom] .ticket-mgmt__grid-card,[data-theme-preset=cherryBlossom] .ticket-mgmt__booked-list,[data-theme-preset=cherryBlossom] .winners-display__hero,[data-theme-preset=cherryBlossom] .winners-display__section,[data-theme-preset=cherryBlossom] .winners-display__actions{background:linear-gradient(135deg,hsl(var(--card) / var(--card-opacity, .92)),hsl(var(--card) / calc(var(--card-opacity, .92) - .05)));border-color:hsl(var(--primary) / .15);box-shadow:0 1px 3px hsl(var(--primary) / .06),inset 0 0 0 1px hsl(var(--primary) / .04)}[data-theme-preset=cherryBlossom] .app-header,[data-theme-preset=cherryBlossom] .index-footer{background:linear-gradient(135deg,hsl(var(--card) / .96),hsl(var(--card) / .9));border-color:hsl(var(--primary) / .18);-webkit-backdrop-filter:blur(calc(var(--card-blur, 4px) + 2px));backdrop-filter:blur(calc(var(--card-blur, 4px) + 2px))}[data-theme-preset=cherryBlossom] .game-countdown{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .82));border-color:hsl(var(--primary) / .4)}[data-theme-preset=cherryBlossom] .game-current-number{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .78));border-color:hsl(var(--primary) / .35)}[data-theme-preset=cherryBlossom] .host-controls__recent-number--current{background:linear-gradient(135deg,hsl(var(--game-current)),hsl(var(--primary)));border-color:hsl(var(--primary) / .56);color:hsl(var(--primary-foreground))}[data-theme-preset=cherryBlossom] .host-controls__recent-number--called{background:hsl(var(--secondary) / .92);border-color:hsl(var(--border) / .82);color:hsl(var(--foreground) / .86)}[data-theme-preset=cherryBlossom] .premium-light-surface{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .96));border-color:hsl(var(--border) / .9)}[data-theme-preset=cherryBlossom] .premium-light-elevated{box-shadow:var(--surface-shadow-strong)}[data-theme-preset=cherryBlossom] .premium-light-brand-title,[data-theme-preset=cherryBlossom] .premium-light-winners-title{font-family:var(--heading-font);letter-spacing:-.015em}[data-theme-preset=cherryBlossom] .premium-light-highlight-card,[data-theme-preset=cherryBlossom] .premium-light-winner-hero{background:linear-gradient(145deg,hsl(var(--surface-soft)),hsl(var(--accent) / .26));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .08),0 16px 36px #4f2f3a14}[data-theme-preset=cherryBlossom] .premium-light-user-display-content{max-width:1280px}[data-theme-preset=cherryBlossom] .premium-light-user-display .number-cell,[data-theme-preset=cherryBlossom] .premium-light-booking .number-cell{border-radius:calc(var(--radius-sm) - .12rem);box-shadow:none}[data-theme-preset=cherryBlossom] .premium-light-booking .premium-light-ticket-card,[data-theme-preset=cherryBlossom] .premium-light-winners .premium-light-winner-row{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));border-color:hsl(var(--border) / .84)}[data-theme-preset=cherryBlossom] .premium-light-booking .premium-light-ticket-header{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--surface-subtle)))}[data-theme-preset=cherryBlossom] .premium-light-booking .premium-light-ticket-grid{background:hsl(var(--surface-soft) / .75)}[data-theme-preset=cherryBlossom] .premium-light-booking .premium-light-ticket-footer,[data-theme-preset=cherryBlossom] .premium-light-winners .premium-light-winner-ticket-expand{background:hsl(var(--muted) / .6);border-color:hsl(var(--border) / .72)}[data-theme-preset=cherryBlossom] .premium-light-booking .ticket-booking__contact,[data-theme-preset=cherryBlossom] .premium-light-booking .ticket-booking__stat,[data-theme-preset=cherryBlossom] .premium-light-winners .winners-display__hero-stat{background:hsl(var(--card) / .78);border-color:hsl(var(--border) / .7)}[data-theme-preset=cherryBlossom] .premium-light-booking .ticket-booking__ticket--available{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--ticket-state-available) / .12))}[data-theme-preset=cherryBlossom] .premium-light-booking .ticket-booking__ticket--booked{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--ticket-state-booked) / .18))}[data-theme-preset=cherryBlossom] .premium-light-booking .ticket-booking__booked-chip{background:hsl(var(--ticket-state-booked) / .22);border-color:hsl(var(--ticket-state-booked-border) / .58)}[data-theme-preset=cherryBlossom] .premium-light-user-display .premium-light-search-group,[data-theme-preset=cherryBlossom] .premium-light-user-display .premium-light-prize-row,[data-theme-preset=cherryBlossom] .premium-light-winners .premium-light-winner-prize-card{background:hsl(var(--surface-subtle) / .84);border-color:hsl(var(--border) / .72)}[data-theme-preset=cherryBlossom] .premium-light-host-dashboard .host-header__meta-pill,[data-theme-preset=cherryBlossom] .premium-light-host-dashboard .host-header__metric,[data-theme-preset=cherryBlossom] .premium-light-host-controls .host-controls__metric,[data-theme-preset=cherryBlossom] .premium-light-host-controls .host-controls__voice-card,[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__stat,[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__booked-item{background:linear-gradient(180deg,hsl(var(--card) / .96),hsl(var(--surface-subtle) / .9));border-color:hsl(var(--border) / .74)}[data-theme-preset=cherryBlossom] .premium-light-host-dashboard .host-header__metric--accent,[data-theme-preset=cherryBlossom] .premium-light-host-controls .host-controls__metric--accent,[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__hero-badge{background:linear-gradient(145deg,hsl(var(--surface-soft)),hsl(var(--accent) / .34));border-color:hsl(var(--primary) / .22);color:hsl(var(--foreground))}[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__stat--booked{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--ticket-state-booked) / .18))}[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__stat--available{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--ticket-state-available) / .16))}[data-theme-preset=cherryBlossom] .premium-light-ticket-mgmt .ticket-mgmt__stat--selected{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--primary) / .14))}[data-theme-preset=cherryBlossom] .game-view>*,[data-theme-preset=cherryBlossom] .host-dashboard>*{position:relative;z-index:2}@keyframes cherry-title-bloom{0%,to{transform:scale(1);text-shadow:0 0 0 transparent}50%{transform:scale(1.035);text-shadow:0 0 8px hsl(var(--primary) / .25),0 0 20px hsl(var(--primary) / .1)}}[data-theme-preset=cherryBlossom] .app-header__title-text{display:inline-block;transform-origin:left center;animation:cherry-title-bloom 6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){[data-theme-preset=cherryBlossom] .game-view:before,[data-theme-preset=cherryBlossom] .game-view:after,[data-theme-preset=cherryBlossom] .host-dashboard:before,[data-theme-preset=cherryBlossom] .host-dashboard:after{animation:none;opacity:0}[data-theme-preset=cherryBlossom] .app-header__title-text{animation:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--background: 30 38% 98%;--foreground: 336 19% 18%;--card: 0 0% 100%;--card-foreground: 336 19% 18%;--popover: 0 0% 100%;--popover-foreground: 336 19% 18%;--primary: 346 56% 48%;--primary-foreground: 0 0% 100%;--secondary: 28 33% 93%;--secondary-foreground: 336 17% 22%;--accent: 30 58% 80%;--accent-foreground: 336 18% 22%;--muted: 24 29% 95%;--muted-foreground: 336 10% 40%;--border: 340 24% 84%;--input: 340 23% 86%;--ring: 346 56% 48%;--destructive: 0 68% 47%;--destructive-foreground: 0 0% 100%;--success: 146 30% 38%;--success-foreground: 0 0% 100%;--warning: 35 84% 55%;--warning-foreground: 24 32% 16%;--surface-subtle: 30 34% 97%;--surface-soft: 30 38% 95%;--surface-raised: 0 0% 100%;--hairline: 340 20% 78%;--game-called: 146 23% 78%;--game-called-foreground: 148 27% 24%;--game-current: 346 60% 79%;--game-current-foreground: 336 28% 22%;--game-cell: 24 38% 96%;--game-cell-foreground: 336 16% 24%;--body-gradient-from: 32 44% 98%;--body-gradient-via: 340 33% 96%;--body-gradient-to: 28 48% 94%;--ticket-bg: 0 0% 100%;--ticket-border: 340 22% 82%;--ticket-cell-number: 346 32% 95%;--ticket-cell-number-fg: 336 18% 24%;--ticket-cell-marked: 346 60% 70%;--ticket-cell-marked-fg: 336 28% 20%;--ticket-cell-marked-border: 346 48% 52%;--ticket-cell-empty: 30 24% 96%;--ticket-cell-empty-border: 340 16% 88%;--ticket-state-available: 32 68% 58%;--ticket-state-available-fg: 30 46% 20%;--ticket-state-available-border: 32 56% 46%;--ticket-state-booked: 146 45% 34%;--ticket-state-booked-fg: 148 30% 19%;--ticket-state-booked-border: 146 34% 32%;--heading-font: "Fraunces", Georgia, serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--text-xs: .72rem;--text-sm: .84rem;--text-md: .95rem;--text-lg: 1.15rem;--text-xl: 1.4rem;--text-display: clamp(2.1rem, 4vw, 3.6rem);--app-text-scale: 1.02;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .72rem;--radius-md: .92rem;--radius-lg: 1.1rem;--radius-xl: 1.35rem;--radius-pill: 999px;--radius: var(--radius-md);--card-radius: var(--radius-lg);--shadow-soft: 0 14px 34px rgba(79, 47, 58, .08), 0 4px 14px rgba(79, 47, 58, .05);--shadow-lift: 0 22px 52px rgba(79, 47, 58, .12), 0 8px 18px rgba(79, 47, 58, .07);--surface-shadow: var(--shadow-soft);--surface-shadow-strong: var(--shadow-lift);--interactive-shadow: 0 14px 26px rgba(162, 79, 106, .18);--focus-ring-shadow: 0 0 0 4px hsl(var(--ring) / .16);--surface-bg: 0 0% 100%;--page-bg-mobile: none;--page-bg-desktop: none;--page-bg-overlay: linear-gradient(180deg, rgba(251, 248, 246, .94), rgba(249, 242, 239, .95));--page-bg-position: center top;--page-bg-size: cover;--card-opacity: .96;--card-blur: 8px;--border-width: 1px;--border-opacity: .78;--panel-gap: 1.25rem;--header-height: 3rem}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:calc(var(--text-md) * var(--app-text-scale));line-height:1.5;color:hsl(var(--foreground));background-color:hsl(var(--background));background-image:var(--page-bg-mobile),var(--page-bg-detail, radial-gradient(120% 78% at 12% -10%, rgba(215, 117, 152, .17) 0%, rgba(215, 117, 152, 0) 58%), radial-gradient(110% 80% at 96% 0%, rgba(232, 178, 128, .16) 0%, rgba(232, 178, 128, 0) 62%), radial-gradient(140% 95% at 50% 108%, rgba(146, 93, 118, .09) 0%, rgba(146, 93, 118, 0) 70%)),var(--page-bg-overlay),linear-gradient(180deg,hsl(var(--body-gradient-from)),hsl(var(--body-gradient-via)),hsl(var(--body-gradient-to)));background-position:var(--page-bg-position),center top,center top,center top;background-size:var(--page-bg-size),cover,cover,cover;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-attachment:scroll,fixed,fixed,fixed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--heading-font);letter-spacing:-.01em;line-height:1.08}a{color:hsl(var(--primary));transition:color .16s ease}a:hover{color:hsl(var(--primary) / .82)}::-moz-selection{background:hsl(var(--primary) / .18);color:hsl(var(--foreground))}::selection{background:hsl(var(--primary) / .18);color:hsl(var(--foreground))}@media(min-width:768px){body{background-image:var(--page-bg-desktop),var(--page-bg-detail, radial-gradient(120% 78% at 12% -10%, rgba(215, 117, 152, .17) 0%, rgba(215, 117, 152, 0) 58%), radial-gradient(110% 80% at 96% 0%, rgba(232, 178, 128, .16) 0%, rgba(232, 178, 128, 0) 62%), radial-gradient(140% 95% at 50% 108%, rgba(146, 93, 118, .09) 0%, rgba(146, 93, 118, 0) 70%)),var(--page-bg-overlay),linear-gradient(180deg,hsl(var(--body-gradient-from)),hsl(var(--body-gradient-via)),hsl(var(--body-gradient-to)))}}:root{color-scheme:light}*{border-color:hsl(var(--border))}body{min-height:100vh;color:hsl(var(--foreground));transition:background-image .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.card{position:relative;border-radius:var(--card-radius);border:var(--border-width) solid hsl(var(--border) / var(--border-opacity));background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / var(--card-opacity)));color:hsl(var(--card-foreground));box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(var(--card-blur));backdrop-filter:blur(var(--card-blur));transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #fffc}.card__header,.card__content,.card__footer{padding:var(--space-md)}.card__header{display:flex;flex-direction:column;gap:var(--space-2xs)}.card__title{margin:0;font-family:var(--heading-font);font-size:calc(var(--text-lg) * var(--app-text-scale));font-weight:600;line-height:1.12;color:hsl(var(--foreground))}.card__description{margin:0;color:hsl(var(--muted-foreground));font-size:calc(var(--text-sm) * var(--app-text-scale))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);border-radius:var(--radius-md);border:1px solid transparent;font-weight:650;font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease;line-height:1;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring-shadow),0 0 0 1px hsl(var(--ring) / .32)}@media(hover:hover){.btn:hover:not(:disabled){transform:translateY(-1px)}}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}.btn--size-sm{min-height:2.1rem;padding:0 .8rem;font-size:calc(.8rem * var(--app-text-scale))}.btn--size-md{min-height:2.5rem;padding:0 1rem;font-size:calc(var(--text-sm) * var(--app-text-scale))}.btn--size-lg{min-height:2.95rem;padding:0 1.2rem;font-size:calc(var(--text-md) * var(--app-text-scale))}.btn--size-icon{width:2.5rem;height:2.5rem;padding:0}.btn--variant-default{background:linear-gradient(180deg,hsl(var(--primary)),hsl(var(--primary) / .94));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary) / .6);box-shadow:var(--interactive-shadow)}.btn--variant-default:hover:not(:disabled){filter:brightness(1.02)}.btn--variant-destructive{background:linear-gradient(180deg,hsl(var(--destructive)),hsl(var(--destructive) / .92));color:hsl(var(--destructive-foreground));border-color:hsl(var(--destructive) / .52)}.btn--variant-destructive:hover:not(:disabled){filter:brightness(1.01)}.btn--variant-outline{border-color:hsl(var(--border));background:hsl(var(--card) / .82);color:hsl(var(--foreground));box-shadow:inset 0 1px #ffffffc7}.btn--variant-outline:hover:not(:disabled){background:hsl(var(--surface-soft));border-color:hsl(var(--primary) / .28)}.btn--variant-secondary{background:hsl(var(--secondary) / .95);color:hsl(var(--secondary-foreground));border-color:hsl(var(--border) / .78)}.btn--variant-secondary:hover:not(:disabled){background:hsl(var(--surface-soft))}.btn--variant-ghost{background:transparent;color:hsl(var(--foreground))}.btn--variant-ghost:hover:not(:disabled){background:hsl(var(--muted))}.btn--variant-link{background:transparent;color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;padding:0;height:auto}.badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:1.5rem;padding:.18rem .58rem;font-size:calc(var(--text-xs) * var(--app-text-scale));font-weight:600;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em}.badge--variant-default{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary) / .18)}.badge--variant-secondary{background:hsl(var(--secondary) / .85);color:hsl(var(--secondary-foreground));border-color:hsl(var(--border) / .72)}.badge--variant-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.badge--variant-outline{background:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.input{width:100%;min-height:2.65rem;padding:.6rem .8rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--input));background:linear-gradient(180deg,hsl(var(--background)),hsl(var(--surface-subtle)));color:hsl(var(--foreground));font-size:calc(var(--text-sm) * var(--app-text-scale));font-family:var(--font-body);transition:border-color .16s ease,box-shadow .16s ease;box-shadow:inset 0 1px #ffffffb8}.input::-moz-placeholder{color:hsl(var(--muted-foreground) / .84)}.input::placeholder{color:hsl(var(--muted-foreground) / .84)}.input:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:var(--focus-ring-shadow),inset 0 1px #ffffffb8}.input:disabled{opacity:.6;cursor:not-allowed}.label{display:inline-block;color:hsl(var(--foreground));font-size:calc(var(--text-sm) * var(--app-text-scale));font-weight:600;letter-spacing:.01em;margin-bottom:.35rem}.dialog-overlay{position:fixed;inset:0;z-index:50;background:hsl(var(--foreground) / .34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-content{position:fixed;z-index:51;left:50%;top:50%;width:min(34rem,calc(100% - 2rem));transform:translate(-50%,-50%);border-radius:calc(var(--card-radius) + 4px);border:1px solid hsl(var(--border) / .92);background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .96));color:hsl(var(--card-foreground));box-shadow:var(--surface-shadow-strong);padding:1.15rem;-webkit-backdrop-filter:blur(calc(var(--card-blur) + 2px));backdrop-filter:blur(calc(var(--card-blur) + 2px))}.dialog-close{position:absolute;right:.65rem;top:.65rem;border:1px solid hsl(var(--border) / .9);border-radius:var(--radius-sm);background:hsl(var(--card) / .92);color:hsl(var(--muted-foreground));width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.dialog-close:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .28);background:hsl(var(--surface-subtle))}.dialog-close:focus-visible{outline:none;box-shadow:var(--focus-ring-shadow)}.dialog-close__icon{width:.95rem;height:.95rem}.dialog-close__label{position:absolute;opacity:0;width:0;height:0;overflow:hidden}.dialog-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.dialog-title{margin:0;font-family:var(--heading-font);font-size:calc(var(--text-lg) * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.dialog-description{margin:0;font-size:calc(var(--text-sm) * var(--app-text-scale));color:hsl(var(--muted-foreground))}.dialog-footer{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.toaster{font-family:var(--font-body)}.toast{border:1px solid hsl(var(--border));border-radius:calc(var(--card-radius) - 2px);background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--surface-shadow);position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;width:100%;padding:.85rem 1rem}.host-header{border-color:hsl(var(--border));background:hsl(var(--card) / .92)}.host-header__icon-wrap{width:2.6rem;height:2.6rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--accent)))}.host-header__icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.host-header__copy{display:flex;flex-direction:column;gap:.2rem}.host-header__title{margin:0;color:hsl(var(--foreground));font-size:calc(1.25rem * var(--app-text-scale));font-weight:700}.host-header__subtitle{margin:0;color:hsl(var(--muted-foreground));font-size:calc(.9rem * var(--app-text-scale))}.ticket-renderer{border-radius:calc(var(--card-radius) - 2px);padding:.35rem;background:hsl(var(--ticket-bg));border:1px solid hsl(var(--ticket-border))}.ticket-renderer__fallback{border-radius:calc(var(--card-radius) - 2px);border:1px solid hsl(var(--border));padding:.9rem}.ticket-renderer__fallback-content{text-align:center}.ticket-renderer__fallback-spinner{margin-bottom:.45rem}.ticket-renderer__fallback-icon{margin:0 auto .45rem;display:block}.ticket-renderer__fallback-icon--warning{color:hsl(var(--warning))}.ticket-renderer__fallback-icon--error{color:hsl(var(--destructive))}.ticket-renderer__fallback-title{margin:0;font-size:calc(.84rem * var(--app-text-scale));color:hsl(var(--foreground))}.ticket-renderer__fallback-title--error{color:hsl(var(--destructive))}.ticket-renderer__fallback-message{margin:.2rem 0 0;font-size:calc(.75rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-renderer__fallback-message--error{color:hsl(var(--destructive))}.ticket-renderer__meta{display:flex;justify-content:space-between;align-items:center;gap:.55rem;padding:.2rem .25rem .45rem}.ticket-renderer__meta-left{display:flex;align-items:center;gap:.3rem}.ticket-renderer__meta-icon{width:.85rem;height:.85rem;color:hsl(var(--success))}.ticket-renderer__meta-ticket,.ticket-renderer__meta-player{margin:0;font-size:calc(.82rem * var(--app-text-scale));color:hsl(var(--foreground))}.ticket-renderer__meta-ticket{font-weight:700}.ticket-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.24rem}.ticket-cell{min-height:1.58rem;border-radius:.34rem;border:1px solid hsl(var(--ticket-cell-empty-border));display:inline-flex;justify-content:center;align-items:center;font-size:calc(.82rem * var(--app-text-scale));font-weight:700;line-height:1;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.ticket-cell--number{background:hsl(var(--ticket-cell-number) / .22);color:hsl(var(--ticket-cell-number-fg));border-color:hsl(var(--ticket-border))}.ticket-cell--marked{background:hsl(var(--ticket-cell-marked) / .85);color:hsl(var(--ticket-cell-marked-fg));border-color:hsl(var(--ticket-cell-marked-border));transform:scale(1.02);box-shadow:0 4px 10px hsl(var(--ticket-cell-marked) / .25)}.ticket-cell--empty{background:hsl(var(--ticket-cell-empty));border-color:hsl(var(--ticket-cell-empty-border));color:transparent}.ticket-cell--pattern{box-shadow:inset 0 0 0 2px hsl(var(--warning) / .45)}.ticket-cell--pattern-marked{box-shadow:inset 0 0 0 2px hsl(var(--warning) / .75),0 4px 10px hsl(var(--ticket-cell-marked) / .28)}@media(max-width:640px){.ticket-grid{gap:.26rem}.ticket-cell{min-height:1.74rem;font-size:calc(.9rem * var(--app-text-scale));border-radius:.38rem}}.number-grid__legend-swatch--cell{background:hsl(var(--game-cell))}.number-grid__legend-swatch--called{background:hsl(var(--game-called))}.number-grid__legend-swatch--current{background:hsl(var(--game-current))}.number-cell{aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;min-width:0;border-radius:calc(var(--radius-sm) - .16rem);border:1px solid hsl(var(--border) / .8);background:hsl(var(--game-cell));color:hsl(var(--game-cell-foreground));box-shadow:inset 0 1px #ffffffb8;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}@media(hover:hover){.number-cell:hover{transform:translateY(-1px);border-color:hsl(var(--primary) / .3)}}.number-cell.called{background:linear-gradient(180deg,hsl(var(--game-called)),hsl(var(--game-called) / .92));color:hsl(var(--game-called-foreground));border-color:hsl(var(--game-called) / .9);box-shadow:inset 0 1px #ffffff47}.number-cell.current{background:linear-gradient(180deg,hsl(var(--game-current)),hsl(var(--primary) / .92));color:hsl(var(--game-current-foreground));border-color:hsl(var(--primary) / .72);box-shadow:0 0 0 3px hsl(var(--primary) / .12),var(--surface-shadow);animation:number-grid-current-pulse 1.4s ease-in-out infinite}.number-grid__progress-fill{background:linear-gradient(to right,hsl(var(--primary)),hsl(var(--accent)))}@keyframes number-grid-current-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.player-landing{width:100%;min-height:100vh;padding:.75rem}.player-landing--winners,.player-landing--game,.player-landing--booking{padding:0}.player-landing__container{width:min(100%,42rem);margin:0 auto;display:flex;flex-direction:column;gap:var(--panel-gap, 1rem)}.player-landing__toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.player-landing__back-button{flex-shrink:0}.player-landing__welcome{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.player-landing__welcome-title{margin:0;font-family:var(--heading-font);font-size:calc(clamp(1.1rem,2.5vw,1.5rem) * var(--app-text-scale));color:hsl(var(--foreground))}.player-landing__welcome-copy{margin:.25rem 0 0;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-view{width:100%;min-height:100vh}.game-view__content{width:min(100%,72rem);margin:0 auto;display:flex;flex-direction:column;gap:var(--panel-gap, 1rem);padding:.75rem}.game-view--loading,.game-view--missing{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:1rem}.game-view__loading-content,.game-view__missing-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.game-view__loading-text,.game-view__missing-text{margin:0;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-view__missing-title{margin:0;font-family:var(--heading-font);font-size:calc(1.25rem * var(--app-text-scale));color:hsl(var(--foreground))}.game-current-number{background:linear-gradient(140deg,hsl(var(--primary)),hsl(var(--primary) / .82));border-color:hsl(var(--primary) / .5);box-shadow:var(--surface-shadow-strong);overflow:hidden}.game-current-number__content{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.35rem .75rem;text-align:center}.game-current-number__label{margin:0;font-size:calc(.75rem * var(--app-text-scale));font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary-foreground) / .8)}.game-current-number__value{font-size:calc(clamp(3.5rem,12vw,5.5rem) * var(--app-text-scale));font-weight:800;line-height:1;color:hsl(var(--primary-foreground));text-shadow:0 10px 24px hsl(var(--foreground) / .25),0 2px 4px hsl(var(--foreground) / .35);animation:number-pop .4s ease;font-variant-numeric:tabular-nums}@keyframes number-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.game-current-number__text{margin:0;font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--primary-foreground) / .82)}.game-countdown{background:linear-gradient(140deg,hsl(var(--accent)),hsl(var(--primary) / .72));border-color:hsl(var(--accent) / .5);box-shadow:var(--surface-shadow-strong)}.game-countdown__content{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem .5rem;text-align:center}.game-countdown__icon{width:1.5rem;height:1.5rem;color:hsl(var(--foreground));opacity:.9}.game-countdown__value{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(4.6rem,18vw,7.2rem);min-height:clamp(4.6rem,18vw,7.2rem);padding:.15em .35em;font-size:calc(clamp(3.8rem,14vw,6.6rem) * var(--app-text-scale));font-weight:900;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:hsl(var(--foreground));background:hsl(var(--background) / .82);border:2px solid hsl(var(--foreground) / .18);border-radius:999px;text-shadow:0 1px 0 hsl(var(--background) / .55);box-shadow:0 10px 24px #0c142038,inset 0 1px #ffffff52;animation:countdown-bounce 1s ease-in-out infinite}@keyframes countdown-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.game-countdown__text{margin:0;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--foreground) / .9);text-shadow:0 1px 4px rgba(12,20,32,.18)}.game-booking-info{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.game-booking-info__content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.game-booking-info__title{margin:0;font-family:var(--heading-font);font-size:calc(1.15rem * var(--app-text-scale));font-weight:700;color:hsl(var(--foreground))}.game-booking-info__text{margin:0;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-booking-info__contact-text{margin:0;font-size:calc(.9rem * var(--app-text-scale));font-weight:600;color:hsl(var(--primary))}.game-tickets{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.game-tickets__title{display:flex;align-items:center;gap:.4rem;font-size:calc(clamp(.95rem,2vw,1.1rem) * var(--app-text-scale))}.game-tickets__title-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.game-tickets__content{display:flex;flex-direction:column;gap:.75rem}.game-tickets__search-shell{display:flex;flex-direction:column;gap:.75rem;padding:.95rem;border-radius:var(--radius-lg);border:1px solid hsl(var(--border) / .72);background:hsl(var(--surface-subtle) / .72)}.game-tickets__search-copy{display:flex;flex-direction:column;gap:.25rem}.game-tickets__search-kicker{margin:0;font-size:calc(var(--text-xs) * var(--app-text-scale));font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.game-tickets__search-help{margin:0;font-size:calc(var(--text-sm) * var(--app-text-scale));color:hsl(var(--foreground))}.game-tickets__search-row{display:flex;gap:.4rem;flex-wrap:wrap}.game-tickets__search-input{flex:1;min-width:0}.game-tickets__search-icon{width:1rem;height:1rem}.game-tickets__clear-button{flex-shrink:0}.game-tickets__empty{text-align:center;padding:1.5rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.game-tickets__empty-icon{width:2rem;height:2rem;color:hsl(var(--muted-foreground) / .5)}.game-tickets__empty-title{margin:0;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-tickets__empty-text,.game-tickets__empty-note{margin:0;font-size:calc(.75rem * var(--app-text-scale));color:hsl(var(--muted-foreground) / .7)}.game-tickets__result-group{display:flex;flex-direction:column;gap:.5rem;padding:.95rem;border-radius:var(--radius-lg);border:1px solid hsl(var(--border) / .72)}.game-tickets__result-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.game-tickets__result-name{margin:0;font-family:var(--heading-font);font-size:calc(var(--text-lg) * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.game-tickets__result-caption{margin:.1rem 0 0;font-size:calc(var(--text-xs) * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-tickets__result-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.game-tickets__result-item{position:relative;padding:.5rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .65)}.game-tickets__remove-ticket{position:absolute;top:.25rem;right:.25rem;z-index:2;opacity:.6;transition:opacity .15s ease}.game-tickets__remove-ticket:hover{opacity:1}.game-tickets__remove-ticket-icon{width:.85rem;height:.85rem}.game-prizes{display:flex;flex-direction:column;gap:.5rem}.game-prizes__card{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.game-prizes__title{display:flex;align-items:center;gap:.4rem;font-size:calc(clamp(.95rem,2vw,1.1rem) * var(--app-text-scale))}.game-prizes__title-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:#e7b008}.game-prizes__list{display:flex;flex-direction:column;gap:.55rem}.game-prizes__item{border-radius:calc(var(--card-radius, .75rem) - 4px);padding:.75rem .8rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.game-prizes__item--open{background:hsl(var(--surface-subtle) / .88);border:1px solid hsl(var(--border) / .5)}.game-prizes__item--won{background:hsl(var(--success) / .1);border:1px solid hsl(var(--success) / .22);cursor:pointer}.game-prizes__item--won:hover{background:hsl(var(--success) / .14);transform:translateY(-1px)}.game-prizes__item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.game-prizes__item-name{margin:0;font-size:calc(.88rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.game-prizes__item-pattern{margin:.1rem 0 0;font-size:calc(.72rem * var(--app-text-scale))}.game-prizes__item-pattern--open{color:hsl(var(--muted-foreground))}.game-prizes__item-pattern--won{color:hsl(var(--success))}.game-prizes__item-winners{margin:.15rem 0 0;font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-prizes__item-status{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.game-prizes__item-pill{display:inline-flex;align-items:center;justify-content:center;min-width:3.2rem;min-height:1.9rem;padding:.2rem .55rem;border-radius:var(--radius-pill);font-size:calc(.7rem * var(--app-text-scale));font-weight:700;letter-spacing:.05em;text-transform:uppercase}.game-prizes__item-pill--won{background:hsl(var(--success));color:hsl(var(--success-foreground, 0 0% 100%))}.game-prizes__item-pill--open{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border) / .72)}.game-prizes__item-chevron{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.game-prizes__winner-tickets{margin-top:.75rem;padding:.85rem;border-top:1px solid hsl(var(--border) / .56);animation:actions-slide-in .2s ease}.game-prizes__winner-list{display:flex;flex-direction:column;gap:.5rem}.game-prizes__winner-item{display:flex;flex-direction:column;gap:.45rem;padding:.7rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .56);background:hsl(var(--card) / .76)}.game-prizes__winner-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem;flex-wrap:wrap}.game-prizes__winner-name{margin:0;display:flex;align-items:center;gap:.3rem;font-size:calc(.82rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.game-prizes__winner-icon{width:.85rem;height:.85rem;flex-shrink:0}.game-prizes__winner-badge{font-size:calc(.65rem * var(--app-text-scale))}.game-prizes__winner-grid{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-top:.1rem}.game-prizes__winner-grid--multi{display:flex;flex-direction:column;gap:.5rem}.game-prizes__winner-grid-label{margin:0;font-size:calc(.72rem * var(--app-text-scale));font-weight:600;color:hsl(var(--muted-foreground))}.game-prizes__winner-pending{padding:.5rem;text-align:center;background:hsl(var(--muted) / .2);border-radius:calc(var(--card-radius, .75rem) - 6px)}.game-prizes__winner-pending-content{display:flex;flex-direction:column;align-items:center;gap:.2rem}.game-prizes__winner-pending-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.game-prizes__winner-pending-title{margin:0;font-size:calc(.75rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-prizes__winner-pending-message{margin:0;font-size:calc(.65rem * var(--app-text-scale));color:hsl(var(--muted-foreground) / .6)}.number-grid{display:flex;flex-direction:column;gap:.75rem;padding:.85rem;border-radius:calc(var(--card-radius) + .1rem);border:1px solid hsl(var(--border) / .82);background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));box-shadow:var(--surface-shadow)}.number-grid__legend{padding:0 .15rem}.number-grid__legend-items{display:flex;align-items:center;gap:.75rem;row-gap:.45rem;flex-wrap:wrap}.number-grid__legend-item{display:flex;align-items:center;gap:.3rem;line-height:1.35;font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.number-grid__legend-swatch{width:.75rem;height:.75rem;border-radius:3px;flex-shrink:0}.number-grid__board{display:flex;flex-direction:column;gap:2px;padding:.15rem;border-radius:calc(var(--radius-md) + .08rem);background:hsl(var(--surface-soft) / .68);border:1px solid hsl(var(--border) / .58)}.number-grid__row{display:grid;grid-template-columns:repeat(15,1fr);gap:2px}.number-grid__number{font-size:calc(.62rem * var(--app-text-scale));font-weight:700;font-variant-numeric:tabular-nums}.number-grid__number--called{color:hsl(var(--game-called-foreground))}.number-grid__number--current{color:hsl(var(--game-current-foreground));font-weight:800}.number-grid__progress{display:flex;flex-direction:column;gap:.35rem;padding-top:.2rem}.number-grid__progress-summary{display:flex;align-items:center;justify-content:space-between;gap:.55rem;white-space:nowrap;font-size:calc(.68rem * var(--app-text-scale));line-height:1.2;color:hsl(var(--muted-foreground))}.number-grid__progress-text{min-width:0}.number-grid__progress-text--title{font-weight:600;color:hsl(var(--foreground))}.number-grid__progress-text--remaining{margin-left:auto;text-align:right}.number-grid__progress-track{width:100%;height:6px;border-radius:3px;background:hsl(var(--muted) / .48);overflow:hidden}.number-grid__progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.number-grid__calling-state{padding:.5rem;text-align:center;border-radius:var(--radius-sm);background:hsl(var(--surface-soft) / .4)}.number-grid__calling-content{display:flex;align-items:center;justify-content:center;gap:.4rem}.number-grid__calling-text{margin:0;font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-view__board-card{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.game-view__board-title{display:flex;align-items:center;gap:.4rem;font-size:calc(clamp(.95rem,2vw,1.1rem) * var(--app-text-scale))}.game-view__board-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.game-over{background:linear-gradient(145deg,hsl(var(--surface-soft)),hsl(var(--accent) / .2));border:1px solid hsl(var(--accent) / .3);-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.game-over__content{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem .5rem;text-align:center}.game-over__icon{width:2.5rem;height:2.5rem;color:#e7b008}.game-over__title{margin:0;font-family:var(--heading-font);font-size:calc(1.35rem * var(--app-text-scale));font-weight:800;color:hsl(var(--foreground))}.game-over__subtitle{margin:0;font-size:calc(.88rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.game-over__stats{margin-top:.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem;width:100%}.game-over__stats p{margin:0;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .6);background:hsl(var(--card) / .78);font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--foreground))}@media(min-width:640px){.game-status__hero{grid-template-columns:minmax(0,1.35fr) minmax(18rem,1fr);align-items:end}.game-tickets__search-row{flex-wrap:nowrap}.game-tickets__result-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.game-current-number__value{font-size:calc(7rem * var(--app-text-scale))}.number-grid__row,.number-grid__board{gap:3px}}.ticket-booking{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem);padding:.5rem}.ticket-booking--starting{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:1rem}.ticket-booking__start-card{width:min(100%,26rem);text-align:center}.ticket-booking__start-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ticket-booking__start-icon{width:2rem;height:2rem;color:hsl(var(--primary));animation:pulse 1.5s ease-in-out infinite}.ticket-booking__start-title{margin:0;font-family:var(--heading-font);font-size:calc(1.15rem * var(--app-text-scale))}.ticket-booking__start-message{margin:0;font-size:calc(.84rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-booking__info{background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .94));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.ticket-booking__info-content{display:flex;flex-direction:column;gap:1rem}.ticket-booking__hero{display:grid;gap:.9rem}.ticket-booking__hero-copy{display:flex;flex-direction:column;gap:.35rem}.ticket-booking__hero-kicker{margin:0;font-size:calc(var(--text-xs) * var(--app-text-scale));font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.ticket-booking__info-title{font-family:var(--heading-font);font-size:calc(clamp(1.35rem,3vw,2.2rem) * var(--app-text-scale))}.ticket-booking__hero-description{margin:0;max-width:38rem;font-size:calc(var(--text-sm) * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-booking__hero-aside{display:flex;align-items:flex-start}.ticket-booking__contact{display:inline-flex;flex-direction:column;gap:.2rem;padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .74);background:hsl(var(--card) / .78);min-width:12rem}.ticket-booking__contact-label{font-size:calc(var(--text-xs) * var(--app-text-scale));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.ticket-booking__contact-value{font-size:calc(var(--text-md) * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.ticket-booking__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.ticket-booking__stat{text-align:center;padding:.75rem .4rem;border-radius:calc(var(--card-radius, .75rem) - 4px);border:1px solid hsl(var(--border) / .65);background:hsl(var(--card) / .72)}.ticket-booking__stat--booked{background:hsl(var(--ticket-state-booked) / .12);border-color:hsl(var(--ticket-state-booked-border) / .42)}.ticket-booking__stat--available{background:hsl(var(--ticket-state-available) / .12);border-color:hsl(var(--ticket-state-available-border) / .42)}.ticket-booking__stat-value{font-family:var(--heading-font);font-size:calc(1.35rem * var(--app-text-scale));font-weight:700;color:hsl(var(--foreground));line-height:1.2}.ticket-booking__stat-label{font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.ticket-booking__grid-title{font-family:var(--heading-font);font-size:calc(.95rem * var(--app-text-scale))}.ticket-booking__grid-header{gap:.7rem}.ticket-booking__toggle{display:flex;gap:.35rem;margin-top:.5rem;flex-wrap:wrap}.ticket-booking__toggle-button{display:inline-flex;align-items:center;gap:.3rem}.ticket-booking__toggle-icon{width:.85rem;height:.85rem}.ticket-booking__tickets{display:grid;grid-template-columns:1fr;gap:var(--panel-gap, 1rem)}.ticket-booking__ticket{border:var(--border-width, 1px) solid hsl(var(--border) / var(--border-opacity, 1));border-radius:var(--card-radius, .75rem);overflow:hidden;background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--surface-subtle)));color:hsl(var(--foreground));transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}@media(hover:hover){.ticket-booking__ticket:hover{transform:translateY(-2px);box-shadow:var(--surface-shadow)}}.ticket-booking__ticket--available{background:hsl(var(--ticket-state-available) / .06);border-color:hsl(var(--ticket-state-available-border) / .5);color:hsl(var(--ticket-state-available-fg))}.ticket-booking__ticket--booked{background:hsl(var(--ticket-state-booked) / .12);border-color:hsl(var(--ticket-state-booked-border) / .65);color:hsl(var(--ticket-state-booked-fg))}.ticket-booking__ticket-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem .55rem;background:hsl(var(--muted) / .35);border-bottom:1px solid hsl(var(--border) / .5)}.ticket-booking__ticket--available .ticket-booking__ticket-header{background:hsl(var(--ticket-state-available) / .12);border-bottom-color:hsl(var(--ticket-state-available-border) / .4)}.ticket-booking__ticket--booked .ticket-booking__ticket-header{background:hsl(var(--ticket-state-booked) / .2);border-bottom-color:hsl(var(--ticket-state-booked-border) / .45)}.ticket-booking__ticket-label{font-size:calc(.82rem * var(--app-text-scale));font-weight:600;color:inherit}.ticket-booking__ticket-meta{font-size:calc(.76rem * var(--app-text-scale));color:inherit}.ticket-booking__ticket-player{color:hsl(var(--ticket-state-booked-fg));font-weight:500}.ticket-booking__ticket-availability{color:hsl(var(--ticket-state-available-fg));font-weight:500}.ticket-booking__ticket-body{padding:.5rem}.ticket-booking__ticket-footer{padding:.45rem .55rem .65rem;display:flex;justify-content:flex-end}.ticket-booking__ticket-booked{display:inline-flex;align-items:center}.ticket-booking__booked-chip{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;border:1px solid hsl(var(--ticket-state-booked-border) / .65);background:hsl(var(--ticket-state-booked) / .16);color:hsl(var(--ticket-state-booked-fg));font-size:calc(.68rem * var(--app-text-scale));font-weight:700;letter-spacing:.01em;line-height:1.2}.ticket-booking__book-button{display:inline-flex;align-items:center;gap:.3rem;width:100%;justify-content:center}.ticket-booking__book-icon{width:.8rem;height:.8rem}.ticket-booking__empty{text-align:center;padding:1.5rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.ticket-booking__empty-icon{width:2rem;height:2rem;color:hsl(var(--muted-foreground))}.ticket-booking__empty-title{margin:0;font-family:var(--heading-font);font-size:calc(1rem * var(--app-text-scale));color:hsl(var(--foreground))}.ticket-booking__empty-message{margin:0;font-size:calc(.84rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}@media(min-width:768px){.ticket-booking__hero{grid-template-columns:minmax(0,1.4fr) auto;align-items:end}.ticket-booking__tickets{grid-template-columns:repeat(2,minmax(0,1fr))}}.host-controls{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem)}.host-controls--loading,.host-controls--error,.host-controls--empty{min-height:30vh;display:flex;align-items:center;justify-content:center}.host-controls__loading-content,.host-controls__error-content,.host-controls__empty-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.host-controls__error-title,.host-controls__empty-title{margin:0;font-family:var(--heading-font);font-size:calc(1.1rem * var(--app-text-scale))}.host-controls__error-text,.host-controls__empty-text,.host-controls__loading-text{margin:0;font-size:calc(.84rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.host-controls__section{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.host-controls__header{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.35rem}.host-controls__eyebrow-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.host-controls__eyebrow{margin:0;font-size:calc(.72rem * var(--app-text-scale));font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.host-controls__phase-badge{font-size:calc(.68rem * var(--app-text-scale));border-radius:999px}.host-controls__subtitle{margin:0;font-size:calc(.82rem * var(--app-text-scale));line-height:1.65;color:hsl(var(--muted-foreground))}.host-controls__title{display:flex;align-items:center;gap:.4rem;font-family:var(--heading-font);font-size:calc(1rem * var(--app-text-scale))}.host-controls__title-icon{width:1rem;height:1rem;flex-shrink:0;color:hsl(var(--primary))}.host-controls__content{display:flex;flex-direction:column;gap:.75rem}.host-controls__buttons{display:flex;flex-direction:column;gap:.45rem}.host-controls__primary-button{width:100%;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.host-controls__primary-button--full,.host-controls__secondary-button{width:100%}.host-controls__countdown-button{width:100%;background:linear-gradient(135deg,hsl(var(--warning, 45 93% 47%) / .24),hsl(var(--primary) / .24));border:1px solid hsl(var(--foreground) / .18);color:hsl(var(--foreground));font-weight:700;animation:pulse 1.5s ease-in-out infinite}.host-controls__countdown-button:disabled{opacity:1;color:hsl(var(--foreground))}.host-controls__button-icon{width:.9rem;height:.9rem;flex-shrink:0}.host-controls__resume-group{display:flex;flex-direction:column;gap:.35rem}.host-controls__warning{font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--warning-foreground, var(--foreground)));background:hsl(var(--warning, 45 93% 47%) / .12);border:1px solid hsl(var(--warning, 45 93% 47%) / .3);border-radius:calc(var(--card-radius, .75rem) - 4px);padding:.45rem .6rem}.host-controls__speech{display:flex;flex-direction:column;gap:.45rem;padding:.65rem .7rem;border-radius:calc(var(--card-radius, .75rem) - 4px);border:1px solid hsl(var(--border) / .75);background:linear-gradient(180deg,hsl(var(--card) / .98),hsl(var(--surface-subtle) / .92))}.host-controls__speech-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem}.host-controls__speech-label{font-size:calc(.74rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground) / .86);flex-shrink:0}.host-controls__speech-input{flex:1;width:100%}.host-controls__speech-value{font-size:calc(.78rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground));min-width:2.15rem;text-align:center;border-radius:999px;border:1px solid hsl(var(--border) / .8);background:hsl(var(--background) / .92);padding:.12rem .35rem}.host-controls__recent-grid{display:flex;flex-wrap:wrap;gap:.3rem}.host-controls__recent-number{width:2.2rem;height:2.2rem;border-radius:.4rem;display:inline-flex;align-items:center;justify-content:center;font-size:calc(.82rem * var(--app-text-scale));font-weight:700;border:1px solid hsl(var(--border))}.host-controls__recent-number--current{background:hsl(var(--game-current, var(--primary)));color:hsl(var(--game-current-fg, var(--primary-foreground)));border-color:hsl(var(--game-current, var(--primary)));animation:pulse 1.5s ease-in-out infinite}.host-controls__recent-number--called{background:hsl(var(--game-called, var(--muted)));color:hsl(var(--game-called-fg, var(--foreground)))}.host-controls__recent-meta{margin:.35rem 0 0;font-size:calc(.76rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.host-controls__section-header{padding-bottom:.35rem}.host-controls__section-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.host-controls__voice-card{display:flex;flex-direction:column;gap:.75rem;padding:.9rem;border-radius:calc(var(--card-radius, .75rem) - 2px);border:1px solid hsl(var(--border) / .55);background:hsl(var(--muted) / .24)}.host-controls__voice-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.host-controls__voice-title-row{display:flex;align-items:center;gap:.45rem}.host-controls__voice-icon{width:1rem;height:1rem;color:hsl(var(--primary));flex-shrink:0}.host-controls__voice-title{font-size:calc(.9rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.host-controls__voice-grid{display:grid;gap:.75rem}.host-controls__voice-field{display:flex;flex-direction:column;gap:.35rem}.host-controls__voice-help{margin:0;font-size:calc(.76rem * var(--app-text-scale));line-height:1.55;color:hsl(var(--muted-foreground))}.host-controls__prize-list{display:flex;flex-direction:column;gap:.25rem}.host-controls__prize-item{border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--card-radius, .75rem) - 4px);overflow:hidden}.host-controls__prize-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;text-align:left}.host-controls__prize-toggle--won{background:hsl(var(--success, 142 72% 42%) / .08)}.host-controls__prize-main{display:flex;align-items:center;gap:.4rem;min-width:0}.host-controls__prize-copy{min-width:0}.host-controls__prize-name{margin:0;font-size:calc(.88rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.host-controls__prize-winner-count{margin:.1rem 0 0;font-size:calc(.74rem * var(--app-text-scale));color:hsl(var(--success, 142 72% 42%))}.host-controls__prize-side{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.host-controls__prize-preview{font-size:calc(.76rem * var(--app-text-scale));color:hsl(var(--muted-foreground));font-weight:500}.host-controls__prize-chevron{width:.85rem;height:.85rem;color:hsl(var(--muted-foreground))}.host-controls__prize-chevron-placeholder{width:.85rem}.host-controls__prize-details{border-top:1px solid hsl(var(--border) / .5);padding:.5rem .6rem;display:flex;flex-direction:column;gap:.35rem}.host-controls__winner-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem 0}.host-controls__winner-main{display:flex;align-items:center;gap:.4rem;min-width:0}.host-controls__winner-avatar{width:1.6rem;height:1.6rem;border-radius:50%;background:hsl(var(--muted));display:flex;align-items:center;justify-content:center;flex-shrink:0}.host-controls__winner-avatar-icon{width:.85rem;height:.85rem;color:hsl(var(--muted-foreground))}.host-controls__winner-name{margin:0;font-size:calc(.84rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center;gap:.3rem}.host-controls__winner-index{font-size:calc(.68rem * var(--app-text-scale))}.host-controls__winner-ticket{margin:.1rem 0 0;font-size:calc(.76rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.host-controls__winner-prize-badge{flex-shrink:0;font-size:calc(.7rem * var(--app-text-scale))}.host-controls__prize-winning-number{font-size:calc(.76rem * var(--app-text-scale));color:hsl(var(--muted-foreground));padding-top:.2rem;border-top:1px solid hsl(var(--border) / .3)}.host-controls__prize-winning-time{margin-left:.3rem;opacity:.7}.host-dashboard{min-height:100vh;padding:0}.host-dashboard--loading,.host-dashboard--error,.host-dashboard--expired{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:1rem}.host-dashboard__container{width:min(100%,80rem);margin:0 auto;display:flex;flex-direction:column;gap:var(--panel-gap, 1rem);padding:.75rem .5rem 1rem}.host-dashboard__message-card{width:min(100%,30rem);text-align:center}.host-dashboard__message-title{font-family:var(--heading-font)}.host-dashboard__message-text{margin:0 0 .5rem;font-size:calc(.85rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.host-dashboard__panel-stack{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem)}.host-dashboard__status-card{border-color:hsl(var(--primary) / .18);background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.host-dashboard__status-content{display:flex;align-items:flex-start;gap:.75rem;padding:.95rem 1rem}.host-dashboard__status-spinner{width:1rem;height:1rem;margin-top:.1rem;flex-shrink:0;border-radius:999px;border:2px solid hsl(var(--primary) / .2);border-top-color:hsl(var(--primary));animation:spin 1s linear infinite}.host-dashboard__status-copy{display:flex;flex-direction:column;gap:.2rem}.host-dashboard__status-label{margin:0;font-size:calc(.68rem * var(--app-text-scale));font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.host-dashboard__status-message{margin:0;font-size:calc(.86rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground))}.host-dashboard .host-header{display:grid;gap:1rem;padding:clamp(1rem,2vw,1.35rem);border-radius:var(--card-radius, .75rem);border:var(--border-width, 1px) solid hsl(var(--border) / var(--border-opacity, 1));background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.host-header__copy-block{display:flex;flex-direction:column;gap:.85rem;min-width:0}.host-header__eyebrow-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.host-header__eyebrow{margin:0;font-size:calc(.72rem * var(--app-text-scale));font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.host-header__badges{display:flex;flex-wrap:wrap;gap:.45rem}.host-header__subscription,.host-header__phase{font-size:calc(.68rem * var(--app-text-scale))}.host-header__headline-row{display:flex;align-items:flex-start;gap:.85rem}.host-header__copy{min-width:0}.host-header__title{margin:0;font-size:clamp(1.55rem,3vw,calc(2rem * var(--app-text-scale)));line-height:1.05}.host-header__subtitle{margin:0;max-width:46rem;font-size:calc(.88rem * var(--app-text-scale));line-height:1.65;color:hsl(var(--muted-foreground))}.host-header__aside{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.host-header__meta{display:flex;flex-wrap:wrap;gap:.45rem}.host-header__meta-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;border:1px solid hsl(var(--border) / .5);background:hsl(var(--secondary) / .68);font-size:calc(.74rem * var(--app-text-scale));color:hsl(var(--foreground))}.host-header__meta-icon{width:.8rem;height:.8rem;color:hsl(var(--primary));flex-shrink:0}.host-header__edit-button{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start}.host-header__edit-icon{width:.8rem;height:.8rem}.host-header__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.host-header__metric{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-radius:calc(var(--card-radius, .75rem) - 2px);border:1px solid hsl(var(--border) / .42);background:hsl(var(--muted) / .38)}.host-header__metric--accent{background:linear-gradient(145deg,hsl(var(--surface-soft)),hsl(var(--accent) / .24));border-color:hsl(var(--primary) / .22)}.host-header__metric-label{font-size:calc(.68rem * var(--app-text-scale));font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.host-header__metric-value{font-family:var(--heading-font);font-size:calc(1.28rem * var(--app-text-scale));font-weight:700;line-height:1.1;color:hsl(var(--foreground))}.ticket-mgmt{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem);position:relative}.ticket-mgmt__overlay{position:fixed;inset:0;z-index:50;background:hsl(var(--background) / .7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.ticket-mgmt__overlay-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:calc(.88rem * var(--app-text-scale));font-weight:500;color:hsl(var(--foreground))}.ticket-mgmt__summary{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.ticket-mgmt__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.ticket-mgmt__book-selected,.ticket-mgmt__select-toggle,.ticket-mgmt__clear{display:inline-flex;align-items:center;gap:.3rem}.ticket-mgmt__action-icon{width:.8rem;height:.8rem;flex-shrink:0}.ticket-mgmt__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .3)}.ticket-mgmt__legend-item{display:flex;align-items:center;gap:.3rem;font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-mgmt__legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ticket-mgmt__legend-swatch--available{background:hsl(var(--ticket-state-available) / .1);border:2px solid hsl(var(--ticket-state-available-border) / .55)}.ticket-mgmt__legend-swatch--selected{background:hsl(var(--primary) / .2);border:2px solid hsl(var(--primary))}.ticket-mgmt__legend-swatch--booked{background:hsl(var(--ticket-state-booked) / .2);border:2px solid hsl(var(--ticket-state-booked-border) / .7)}.ticket-mgmt__expand{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;padding:.5rem .65rem;border-radius:calc(var(--card-radius, .75rem) - 4px);background:hsl(var(--warning, 38 90% 50%) / .08);border:1px solid hsl(var(--warning, 38 90% 50%) / .2);font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--foreground))}.ticket-mgmt__expand p{margin:0}.ticket-mgmt__expand p:first-child{font-weight:600}.ticket-mgmt__expand p:last-child{font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-mgmt__grid-card{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px));overflow:hidden}.ticket-mgmt__grid-card--combined{border:1.5px solid hsl(var(--border) / .5)}.ticket-mgmt__grid-header{padding:.55rem .75rem .35rem}.ticket-mgmt__grid-section-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--heading-font);font-size:calc(.88rem * var(--app-text-scale))}.ticket-mgmt__grid-section-label{display:flex;align-items:center;gap:.35rem}.ticket-mgmt__grid-section-icon{width:.95rem;height:.95rem;flex-shrink:0}.ticket-mgmt__grid-section-icon--available{color:hsl(var(--ticket-state-available-fg))}.ticket-mgmt__grid-badge{font-size:calc(.68rem * var(--app-text-scale));font-weight:700;padding:.1rem .45rem;border-radius:999px}.ticket-mgmt__grid-badge--available{background:hsl(var(--ticket-state-available) / .1);color:hsl(var(--ticket-state-available-fg));border-color:hsl(var(--ticket-state-available-border) / .55)}.ticket-mgmt__grid-badge--booked{background:hsl(var(--ticket-state-booked) / .2);color:hsl(var(--ticket-state-booked-fg));border-color:hsl(var(--ticket-state-booked-border) / .7)}.ticket-mgmt__grid-helper{margin:.45rem 0 0;font-size:calc(.76rem * var(--app-text-scale));line-height:1.55;color:hsl(var(--muted-foreground))}.ticket-mgmt__grid-empty{text-align:center;padding:1.25rem .5rem;font-size:calc(.82rem * var(--app-text-scale));color:hsl(var(--muted-foreground));font-style:italic}.ticket-mgmt__grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:2px}.ticket-mgmt__ticket{aspect-ratio:1;min-width:0;min-height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ticket-mgmt__ticket--available{background:hsl(var(--ticket-state-available) / .1);border-color:hsl(var(--ticket-state-available-border) / .55);color:hsl(var(--ticket-state-available-fg))}.ticket-mgmt__ticket--available:hover{border-color:hsl(var(--ticket-state-available-border) / .68);background:hsl(var(--ticket-state-available) / .16)}.ticket-mgmt__ticket--available:active{transform:scale(.95)}.ticket-mgmt__ticket--selected{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary));animation:ticket-select .2s ease}.ticket-mgmt__ticket--booked{background:hsl(var(--ticket-state-booked) / .2);border-color:hsl(var(--ticket-state-booked-border) / .7);color:hsl(var(--ticket-state-booked-fg));cursor:pointer}.ticket-mgmt__ticket-id{font-size:clamp(.42rem,1.6vw,calc(.72rem * var(--app-text-scale)));font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ticket-mgmt__floating{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:.5rem;background:hsl(var(--card));border-top:1px solid hsl(var(--border));box-shadow:0 -4px 20px #0000001a;animation:slide-up .25s ease}.ticket-mgmt__floating-content{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:50rem;margin:0 auto}.ticket-mgmt__floating-count{font-size:calc(.78rem * var(--app-text-scale));font-weight:700;color:hsl(var(--primary));white-space:nowrap;padding:.2rem .5rem;border-radius:999px;background:hsl(var(--primary) / .1)}.ticket-mgmt__floating-input{flex:1;min-width:6rem;height:2rem;padding:0 .5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--card-radius, .75rem) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:calc(.78rem * var(--app-text-scale));font-family:var(--font-body)}.ticket-mgmt__floating-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.ticket-mgmt__floating-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.ticket-mgmt__floating-input::placeholder{color:hsl(var(--muted-foreground))}.ticket-mgmt__floating-book{white-space:nowrap}.ticket-mgmt__floating-close{flex-shrink:0}.ticket-mgmt__dialog-body{display:flex;flex-direction:column;gap:.65rem}.ticket-mgmt__field{display:flex;flex-direction:column;gap:.25rem}.ticket-mgmt__selected-preview{font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--muted-foreground));padding:.4rem .55rem;border-radius:calc(var(--card-radius, .75rem) - 4px);background:hsl(var(--muted) / .4)}.ticket-mgmt__selected-preview p{margin:0}.ticket-mgmt__selected-preview p:first-child{font-weight:600;font-size:calc(.72rem * var(--app-text-scale));text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.ticket-mgmt__dialog-actions{display:flex;gap:.35rem;justify-content:flex-end;margin-top:.25rem}.ticket-mgmt__booked-list{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.ticket-mgmt__booked-header{padding-bottom:.35rem}.ticket-mgmt__booked-title-wrap{display:flex;flex-direction:column;gap:.35rem}.ticket-mgmt__booked-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;font-family:var(--heading-font);font-size:calc(.95rem * var(--app-text-scale))}.ticket-mgmt__booked-caption{margin:0;font-size:calc(.78rem * var(--app-text-scale));line-height:1.55;color:hsl(var(--muted-foreground))}.ticket-mgmt__booked-rows{display:flex;flex-direction:column;gap:.35rem}.ticket-mgmt__booked-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.ticket-mgmt__booked-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:calc(var(--card-radius, .75rem) - 4px);background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);cursor:pointer;transition:background .15s ease,border-color .15s ease}.ticket-mgmt__booked-item:hover{background:hsl(var(--muted) / .5)}.ticket-mgmt__booked-item--expanded{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .04)}.ticket-mgmt__booked-main{min-width:0}.ticket-mgmt__booked-name{font-size:calc(.84rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-mgmt__booked-ticket,.ticket-mgmt__booked-phone{font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.ticket-mgmt__booked-actions{display:flex;gap:.2rem;flex-shrink:0;animation:actions-slide-in .2s ease}@keyframes actions-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.ticket-mgmt__booked-edit,.ticket-mgmt__booked-delete{padding:.25rem}.host-controls__primary-button{font-weight:600;letter-spacing:.02em;min-height:2.75rem;font-size:calc(.88rem * var(--app-text-scale))}.host-controls__speech-input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-height:1.35rem;height:.56rem;border-radius:999px;background:linear-gradient(90deg,hsl(var(--primary) / .9),hsl(var(--primary) / .42));outline:none;border:1px solid hsl(var(--border) / .9);box-shadow:inset 0 1px 2px #ffffff80;padding:0}.host-controls__speech-input[type=range]::-webkit-slider-runnable-track{height:.56rem;border-radius:999px;background:transparent}.host-controls__speech-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;margin-top:-6px;border:2px solid hsl(var(--card));box-shadow:0 2px 8px #00000047;-webkit-transition:transform .15s ease;transition:transform .15s ease}.host-controls__speech-input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.host-controls__speech-input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px hsl(var(--ring) / .35),0 2px 8px #00000047}.host-controls__speech-input[type=range]::-moz-range-track{height:.56rem;border-radius:999px;background:hsl(var(--muted));border:1px solid hsl(var(--border) / .9)}.host-controls__speech-input[type=range]::-moz-range-progress{height:.56rem;border-radius:999px;background:linear-gradient(90deg,hsl(var(--primary) / .9),hsl(var(--primary) / .42))}.host-controls__speech-input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--card));box-shadow:0 2px 8px #00000047}.host-controls__speech-input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px hsl(var(--ring) / .35),0 2px 8px #00000047}.host-controls__content,.host-controls__prize-list{padding:0}@keyframes ticket-select{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media(min-width:480px){.host-header__aside{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.ticket-mgmt__booked-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:640px){.host-controls__metrics,.host-header__metrics,.ticket-mgmt__stats{grid-template-columns:repeat(4,1fr)}.host-controls__voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-mgmt__floating-content{flex-wrap:nowrap}}@media(min-width:768px){.host-dashboard__container{padding:.85rem .75rem 1.1rem}.host-dashboard .host-header{grid-template-columns:minmax(0,1.3fr) auto;align-items:start}.host-header__aside{align-items:flex-end}.host-header__metrics{grid-column:1 / -1}.ticket-mgmt__hero{grid-template-columns:minmax(0,1.35fr) auto;align-items:end}.ticket-mgmt__hero-aside{align-items:flex-end;text-align:right}.ticket-mgmt__floating{left:50%;right:auto;bottom:1rem;transform:translate(-50%);border-radius:var(--card-radius, .75rem);border:1px solid hsl(var(--border));max-width:40rem;box-shadow:0 8px 30px #00000026}}@media(min-width:1024px){.ticket-mgmt__grid{gap:3px}.host-dashboard__container{padding:1.15rem 1rem 1.35rem}}.winners-display{width:100%;padding:.5rem}.winners-display--host{display:flex;flex-direction:column;gap:var(--panel-gap, 1rem);padding:.5rem}.winners-display__container{width:min(100%,72rem);margin:0 auto;display:flex;flex-direction:column;gap:var(--panel-gap, 1rem)}.winners-display__error-content,.winners-display__pending-content{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.5rem .75rem}.winners-display__error-icon,.winners-display__pending-icon{width:2rem;height:2rem;color:hsl(var(--muted-foreground))}.winners-display__error-title,.winners-display__pending-title{margin:0;font-family:var(--heading-font);font-size:calc(1.05rem * var(--app-text-scale))}.winners-display__error-text,.winners-display__pending-text{margin:0;font-size:calc(.84rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.winners-display__hero{background:hsl(var(--card) / var(--card-opacity, .92));-webkit-backdrop-filter:blur(var(--card-blur, 4px));backdrop-filter:blur(var(--card-blur, 4px))}.winners-display__hero-content,.winners-display__hero-header{text-align:center}.winners-display__hero-content--rich,.winners-display__hero-header--rich{display:flex;flex-direction:column;align-items:center;gap:.65rem}.winners-display__hero-icon{width:2.5rem;height:2.5rem;color:hsl(var(--accent));margin:0 auto .5rem}.winners-display__hero-title{margin:0;font-family:var(--heading-font);font-size:calc(clamp(1.2rem,3vw,1.6rem) * var(--app-text-scale));color:hsl(var(--foreground))}.winners-display__hero-subtitle{margin:.25rem 0 0;font-size:calc(.9rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.winners-display__hero-subtitle--strong{max-width:42rem;color:hsl(var(--foreground))}.winners-display__hero-subtitle p{margin:0}.winners-display__hero-meta{margin:.15rem 0 0;font-size:calc(.78rem * var(--app-text-scale));color:hsl(var(--muted-foreground));opacity:.7}.winners-display__hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.65rem;width:100%;margin-top:.35rem}.winners-display__hero-stat{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .6);background:hsl(var(--card) / .7)}.winners-display__hero-stat-label{font-size:calc(var(--text-xs) * var(--app-text-scale));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.winners-display__hero-stat-value{font-family:var(--heading-font);font-size:calc(1.3rem * var(--app-text-scale));font-weight:600;line-height:1;color:hsl(var(--foreground))}.winners-display__section-title{display:flex;align-items:center;gap:.4rem;font-family:var(--heading-font);font-size:calc(1rem * var(--app-text-scale))}.winners-display__section-title--between{justify-content:space-between}.winners-display__section-title-main{display:flex;align-items:center;gap:.4rem}.winners-display__section-icon{width:1rem;height:1rem;color:hsl(var(--accent))}.winners-display__actions{background:hsl(var(--card) / var(--card-opacity, .92))}.winners-display__actions-content{text-align:center}.winners-display__new-game-button{width:100%;max-width:20rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.winners-display__new-game-icon{width:1rem;height:1rem}.index-page{min-height:100vh;display:flex;flex-direction:column;color:hsl(var(--foreground))}.app-header{position:sticky;top:0;z-index:40;border-bottom:1px solid hsl(var(--border) / var(--border-opacity));background:hsl(var(--card) / .9);-webkit-backdrop-filter:blur(calc(var(--card-blur) + 1px));backdrop-filter:blur(calc(var(--card-blur) + 1px))}.app-header__container{width:min(100%,76rem);margin:0 auto;padding:.5rem .75rem}.app-header__content{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.app-header__title{min-width:0;flex:1 1 14rem}.app-header__title-text{margin:0;font-family:var(--heading-font);font-size:calc(clamp(1.3rem,3.4vw,2.1rem) * var(--app-text-scale));font-weight:700;line-height:1.2;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__warning{width:100%;border:1px solid hsl(var(--warning) / .35);border-radius:calc(var(--card-radius) - 4px);background:hsl(var(--warning) / .14);color:hsl(var(--warning-foreground));padding:.5rem .65rem;font-size:calc(.8rem * var(--app-text-scale))}.app-header__warning-detail{margin-top:.35rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:calc(.76rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.app-header__warning-action{border:1px solid hsl(var(--warning) / .45);border-radius:.4rem;background:hsl(var(--warning) / .12);color:hsl(var(--warning-foreground));font-family:var(--font-body);font-size:calc(.74rem * var(--app-text-scale));font-weight:600;padding:.2rem .5rem;cursor:pointer}.app-header__warning-action:hover{background:hsl(var(--warning) / .22)}.app-header__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.app-header__auth-button{border-color:hsl(var(--border));background:hsl(var(--background) / .92);color:hsl(var(--foreground))}.app-header__auth-button:hover:not(:disabled){background:hsl(var(--muted))}.app-header__button-icon{width:.9rem;height:.9rem;flex-shrink:0}.app-header__menu{min-width:14rem}.app-header__menu-user{padding:.35rem .45rem .5rem;display:grid;gap:.2rem}.app-header__menu-email{margin:0;font-size:calc(.8rem * var(--app-text-scale));font-weight:600;color:hsl(var(--foreground));word-break:break-word}.app-header__menu-role{margin:0;font-size:calc(.72rem * var(--app-text-scale));text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.app-header__menu-permissions,.app-header__menu-status{margin:0;font-size:calc(.72rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.app-header__menu-item{gap:.45rem}.app-header__menu-icon{width:.85rem;height:.85rem;flex-shrink:0}.app-header__dialog{width:min(28rem,calc(100% - 1.5rem))}.app-header__dialog-header{margin-bottom:.25rem}.app-header__dialog-title{display:inline-flex;align-items:center;gap:.45rem}.app-header__dialog-body{display:grid;gap:.65rem}.app-header__dialog-message{border-radius:calc(var(--card-radius) - 4px);padding:.55rem .65rem;font-size:calc(.82rem * var(--app-text-scale));border:1px solid hsl(var(--border));background:hsl(var(--muted) / .7)}.app-header__dialog-message p{margin:0}.app-header__dialog-message p+p{margin-top:.25rem}.app-header__dialog-message--info{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .12);color:hsl(var(--foreground))}.app-header__dialog-message--error{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .11);color:hsl(var(--destructive))}.app-header__field{display:grid;gap:.3rem}.app-header__label{margin-bottom:0}.app-header__input,.app-header__submit{width:100%}.auth-loading{position:fixed;inset:0;width:100vw;min-height:100vh;min-height:100dvh;z-index:55;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.index-error{position:fixed;z-index:70;left:0;right:0;bottom:.75rem;display:flex;justify-content:center;padding:0 .75rem;pointer-events:none}.index-error__content{width:min(100%,34rem);border:1px solid hsl(var(--destructive) / .35);border-radius:calc(var(--card-radius) - 2px);background:hsl(var(--destructive) / .14);color:hsl(var(--destructive));padding:.65rem .75rem;box-shadow:var(--surface-shadow);display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;pointer-events:auto}.index-error__message{display:grid;gap:.2rem}.index-error__message p{margin:0;font-size:calc(.82rem * var(--app-text-scale));color:hsl(var(--destructive))}.index-error__icon{font-size:calc(.76rem * var(--app-text-scale));font-weight:700;text-transform:uppercase;letter-spacing:.04em}.index-error__close{border:1px solid hsl(var(--destructive) / .4);border-radius:.4rem;width:1.65rem;height:1.65rem;display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));cursor:pointer;line-height:1;font-weight:700;font-family:var(--font-body)}.index-footer{margin-top:auto;border-top:1px solid hsl(var(--border) / var(--border-opacity));background:hsl(var(--card) / .82);-webkit-backdrop-filter:blur(var(--card-blur));backdrop-filter:blur(var(--card-blur))}.index-footer__container{width:min(100%,76rem);margin:0 auto;padding:.65rem .75rem}.index-footer__content{display:flex;flex-direction:column;gap:.45rem}.index-footer__cta{display:inline-flex;align-items:center;gap:.42rem;width:-moz-fit-content;width:fit-content;max-width:100%;color:hsl(var(--primary));font-size:calc(.83rem * var(--app-text-scale));font-weight:600;text-decoration:none}.index-footer__cta span:first-child{width:.35rem;height:.35rem;border-radius:999px;background:hsl(var(--accent));flex-shrink:0}.index-footer__cta:hover{color:hsl(var(--accent))}.index-footer__cta-icon{width:.9rem;height:.9rem;flex-shrink:0}.index-footer__credit{margin:0;font-size:calc(.75rem * var(--app-text-scale));color:hsl(var(--muted-foreground))}.index-footer__credit-link{color:hsl(var(--primary));text-underline-offset:2px}.index-footer__credit-link:hover{color:hsl(var(--accent))}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-2{left:.5rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.z-50{z-index:50}.z-\[100\]{z-index:100}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.min-h-\[3\.6rem\]{min-height:3.6rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:bounce-in .4s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:1rem}.rounded-\[calc\(var\(--card-radius\)\+2px\)\]{border-radius:calc(var(--card-radius) + 2px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-accent\/40{border-color:hsl(var(--accent) / .4)}.border-border{border-color:hsl(var(--border))}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/10{background-color:hsl(var(--accent) / .1)}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/90{background-color:hsl(var(--card) / .9)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/35{background-color:hsl(var(--secondary) / .35)}.bg-transparent{background-color:transparent}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-background{--tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-muted\/40{--tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent{--tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position)}.to-card{--tw-gradient-to: hsl(var(--card)) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/75{color:hsl(var(--foreground) / .75)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/80{color:hsl(var(--primary) / .8)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary\/30{--tw-ring-color: hsl(var(--primary) / .3)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.running{animation-play-state:running}.paused{animation-play-state:paused}.text-xs{font-size:calc(.75rem * var(--app-text-scale))!important}.text-sm{font-size:calc(.875rem * var(--app-text-scale))!important}.text-lg{font-size:calc(1.125rem * var(--app-text-scale))!important}.text-2xl{font-size:calc(1.5rem * var(--app-text-scale))!important}.text-3xl{font-size:calc(1.875rem * var(--app-text-scale))!important}.text-4xl{font-size:calc(2.25rem * var(--app-text-scale))!important}.text-6xl{font-size:calc(3.75rem * var(--app-text-scale))!important}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:bg-accent\/90:hover{background-color:hsl(var(--accent) / .9)}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground\/80{color:hsl(var(--destructive-foreground) / .8)}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-destructive:focus{--tw-ring-offset-color: hsl(var(--destructive))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media(min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:max-w-md{max-width:28rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media(min-width:768px){.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}
