:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");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,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.block{display:block}.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, )}}:root{--ink:#1c120c;--ink-soft:#2a1c13;--ink-2:#3a281d;--cream:#f6e7c8;--cream-soft:#e8d4ae;--gold:#e9b949;--gold-soft:#f2d27d;--orange:#d9632a;--red:#b53a26;--green:#6fa268;--muted:#b9a58a;--line:#f6e7c829;--shadow:0 24px 70px #00000059;--radius:18px;--font-display:"Cinzel", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, Segoe UI, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at 15% 0%,#d9632a29,transparent 38rem),radial-gradient(circle at 90% 15%,#e9b9491a,transparent 34rem),var(--ink);color:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:700}h1{font-size:clamp(2rem,5vw,4.4rem);line-height:1.03}h2{font-size:clamp(1.35rem,2.6vw,2.1rem)}h3{font-size:1.15rem}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:700}.btn{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1.25rem;font-weight:700;transition:transform .15s,background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.42}.btn-primary{background:linear-gradient(135deg,var(--gold),#d89a2c);color:var(--ink);box-shadow:0 12px 30px #e9b94938}.btn-secondary{border-color:var(--line);background:#f6e7c814}.btn-ghost{border-color:var(--line)}.btn-danger{color:#fff4ea;background:#b53a26eb}.btn-small{padding:.5rem .9rem;font-size:.84rem}.btn-large{padding:.95rem 1.7rem;font-size:1rem}.icon-button{border:1px solid var(--line);color:var(--cream);cursor:pointer;background:#f6e7c814;border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:700}.wordmark{font-family:var(--font-display);letter-spacing:.04em;align-items:center;gap:.55rem;font-size:1.6rem;font-weight:900;display:inline-flex}.wordmark-small{font-size:1.1rem}.wordmark-n{color:var(--gold)}.wordmark-qr{grid-template-rows:repeat(2,7px);grid-template-columns:repeat(2,7px);gap:2px;display:grid}.wordmark-qr i{background:var(--gold);border-radius:1px}.wordmark-qr i:nth-child(2),.wordmark-qr i:nth-child(3){background:var(--cream)}.site-shell{min-height:100vh}.site-header{z-index:2;justify-content:space-between;align-items:center;padding:1.2rem clamp(1rem,4vw,3.5rem);display:flex;position:relative}.site-nav{align-items:center;gap:1.4rem;font-size:.92rem;display:flex}.site-nav a:not(.btn){color:var(--muted)}.site-nav a:not(.btn):hover{color:var(--cream)}.hero{align-items:center;min-height:min(78vh,780px);padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.hero-art{opacity:.8;background:radial-gradient(circle at 78% 22%,#e9b94929,#0000 28rem),radial-gradient(circle at 90% 70%,#d9632a24,#0000 24rem),repeating-linear-gradient(115deg,#f6e7c808 0 1px,#0000 1px 22px);position:absolute;inset:0}.hero-content{z-index:1;max-width:780px;position:relative}.hero-copy{color:var(--cream-soft);max-width:620px;margin:1.2rem 0 2rem;font-size:clamp(1.02rem,1.8vw,1.25rem)}.hero-actions,.button-row,.form-actions,.action-row{flex-wrap:wrap;gap:.8rem;display:flex}.section{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3.5rem)}.section h2{margin-bottom:1.2rem}.how-it-works{border-top:1px solid var(--line)}.step-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.step{border:1px solid var(--line);border-radius:var(--radius);background:#f6e7c80b;padding:1.5rem}.step-number{color:var(--gold);font-family:var(--font-display);margin-bottom:.8rem;font-size:2rem;font-weight:900;display:block}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem;display:flex}.game-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;display:grid}.game-card{border:1px solid var(--line);background:#f6e7c80d;border-radius:22px;overflow:hidden}.game-art{background:radial-gradient(circle at 50% 40%,#d9632a,#5d1f10);justify-content:center;align-items:center;height:210px;display:flex;overflow:hidden}.game-art img{object-fit:contain;max-width:86%;max-height:80%}.soon-art{color:var(--gold);font-family:var(--font-display);background:radial-gradient(circle at 50% 35%,#3a281d,#1c120c);font-size:4rem}.game-card-body{justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.25rem;display:flex}.game-card-body p{color:var(--muted);margin:.4rem 0 0}.game-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem clamp(1rem,4vw,3.5rem);display:flex}.footer-links{gap:1rem;display:flex}.footer-note{flex-basis:100%;margin:0;font-size:.78rem}.content-page{max-width:980px;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3.5rem)}.content-page.narrow{max-width:760px}.lead{color:var(--cream-soft);max-width:760px;font-size:clamp(1rem,1.8vw,1.2rem)}.rules-section{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.4rem}.rules-section li{color:var(--cream-soft);margin:.5rem 0}.rules-table-wrap{overflow-x:auto}.rules-table{border-collapse:collapse;width:100%}.rules-table th,.rules-table td{border-bottom:1px solid var(--line);text-align:left;padding:.9rem}.rules-table th{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.rules-cta{flex-wrap:wrap;gap:.8rem;margin-top:2.5rem;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#f6e7c80d;padding:clamp(1rem,2.6vw,1.5rem)}.controller-lobby .panel,.viewer-lobby .panel,.player-lobby .panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c120ce0}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.field-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.field{flex-direction:column;gap:.4rem;display:flex}.field>span{color:var(--cream-soft);font-size:.84rem;font-weight:600}.field small{color:var(--muted);font-size:.72rem}.field input[type=number],.field input[type=text],.field input:not([type]){border:1px solid var(--line);color:var(--cream);background:#1c120c8c;border-radius:10px;padding:.6rem .7rem}.field input:focus{border-color:var(--gold);outline:none}.field-check{flex-direction:row;align-items:center;gap:.6rem}.field-check input{accent-color:var(--gold);width:20px;height:20px}.settings-form{flex-direction:column;gap:1rem;display:flex}.settings-compact{gap:.8rem}.settings-compact .field-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.form-actions{justify-content:flex-end;margin-top:1.2rem}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#0a0603b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--ink-soft);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;width:100%;max-width:560px;max-height:88vh;padding:1.4rem;overflow:auto}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-body{color:var(--cream-soft)}.modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.2rem;display:flex}.toast-stack{z-index:80;flex-direction:column;gap:.6rem;width:min(92vw,420px);display:flex;position:fixed;top:4.5rem;right:1rem}.toast{background:var(--ink-soft);border:1px solid var(--line);border-left:4px solid var(--gold);box-shadow:var(--shadow);border-radius:12px;padding:.8rem 1rem}.toast-error{border-left-color:var(--red)}.toast-success{border-left-color:var(--green)}.spinner-wrap{color:var(--muted);justify-content:center;align-items:center;gap:.8rem;padding:2rem;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{background:var(--ink-2);object-fit:cover;border-radius:50%;flex:none}.player-list{gap:.65rem;display:grid}.player-chip{border:1px solid var(--line);background:#1c120c6b;border-radius:14px;align-items:center;gap:.8rem;padding:.6rem .7rem;display:flex}.player-chip.is-storyteller{border-color:#e9b9498c;box-shadow:inset 0 0 0 1px #e9b94929}.player-chip-compact{padding:.45rem .5rem}.player-chip-text{flex:1;min-width:0}.player-name-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.player-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.player-meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.78rem;display:flex}.badge{border:1px solid var(--line);color:var(--cream-soft);letter-spacing:.06em;text-transform:uppercase;background:#f6e7c81a;border-radius:999px;padding:.16rem .45rem;font-size:.64rem;font-weight:700}.badge-host{color:var(--gold-soft);background:#e9b94929}.badge-story{color:#ffc4a3;background:#d9632a33}.badge-warn{color:#ffb2a3;background:#b53a2633}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-on{background:var(--green)}.dot-off{background:#66564a}.scoreboard{flex-direction:column;gap:.45rem;display:flex}.score-row{border-radius:10px;align-items:center;gap:.65rem;padding:.45rem .5rem;display:flex}.score-winner{background:#e9b9491f}.score-rank{color:var(--muted);font-family:var(--font-display);width:1.2rem}.score-player{flex:1;min-width:0}.score-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.score-row.is-ready .score-name{color:var(--gold-soft)}.ready-mark{color:var(--gold);font-size:.9rem;font-weight:800}.score-meta{color:var(--muted);align-items:center;gap:.35rem;margin-top:.1rem;font-size:.72rem;display:flex}.score-row .icon-button{padding:.28rem .55rem;font-size:.68rem}.score-points{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:800}.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:2rem;display:flex}.center-page .wordmark{margin-bottom:1rem}.button-row{justify-content:center}.connection-banner{border-bottom:1px solid var(--line);z-index:20;background:#3a281d;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:.6rem 1rem;display:flex;position:relative}.connection-expired,.connection-kicked{background:#b53a26f2}.connection-superseded{background:#e9b94933}.timer{border:1px solid var(--line);color:var(--cream);font-variant-numeric:tabular-nums;background:#1c120c8c;border-radius:999px;padding:.35rem .75rem;font-weight:800}.timer-warn{color:var(--gold)}.timer-danger{color:#ff9d88;border-color:#b53a26b3}.phase-pill,.code-pill{border:1px solid var(--line);letter-spacing:.04em;background:#f6e7c814;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:700}.code-pill{color:var(--gold);font-family:var(--font-display);letter-spacing:.16em}.waiting-line{color:var(--gold-soft);font-weight:600}.add-bot{align-self:flex-start;margin-top:.8rem}.player-shell,.controller-shell,.viewer-shell{flex-direction:column;min-height:100dvh;display:flex}.player-game-shell{height:100dvh;overflow:hidden}.player-topbar,.controller-topbar,.viewer-topbar{border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem clamp(.7rem,3vw,2rem);display:flex;position:relative}.player-topbar-left,.player-topbar-right,.controller-brand,.controller-phase,.controller-links,.viewer-topbar{align-items:center;gap:.6rem;display:flex}.game-name{color:var(--gold-soft);font-family:var(--font-display);letter-spacing:.04em;font-size:.92rem;font-weight:700}.player-topbar .icon-button{font-size:.72rem}.onboarding{align-items:center;min-height:100dvh;padding:clamp(1rem,4vw,3rem);display:grid;position:relative}.onboarding-art{background-image:linear-gradient(90deg,#1c120cf7,#1c120cc7),var(--dixit-background,url(/dixit/background.webp));background-position:50%;background-size:cover;position:absolute;inset:0}.onboarding-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#1c120cd1;border-radius:26px;width:100%;max-width:760px;margin:0 auto;padding:clamp(1.4rem,4vw,2.6rem);position:relative}.onboarding-card h1{margin:.5rem 0;font-size:clamp(1.8rem,5vw,3.4rem)}.onboarding-main{flex-wrap:wrap;align-items:center;gap:1.5rem;margin:1.6rem 0;display:flex}.onboarding-fields{flex-direction:column;flex:1;gap:.9rem;min-width:220px;display:flex}.onboarding-actions{flex-wrap:wrap;gap:.7rem;display:flex}.onboarding-footer{color:var(--muted);margin:0;font-size:.85rem}.player-lobby-shell{background-image:linear-gradient(90deg,#1c120cf0,#1c120cd6),var(--dixit-background,url(/dixit/background.webp));background-position:50%;background-size:cover}.player-lobby{flex-direction:column;gap:1rem;width:100%;max-width:760px;margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.8rem,3vw,1.5rem) 3rem;display:flex}.lobby-self{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lobby-self h1{margin:.2rem 0;font-size:clamp(1.4rem,3vw,2rem)}.lobby-self p{margin:0}.lobby-self-actions{margin-left:auto}.profile-edit{flex-direction:column;gap:.8rem;display:flex}.avatar-edit{align-items:center;gap:.8rem;display:flex}.settings-summary p{margin:.35rem 0}.play-stage{flex-direction:column;flex:1;min-height:0;display:flex}.phase-header{text-align:center;flex-shrink:0;padding:.5rem 1rem 0}.phase-header h1{max-width:720px;margin:.25rem auto;font-size:clamp(1.35rem,4vw,2.2rem)}.phase-round{color:var(--gold);letter-spacing:.08em;font-size:.74rem;font-weight:700}.carousel-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;position:relative}.hand-carousel{cursor:grab;touch-action:none;width:min(100%,900px);max-width:900px;height:100%;min-height:0}.hand-carousel:active{cursor:grabbing}.hand-carousel-swiper{width:100%;height:100%}.hand-carousel .swiper-wrapper{align-items:center}.hand-carousel .swiper-slide.hand-card{height:100%;opacity:var(--card-opacity,.55);transform:scale(var(--card-scale,.78)) translateY(var(--card-y,12px));width:var(--hand-card-width);will-change:transform,opacity;justify-content:center;align-items:center;display:flex}.hand-carousel .hand-card img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:14px;width:100%;height:auto;max-height:100%;display:block}.card-nav{flex-shrink:0;justify-content:center;align-items:center;gap:.8rem;padding:.2rem 1rem;display:flex}.card-counter{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;min-width:4rem}.action-row{flex-shrink:0;justify-content:center;align-items:center;min-height:0;padding:.5rem 1rem .25rem}.waiting-phase{color:var(--cream-soft);text-align:center;max-width:560px;margin:3rem auto;font-size:1.05rem}.waiting-cards{width:100%;max-width:900px;margin:1rem auto}.pause-overlay{z-index:40}.pause-card{background:var(--ink-soft);border:1px solid var(--line);text-align:center;border-radius:22px;padding:2rem}.card-zoom{touch-action:none;z-index:60;background:#080503f5;justify-content:center;align-items:center;animation:.14s ease-out card-zoom-backdrop;display:flex;position:fixed;inset:0;overflow:hidden}.card-zoom-from-card{background:#080503e6}@keyframes card-zoom-backdrop{0%{background-color:#08050300}}.card-zoom-image{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;will-change:transform;-webkit-user-drag:none;max-width:100vw;max-height:100dvh;display:block}.card-zoom-hint{bottom:max(1rem,env(safe-area-inset-bottom));color:var(--muted);pointer-events:none;text-align:center;margin:0;font-size:.8rem;position:absolute;left:0;right:0}.flying-card{pointer-events:none;transform-origin:50%;will-change:transform,opacity;z-index:70;border-radius:14px;animation:.52s cubic-bezier(.2,.7,.2,1) forwards card-fly-away;position:fixed;overflow:hidden}.flying-card img{object-fit:cover;width:100%;height:100%;display:block}@keyframes card-fly-away{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate3d(var(--fly-x),var(--fly-y),0) scale(var(--fly-scale,.16))}}.result-stage{text-align:center;flex-direction:column;flex:1;align-items:center;gap:1rem;padding:clamp(1rem,3vw,2rem);display:flex}.result-stage h1{font-size:clamp(1.8rem,5vw,3.2rem)}.result-scores{text-align:left;width:100%;max-width:560px}.card-table{justify-content:center;align-items:center;width:100%;height:min(58vh,580px);min-height:280px;display:flex}.card-table-row{justify-content:center;align-items:center;width:100%;display:flex}.card-table-card{border-radius:14px;flex:none;margin:0;position:relative}.card-table-card.is-framed{box-shadow:0 0 0 2px #5a4330e6}.card-table-card.is-story{z-index:2;box-shadow:0 0 0 4px #e9b949e6}.card-table-card img{object-fit:contain;border-radius:14px;width:100%;height:100%;display:block}.card-vote-badge{color:#f6e7c8;z-index:3;background:#2a1c13f2;border-radius:15px;justify-content:center;align-items:center;min-width:48px;height:30px;padding:0 .5rem;font-size:1.05rem;font-weight:700;display:flex;position:absolute;bottom:9px;right:-2px}.card-vote-badge.is-story{color:#1c120c;background:#e9b949f2}.table-stage{flex-direction:column;width:100%;height:100%;min-height:280px;display:flex}.table-stage-heading{text-align:center;flex:none;padding:.35rem .75rem .5rem}.table-stage-heading h2{margin:0;font-size:clamp(1.15rem,2.2vw,1.9rem)}.table-stage-heading p{margin:.2rem 0 0}.table-stage-canvas{perspective:1600px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.table-stage-row{justify-content:center;align-items:center;width:100%;display:flex}.table-stage-slot{perspective:1200px;flex:none;position:relative}.table-stage-card{height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--flip-delay,0s);width:100%;position:relative}.table-stage-card.is-flipped{transform:rotateY(180deg)}.table-stage-slot.is-story{z-index:2}.table-stage-slot.is-story:after{content:"";pointer-events:none;border:4px solid #e9b949e6;border-radius:16px;position:absolute;inset:-4px}.table-stage-card-inner{height:100%;transform-style:preserve-3d;width:100%;position:relative}.table-stage-face{backface-visibility:hidden;border-radius:14px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.table-stage-face img{object-fit:contain;border-radius:14px;width:100%;height:100%;display:block}.table-stage-back{background:#2a1c13}.table-stage-front{transform:rotateY(180deg)}.table-stage-empty{color:var(--muted);text-align:center;background:#f6e7c809;border:2px dashed #f6e7c833;border-radius:14px;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;font-size:.72rem;font-weight:700;display:flex}.table-stage-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:150%;font-size:.84rem;font-weight:700;position:absolute;bottom:-1.55rem;left:50%;overflow:hidden;transform:translate(-50%)}.table-stage-slot.is-dimmed .table-stage-front:after,.card-table-card.is-dimmed:after{content:"";pointer-events:none;background:#0000004d;border-radius:14px;position:absolute;inset:0}.table-stage.is-shuffling .table-stage-slot{will-change:transform;z-index:2}.table-stage.is-shuffling .table-stage-slot.is-swapping{animation:table-pair-flight var(--swap-ms,.133s) cubic-bezier(.45,0,.55,1) both;filter:drop-shadow(0 18px 22px #00000080);z-index:3}.table-stage.is-shuffling.is-snapping .table-stage-slot{transition:none;animation:none}@keyframes table-pair-flight{0%{transform:translate(0)scale(1)}50%{transform:translate(calc(var(--swap-x,0px) * .5),var(--swap-y,0px)) scale(1.06)}to{transform:translate(var(--swap-x,0px)) scale(1)}}.controller-lobby,.viewer-lobby{isolation:isolate;position:relative}.controller-lobby:before,.viewer-lobby:before{background-image:linear-gradient(90deg,#1c120ce6,#1c120cc7),var(--dixit-background,url(/dixit/background.webp));content:"";pointer-events:none;z-index:-1;background-position:50%;background-size:cover;position:absolute;inset:0}.controller-lobby{flex:1;grid-template-columns:minmax(280px,1.1fr) minmax(260px,1fr) minmax(260px,.9fr);gap:1rem;padding:clamp(.8rem,2vw,1.5rem);display:grid}.lobby-qr{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;display:flex}.qr-image,.qr-placeholder{background:#fff;border-radius:14px;display:block}.qr-placeholder{opacity:.2}.join-code-display{color:var(--gold);font-family:var(--font-display);letter-spacing:.24em;padding-left:.24em;font-size:clamp(2rem,5vw,3.2rem);font-weight:900}.join-code-display.small{font-size:1.35rem}.pairing-box{border:1px solid var(--line);text-align:left;background:#1c120c66;border-radius:14px;align-items:center;gap:.8rem;margin-top:.5rem;padding:.7rem;display:flex}.pairing-box p{margin:.2rem 0 0}.lobby-players,.lobby-settings{min-width:0}.lobby-settings .btn{width:100%;margin-top:1rem}.host-controls{flex-wrap:wrap;gap:.6rem;display:flex}.host-controls-compact{flex-direction:column}.host-controls-compact .btn{width:100%}.controller-game{flex:1;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:1rem;min-height:0;padding:clamp(.8rem,2vw,1.5rem);display:grid}.controller-board{flex-direction:column;gap:.8rem;min-height:0;display:flex}.controller-table{border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#d9632a1f,#1c120c4d);border-radius:22px;flex:1;justify-content:center;align-items:center;min-height:320px;padding:.5rem;display:flex}.controller-table .table-stage{height:100%;min-height:320px}.controller-table-message{text-align:center;max-width:620px;padding:2rem}.controller-side{flex-direction:column;gap:.8rem;min-height:0;display:flex;overflow:auto}.compact-qr{flex-direction:column;align-items:center;gap:.4rem;display:flex}.controller-scores{flex:1;min-height:0;overflow:auto}.controller-host{flex-direction:column;gap:.7rem;display:flex}.pairing-mini{align-items:center;gap:.6rem;display:flex}.controller-results{text-align:center;margin:0 1rem 1rem}.controller-results .host-controls{justify-content:center;margin-top:1rem}.viewer-shell{background:radial-gradient(circle at 50% 40%,#140d08,#060403 70%)}.viewer-topbar{border-bottom-color:#f6e7c814;justify-content:center}.viewer-lobby{flex:1;grid-template-columns:minmax(280px,1fr) minmax(320px,420px);align-items:center;gap:3rem;padding:clamp(1rem,5vw,4rem);display:grid}.viewer-lobby h1{font-size:clamp(2.4rem,6vw,5.5rem)}.viewer-qr{text-align:center;flex-direction:column;align-items:center;gap:.8rem;display:flex}.viewer-lobby-players{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.viewer-player-mini{background:#f6e7c80d;border:1px solid #f6e7c81a;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .7rem .3rem .3rem;display:flex}.viewer-stage{flex:1;grid-template-rows:auto minmax(0,1fr) auto;gap:.6rem;min-height:0;padding:.8rem clamp(1rem,4vw,3rem) 1rem;display:grid;position:relative}.viewer-players{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.viewer-player{background:#f6e7c80b;border:1px solid #f6e7c81a;border-radius:16px;align-items:center;gap:.55rem;padding:.35rem .8rem .35rem .35rem;display:flex}.viewer-player.is-story{border-color:#e9b94999;box-shadow:0 0 30px #e9b9491f}.viewer-player.is-winner{background:#e9b9491f}.viewer-player-name{font-size:.92rem;font-weight:700;display:block}.viewer-player-score{color:var(--gold);font-size:.82rem;font-weight:800}.viewer-center{justify-content:center;align-items:center;min-height:0;display:flex}.viewer-center .table-stage{height:100%;min-height:280px;max-height:62vh}.viewer-announcement{text-align:center}.viewer-announcement h1{font-size:clamp(2rem,5vw,4rem)}.viewer-qr-mini{z-index:5;background:#060403b8;border:1px solid #f6e7c81f;border-radius:14px;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}.viewer-final{z-index:15;width:min(90vw,460px);max-width:460px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-error{background:var(--ink)}@media(max-width:900px){.controller-lobby,.controller-game{grid-template-columns:1fr}.controller-side{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.viewer-lobby{text-align:center;grid-template-columns:1fr}.viewer-qr{justify-self:center}}@media(max-width:640px){.site-nav a:not(.btn){display:none}.hero{min-height:70vh}.player-topbar{flex-wrap:nowrap}.player-topbar-right{margin-left:auto}.onboarding-main{align-items:flex-start}.controller-results{margin:0 .5rem .8rem}.viewer-player{padding-right:.5rem}.viewer-player-name{font-size:.78rem}.viewer-qr-mini{bottom:.5rem;right:.5rem}.card-table,.table-stage{height:46vh;min-height:240px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@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}
