/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light;--background:#f5f7fb;--foreground:#18211f;--panel:#fff;--panel-border:#d7dde8;--accent:#0f766e;--accent-strong:#115e59;--danger:#be123c;--info:#1d4ed8;--muted:#5f6f7e;--tile:#fff;--tile-alt:#e9f5f2;--reward:#f5bf3d}*{box-sizing:border-box}body,html{background:var(--background);min-height:100%}body{color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit}.rewards-shell{--background:#1d1e1b;--foreground:#ffe3c9;--panel:#262722;--panel-border:#4b463f;--accent:#ed9254;--accent-strong:#ffe3c9;--muted:#c9bbad;--danger:#ffacb6;--tile:#ffe3c9;--tile-alt:#ed9254;background:var(--background);min-height:100svh;color:var(--foreground);justify-content:center;padding:24px 16px 40px;display:flex}.rewards-shell__frame{width:min(100%,520px)}.rewards-shell__header{gap:10px;margin-bottom:20px;display:grid}.rewards-shell__brand{color:var(--accent);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.rewards-shell__title{letter-spacing:0;margin:0;font-size:clamp(2rem,10vw,3.4rem);line-height:.98}.rewards-shell__copy{max-width:34rem;color:var(--muted);margin:0;font-size:1rem;line-height:1.55}.rewards-shell__history-link{border:1px solid var(--accent);width:fit-content;min-height:40px;color:var(--foreground);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.rewards-shell__history-link:hover{background:var(--panel)}.rewards-shell__panel{border:1px solid var(--panel-border);background:var(--background);border-radius:8px;overflow:hidden}.prize-history-page{background:radial-gradient(circle at top right,#dff4ee,transparent 32rem),var(--background);min-height:100svh;padding:24px 16px 48px}.prize-history-page__frame{width:min(100%,640px);margin:0 auto}.prize-history-page__hero{margin-bottom:20px}.prize-history-page__back{color:var(--accent-strong);margin-bottom:28px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.prize-history-page__eyebrow,.prize-history__eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:800}.prize-history-page__hero h1,.prize-history__header h2,.prize-history__login-copy h2{letter-spacing:-.03em;margin:0}.prize-history-page__hero h1{font-size:clamp(2.25rem,11vw,3.5rem);line-height:.98}.prize-history-page__hero>p:last-child,.prize-history__header p:not(.prize-history__eyebrow),.prize-history__login-copy>p:last-child{color:var(--muted);margin:10px 0 0;line-height:1.5}.prize-history{border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;padding:20px;box-shadow:0 18px 46px #18211f1a}.prize-history--login{gap:24px;display:grid}.prize-history__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.prize-history__header h2,.prize-history__login-copy h2{font-size:1.35rem}.prize-history__pagination button,.prize-history__refresh{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:7px;min-height:38px;padding:0 14px;font-size:.85rem;font-weight:700}.prize-history__error{color:var(--danger);background:#fff1f2;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:.9rem}.prize-history__empty{border:1px dashed var(--panel-border);min-height:144px;color:var(--muted);text-align:center;border-radius:10px;place-content:center;gap:6px;padding:20px;display:grid}.prize-history__empty strong{color:var(--foreground)}.prize-history__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.prize-history__item{border:1px solid var(--panel-border);background:#fff;border-radius:10px;padding:14px}.prize-history__item-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.prize-history__item-heading strong{font-size:.98rem}.prize-history__status{border-radius:999px;flex:none;padding:4px 8px;font-size:.72rem;font-weight:800}.prize-history__status--issued{color:#0f5d56;background:#dff4ee}.prize-history__status--claimed,.prize-history__status--returned{color:var(--muted);background:#eef1f5}.prize-history__date,.prize-history__detail{color:var(--muted);margin:7px 0 0;font-size:.85rem}.prize-history__claim{color:var(--accent-strong);background:#f3faf8;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:9px 10px;font-size:.78rem;font-weight:700;display:flex}.prize-history__claim code{color:var(--foreground);letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.prize-history__pagination{color:var(--muted);text-align:center;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;font-size:.78rem;font-weight:700;display:flex}.prize-history__pagination button:disabled{border-color:var(--panel-border);color:var(--muted);cursor:default;background:#f1f5f9}@media (max-width:380px){.prize-history{padding:16px}.prize-history__header{display:grid}.prize-history__refresh{width:100%}}.rewards-shell__stage{gap:16px;padding:16px;display:grid}.rewards-shell__board{aspect-ratio:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.rewards-shell__tile{border:1px solid var(--panel-border);background:var(--tile);min-width:0;color:var(--foreground);border-radius:6px;place-items:center;font-size:clamp(.72rem,3vw,.95rem);font-weight:800;display:grid}.rewards-shell__tile:nth-child(3n){background:var(--tile-alt)}.rewards-shell__tile:nth-child(7n){background:var(--reward)}.rewards-shell__tile:nth-child(11n){color:var(--danger);background:#ffe4e6}.rewards-shell__actions{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.rewards-shell__input{border:1px solid var(--panel-border);min-width:0;height:46px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 12px}.rewards-shell__button{background:var(--accent);color:#fff;cursor:default;border:0;border-radius:8px;height:46px;padding:0 16px;font-weight:800}.rewards-shell__sections{border-top:1px solid var(--panel-border);background:var(--panel-border);gap:1px;display:grid}.rewards-shell__section{background:#fff;grid-template-columns:70px 1fr;gap:12px;padding:14px 16px;display:grid}.rewards-shell__eyebrow{color:var(--accent-strong);text-transform:uppercase;font-size:.72rem;font-weight:800}.rewards-shell__section-title{margin:0 0 3px;font-size:.98rem;line-height:1.25}.rewards-shell__section-copy{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}@media (min-width:720px){.rewards-shell{align-items:center;padding:40px 24px}.rewards-shell__stage{padding:20px}}.login-form{gap:12px;display:grid}.login-form__label{color:var(--foreground);margin:0;font-size:.95rem}.login-form__row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.login-form__input{border:1px solid var(--panel-border);min-width:0;height:46px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 12px;font-size:1rem}.login-form__input:focus{outline:2px solid var(--accent);outline-offset:-1px}.login-form__button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;height:46px;padding:0 16px;font-weight:800}.login-form__button:disabled{opacity:.5;cursor:default}.login-form__error{color:var(--danger);margin:0;font-size:.85rem}.login-form__verification{margin-top:12px}.login-form__back{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.game-board{--board-ink:#1d1e1b;--board-peach:#ffe3c9;--board-orange:#ed9254;--board-padding:10px;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));grid-template-rows:repeat(var(--rows,8),minmax(0,1fr));--board-gap:7px;gap:var(--board-gap);width:100%;aspect-ratio:var(--cols,5) /var(--display-rows,var(--rows,8));padding:var(--board-padding);background:var(--board-ink);border:1px solid #0000;border-radius:10px;display:grid;position:relative}.game-board__path{z-index:0;pointer-events:none;width:calc(100% - 20px);height:calc(100% - 20px);display:none;position:absolute;inset:10px}.game-board__path path{fill:none;stroke:#94a3b8;stroke-width:.06px;stroke-linecap:round;stroke-linejoin:round;opacity:.42;vector-effect:non-scaling-stroke}.game-board__connections{inset:calc(var(--board-padding) - var(--board-gap) / 2);width:calc(100% - 2 * var(--board-padding) + var(--board-gap));height:calc(100% - 2 * var(--board-padding) + var(--board-gap));z-index:4;pointer-events:none;position:absolute;overflow:visible}.game-board__connection-artwork{filter:drop-shadow(0 6px 8px #00000059)}.game-board__connection--active .game-board__connection-artwork{animation:board-snake-glow .9s ease-out}.game-board__tile{--tile-watermark:var(--board-ink);z-index:auto;background:var(--board-peach);min-width:0;color:var(--board-ink);border:1px solid #0000;border-radius:7px;place-items:center;font-size:clamp(.65rem,2.5vw,.85rem);font-weight:800;display:grid;position:relative}.game-board__tile:not(.game-board__tile--final):not(.game-board__tile--reward):before{content:"";z-index:1;background:var(--tile-watermark);opacity:.3;pointer-events:none;position:absolute;inset:16% 9%;-webkit-mask:url(/assets/board/djs-food-hall.svg) 50%/contain no-repeat;mask:url(/assets/board/djs-food-hall.svg) 50%/contain no-repeat}.game-board__tile--orange{--tile-watermark:var(--board-peach);background:var(--board-orange)}.game-board__tile--final{border-color:#e1b55c;box-shadow:0 0 0 1px #e1b55c}.game-board__tile--current{outline:2px solid var(--board-peach);outline-offset:2px}.game-board__number{z-index:3;background:var(--board-ink);width:clamp(11px,2.8vw,14px);height:clamp(11px,2.8vw,14px);color:var(--board-peach);text-align:center;border-radius:50%;place-items:center;font-size:clamp(.4375rem,1.6vw,.5625rem);line-height:1.1;display:grid;position:absolute;top:3px;right:4px}.game-board__reward-image{z-index:2;border-radius:inherit;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.game-board__prize-label{text-align:center;overflow-wrap:anywhere;padding:16px 4px 4px;font-size:clamp(8px,1.9vw,12px);font-weight:700;line-height:1.2}.game-board__reward-image img{object-fit:cover}.game-board__badges{z-index:5;gap:2px;display:flex;position:absolute;bottom:3px;right:3px}.game-board__badge{border:2px solid #fff;border-radius:999px;place-items:center;width:clamp(15px,4.5vw,19px);height:clamp(15px,4.5vw,19px);display:grid;position:relative;box-shadow:0 3px 8px #18211f2e}.game-board__badge--ladder{background:#15803d}.game-board__badge--setback{background:var(--danger)}.game-board__reward-icon{background:linear-gradient(145deg,#fff7d6,#f6bd4e);border:1px solid #ffffffe0;border-radius:8px;place-items:center;width:clamp(20px,6vw,27px);height:clamp(20px,6vw,27px);font-size:clamp(.78rem,3.5vw,1.12rem);line-height:1;display:grid;box-shadow:0 3px 7px #5c350942}.game-board__reward-icon--coffee{background:linear-gradient(145deg,#fff3d4,#dd9d57)}.game-board__reward-icon--cookie{background:linear-gradient(145deg,#fff5ca,#d99a40)}.game-board__reward-icon--sandwich{background:linear-gradient(145deg,#f2ffe5,#b9d76b)}.game-board__reward-icon--wine{background:linear-gradient(145deg,#fce7f3,#db8bb5)}.game-board__reward-icon--grand{background:radial-gradient(circle at 35% 28%,#fffbd0,#fbbf24 46%,#b45309 100%);border:2px solid #fff7c2;width:clamp(27px,8vw,36px);height:clamp(27px,8vw,36px);font-size:clamp(1.05rem,4.6vw,1.45rem);animation:grand-reward-glow 2.4s ease-in-out infinite;box-shadow:0 0 0 2px #0f766e94,0 4px 9px #78350f85}.game-board__badge-icon{width:58%;height:58%;display:block;position:relative}.game-board__badge-icon--ladder{border-left:2px solid #fff;border-right:2px solid #fff}.game-board__badge-icon--ladder:after,.game-board__badge-icon--ladder:before{content:"";background:#fff;height:2px;position:absolute;left:-1px;right:-1px}.game-board__badge-icon--ladder:before{top:25%}.game-board__badge-icon--ladder:after{bottom:25%}.game-board__badge-icon--setback:before{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;position:absolute;inset:1px 2px 2px;transform:rotate(45deg)}.game-board__marker-layer{inset:var(--board-padding);z-index:6;pointer-events:none;position:absolute}.game-board__marker{width:calc((100% - (var(--cols) - 1) * var(--board-gap)) / var(--cols));height:calc((100% - (var(--rows) - 1) * var(--board-gap)) / var(--rows));transform:translate(calc(var(--marker-col) * (100% + var(--board-gap))),calc(var(--marker-row) * (100% + var(--board-gap))));place-items:center;display:grid;position:absolute;top:0;left:0}.game-board__marker-avatar{filter:drop-shadow(0 1px 1px #ffe3c9)drop-shadow(0 2px 3px #0000008c);object-fit:contain;width:76%;height:84%;transform:translateY(-40%)}.game-board__marker--walking{transition:transform var(--step-duration) linear}.game-board__marker--walking .game-board__marker-avatar{animation:marker-step var(--step-duration) ease-in-out infinite}.game-board__marker--ladder,.game-board__marker--snake{transition:transform var(--jump-duration) cubic-bezier(.4,0,.2,1)}.game-board__marker--ladder .game-board__marker-avatar{animation:marker-boost var(--jump-duration) ease-in-out}.game-board__marker--snake .game-board__marker-avatar{animation:marker-slide var(--jump-duration) ease-in-out}@keyframes marker-step{0%,to{transform:translateY(-40%)}50%{transform:translateY(-48%)}}@keyframes marker-boost{0%,to{transform:translateY(-40%)scale(1)}50%{transform:translateY(-55%)scale(1.08)}}@keyframes marker-slide{0%,to{transform:translateY(-40%)rotate(0)}35%{transform:translateY(-40%)rotate(-8deg)}70%{transform:translateY(-40%)rotate(6deg)}}@keyframes grand-reward-glow{0%,to{filter:drop-shadow(0 2px 3px #78350f52);transform:scale(1)}50%{filter:drop-shadow(0 0 7px #fff8c0e0);transform:scale(1.08)}}@keyframes board-snake-glow{0%,to{filter:drop-shadow(0 6px 8px #00000059)}45%{filter:brightness(1.12)drop-shadow(0 0 18px #ffcf66d9)}}.rewards-game{gap:16px;display:grid}.rewards-game--error,.rewards-game--loading{text-align:center;min-height:200px;color:var(--muted);place-items:center;display:grid}.rewards-game__controls{gap:8px;display:grid}.rewards-game__development-details{border:1px dashed var(--panel-border);background:var(--panel);border-radius:6px;padding:10px 12px}.rewards-game__development-details summary{color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:700}.rewards-game__development-note{color:var(--muted);margin:12px 0 0;font-size:.85rem}.rewards-game__development-actions{flex-wrap:wrap;gap:8px;margin:12px 0 8px;display:flex}.rewards-game__cooldown-button{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.rewards-game__cooldown-button:active:not(:disabled),.rewards-game__cooldown-button:hover:not(:disabled){background:var(--accent-strong)}.rewards-game__cooldown-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.rewards-game__cooldown-button:disabled{border-color:var(--panel-border);color:var(--muted);cursor:not-allowed;background:#e9edf2}.rewards-game__development-qr{color:var(--muted);margin:12px 0 0;font-size:.85rem}.rewards-game__development-qr code{color:var(--foreground);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.rewards-game__history{border-top:1px solid var(--panel-border);padding-top:12px}.rewards-game__history-title{margin:0 0 8px;font-size:.9rem;font-weight:700}.rewards-game__history-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rewards-game__history-item{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:6px 0;font-size:.85rem;display:flex}.rewards-game__claim-code{background:var(--tile-alt);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.dice-roll,.dice-roll__button{gap:8px;display:grid}.dice-roll__button{color:#1d1e1b;cursor:pointer;background:#ffe3c9;border:0;border-radius:10px;grid-template-columns:44px minmax(0,1fr) 44px;justify-content:center;align-items:center;height:52px;padding:0 12px;font-size:1.1rem;font-weight:800;transition:transform .1s,background-color .15s}.dice-roll__button:hover:not(:disabled){background:#ffd3ad}.rewards-shell :is(button,a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.dice-roll__button:active:not(:disabled){transform:scale(.97)}.dice-roll__button:disabled{color:#c9bbad;cursor:not-allowed;background:#46443e;box-shadow:inset 0 0 0 1px #756a5d}.dice-roll__button:disabled .dice-roll__pip{fill:#52616b}.dice-roll__button:disabled .dice-roll__illustration{filter:grayscale(.75)brightness(.9)}.dice-roll__button:disabled .dice-roll__stage:before{background:#18211f1f}.dice-roll__button:disabled .dice-roll__stage--rolling:before,.dice-roll__button:disabled .dice-roll__stage--settling:before{background:#0006}.dice-roll__button:disabled .dice-roll__stage--rolling .dice-roll__pip{fill:#104c3b}.dice-roll__button-label{text-align:center;text-transform:uppercase;letter-spacing:.16em;white-space:nowrap;min-width:72px}.dice-roll__stage{perspective:220px;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.dice-roll__stage:before{content:"";filter:blur(2px);background:#00000040;border-radius:50%;width:28px;height:6px;position:absolute;bottom:0}.dice-roll__die{width:44px;height:44px;transform-style:preserve-3d;display:block;position:relative}.dice-roll__flight{transform-style:preserve-3d;transform-origin:50% 90%;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.dice-roll__cube-view,.dice-roll__rotation{width:30px;height:30px;transform-style:preserve-3d;display:block;position:relative}.dice-roll__cube-view{transform:rotateX(-32deg)rotateY(-45deg)scale3d(.94,.94,.94)}.dice-roll__rotation{transform:rotateX(var(--dice-x)) rotateY(var(--dice-y))}.dice-roll__core-face,.dice-roll__rolling-face{backface-visibility:hidden;place-items:center;display:grid;position:absolute}.dice-roll__rolling-face{background:linear-gradient(145deg,#fffdf7,#f4e7d6 55%,#d8c1a2);border:1px solid #cdb89a;border-radius:4px;width:30px;height:30px;inset:0;box-shadow:inset 1px 1px 2px #fffffff2,inset -1px -1px 2px #6c502b2e}.dice-roll__core-face{background:#e9dac4;border-radius:2px;width:26px;height:26px;inset:2px}.dice-roll__resting{transform-origin:50% 90%;display:block;position:absolute;inset:0}.dice-roll__stage--mirrored{transform:scaleX(-1)}.dice-roll__illustration{width:100%;height:100%;display:block}.dice-roll__die--rolling .dice-roll__rotation{animation:dice-tumble 1s linear infinite}.dice-roll__die--rolling .dice-roll__flight{opacity:1;animation:dice-hop 1s linear infinite}.dice-roll__die--rolling .dice-roll__resting{opacity:0}.dice-roll__stage--rolling:before{animation:dice-shadow 1s linear infinite}.dice-roll__die--settling .dice-roll__rotation{animation:dice-settle var(--dice-settle-duration) cubic-bezier(.16,.85,.3,1) both}.dice-roll__die--settling .dice-roll__flight{animation:dice-land var(--dice-settle-duration) ease-out both}.dice-roll__die--settling .dice-roll__resting{animation:dice-reveal var(--dice-settle-duration) ease-out both}.dice-roll__stage--settling:before{animation:dice-shadow-land var(--dice-settle-duration) ease-out both}.dice-roll__pips{overflow:visible}.dice-roll__result{color:var(--foreground);text-align:center;margin:0;font-size:.8rem;font-weight:700}.dice-roll__error{color:var(--danger);text-align:center;margin:0;font-size:.85rem}@keyframes dice-tumble{0%{transform:rotateX(var(--dice-x)) rotateY(var(--dice-y)) rotate(0deg)}to{transform:rotateX(calc(var(--dice-x) + 2turn)) rotateY(calc(var(--dice-y) + 1turn)) rotate(1turn)}}@keyframes dice-hop{0%{animation-timing-function:cubic-bezier(.15,.65,.35,1);transform:translateY(1px)scale(1.02,.98)}22%{animation-timing-function:cubic-bezier(.55,0,.85,.4);transform:translate(2px,-11px)}38%,43%{animation-timing-function:cubic-bezier(.15,.65,.35,1);transform:translate(1px,1px)scale(1.025,.975)}60%{animation-timing-function:cubic-bezier(.55,0,.85,.4);transform:translate(-1px,-5px)}74%,78%{transform:translateY(1px)scale(1.015,.985)}87%{transform:translateY(-2px)}96%,to{transform:translate(0)scale(1)}}@keyframes dice-settle{0%{transform:var(--dice-release-transform)}to{transform:rotateX(var(--dice-x)) rotateY(var(--dice-y))}}@keyframes dice-shadow{0%,38%,43%,74%,78%,96%,to{opacity:.8;filter:blur(1px);transform:scale(1)}22%{opacity:.25;filter:blur(3px);transform:scale(.6,.7)}60%{opacity:.45;filter:blur(2px);transform:scale(.78,.8)}87%{opacity:.6;filter:blur(1.5px);transform:scale(.9)}}@keyframes dice-land{0%{transform:var(--dice-release-flight,none);opacity:1}35%{opacity:1;transform:translateY(1px)scale(1.025,.975)}58%{opacity:.5;transform:translateY(-2px)}78%,to{opacity:0;transform:none}}@keyframes dice-reveal{0%,30%{opacity:0;transform:translateY(1px)scale(1.025,.975)}58%{opacity:.65;transform:translateY(-2px)rotate(2deg)}80%{opacity:1;transform:translateY(.5px)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes dice-shadow-land{0%{opacity:.45;transform:scale(.8)}35%{opacity:.8;transform:scaleX(1.05)}58%{opacity:.6;transform:scale(.9)}to{opacity:.8;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dice-roll__die--rolling .dice-roll__flight,.dice-roll__die--rolling .dice-roll__rotation,.dice-roll__die--settling .dice-roll__flight,.dice-roll__die--settling .dice-roll__resting,.dice-roll__die--settling .dice-roll__rotation,.dice-roll__stage--rolling:before,.dice-roll__stage--settling:before{animation:none}.dice-roll__die--rolling .dice-roll__flight,.dice-roll__die--settling .dice-roll__flight{opacity:0}.dice-roll__die--rolling .dice-roll__resting,.dice-roll__die--settling .dice-roll__resting{opacity:1}.game-board__marker{transition:none}.game-board__connection--active .game-board__connection-artwork,.game-board__marker .game-board__marker-avatar{animation:none}.game-board__reward-icon--grand{animation-duration:1ms;animation-iteration-count:1}}.countdown{text-align:center;border:1px solid var(--panel-border);background:#f8fafc;border-radius:8px;padding:12px}.countdown__message{color:var(--muted);margin:0 0 4px;font-size:.9rem}.countdown__timer{color:var(--foreground);margin:0;font-size:1.4rem;font-weight:800}.reward-modal__backdrop{z-index:100;background:#00000080;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.reward-modal{text-align:center;background:#fff;border-radius:16px;gap:12px;width:min(100%,340px);padding:32px 24px;display:grid;box-shadow:0 20px 60px #00000040}.reward-modal__icon{font-size:3rem}.reward-modal__title{margin:0;font-size:1.3rem}.reward-modal__reward{color:var(--muted);margin:0;font-size:.95rem}.reward-modal__claim{background:var(--tile-alt);border-radius:8px;gap:4px;padding:12px;display:grid}.reward-modal__claim-label{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.reward-modal__claim-code{letter-spacing:.05em;color:var(--accent-strong);font-family:monospace;font-size:1.2rem;font-weight:800}.reward-modal__close{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;height:46px;margin-top:4px;font-size:1rem;font-weight:800}.rewards-shell .countdown,.rewards-shell .login-form__input,.rewards-shell .reward-modal{background:var(--panel)}.rewards-shell .reward-modal__claim{background:#39342c}.rewards-shell .login-form__button,.rewards-shell .reward-modal__close,.rewards-shell .rewards-game__cooldown-button{color:var(--background)}.rewards-shell .rewards-game__cooldown-button:disabled{color:var(--muted);background:#46443e}.admin-layout{background:var(--background);min-height:100svh}.admin-login{place-items:center;min-height:100svh;padding:24px;display:grid}.admin-login__form{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;gap:16px;width:min(100%,360px);padding:32px 24px;display:grid}.admin-login__title{text-align:center;margin:0;font-size:1.3rem}.admin-login__input{border:1px solid var(--panel-border);border-radius:8px;height:44px;padding:0 12px;font-size:1rem}.admin-login__error{color:var(--danger);text-align:center;margin:0;font-size:.85rem}.admin-login__button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;height:44px;font-weight:700}.admin-login__button:disabled{opacity:.5;cursor:default}.admin-shell{max-width:1100px;margin:0 auto;padding:24px 16px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-header__title{margin:0;font-size:1.4rem}.admin-header__logout{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem}.admin-nav{border-bottom:1px solid var(--panel-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.admin-nav__item{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 16px;font-size:.9rem;font-weight:600}.admin-nav__item--active{color:var(--accent);border-bottom-color:var(--accent)}.admin-view__title{margin:0 0 16px;font-size:1.2rem}.admin-view__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-view__header .admin-view__title{margin-bottom:0}.admin-view__loading{color:var(--muted);text-align:center;padding:40px 0}.admin-view__back{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-bottom:12px;padding:0;font-size:.9rem}.admin-view__meta{color:var(--muted);margin:0 0 20px;font-size:.85rem}.admin-stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.admin-stats__item{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;gap:2px;padding:12px 20px;display:grid}.admin-stats__label{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.admin-stats__value{font-size:1.4rem;font-weight:800}.admin-filter{margin-bottom:12px}.admin-filter--stacked{flex-wrap:wrap;gap:8px;display:flex}.admin-filter__select{border:1px solid var(--panel-border);background:var(--panel);border-radius:6px;height:36px;padding:0 12px;font-size:.85rem}.admin-message{border-radius:6px;margin:0 0 12px;padding:8px 10px;font-size:.85rem}.admin-message--success{color:#17643f;background:#2180541a}.admin-message--error{color:var(--danger);background:#c248391a}.admin-button{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:6px;min-height:36px;padding:0 14px;font-size:.85rem;font-weight:700}.admin-button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.admin-button:disabled{opacity:.5;cursor:default}.admin-form{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;margin-bottom:16px;padding:16px}.admin-form__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-form__header h3{margin:0;font-size:1rem}.admin-form__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-form__field{color:var(--muted);gap:5px;font-size:.75rem;font-weight:700;display:grid}.admin-form__field input,.admin-form__field select{border:1px solid var(--panel-border);min-height:38px;color:var(--foreground);background:#fff;border-radius:6px;padding:0 10px;font-size:.9rem;font-weight:500}.admin-form__field input:disabled,.admin-form__field select:disabled{background:var(--tile-alt);color:var(--muted)}.admin-form__check{align-self:end;align-items:center;gap:8px;min-height:38px;font-size:.85rem;font-weight:700;display:flex}.admin-form__check input{width:16px;height:16px}.admin-form__actions{gap:8px;margin-top:14px;display:flex}.policy-view{max-width:1120px}.policy-view__hero{border:1px solid var(--accent);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding:24px;display:flex}@supports (color:color-mix(in lab,red,red)){.policy-view__hero{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--panel-border))}}.policy-view__hero{background:linear-gradient(135deg,var(--accent) 0,var(--panel) 58%);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.policy-view__hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,var(--panel)) 0,var(--panel) 58%)}}.policy-view__eyebrow,.policy-view__rules-heading>div>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.policy-view__hero .admin-view__title{margin-bottom:8px;font-size:1.5rem}.policy-view__hint,.policy-view__intro{color:var(--muted);margin:0;line-height:1.55}.policy-view__intro{max-width:680px}.policy-view__target{background:var(--panel);border:1px solid var(--panel-border);text-align:right;border-radius:10px;gap:2px;min-width:128px;padding:12px 14px;display:grid}.policy-view__target small,.policy-view__target span{color:var(--muted);font-size:.75rem}.policy-view__target strong{color:var(--accent);font-size:1.35rem}.policy-view__campaign{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:flex}.policy-view__field{max-width:420px;color:var(--muted);letter-spacing:.02em;flex:1;gap:6px;font-size:.75rem;font-weight:800;display:grid}.policy-view input,.policy-view select{border:1px solid var(--panel-border);min-height:38px;color:var(--foreground);font:inherit;background:#fff;border-radius:6px;padding:0 10px}.policy-view__settings{padding:20px}.policy-rule>legend,.policy-view__settings>legend{color:var(--foreground);padding:0 7px;font-weight:800}.policy-rule>.admin-form__grid>label,.policy-view__settings>.admin-form__grid>label{color:var(--muted);gap:6px;font-size:.76rem;font-weight:700;display:grid}.policy-view__hint{border-left:3px solid var(--accent);background:var(--accent);border-radius:0 7px 7px 0;margin-top:16px;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.policy-view__hint{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}}.policy-view__hint{font-size:.85rem}.policy-view__rules-heading{justify-content:space-between;align-items:end;gap:12px;margin:26px 0 12px;display:flex}.policy-view__rules-heading h3{margin:0;font-size:1rem}.policy-view__rules-heading small{color:var(--muted);font-weight:700}.policy-view__rules{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;display:grid}.policy-rule{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;min-width:0;padding:16px}@supports (color:color-mix(in lab,red,red)){.policy-rule{background:color-mix(in srgb,var(--panel) 94%,var(--tile-alt))}}.policy-rule__meta{color:var(--muted);margin:-1px 0 14px;font-size:.79rem}.policy-rule__meta span{color:var(--accent);margin:0 5px}.policy-rule .admin-form__grid{grid-template-columns:1fr;gap:10px}.policy-rule .admin-form__grid+div,.policy-rule .admin-form__grid+label{margin-top:12px}.policy-rule>label{color:var(--foreground);align-items:center;gap:8px;font-size:.84rem;font-weight:700;display:flex}.policy-rule>label input{width:16px;height:16px;min-height:auto;padding:0}.policy-view__actions{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:16px 18px;display:flex}.policy-view__actions>div:first-child{gap:3px;display:grid}.policy-view__actions span{color:var(--muted);font-size:.82rem}.policy-view__actions .admin-form__actions{flex-wrap:wrap;justify-content:flex-end;margin:0}.policy-view__action-status{min-height:1.25em;color:var(--muted);flex-basis:100%;margin:0;font-size:.82rem}.policy-view__preview{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;padding:14px 16px}.policy-view__preview summary{cursor:pointer;color:var(--accent);font-weight:800}.policy-view__preview>:not(summary){margin-top:16px}@media (max-width:640px){.policy-view__actions,.policy-view__campaign,.policy-view__hero{flex-direction:column;align-items:stretch}.policy-view__target{text-align:left}.policy-view__field{max-width:none}.policy-view__actions .admin-form__actions{justify-content:stretch}.policy-view__actions .admin-button{flex:1}}.admin-badge{border-radius:999px;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-badge--success{color:#17643f;background:#2180541f}.admin-badge--muted{background:var(--tile-alt);color:var(--muted)}.admin-badge--warning{color:#7a5516;background:#c5912d24}.admin-section{margin-top:24px}.admin-section h3{margin:0 0 8px;font-size:1rem}.admin-table{border-collapse:collapse;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;width:100%;font-size:.85rem;overflow:hidden}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table th{text-align:left;background:var(--tile-alt);text-transform:uppercase;color:var(--muted);padding:10px 12px;font-size:.75rem;font-weight:700}.admin-table td{border-top:1px solid var(--panel-border);padding:8px 12px}.admin-table__link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.admin-table__link--danger{color:var(--danger)}.admin-table__link:disabled{opacity:.45;cursor:default}.admin-table__actions{flex-wrap:wrap;gap:8px;min-width:180px;display:flex}.admin-table__mono{font-family:monospace;font-size:.8rem}.audit-event-details{overflow-wrap:anywhere}.audit-event-details summary{cursor:pointer}.audit-event-details pre{white-space:pre-wrap;font:inherit;margin:8px 0 0}.admin-pagination{justify-content:center;align-items:center;gap:12px;margin-top:12px;font-size:.85rem;display:flex}.admin-pagination button{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.85rem}.admin-pagination button:disabled{opacity:.4;cursor:default}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}