:root{color-scheme:dark;--bg: #11110f;--surface: #23231f;--ink: #f7f3e8;--sub: #b9b3a5;--line: #4e4c45;--line-strong: #918c80;--field: #302f2a;--accent: #6386ff;--accent-dark: #91a8ff;--accent-tint: #293a68;--tomato: #f06b4d;--sky: #5bc0eb;--sun: #f6c945;--success: #4fc995;--danger: #cf4e3e;--on-bright: #171713;--shadow: 4px 4px 0 rgba(0, 0, 0, .72);--radius: 9px;--radius-lg: 13px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);min-height:100vh;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}.app{max-width:520px;margin:0 auto;padding:16px 20px calc(24px + env(safe-area-inset-bottom))}.app:has(.analytics-consent){padding-bottom:calc(120px + env(safe-area-inset-bottom))}main{display:flex;flex-direction:column;gap:18px;align-items:center;padding-top:8px}button,.button,input,textarea{font:inherit}.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.mascot-mark{width:164px;height:116px;display:grid;place-items:center;margin-bottom:8px;background:var(--sun);border:2px solid var(--on-bright);border-radius:12px;box-shadow:var(--shadow);transform:rotate(-2deg)}.mascot-mark svg{transform:rotate(2deg)}.eyebrow,.phase-kicker{color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.phase-kicker.tiebreak{color:var(--tomato)}.logo{font-size:38px;font-weight:900;letter-spacing:-.045em;display:flex;gap:8px;justify-content:center}.logo .crunch{color:var(--accent)}.logo.small{font-size:20px}.tagline{color:var(--sub);font-size:16px;font-weight:600}.card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px;width:100%;display:flex;flex-direction:column;gap:16px}.enter-card{gap:14px}.card-heading{margin-bottom:2px}.card-heading h2{font-size:19px;font-weight:850}.card-heading span{display:block;margin-top:3px;color:var(--sub);font-size:13px}label{font-size:13px;font-weight:600;color:var(--ink)}input,textarea{font-size:16px;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--field);width:100%;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--sub)}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);background:var(--surface)}button,.button{font-size:15px;font-weight:600;padding:11px 18px;border:0;border-radius:var(--radius);background:var(--field);color:var(--ink);cursor:pointer;min-height:42px;transition:opacity .12s ease,background .12s ease}button.big,.button.big{font-size:16px;min-height:52px;width:100%;background:var(--accent);border:0;box-shadow:3px 3px #000000b8;color:#fff}button:active:not(:disabled),.button:active{box-shadow:none;transform:translate(2px,2px)}button:disabled,.button.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}button.quiet{background:var(--field);font-size:14px;padding:8px 14px;min-height:44px}button.linklike{background:none;border:none;text-decoration:underline;padding:0;min-height:0;font-weight:500}.swatches{display:flex;flex-wrap:nowrap;gap:4px;justify-content:flex-start;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.swatches::-webkit-scrollbar{display:none}.swatch{flex:0 0 44px;width:44px;height:44px;min-height:0;padding:0;display:grid;place-items:center;background:none;border:0;border-radius:50%}.swatch-dot{width:30px;height:30px;border-radius:50%;border:2px solid transparent}.swatch.picked .swatch-dot{border-color:var(--surface);outline:3px solid var(--ink);outline-offset:1px}.divider{text-align:center;color:var(--ink);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.join-row{display:flex;gap:10px}.join-row button{background:var(--accent);color:#fff}.code-input{letter-spacing:.3em;font-size:20px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.site-footer{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--sub);font-size:12px}.site-footer a,.privacy-page a,.settings-page a,.lobby-settings{color:var(--accent-dark);text-underline-offset:3px}.settings-page{width:100%;min-height:100%;justify-content:center;padding:0}.settings-card{width:min(100%,560px);display:flex;flex-direction:column;gap:24px;padding:clamp(20px,5vw,32px);border:0;border-radius:16px;background:#062433e6}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid rgba(189,238,255,.14)}.settings-app{position:relative;isolation:isolate;max-width:none;width:100%;height:100dvh;overflow:hidden;padding:clamp(16px,4vw,32px);background:radial-gradient(circle at 18% 18%,rgba(91,192,235,.18),transparent 30%),linear-gradient(180deg,#087fba,#06466f)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-head>span{display:flex;flex-direction:column;gap:2px}.settings-head small,.settings-copy small{color:var(--sub);font-size:11px;font-weight:750}.settings-head>span>small{color:var(--foam);font-weight:850;letter-spacing:.12em;text-transform:uppercase}.settings-head h1{font-size:clamp(28px,6vw,38px);font-weight:900;letter-spacing:-.035em}.settings-close{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:var(--ink)!important;text-decoration:none}.settings-close svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.settings-close:is(:hover,:focus-visible){background:#ffffff14}.settings-close:active,.settings-card .lang-option:active{transform:scale(.94)}.settings-copy{display:flex;flex-direction:column;gap:3px}.settings-copy strong{font-size:16px;font-weight:850}.settings-card .lang-toggle{gap:4px;padding:4px;border:0;border-radius:12px;background:#0003}.settings-card .lang-option{min-width:52px;min-height:44px;padding:8px 12px;border:0;border-radius:8px;box-shadow:none;transition:background-color .12s ease,color .12s ease,transform 80ms ease}.settings-card .lang-option+.lang-option{border-left:0}.settings-card .lang-option:is(:hover,:focus-visible):not(.active){background:#ffffff14;color:var(--ink)}.settings-sound-toggle{flex:0 0 auto;width:104px;min-height:48px;padding:5px 12px 5px 7px;display:flex;align-items:center;justify-content:flex-start;gap:9px;border:0;border-radius:12px;background:#00000038;color:var(--sub);box-shadow:none;font-size:13px;font-weight:850}.settings-sound-toggle>span{width:28px;height:28px;border-radius:50%;background:var(--line-strong)}.settings-sound-toggle.active{background:var(--accent-tint);color:var(--ink)}.settings-sound-toggle.active>span{background:var(--success)}.settings-sound-toggle:is(:hover,:focus-visible){background:#ffffff1a}@media(max-width:520px){.settings-row{align-items:stretch;flex-direction:column}.settings-card .lang-toggle{display:grid;grid-template-columns:repeat(3,1fr)}}.banner{border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;font-weight:500;font-size:14px;cursor:pointer}.banner.error{background:var(--danger);color:#fff}.banner.notice{background:var(--accent-tint);color:var(--ink)}.dismiss{float:right;font-weight:700}.room-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.room-ticket{flex:1;min-width:0}.room-actions{display:flex;flex-direction:row;align-items:stretch;gap:8px;flex:0 0 auto}.room-actions .lobby-icon-action,.room-actions .chat-open.icon-only{width:52px;height:52px;min-width:52px;min-height:52px;padding:0;display:grid;place-items:center}.lobby-action-icon{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.screen-lobby .chat-mark{width:27px;height:27px;stroke-width:2.35}button.invite-action{min-width:0;padding:8px 14px;min-height:36px;background:var(--accent-tint);color:var(--ink)}.room-label{margin-bottom:2px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark)}.room-code{display:block;font-size:46px;font-weight:900;letter-spacing:.12em;line-height:.98;color:var(--ink)}.room-pin-copy{display:inline-flex;flex-direction:column;align-items:flex-start;padding:2px 8px 4px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.room-pin-copy:hover .room-code,.room-pin-copy:focus-visible .room-code{color:var(--accent)}.room-pin-copy:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.copy-status{margin-top:3px;color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lobby-section{width:100%;padding:15px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg)}.section-title{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.section-title span:first-child{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.section-title span:last-child{color:var(--sub);font-size:12px;font-weight:650}.roster{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start}.chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--surface);padding:5px 8px 5px 5px;border-radius:999px;font-weight:500;font-size:14px}.avatar-initial{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 auto;border:1.5px solid var(--ink);border-radius:50%;color:#fff;font-size:13px;font-weight:850}.avatar-initial.small{width:28px;height:28px;font-size:12px}.chip-name{font-weight:750}.chip-badge{color:var(--sub);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.chip.away{opacity:.45}.roster-entry{display:inline-flex;align-items:center;gap:4px}button.remove-player{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;min-height:30px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.roster-count{font-size:13px;color:var(--sub)}.my-photo{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.photo-slot{width:100%;height:180px;border:0;border-radius:var(--radius-lg);display:grid;align-content:center;justify-items:center;gap:6px;padding:24px;color:var(--sub);font-size:14px;background:var(--field)}.photo-slot strong{color:var(--ink);font-size:16px}.photo-slot span{max-width:290px;text-align:center;line-height:1.4}.lobby-footer,.waiting{text-align:center;font-weight:500;color:var(--sub);width:100%}.lobby-hint{margin-bottom:10px;color:var(--sub);font-size:12px;line-height:1.4}.big-wait{font-size:16px;max-width:340px;margin:0 auto}.polaroid{width:100%;max-width:420px;display:flex;flex-direction:column;gap:8px;align-items:center}.polaroid img,.polaroid video,.media-video-frame{display:block;width:100%;max-height:44vh;object-fit:contain;background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:none}.media-video-frame{aspect-ratio:1;overflow:hidden;display:grid;place-items:center}.media-video-frame video{height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;transform-origin:center}.polaroid .cover{object-fit:cover}.polaroid .letterbox{object-fit:contain}.game-app .polaroid>img{aspect-ratio:1}.polaroid figcaption{font-size:13px;font-weight:500;color:var(--sub)}.photo-loading{width:100%;max-width:420px;height:220px;border-radius:var(--radius-lg);background:var(--field);border:2px solid var(--line)}.photo-load-error{width:100%;max-width:420px;height:220px;display:grid;place-content:center;justify-items:center;gap:10px;border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--field);color:var(--sub);font-size:14px}.privacy-page{align-items:stretch;gap:24px;max-width:680px;margin:0 auto;padding:18px 0 48px}.privacy-page article{padding:28px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.privacy-page h1{margin:6px 0 14px;font-size:clamp(34px,9vw,48px);line-height:1;letter-spacing:-.045em}.privacy-page h2{margin:28px 0 8px;font-size:18px}.privacy-page p{color:var(--sub);font-size:15px;line-height:1.62}.privacy-page p+p{margin-top:12px}.privacy-page .privacy-lede{color:var(--ink);font-size:18px;font-weight:650;line-height:1.45}.privacy-back{align-self:flex-start;font-size:14px;font-weight:700}.play{width:100%}.play-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:4px}.phase-copy{min-width:0}.phase-label{margin-top:3px;font-size:24px;font-weight:900;letter-spacing:-.035em}.countdown{width:62px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:center;padding:4px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--sun);box-shadow:3px 3px #000000b8;color:var(--on-bright)}.countdown strong{font-size:21px;font-weight:900;line-height:1}.countdown span{margin-top:3px;font-size:8px;font-weight:850;letter-spacing:.12em;line-height:1;text-transform:uppercase}.countdown.urgent{background:var(--danger);color:#fff}.phase-track{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:-8px}.phase-track span{height:5px;border:1px solid var(--line-strong);border-radius:0;background:var(--surface)}.phase-track.caption-phase span:first-child,.phase-track.reveal-phase span:nth-child(-n+2),.phase-track.judging-phase span:nth-child(-n+3),.phase-track.results-phase span{border-color:var(--accent);background:var(--accent)}.photo-picker-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.deck-picker-action{width:100%;margin-bottom:12px;background:var(--sun);color:var(--on-bright);text-align:center}.photo-pick{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.photo-pick>label{position:relative;display:block;width:100%}.photo-card-button{position:relative;width:100%;min-height:0;padding:0;display:block;background:transparent;color:inherit;text-align:inherit}.photo-card-button:disabled{pointer-events:none}.card-edit-hint{display:none}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;padding:18px;display:grid;place-items:center;background:#020d14eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.photo-lightbox-panel{position:relative;width:min(620px,100%);max-height:calc(100dvh - 36px);padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:var(--water-deep);box-shadow:none}.photo-lightbox-head{min-height:58px;padding:6px 6px 6px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent}.photo-lightbox-head strong{font-size:16px;font-weight:850}.photo-lightbox-close{width:52px;height:52px;min-height:52px;padding:0;background:transparent;font-size:28px;line-height:1}.photo-lightbox-close:is(:hover,:focus-visible){background:#ffffff14}.photo-lightbox-media{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;padding:0 14px}.photo-lightbox-media .polaroid{width:min(100%,calc(100dvh - 154px),560px);max-width:560px;gap:0;background:transparent}.photo-lightbox-media .polaroid>:is(img,video,.media-video-frame){max-height:min(68dvh,560px);border-radius:10px}.photo-lightbox-media .polaroid>img{width:auto;height:auto;max-width:100%;aspect-ratio:auto;background:var(--water-deep);object-fit:contain}.photo-lightbox-actions{width:100%;padding:12px 14px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:transparent}.photo-lightbox-actions>:is(button,.button){width:100%!important;min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;background:#021f2db8;color:var(--ink);box-shadow:none}.photo-lightbox-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.photo-lightbox-actions>:is(button,.button):is(:hover,:focus-visible){background:#ffffff1a}.photo-pick .polaroid{min-width:0;gap:4px}.photo-pick .polaroid img,.photo-pick .polaroid video,.photo-pick .photo-loading,.photo-pick .photo-load-error,.photo-slot.compact{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1}.photo-pick .polaroid img,.photo-pick .polaroid video{object-fit:cover;box-shadow:none}.photo-pick .polaroid .letterbox{object-fit:contain}.photo-pick .polaroid figcaption{font-size:10px}.photo-slot.compact{padding:8px;border-width:1.5px}.photo-slot.compact strong{font-size:22px}.photo-slot.compact span{font-size:10px}.photo-pick.unavailable{opacity:.48}.photo-action{min-height:34px;padding:7px 8px;text-align:center;font-size:12px}.photo-tip{color:var(--sub);font-size:12px;line-height:1.4;text-align:center}.caption-tally{color:var(--sub);font-size:12px;font-weight:600;text-align:center}.writers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;width:100%}.writer{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.writer.out{opacity:.4}.writer-face{position:relative;display:inline-grid;place-items:center}.writer.out .avatar-initial{filter:grayscale(.7)}.writer-check{position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;background:var(--success);border:1.5px solid var(--surface);border-radius:50%}.writer.in .writer-name{color:var(--ink)}.writer.out .writer-name{color:var(--sub)}.chat-open{position:relative;display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:0;color:var(--ink);font-weight:800;box-shadow:2px 2px 0 var(--shadow)}.chat-open[aria-pressed=true]{background:var(--accent-tint)}.chat-mark{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.chat-open.chat-fixed{position:fixed;top:calc(12px + env(safe-area-inset-top));right:14px;z-index:55}.app:has(.chat-fixed) .play-header{padding-right:88px}.chat-unread{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;background:var(--tomato);color:#fff;border:2px solid var(--bg);border-radius:10px;font-size:11px;font-weight:800}.chat-drawer{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:59;width:min(430px,calc(100vw - 24px));height:min(68vh,540px);min-height:320px;display:none;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.chat-drawer.open{display:flex}.app:has(.chat-drawer.open){padding-bottom:calc(min(68vh,540px) + 36px + env(safe-area-inset-bottom))}.chat-panel-head{display:flex;justify-content:space-between;align-items:center;min-height:68px;padding:12px 14px 12px 18px;border-bottom:0;background:var(--surface)}.chat-panel-title{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.chat-panel-mark,.chat-empty-mark{display:grid;place-items:center;width:36px;height:36px;color:var(--accent-dark);background:var(--accent-tint);border:0;border-radius:9px}.chat-panel-head strong{font-size:18px;font-weight:900;letter-spacing:.01em;line-height:1.1}.chat-panel-title small{color:var(--sub);font-size:10px;font-weight:800;letter-spacing:.13em}.chat-close{width:44px;height:44px;min-height:0;padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;box-shadow:none;color:var(--ink)}.chat-close svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.chat-close:is(:hover,:focus-visible){background:#ffffff14}.chat-log{flex:1;min-height:120px;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.chat-empty{flex:1;display:grid;place-items:center;align-content:center;gap:10px;color:var(--sub);font-size:13px;text-align:center;margin:0}.chat-empty-mark{width:44px;height:44px;color:var(--sub);background:var(--field)}.chat-empty strong{font-size:14px;color:var(--ink)}.chat-line{width:100%;min-width:0;display:flex;gap:8px;align-items:flex-end}.chat-line.mine{flex-direction:row-reverse}.chat-avatar{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;font-size:12px;font-weight:850}.chat-message{width:fit-content;min-width:0;max-width:min(78%,320px);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.chat-line.mine .chat-message{align-items:flex-end}.chat-bubble{display:inline-block;width:auto;min-width:0;max-width:100%;padding:9px 11px;background:var(--field);border:0;border-radius:12px 12px 12px 4px;font-size:14px;line-height:1.35;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.chat-line.mine .chat-bubble{background:var(--accent-tint);border-radius:12px 12px 4px}.chat-who{display:block;font-size:11px;font-weight:800;color:var(--accent-dark);padding-left:2px}.chat-time{padding:0 3px;color:var(--sub);font-size:10px;font-weight:650;line-height:1}.chat-compose{display:flex;gap:8px;align-items:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-top:0;background:var(--surface)}.chat-compose input{flex:1;min-width:0;min-height:44px;padding:10px 13px;background:var(--field);border:0;border-radius:10px;font-size:16px}.chat-compose .chat-send{flex:0 0 auto;width:44px;height:44px;min-height:0;padding:0;display:grid;place-items:center;background:var(--accent);border:0;border-radius:50%;color:#fff;box-shadow:2px 2px 0 var(--shadow)}.chat-send svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:560px){.chat-drawer{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100vw - 16px);height:min(72dvh,560px)}.app:has(.chat-drawer.open){padding-bottom:calc(min(72dvh,560px) + 28px + env(safe-area-inset-bottom))}}.photo-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;gap:12px;padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.game-app:has(.photo-preview) .scene-curtain{visibility:hidden}.photo-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.photo-preview-head strong{font-size:17px;font-weight:850}.photo-preview-head span{color:var(--sub);font-size:12px;font-weight:600}.photo-preview-stage{display:grid;place-items:center;position:relative;overflow:hidden;background:var(--field);border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:none;touch-action:none;cursor:grab}.photo-preview-frame{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.photo-preview-stage:active{cursor:grabbing}.crop-guide{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:5;border:0;pointer-events:none}.crop-handle{position:absolute;width:42px;height:42px;min-height:42px;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;pointer-events:auto;touch-action:none}.crop-handle:before,.crop-handle:after{content:"";position:absolute;background:var(--sun);border-radius:999px}.crop-handle.nw{top:-10px;left:-10px;cursor:nwse-resize}.crop-handle.ne{top:-10px;right:-10px;cursor:nesw-resize}.crop-handle.sw{bottom:-10px;left:-10px;cursor:nesw-resize}.crop-handle.se{right:-10px;bottom:-10px;cursor:nwse-resize}.crop-handle.nw:before{top:10px;left:10px;width:20px;height:4px}.crop-handle.nw:after{top:10px;left:10px;width:4px;height:20px}.crop-handle.ne:before{top:10px;right:10px;width:20px;height:4px}.crop-handle.ne:after{top:10px;right:10px;width:4px;height:20px}.crop-handle.sw:before{bottom:10px;left:10px;width:20px;height:4px}.crop-handle.sw:after{bottom:10px;left:10px;width:4px;height:20px}.crop-handle.se:before{right:10px;bottom:10px;width:20px;height:4px}.crop-handle.se:after{right:10px;bottom:10px;width:4px;height:20px}.photo-preview-stage:has(video.letterbox){touch-action:auto;cursor:default}.video-preview{position:absolute;top:0;right:0;bottom:0;left:0;flex:none;width:100%;height:100%;max-width:none;max-height:none;background:#000;user-select:none;-webkit-user-select:none;will-change:transform}.video-preview.letterbox{object-fit:contain}.video-preview.cover{pointer-events:none}.video-trim{width:min(100%,420px);margin:0 auto;display:flex;flex-direction:column;gap:8px;color:var(--sub);font-size:12px;font-weight:650}.video-trim-copy,.video-trim-options{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.video-trim-copy strong{color:var(--ink);font-variant-numeric:tabular-nums}.video-trim-editor{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px;width:100%}.video-start-frame{position:relative;width:62px;height:46px;overflow:hidden;display:grid;place-items:center;border-radius:8px;background:var(--field);color:var(--accent-dark)}.video-start-frame img{width:100%;height:100%;object-fit:cover}.video-start-frame small{position:absolute;right:3px;bottom:3px;padding:1px 4px;border-radius:4px;background:#06151fd1;color:#fff;font-size:9px;font-variant-numeric:tabular-nums}.video-range{position:relative;height:46px}.video-range-track,.video-range-selection{position:absolute;top:17px;height:12px;border-radius:999px}.video-range-track{inset-inline:0;background:var(--field)}.video-range-selection{left:var(--trim-start);right:calc(100% - var(--trim-end));min-width:2px;background:var(--accent)}.video-range input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:46px;min-height:0;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;accent-color:var(--accent)}.video-range input[type=range]::-webkit-slider-runnable-track{height:12px;background:transparent}.video-range input[type=range]::-webkit-slider-thumb{width:24px;height:34px;margin-top:-11px;border:3px solid var(--accent);border-radius:8px;background:var(--ink);box-shadow:0 4px 10px #00000052;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;cursor:ew-resize}.video-range input[type=range]::-moz-range-track{height:12px;background:transparent}.video-range input[type=range]::-moz-range-thumb{width:20px;height:30px;border:3px solid var(--accent);border-radius:8px;background:var(--ink);box-shadow:0 4px 10px #00000052;pointer-events:auto;cursor:ew-resize}.video-sound-toggle{min-width:84px}.video-drag-hint{max-width:145px;line-height:1.25}.photo-preview-stage img{flex:none;max-width:none;max-height:none;user-select:none;-webkit-user-select:none;will-change:transform}.photo-preview-stage .photo-preview-image.letterbox{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;background:var(--water-deep)}.photo-preview-actions{display:flex;gap:10px}.video-fit-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(100%,420px);margin:0 auto}.video-fit-choice button{min-height:58px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--field);box-shadow:none;color:var(--ink);font-size:14px;font-weight:750}.video-fit-choice button.selected{background:var(--accent);color:#fff}.video-fit-choice svg{width:34px;height:34px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}.video-fit-choice .fit-icon-media{fill:currentColor;opacity:.28}.video-fit-choice .fit-icon-crop{fill:none;stroke-width:2.2}.photo-preview-actions .big{flex:1;width:auto}.photo-preview .field-error{text-align:center}@media(max-height:900px){.photo-preview{gap:8px;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.caption-form{width:100%;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.caption-form>input{min-height:48px;padding:11px 13px}.form-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-row button{flex:0 0 auto;width:auto;min-height:44px;padding-inline:20px}.status-card{width:100%;display:flex;flex-direction:column;gap:4px;padding:4px 0;text-align:center}.status-card.success{color:var(--ink)}.status-card strong{font-size:16px}.status-card span{color:var(--sub);font-size:13px}.status-shark{height:58px;margin-bottom:2px;animation:shark-wait 2.3s ease-in-out infinite}@keyframes shark-wait{0%,to{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.status-shark{animation:none}}.char-count{font-size:13px;color:var(--sub)}.report-action{min-height:44px;padding:5px 10px;border:0;background:transparent;box-shadow:none;color:var(--sub);font-size:11px;font-weight:600}.polaroid+.report-action{margin-top:-18px}.report-action:active:not(:disabled){transform:none}.caption-entry{width:100%;display:flex;flex-direction:column;align-items:flex-end}.judging-layout{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%}.judging-layout .polaroid{max-width:280px}.caption-list{display:flex;flex-direction:column;gap:11px;width:100%}.caption-strip{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;font-size:16px;font-weight:650;background:var(--surface);border:0;border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;position:relative;padding:10px 13px 10px 10px;min-height:58px;transition:transform .12s ease}.caption-strip:hover:not(:disabled){transform:translateY(-1px)}.caption-letter{width:32px;height:32px;display:grid;place-items:center;background:var(--accent-tint);border:1.5px solid var(--accent);border-radius:50%;color:var(--accent-dark);font-size:12px;font-weight:900}.caption-copy{text-align:left}.caption-strip:disabled{opacity:1;color:var(--ink);cursor:default}.caption-strip.mine,.caption-strip.mine:disabled{background:var(--field);color:var(--sub);box-shadow:none}.caption-strip.mine .caption-letter{background:var(--surface);border-color:var(--line-strong);color:var(--sub)}.pick-tag{color:var(--accent-dark);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reveal-layout{width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}.reveal-layout .polaroid{max-width:290px}.photo-reveal-stage{width:min(100%,290px);display:grid;perspective:900px}.photo-reveal-image,.photo-reveal-cover{grid-area:1 / 1}.photo-reveal-image{opacity:0;transform:scale(.88) rotate(-2deg);transition:opacity .4s ease .12s,transform .7s cubic-bezier(.2,.85,.25,1.15) .08s}.photo-reveal-image .polaroid img,.photo-reveal-image .polaroid video,.photo-reveal-image .photo-loading,.photo-reveal-image .photo-load-error{height:220px}.photo-reveal-stage.is-revealed .photo-reveal-image{opacity:1;transform:scale(1) rotate(0)}.photo-reveal-cover{min-height:220px;display:grid;place-content:center;justify-items:center;align-self:stretch;padding:20px;color:#fff;background:var(--accent);border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow);transform-origin:top center;transition:opacity .3s ease .2s,transform .65s cubic-bezier(.55,.08,.3,1);backface-visibility:hidden}.photo-reveal-cover span,.photo-reveal-cover small{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.photo-reveal-cover strong{margin:-2px 0 -6px;font-size:78px;font-variant-numeric:tabular-nums;line-height:1}.photo-reveal-stage.is-revealed .photo-reveal-cover{opacity:0;transform:translateY(-28px) rotateX(78deg) scale(.96);pointer-events:none}.reveal-waiting{width:100%;min-height:96px;display:grid;place-items:center;padding:18px;color:var(--sub);font-size:15px;font-weight:700;text-align:center}.reveal-card{width:100%;min-height:96px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;padding:18px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);animation:reveal-in .24s ease-out}.reveal-card .caption-letter{width:40px;height:40px}.reveal-card strong{font-size:20px;line-height:1.3}.reveal-progress{display:flex;gap:7px}.reveal-progress span{width:9px;height:9px;background:var(--line);border-radius:50%}.reveal-progress span.shown{background:var(--accent)}.reveal-note{margin-top:-8px;color:var(--sub);font-size:12px;text-align:center}@keyframes reveal-in{0%{opacity:0;transform:translateY(8px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.mine-tag{position:static;color:var(--sub);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.results-layout{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.results-layout .polaroid{max-width:240px}.results-list-wrap{position:relative;width:100%}.results-list{list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:10px}.shark-swim{position:absolute;top:-34px;left:0;pointer-events:none;z-index:4;animation:shark-swim 1.9s cubic-bezier(.4,0,.5,1) .2s 1 both}@keyframes shark-swim{0%{left:108%;transform:translateY(0) rotate(-3deg)}50%{transform:translateY(6px) rotate(2deg)}to{left:-30%;transform:translateY(0) rotate(-3deg)}}.result.losing{animation:chomp .55s ease-in var(--chomp-delay, .4s) both}@keyframes chomp{0%{opacity:1;transform:scale(1) rotate(0)}45%{transform:scale(1.03) rotate(-1.2deg)}70%{transform:scale(.9) rotate(1.5deg);opacity:.55}to{transform:translate(-35vw) scale(.08) rotate(-7deg);opacity:0}}@media(prefers-reduced-motion:reduce){.shark-swim{display:none}.result.losing{animation:none;opacity:.55}}.result{position:relative;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.result.winner{padding-top:32px;background:#3a311a;border:2px solid var(--ink);box-shadow:var(--shadow)}.save-keepsake{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:8px 14px;min-height:40px;background:var(--sun);color:var(--on-bright);border:0;border-radius:var(--radius);font-size:13px;font-weight:800}.save-keepsake svg{width:16px;height:16px}.save-keepsake:disabled{opacity:.6}.winner-label{position:absolute;top:0;left:0;padding:5px 9px;background:var(--sun);border-right:2px solid var(--on-bright);border-bottom:2px solid var(--on-bright);color:var(--on-bright);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.result-caption{font-size:16px;font-weight:800}.result-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px}.result-kind{color:var(--sub)}.points{margin-left:auto;font-weight:600;color:var(--accent-dark)}.taste-bonus{width:100%;display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--accent-tint);border:1.5px solid var(--accent);border-radius:var(--radius)}.taste-bonus strong{color:var(--accent-dark);font-size:14px}.taste-bonus span{color:var(--sub);font-size:12px}.scoreboard{width:100%;padding:14px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius)}.score-entry{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:14px}.score-entry strong{font-size:15px}.rank{color:var(--sub);font-size:11px;font-weight:800}.ready-count{min-width:76px;padding:10px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--sun);color:var(--on-bright);font-size:12px;font-weight:850;text-align:center}.ready-next{width:min(100%,320px);align-self:center}.ready-note{margin-top:-10px;color:var(--sub);font-size:12px;font-weight:650;text-align:center}.podium{list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:10px}.podium li{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:12px 14px;position:relative}.podium li.champ{background:#3a311a;border-color:var(--sun)}.podium-name{font-weight:600}.podium-score{margin-left:auto;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}.podium-rank{width:22px;color:var(--sub);font-size:12px;font-weight:850}.final-title{margin-top:-8px;font-size:30px;font-weight:900;letter-spacing:-.04em}.champion-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:2px 12px;align-items:center;padding:18px;background:var(--sun);border:2px solid var(--on-bright);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--on-bright)}.champion-avatar{width:54px;height:54px;display:grid;place-items:center;border:2px solid var(--on-bright);border-radius:50%;color:#fff;font-size:23px;font-weight:900}.champion-avatars{grid-row:1 / 3;display:flex;align-items:center}.champion-avatars .champion-avatar+.champion-avatar{margin-left:-12px}.champion-kicker{grid-column:3;grid-row:1 / 3;color:var(--on-bright);font-size:25px;font-weight:900}.champion-card strong{font-size:21px;font-weight:900}.champion-card>span:last-child{color:#59400a;font-size:13px;font-weight:700}.final-score-title{margin-bottom:-8px}.field-error{color:var(--danger);font-weight:500;font-size:14px}.analytics-consent{position:fixed;z-index:20;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));max-width:620px;margin-inline:auto;display:flex;align-items:center;gap:18px;padding:14px 16px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:5px 5px 0 var(--sun)}.analytics-consent>div:first-child{display:flex;flex:1;flex-direction:column;gap:3px}.analytics-consent strong{font-size:15px}.analytics-consent span{color:var(--sub);font-size:12px;line-height:1.35}.analytics-consent-actions{display:flex;gap:8px}.analytics-consent-actions button{min-height:44px;padding:8px 12px;font-size:12px}.dashboard{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:32px 0 56px;align-items:stretch;gap:24px}.dashboard h1{font-size:clamp(34px,6vw,64px);line-height:.95;letter-spacing:-.055em}.dashboard h2{font-size:22px}.dashboard-header{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding-bottom:22px;border-bottom:2px solid var(--ink)}.dashboard-header>div:first-child{display:flex;flex-direction:column;gap:8px}.dashboard-header p:not(.eyebrow){max-width:680px;color:var(--sub);font-size:14px}.dashboard-header-actions{display:flex;align-items:center;gap:10px}.dashboard-header-actions svg{margin-right:6px;animation:dashboard-shark 2.8s ease-in-out infinite}@keyframes dashboard-shark{0%,to{transform:translate(0) rotate(-1deg)}50%{transform:translate(-8px) rotate(2deg)}}.dashboard-header-actions button{min-height:40px;padding:8px 12px;font-size:12px}.dashboard-scoreboard{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink);box-shadow:var(--shadow)}.dashboard-score{min-width:0;display:flex;flex-direction:column;gap:5px;padding:18px;background:var(--surface);border-right:1px solid var(--line-strong)}.dashboard-score:last-child{border-right:0}.dashboard-score span{color:var(--sub);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.dashboard-score strong{color:var(--sun);font-size:clamp(30px,5vw,52px);font-weight:900;font-variant-numeric:tabular-nums}.dashboard-score small{color:var(--sub);font-size:11px}.dashboard-panel{display:flex;flex-direction:column;gap:18px;padding:22px;background:var(--surface);border:2px solid var(--ink);box-shadow:var(--shadow)}.dashboard-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.dashboard-panel-heading strong{color:var(--sun);font-size:13px}.dashboard-bars{height:190px;display:grid;grid-template-columns:repeat(14,1fr);gap:7px;align-items:end;padding-top:20px;border-bottom:2px solid var(--ink)}.dashboard-day{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.dashboard-day>span{color:var(--sub);font-size:10px;font-variant-numeric:tabular-nums}.dashboard-bar{width:100%;max-width:38px;min-height:4px;background:var(--sun);border:1.5px solid var(--on-bright);border-bottom:0}.dashboard-day small{min-height:12px;color:var(--sub);font-size:9px;font-variant-numeric:tabular-nums}.dashboard-ledger{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}.dashboard-ledger>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}.dashboard-ledger span{color:var(--sub);font-size:13px}.dashboard-ledger strong{color:var(--sun);font-size:20px;font-variant-numeric:tabular-nums}.dashboard-updated{align-self:flex-end;color:var(--sub);font-size:11px}.dashboard-login{max-width:430px;min-height:100vh;justify-content:center;text-align:center}.dashboard-login>svg{align-self:center}.dashboard-login>p:not(.eyebrow){color:var(--sub);line-height:1.45}.dashboard-login form{display:flex;flex-direction:column;gap:10px;padding:20px;text-align:left;background:var(--surface);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--sun)}.dashboard-login form button{margin-top:4px}.dashboard-login>a{color:var(--sub);font-size:13px}.dashboard-error{color:#ff9b89;font-size:12px}.dashboard-loading{min-height:320px;display:grid;place-items:center;color:var(--sub)}@media(max-width:720px){.app:has(.analytics-consent){padding-bottom:calc(200px + env(safe-area-inset-bottom))}.analytics-consent{align-items:stretch;flex-direction:column;gap:12px}.analytics-consent-actions button{flex:1}.room-header{align-items:stretch;flex-direction:column;gap:10px}.room-actions{width:100%}.room-actions>button{flex:1}.dashboard{width:min(100% - 28px,1120px);padding-top:20px}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header-actions{width:100%}.dashboard-header-actions svg{margin-right:auto}.dashboard-scoreboard{grid-template-columns:repeat(2,1fr)}.dashboard-score:nth-child(2){border-right:0}.dashboard-score:nth-child(-n+2){border-bottom:1px solid var(--line-strong)}.dashboard-panel-heading{align-items:flex-start;flex-direction:column}.dashboard-bars{gap:3px}.dashboard-day small{font-size:8px}.dashboard-ledger{grid-template-columns:1fr}}@media(max-width:380px){.app{padding-inline:14px}.logo{font-size:34px}.card{padding:18px}.phase-label{font-size:21px}.chip-badge{display:none}.privacy-page article{padding:20px}}@media(prefers-reduced-motion:reduce){.photo-reveal-image,.photo-reveal-cover{transition-duration:.01ms;transition-delay:0ms}.reveal-card{animation:none}.dashboard-header-actions svg{animation:none}}.site-footer{flex-wrap:wrap}.lang-toggle{display:inline-flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--surface)}.lang-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--sub);font:inherit;font-weight:800;font-size:12px;letter-spacing:.04em;padding:5px 11px;min-height:30px;cursor:pointer}.lang-option+.lang-option{border-left:2px solid var(--line)}.lang-option.active{background:var(--sun);color:var(--on-bright)}.lobby-lang{align-self:center;margin-top:4px}:root{--bg: #06151f;--surface: #102733;--field: #183746;--line: #294855;--line-strong: #557482;--ink: #f4f7f2;--sub: #a7bbc3;--accent: #4f91ff;--accent-dark: #8cb9ff;--accent-tint: #153e62;--water: #087fba;--water-deep: #06466f;--foam: #bdeeff;--shadow: 0 12px 28px rgba(0, 0, 0, .34);--radius: 12px;--radius-lg: 16px}.game-app{position:relative;isolation:isolate;min-height:100dvh}.game-app>:not(.ocean-scene,.ocean-transition){position:relative;z-index:1}.game-app button,.game-app .button{border:0;box-shadow:0 6px 16px #0000003d}.game-app button.linklike,.game-app button.report-action,.game-app button.room-pin-copy,.game-app button.swatch,.game-app button.photo-card-button,.game-app .lang-option{box-shadow:none}.game-app button:focus-visible,.game-app .button:focus-visible,.game-app input:focus-visible,.game-app textarea:focus-visible,.game-app [role=radio]:focus-visible{outline:2px solid var(--foam);outline-offset:3px}.game-app input,.game-app textarea{border:0;background:var(--field)}.game-app input:focus,.game-app textarea:focus{border:0;background:var(--surface)}.game-app :where(.mascot-mark,.card,.lobby-section,.chip,.avatar-initial,.countdown,.photo-slot,.photo-loading,.photo-load-error,.photo-preview-stage,.caption-form,.caption-strip,.photo-reveal-cover,.reveal-card,.result,.result.winner,.taste-bonus,.scoreboard,.ready-count,.podium li,.champion-card,.champion-avatar,.chat-drawer,.chat-open,.lang-toggle){border:0}.game-app .polaroid :where(img,video,.media-video-frame){border:0;box-shadow:none}.game-app .card,.game-app .caption-form,.game-app .result,.game-app .champion-card{box-shadow:var(--shadow)}.game-app button.big,.game-app .button.big,.game-app .ready-next,.game-app .photo-preview-actions .big{background:var(--accent);color:#fff}.game-app button.quiet,.game-app .button.quiet{background:var(--field);color:var(--ink)}.game-app .countdown,.game-app .photo-reveal-cover{box-shadow:0 8px 22px #00000047}.game-app .result.winner{background:var(--accent-tint);border:0}.game-app .ready-count{background:var(--accent);color:#fff}.game-app .podium li.champ{background:var(--accent-tint)}.game-app .champion-card{background:var(--accent);color:#fff}.game-app .champion-card>span:last-child{color:#ffffffc7}.game-app .save-keepsake{background:var(--accent);color:#fff;box-shadow:0 6px 16px #0000003d}.game-app .swatch.picked .swatch-dot{border-color:transparent;outline-color:var(--sun)}.game-app .phase-track span,.game-app .writer-check,.game-app .chat-unread,.game-app .lang-option+.lang-option{border:0}.game-app .photo-slot{background:color-mix(in srgb,var(--field) 88%,var(--water) 12%)}.game-app .photo-slot strong{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--sun);color:var(--on-bright);font-size:24px}.game-app .score-entry{border:0}.game-app .score-entry:nth-child(2n){margin-inline:-8px;padding-inline:8px;border-radius:6px;background:color-mix(in srgb,var(--field) 72%,transparent)}.game-app .winner-label{border:0;border-radius:var(--radius) 0 var(--radius) 0}.game-app .chat-open[aria-pressed=true],.game-app .video-fit-choice button.selected{background:var(--accent);color:#fff}.game-app .lang-toggle{gap:3px;padding:3px}.game-app .lang-option{border-radius:999px}.game-app.screen-lobby{max-width:620px}.screen-lobby main.lobby{min-height:calc(100dvh - 40px - env(safe-area-inset-bottom));justify-content:flex-end;gap:10px;padding-top:clamp(80px,16vh,150px)}.screen-lobby .room-header,.screen-lobby .lobby-section{background:#06151fe0;box-shadow:0 10px 30px #0000003d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.screen-lobby .room-header{display:grid;grid-template-columns:minmax(190px,1fr) minmax(280px,1.45fr) minmax(190px,1fr);grid-template-areas:"pin roster actions";align-items:center;column-gap:clamp(14px,2.5vw,28px);padding:6px 2px;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.screen-lobby .lobby-section{padding:13px 15px}.screen-lobby .roster-section{grid-area:roster;position:relative;min-height:76px;padding:4px 0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.screen-lobby .my-photo{padding:4px 0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.screen-lobby .roster{position:relative;z-index:2;min-height:inherit}.roster-shark{position:absolute;z-index:1;top:8px;left:-58px;opacity:.78;animation:roster-shark-loop 20s linear infinite;pointer-events:none}.roster-shark-bubbles{position:absolute;left:-2px;top:7px;width:20px;height:28px}.roster-shark-bubbles i{position:absolute;left:0;bottom:0;width:7px;height:7px;border:2px solid rgba(189,238,255,.9);border-radius:50%;animation:roster-bubble-rise 2.8s ease-in infinite}.roster-shark-bubbles i:nth-child(2){left:8px;width:5px;height:5px;animation-delay:-.9s}.roster-shark-bubbles i:nth-child(3){left:3px;width:4px;height:4px;animation-delay:-1.8s}@keyframes roster-bubble-rise{0%{transform:translateY(0) scale(.65);opacity:0}20%{opacity:.9}to{transform:translateY(-34px) translate(-5px) scale(1.15);opacity:0}}@keyframes roster-shark-loop{0%{left:-58px;top:8px;transform:scaleX(-1) rotate(2deg)}12.5%{left:18%;top:-22px;transform:scaleX(-1) rotate(7deg)}25%{left:calc(50% - 35px);top:-28px;transform:scaleX(-1) rotate(0)}37.5%{left:calc(82% - 35px);top:-22px;transform:scaleX(-1) rotate(-7deg)}49.9%{left:calc(100% - 14px);top:8px;transform:scaleX(-1) rotate(-2deg)}50%{left:calc(100% - 14px);top:8px;transform:scaleX(1) rotate(2deg)}62.5%{left:calc(82% - 35px);top:calc(100% - 20px);transform:scaleX(1) rotate(7deg)}75%{left:calc(50% - 35px);top:calc(100% - 14px);transform:scaleX(1) rotate(0)}87.5%{left:18%;top:calc(100% - 20px);transform:scaleX(1) rotate(-7deg)}99.9%{left:-58px;top:8px;transform:scaleX(1) rotate(-2deg)}to{left:-58px;top:8px;transform:scaleX(-1) rotate(2deg)}}.screen-lobby :is(.roster-section,.my-photo) .section-title{padding-inline:2px}.screen-lobby .roster{gap:12px 18px;justify-content:center}.screen-lobby .room-ticket{grid-area:pin;justify-self:start}.screen-lobby .room-actions{grid-area:actions;justify-self:end}.screen-lobby .room-actions :is(.lobby-icon-action,.chat-open.icon-only){border:0;background:transparent;box-shadow:none}.screen-lobby .roster-entry .chip{padding:5px 13px 5px 5px;gap:9px;border:0;border-radius:999px;background:#073a4ff0;box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.screen-lobby .avatar-initial{width:36px;height:36px;border-width:2px;font-size:15px}.screen-lobby .chip-name{color:#fff;font-size:14px;font-weight:850}.screen-lobby .room-code{color:var(--sun);font-size:44px;letter-spacing:.09em;text-shadow:0 2px 0 rgba(0,0,0,.24)}.screen-lobby .room-label{color:#fffffff0;font-size:13px;font-weight:900}.screen-lobby .copy-status{color:#ffffffe6;font-size:12px;font-weight:850}.screen-lobby .lobby-footer{padding:4px 12px calc(8px + env(safe-area-inset-bottom))}.ocean-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#06151f00 35%,#06466f29)}.ocean-scene-water{position:absolute;left:-6%;right:-6%;bottom:-8%;height:43%;overflow:hidden;border-radius:50% 50% 0 0/7% 7% 0 0;background:linear-gradient(180deg,#087fba85,#06466fe6);box-shadow:inset 0 18px 40px #bdeeff14}.ocean-scene.full .ocean-scene-water{height:116%;border-radius:0;background:radial-gradient(circle at 82% 34%,rgba(91,192,235,.13),transparent 28%),linear-gradient(180deg,#087fbad1,#06466ffa)}.ocean-transition-water:before{content:"";position:absolute;z-index:2;top:-23px;left:0;width:100%;height:46px;background:radial-gradient(circle at 24px 24px,currentColor 0 23px,transparent 24px) 0 0 / 64px 46px repeat-x;color:#087fbaf0}.ocean-scene-shark{position:absolute;z-index:3;top:42%;left:calc(100% + 180px);filter:drop-shadow(0 8px 8px rgba(0,0,0,.22));animation:ocean-shark-loop 14s linear infinite;animation-delay:-3.5s}.ocean-scene-shark>svg{display:block}.shark-mouth-bubbles{position:absolute;z-index:4;left:4px;top:35px;width:34px;height:34px}.shark-mouth-bubbles span{position:absolute;left:4px;top:8px;width:16px;height:16px;border:3px solid rgba(214,246,255,.94);border-radius:50%;background:#5bc0eb38;box-shadow:inset 2px 2px #ffffff47;animation:shark-mouth-bubble 4.8s ease-out infinite both}.shark-mouth-bubbles span:nth-child(2){width:22px;height:22px;animation-delay:1.1s}.shark-mouth-bubbles span:nth-child(3){width:12px;height:12px;animation-delay:2.2s}.shark-mouth-bubbles span:nth-child(4){width:19px;height:19px;animation-delay:3.3s}.ocean-scene.full .ocean-scene-shark{top:15%}.ocean-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden}.ocean-bubbles span{position:absolute;left:var(--bubble-x);bottom:-24px;width:var(--bubble-size);height:var(--bubble-size);border:1.5px solid rgba(189,238,255,.68);border-radius:50%;animation:ocean-bubble-rise var(--bubble-duration) linear var(--bubble-delay) infinite}@keyframes ocean-shark-loop{0%{transform:translate(0) translateY(3px) rotate(-2deg)}48%{transform:translate(calc(-50vw - 260px)) translateY(-8px) rotate(2deg)}to{transform:translate(calc(-100vw - 420px)) translateY(3px) rotate(-2deg)}}@keyframes ocean-bubble-rise{0%{opacity:0;transform:translateY(0) scale(.75)}12%{opacity:.72}88%{opacity:.5}to{opacity:0;transform:translateY(-78vh) scale(1.15)}}@keyframes shark-mouth-bubble{0%{opacity:0;transform:translate(0) scale(.5)}12%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translate(-70px,-65vh) scale(1.45)}}.ocean-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;visibility:hidden;overflow:hidden;pointer-events:none}.ocean-transition.rising,.ocean-transition.draining{visibility:visible;pointer-events:auto}.ocean-transition-water{position:absolute;top:-46px;right:0;bottom:0;left:0;overflow:hidden;color:var(--water);background:linear-gradient(180deg,var(--water),var(--water-deep));transform:translateY(112%);will-change:transform}.ocean-transition.rising .ocean-transition-water{transform:translateY(0);transition:transform .52s cubic-bezier(.5,0,.2,1)}.ocean-transition.draining .ocean-transition-water{transform:translateY(-112%);transition:transform .56s cubic-bezier(.7,0,.45,1)}.ocean-transition-shark{position:absolute;z-index:3;top:48%;right:-240px;filter:drop-shadow(0 10px 10px rgba(0,0,0,.24))}.ocean-transition.rising .ocean-transition-shark{animation:ocean-transition-shark .92s linear 80ms both}@keyframes ocean-transition-shark{0%{transform:translate(0) translateY(8px) rotate(-3deg)}50%{transform:translate(calc(-50vw - 120px)) translateY(-8px) rotate(2deg)}to{transform:translate(calc(-100vw - 360px)) translateY(4px) rotate(-2deg)}}@media(max-width:720px){.screen-lobby .room-header{align-items:center;flex-direction:row}.screen-lobby .room-actions{width:auto}.screen-lobby .room-actions>button{flex:0 1 auto;padding-inline:11px}}@media(prefers-reduced-motion:reduce){.ocean-scene-shark,.roster-shark,.ocean-bubbles span,.shark-mouth-bubbles span,.ocean-transition-shark{animation:none}.ocean-transition.rising .ocean-transition-water,.ocean-transition.draining .ocean-transition-water{transition-duration:.12s}}html,body,#root{height:100%}body:has(.game-app){overflow:hidden}.game-app{width:100%;height:100dvh;min-height:0;overflow:hidden;padding:clamp(7px,1.7dvh,16px) clamp(12px,2.4vw,24px) calc(clamp(7px,1.7dvh,16px) + env(safe-area-inset-bottom))}.game-app>main{height:100%;min-height:0;overflow:hidden;gap:clamp(6px,1.5dvh,16px);padding-top:0}.screen-home .home,.screen-lobby main.lobby,.screen-game_over .gameover{justify-content:center}.screen-home .home{gap:clamp(12px,2.6dvh,26px)}.screen-lobby main.lobby{min-height:0;padding-top:0}.screen-lobby .my-photo{order:2;flex:1 1 auto;justify-content:center;min-height:0}.screen-lobby .room-header{order:1}.screen-lobby .lobby-footer{order:3}.screen-lobby .lobby-settings{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:750;text-decoration:none}.screen-lobby .deck-picker-action{margin:0}.game-app:not(.screen-home,.screen-lobby){max-width:620px}.game-app .play{min-height:0;overflow:hidden}.game-app .play>.polaroid,.game-app .judging-layout,.game-app .reveal-layout,.game-app .results-layout{min-height:0}.game-app .play>.polaroid img,.game-app .play>.polaroid video,.game-app .play>.polaroid .media-video-frame{max-height:min(38dvh,360px)}.game-app .caption-list,.game-app .results-list,.game-app .scoreboard,.game-app .podium{min-height:0}.game-app .caption-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.game-app .caption-strip{height:100%;min-height:48px}.game-app .result.losing{display:none}.game-app .scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:2px 10px}.game-app .scoreboard .section-title{grid-column:1 / -1}.game-app .podium{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}@media(max-height:720px){.game-app{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.game-app>main{gap:6px}.screen-home .brand-lockup{gap:5px}.screen-home .mascot-mark{width:104px;height:70px;margin:0 0 3px}.screen-home .mascot-mark svg{width:auto;height:56px}.screen-home .logo{font-size:30px}.screen-home .tagline{font-size:13px}.screen-home .card{gap:7px;padding:11px 13px}.screen-home .card-heading span,.screen-home label{font-size:11px}.screen-home input{min-height:42px;padding-block:9px}.screen-home button.big{min-height:44px}.screen-home .site-footer{gap:8px;font-size:11px}.screen-lobby .room-header{padding:8px 10px}.screen-lobby .room-code{font-size:40px}.screen-lobby .room-actions>button{min-height:36px;padding:6px 9px}.screen-lobby :is(.roster-section,.my-photo){padding-block:1px}.screen-lobby .section-title{margin-bottom:4px}.screen-lobby .my-photo,.screen-lobby .photo-picker-grid{gap:6px}.screen-lobby .deck-picker-action,.screen-lobby .lobby-footer .big{min-height:42px;padding-block:8px}.screen-lobby .lobby-hint{margin-bottom:4px;line-height:1.15}.screen-lobby .lobby-lang{margin-top:2px}.game-app .play-header{min-height:48px}.game-app .phase-label{font-size:20px}.game-app .countdown{width:54px;height:48px}.game-app .phase-track{margin-top:-3px}.game-app .play>.polaroid img,.game-app .play>.polaroid video,.game-app .play>.polaroid .media-video-frame{max-height:min(28dvh,190px)}.game-app .report-action{min-height:30px;padding-block:2px}.game-app .caption-form{gap:6px;padding:9px 11px}.game-app .caption-form input{min-height:44px;padding:9px 10px}.game-app .caption-form .big{min-height:42px}.game-app .status-shark{height:42px;margin:0;overflow:hidden}.game-app .judging-layout,.game-app .reveal-layout,.game-app .results-layout{gap:7px}.game-app .caption-list{gap:5px}.game-app .caption-strip{min-height:42px;gap:7px;padding:6px 8px;font-size:13px}.game-app .caption-letter{width:27px;height:27px}.game-app .photo-reveal-image .polaroid img,.game-app .photo-reveal-image .polaroid video,.game-app .photo-reveal-image .photo-loading,.game-app .photo-reveal-image .photo-load-error,.game-app .photo-reveal-cover{height:min(26dvh,174px);min-height:min(26dvh,174px)}.game-app .reveal-card,.game-app .reveal-waiting{min-height:64px;padding:9px 11px}.game-app .reveal-card strong{font-size:16px}.game-app .results-layout .polaroid{max-width:min(180px,24dvh)}.game-app .result{padding:9px 11px}.game-app .result.winner{padding-top:27px}.game-app .scoreboard{padding:7px 9px}.game-app .score-entry{padding-block:3px;font-size:12px}.game-app .ready-next{min-height:42px}.game-app .ready-note{margin-top:-3px}.screen-game_over .final-title{margin:0;font-size:25px}.screen-game_over .champion-card{padding:10px 12px}.screen-game_over .champion-avatar{width:42px;height:42px}.screen-game_over .podium li{padding:7px 9px}}@media(max-width:720px){.screen-lobby .room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"pin actions" "roster roster";align-items:center;row-gap:4px;gap:7px}.screen-lobby .room-ticket{display:block;flex:1 1 auto;min-width:0}.screen-lobby .room-actions{width:auto;display:flex;gap:4px}.screen-lobby .room-actions>:is(button,.button){width:52px;height:52px;min-width:52px;min-height:52px;padding:0}.screen-lobby .roster-section{width:min(100%,420px);min-height:62px;margin-inline:auto;padding-block:0}.screen-lobby .roster-shark{transform:scale(.88)}}@media(max-width:380px){.screen-lobby .room-actions>:is(button,.button){width:38px;height:38px;min-width:38px;min-height:38px}.screen-lobby .lobby-action-icon,.screen-lobby .chat-mark{width:23px;height:23px}}.scene-curtain{position:fixed;top:-2px;right:0;bottom:-2px;left:0;z-index:1000;pointer-events:none;transform:translateY(105%);background:linear-gradient(180deg,#0b93c9,#064a6c);will-change:transform,opacity}.scene-curtain:before{content:"";position:absolute;top:-22px;left:0;width:100%;height:44px;background:radial-gradient(circle at 24px 24px,#0b93c9 0 23px,transparent 24px) 0 0 / 64px 44px repeat-x}.scene-curtain.covering{transform:translateY(0);transition:transform .55s cubic-bezier(.5,0,.2,1);pointer-events:auto}.scene-curtain.covered{transform:translateY(0);pointer-events:auto}.scene-curtain.revealing{transform:translateY(0);opacity:0;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.scene-curtain.covering,.scene-curtain.revealing{transition-duration:.16s}}
