:root{color-scheme:dark;--bg: #11110f;--surface: #23231f;--ink: #f7f3e8;--sub: #b9b3a5;--line: #4e4c45;--line-strong: #918c80;--field: #302f2a;--accent: #147da7;--accent-dark: #72d1ef;--accent-tint: #123f52;--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}.roster-entry-action{display:flex;align-items:center;width:100%;min-width:0;padding:0;min-height:44px;background:transparent;border-radius:999px}.roster-entry-action:is(:hover,:focus-visible){background:#ffffff1a}.game-app .roster[data-dense=true],.roster[data-dense=true]{flex-wrap:wrap;gap:6px;justify-content:center}.roster[data-dense=true] .roster-entry{flex:0 1 calc((100% - var(--roster-count) * 6px) / var(--roster-count));min-width:0;max-width:44px;container-type:inline-size}.roster[data-dense=true] .chip-name,.roster[data-dense=true] .chip-badge{display:none}.roster[data-dense=true] .roster-entry .chip{width:100%;gap:0;padding:0;border:0;background:transparent;box-shadow:none}.roster[data-dense=true] .roster-entry .avatar-initial{width:100%;height:auto;min-width:20px;aspect-ratio:1;border-width:1.5px;font-size:min(15px,42cqw)}.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}.player-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:61;padding:18px;display:grid;place-items:end center;background:#020d14d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.player-sheet-panel{width:min(420px,100%);margin-bottom:env(safe-area-inset-bottom);padding:14px;display:flex;flex-direction:column;gap:8px;border-radius:18px;background:var(--water-deep)}.player-sheet-who{display:flex;align-items:center;gap:10px;padding:2px 4px 8px;color:#fff;font-size:17px;font-weight:850}.player-sheet-action{min-height:52px;background:#ffffff1a;color:#fff;font-size:15px;font-weight:750}.player-sheet-action:is(:hover,:focus-visible){background:#ffffff2e}.player-sheet-remove{background:#cf4e3e42;color:#ffd3cb}.player-sheet-remove:is(:hover,:focus-visible){background:#cf4e3e66}.player-sheet-cancel{margin-top:4px;background:transparent;color:#ffffffb8;font-weight:650}.player-sheet-cancel:is(:hover,:focus-visible){background:#ffffff1a}@media(min-width:700px){.player-sheet{place-items:center}.player-sheet-panel{margin-bottom:0}}.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:auto;height:auto}.game-app .polaroid>.media-video-frame{height:auto}.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{transition:opacity .45s ease,transform .45s ease}.countdown:not(.is-hidden){animation:countdown-fade-in .45s ease both}.countdown.is-hidden{opacity:0;transform:scale(.94);pointer-events:none}@keyframes countdown-fade-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.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}.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(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.chat-drawer.open{display:flex}.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(--bg)}.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-people{flex:0 0 auto;max-height:132px;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid rgba(255,255,255,.1)}.chat-person{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:4px 6px;font-size:13px;font-weight:600;text-align:left;background:transparent;border-radius:10px}.chat-person:is(:hover,:focus-visible){background:#ffffff14}.chat-person-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-person-state{flex:0 0 auto;color:var(--sub);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.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(--bg)}.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)}}.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}.game-app:has(.photo-preview) .game-controls-fixed{display:none}.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}.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-actions .upload-progress-button,.photo-preview-actions .upload-progress-button:disabled{opacity:1;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 72%,white) 0 var(--upload-progress),var(--accent) var(--upload-progress) 100%);color:#fff;font-variant-numeric:tabular-nums}.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}.game-app .polaroid+.report-action{min-height:28px;padding-block:0}.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:minmax(0,1fr) auto;gap:11px;align-items:center;font-size:16px;font-weight:650;background:transparent;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;text-align:left;position:relative;padding:10px 13px;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:transparent;border-style:dashed;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);transition:width .7s cubic-bezier(.2,.82,.24,1);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 .media-video-frame,.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-stage.is-covered .photo-reveal-cover{animation:photo-cover-drop 1.05s cubic-bezier(.18,.88,.28,1.18) both}.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;animation:photo-count-pulse .34s ease-out}.photo-reveal-stage.is-revealed .photo-reveal-cover{opacity:0;transform:translateY(-28px) rotateX(78deg) scale(.96);pointer-events:none}@keyframes photo-cover-drop{0%{opacity:0;transform:translateY(-42dvh) rotate(-5deg) scale(.86)}68%{opacity:1;transform:translateY(10px) rotate(1.2deg) scale(1.02)}84%{transform:translateY(-5px) rotate(-.5deg) scale(.99)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes photo-count-pulse{0%{opacity:.35;transform:scale(.78)}72%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.reveal-caption-stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}.reveal-card{width:100%;min-height:118px;display:grid;place-items:center;padding:20px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);animation:reveal-in .24s ease-out}.reveal-card strong{max-width:100%;font-size:clamp(29px,6.8vw,42px);line-height:1.08;text-align:center;text-wrap:balance;overflow-wrap:anywhere}.reveal-card.medium strong{font-size:clamp(25px,5.5vw,34px)}.reveal-card.long strong{font-size:clamp(21px,4.2vw,27px)}.reveal-progress{display:flex;gap:7px}.reveal-progress span{width:10px;height:10px;background:var(--surface);border-radius:50%}.reveal-progress span.shown{background:var(--accent)}@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{max-height:240px;overflow:hidden;animation:chomp .55s ease-in var(--chomp-delay, .4s) both}@keyframes chomp{0%{opacity:1;max-height:240px;transform:scale(1) rotate(0)}45%{transform:scale(1.03) rotate(-1.2deg)}70%{max-height:240px;transform:scale(.9) rotate(1.5deg);opacity:.55}to{opacity:0;max-height:0;padding-block:0;border-width:0;transform:translate(-35vw) scale(.08) rotate(-7deg)}}@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}.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)}.dashboard-empty{color:var(--sub);margin:0}.report-card{border-top:1px solid var(--line);padding:14px 0;display:grid;gap:10px}.report-card header{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13px;color:var(--sub)}.report-card header strong{color:var(--ink);font-size:15px}.report-card blockquote{margin:0;padding:10px 12px;border-left:3px solid var(--danger, #c3423f);background:#ffffff0a;font-size:15px}.report-card dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 18px;font-size:13px}.report-card dt{color:var(--sub);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.report-card dd{margin:0}.report-card .report-evidence,.report-card footer code{font-size:11px;overflow-wrap:anywhere;color:var(--sub)}.report-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px}@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}.photo-reveal-stage.is-covered .photo-reveal-cover,.photo-reveal-cover strong,.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: #147da7;--accent-dark: #72d1ef;--accent-tint: #123f52;--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>main,.game-app>.banner{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 button.roster-entry-action,.game-app button.chat-person,.game-app button.player-sheet-cancel,.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-share{position:relative;display:inline-flex}.game-share-pop{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:2px;padding:10px 16px;border:0;border-radius:14px;background:var(--surface);box-shadow:0 10px 30px #0000006b;cursor:pointer;white-space:nowrap}.game-share-pin{font-size:26px;font-weight:900;letter-spacing:4px;color:var(--yellow, #f3a712)}.game-share-pop small{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sub)}.game-app .reveal-card{background:transparent;box-shadow:none;border-radius:0;text-shadow:0 2px 12px rgba(3,20,30,.55)}.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 .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(145px,.9fr) minmax(0,1.1fr);grid-template-areas:"pin roster";align-items:center;column-gap:clamp(10px,1.5vw,16px);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-width:0;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:2px;top:8px;transform:scaleX(-1) rotate(2deg)}12.5%{left:calc(25% - 17px);top:-22px;transform:scaleX(-1) rotate(7deg)}25%{left:calc(50% - 36px);top:-28px;transform:scaleX(-1) rotate(0)}37.5%{left:calc(75% - 55px);top:-22px;transform:scaleX(-1) rotate(-7deg)}49.9%{left:calc(100% - 74px);top:8px;transform:scaleX(-1) rotate(-2deg)}50%{left:calc(100% - 74px);top:8px;transform:scaleX(1) rotate(2deg)}62.5%{left:calc(75% - 55px);top:calc(100% - 20px);transform:scaleX(1) rotate(7deg)}75%{left:calc(50% - 36px);top:calc(100% - 14px);transform:scaleX(1) rotate(0)}87.5%{left:calc(25% - 17px);top:calc(100% - 20px);transform:scaleX(1) rotate(-7deg)}99.9%{left:2px;top:8px;transform:scaleX(1) rotate(-2deg)}to{left:2px;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 :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:transparent;box-shadow:none}.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{order:3;padding:4px 12px calc(8px + env(safe-area-inset-bottom))}.screen-lobby .lobby-bottom-actions{order:4;width:100%;justify-content:center;padding-bottom: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:none}.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)and (max-width: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:none}.game-app .play>.polaroid{width:min(100%,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{min-height:92px;padding:12px 14px}.game-app .reveal-card strong{font-size:clamp(27px,8vw,36px)}.game-app .reveal-card.medium strong{font-size:clamp(23px,6.6vw,29px)}.game-app .reveal-card.long strong{font-size:clamp(19px,5.4vw,24px)}.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);grid-template-areas:"pin" "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>: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)}.game-app.screen-lobby:has(input:focus,textarea:focus) .lobby-bottom-actions{display:none}}@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:-22px;right:0;bottom:-2px;left:0;z-index:1000;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 22px));background:linear-gradient(180deg,#087da3,#064866);will-change:transform,opacity}.scene-curtain:before{content:"";position:absolute;top:-24px;left:0;width:100%;height:32px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 124 32'%3E%3Cpath d='M0 18 Q31 3 62 18 Q93 29 124 18 L124 32 L0 32Z' fill='%23087da3'/%3E%3C/svg%3E") 0 0 / 124px 32px repeat-x}.scene-curtain:after{content:"";position:absolute;top:-9px;left:-2%;width:104%;height:6px;border-radius:999px;background:#bdeeffb3;filter:blur(2px);opacity:0}.scene-curtain.covering,.scene-curtain.covered,.scene-curtain.revealing{visibility:visible;pointer-events:auto}.scene-curtain.covering{transform:translateY(0);transition:transform .55s ease-in-out}.scene-curtain.covering:after{animation:scene-curtain-foam .55s ease-in-out both}.scene-curtain.covered{transform:translateY(0)}.scene-curtain.revealing{transform:translateY(0);opacity:0;transition:opacity .65s ease-in-out}@keyframes scene-curtain-foam{0%,to{opacity:0}8%,90%{opacity:1}}@media(prefers-reduced-motion:reduce){.scene-curtain.covering,.scene-curtain.revealing{transition-duration:.16s}.scene-curtain.covering:after{animation-duration:.16s}}:root{--display-font: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ocean-panel: rgba(5, 31, 43, .84);--ocean-panel-strong: rgba(4, 26, 37, .94);--ocean-line: rgba(189, 238, 255, .13)}body:has(.game-app){background:var(--water-deep)}.game-app{max-width:none;padding-inline:clamp(14px,3vw,34px)}.game-app>main{width:min(100%,1100px);margin-inline:auto}.game-app :is(.logo,.phase-label,.room-code,.final-title,.champion-card strong,button.big,.button.big){font-family:var(--display-font)}.game-app button.big,.game-app .button.big{border-radius:14px;box-shadow:0 9px 22px #0003;font-weight:800}.game-app input,.game-app textarea{border-radius:12px}.screen-home .home{width:min(100%,980px);max-width:none}.screen-home .brand-lockup{gap:10px}.screen-home .mascot-mark{width:clamp(150px,18vw,220px);height:clamp(108px,13vw,154px);margin:0 0 10px;border:0;border-radius:46% 54% 49% 51%/53% 44% 56% 47%;box-shadow:0 24px 55px #01162059}.screen-home .mascot-mark svg{width:auto;height:min(76%,112px)}.screen-home .logo{gap:10px;font-size:clamp(40px,5.3vw,66px);line-height:.96}.screen-home .eyebrow{color:var(--foam);font-size:12px;letter-spacing:.18em}.screen-home .enter-card{padding:clamp(20px,3vw,30px);gap:16px;border:1px solid var(--ocean-line);border-radius:18px;background:var(--ocean-panel);box-shadow:0 28px 65px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.screen-home .enter-card input{min-height:52px;background:#173c4de6}.screen-home .swatches{justify-content:space-between;overflow:visible}.screen-home .swatch{flex-basis:46px}.screen-home .divider{color:#ffffffc2;font-size:10px}.screen-home .divider:before,.screen-home .divider:after{background:var(--ocean-line)}.screen-home .site-footer{flex-wrap:wrap;color:#ffffffad}.first-run-links{display:flex;justify-content:center;gap:20px;margin:0 0 4px}.game-app.screen-lobby{max-width:none}.screen-lobby main.lobby{width:min(100%,1100px)}.lobby-panel-heading{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.lobby-panel-heading span{color:#ffffff94;font-size:10px;font-weight:750;letter-spacing:0;text-transform:none}.roster-stage{position:relative;width:100%;min-height:72px;display:grid;place-items:center}.screen-lobby .roster{width:100%;min-height:0}.screen-lobby .roster-entry{flex:0 1 190px;min-width:0}.screen-lobby .roster-entry .chip{flex:1 1 auto;width:100%;min-width:0}.screen-lobby .chip-name{flex:1 1 auto;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.screen-lobby .my-photo{align-items:stretch}.screen-lobby .photo-picker-grid{gap:clamp(8px,1.3vw,14px)}.screen-lobby .photo-pick :is(img,video,.media-video-frame,.photo-loading,.photo-load-error,.photo-slot.compact){border-radius:14px;background:#062433c2}.screen-lobby .deck-picker-action{min-height:52px;margin:0;border-radius:14px;background:var(--sun);color:var(--on-bright);font-weight:850}.screen-lobby .lobby-bottom-actions{gap:clamp(16px,3vw,28px)}.game-app:not(.screen-home,.screen-lobby){max-width:none}.game-app:not(.screen-home,.screen-lobby)>main{width:min(100%,1080px)}.game-app .play{gap:clamp(8px,1.5dvh,16px)}.game-app .play-header{min-height:66px;padding:0}.game-app .phase-copy{min-width:0}.game-app .phase-kicker{color:var(--foam)}.game-app .phase-label{overflow:hidden;font-size:clamp(24px,3vw,38px);line-height:1.02;text-overflow:ellipsis;white-space:nowrap}.game-app .countdown{width:72px;height:64px;border-radius:16px;box-shadow:0 10px 24px #0003}.game-app .countdown strong{font-family:var(--display-font);font-size:26px}.game-app .phase-track{margin-top:0;gap:8px}.game-app .phase-track span{height:6px;border-radius:999px;background:#061f2b94}.game-app .polaroid{max-width:none}.game-app .polaroid>:is(img,video,.media-video-frame),.game-app .polaroid>:is(.photo-loading,.photo-load-error){width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1;border-radius:18px}.game-app .polaroid>img.cover{object-fit:cover}.game-app .polaroid>img.letterbox{object-fit:contain}.game-app:not(.screen-lobby) .polaroid>img{width:auto;max-width:100%;height:auto;max-height:min(44dvh,480px);aspect-ratio:auto;object-fit:contain;background:transparent}.game-app:not(.screen-lobby) .polaroid>.media-video-frame.letterbox{width:auto;max-width:100%;height:auto;max-height:min(44dvh,480px);aspect-ratio:auto;background:transparent}.game-app:not(.screen-lobby) .polaroid>.media-video-frame.letterbox>video{width:auto;height:auto;max-width:100%;max-height:min(44dvh,480px);object-fit:contain}.game-app .polaroid .photo-credit{width:100%;min-height:14px;overflow:hidden;color:#fff;font-size:11px;font-weight:750;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.game-app .status-card{max-width:430px;padding:clamp(10px,2vw,16px);gap:7px;border:0;background:transparent;box-shadow:none}.owner-judge-heading{max-width:560px;margin:0 0 clamp(14px,3vh,34px);color:#fff;font-family:var(--display-font);font-size:clamp(24px,4.2vw,36px);font-weight:850;line-height:1.08;text-align:center;text-wrap:balance}.game-app .status-card strong{font-family:var(--display-font);font-size:clamp(20px,2.4vw,28px)}.game-app .status-card span{font-size:14px;line-height:1.4}.game-app .caption-form{max-width:460px;padding:18px;border:1px solid var(--ocean-line);border-radius:18px;background:var(--ocean-panel);box-shadow:0 22px 50px #00000038;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.game-app .caption-form>input{min-height:56px;font-size:17px}.game-app .caption-strip,.game-app .reveal-card,.game-app .result,.game-app .scoreboard,.game-app .podium li,.game-app .champion-card{border:1px solid var(--ocean-line);background:var(--ocean-panel);box-shadow:0 16px 38px #0003}.game-app .caption-strip{min-height:66px;border-radius:15px}.game-app .photo-reveal-cover{border-radius:18px}.game-app .reveal-card,.game-app .scoreboard{border-radius:16px}.chat-open.chat-fixed{top:auto;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:52px;height:52px;min-width:52px;min-height:52px;padding:0;display:grid;place-items:center;background:transparent;box-shadow:none}.chat-open.chat-fixed>span:not(.chat-unread){display:none}.chat-open.chat-fixed .chat-mark{width:27px;height:27px}.app:has(.chat-fixed) .play-header{padding-right:0}@media(min-width:821px){.screen-home .home{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(390px,1.14fr);grid-template-areas:"brand form" "footer form";align-content:center;align-items:center;column-gap:clamp(42px,7vw,92px);row-gap:18px}.screen-home .brand-lockup{grid-area:brand}.screen-home .enter-card{grid-area:form}.screen-home .site-footer{grid-area:footer}.screen-lobby main.lobby{height:100%;min-height:0;padding:0;display:grid;grid-template-columns:minmax(290px,.72fr) minmax(500px,1.28fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"header deck" "header footer" "actions actions";align-content:center;align-items:stretch;gap:14px 18px}.screen-lobby .room-header{grid-area:header;order:initial;min-width:0;padding:clamp(12px,1.6vw,20px) 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;border:0;background:transparent;box-shadow:none}.screen-lobby .room-ticket{width:100%;padding-bottom:20px;border-bottom:1px solid var(--ocean-line)}.screen-lobby .room-code{font-size:clamp(50px,5vw,70px)}.screen-lobby .roster-section{width:100%;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;gap:14px;padding:0}.screen-lobby .roster-stage{flex:1 1 auto;min-height:150px;align-content:start}.screen-lobby .roster{align-content:flex-start;justify-content:flex-start}.screen-lobby .roster-entry{flex-basis:100%;width:100%}.screen-lobby .roster-entry .chip{flex:0 1 auto;width:auto;padding:4px 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.screen-lobby .my-photo{grid-area:deck;order:initial;min-width:0;padding:clamp(12px,1.6vw,20px) 0;justify-content:center;gap:16px;border:0;background:transparent;box-shadow:none}.screen-lobby .lobby-footer{grid-area:footer;order:initial;padding:0}.screen-lobby .lobby-bottom-actions{grid-area:actions;order:initial;padding:0}.screen-captioning .play{display:grid;grid-template-columns:minmax(380px,1.16fr) minmax(330px,.84fr);grid-template-rows:auto auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(34px,5vw,70px)}.screen-captioning .play>:is(.play-header,.phase-track){grid-column:1 / -1}.screen-captioning .play>.polaroid{grid-column:1;grid-row:3;width:min(100%,58dvh,560px);justify-self:center}.screen-captioning .play>.report-action{grid-column:1;grid-row:4;justify-self:center}.screen-captioning .play>:is(.status-card,.caption-form){grid-column:2;grid-row:3 / span 2;width:100%;justify-self:center}.screen-judging .play{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.screen-judging .play>:is(.play-header,.phase-track){width:100%}.screen-judging .judging-layout{min-height:0;justify-content:center;gap:clamp(12px,2dvh,22px)}.screen-judging .judging-layout .polaroid{width:min(100%,38dvh,360px);max-width:none}.screen-judging .caption-list{width:min(100%,720px);max-height:40dvh;overflow-y:auto;padding:4px}.screen-judging .play>.status-card{max-width:520px;justify-self:center;padding-block:12px}.screen-reveal .reveal-layout{min-height:0;justify-content:center;gap:clamp(16px,3dvh,30px)}.screen-reveal .photo-reveal-stage{width:min(100%,44dvh,430px)}.screen-reveal .photo-hold .photo-reveal-stage{width:min(100%,66dvh,620px)}.screen-reveal .reveal-caption-stage{width:min(100%,720px)}.screen-results .results-layout{justify-content:center;gap:clamp(10px,2dvh,20px)}.screen-results .results-layout .polaroid{width:100%;max-width:none}.screen-results .results-list-wrap{width:min(100%,720px);padding:4px}.screen-results .round-winner{padding-block:clamp(28px,6dvh,64px)}.screen-game_over .gameover{width:min(100%,900px);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);grid-template-areas:"eyebrow scores" "title scores" "champion scores" "action scores";align-content:center;column-gap:clamp(34px,6vw,76px)}.screen-game_over .eyebrow{grid-area:eyebrow}.screen-game_over .final-title{grid-area:title}.screen-game_over .champion-card{grid-area:champion}.screen-game_over .podium{grid-area:scores}.screen-game_over>main>:is(button.big,.waiting){grid-area:action}}@media(max-width:820px){.game-app{padding-inline:clamp(12px,4vw,20px)}.screen-home .home{display:flex;justify-content:center}.screen-home .brand-lockup{gap:6px}.screen-home .mascot-mark{width:clamp(112px,34vw,154px);height:clamp(78px,23vw,106px);margin-bottom:4px}.screen-home .logo{font-size:clamp(34px,10vw,45px)}.screen-home .enter-card{width:min(100%,440px);padding:clamp(16px,5vw,22px)}.screen-lobby .lobby-panel-heading{padding-inline:2px}.screen-lobby .room-header{row-gap:8px}.screen-lobby .roster-stage{min-height:68px}.screen-lobby .roster-entry{flex-basis:min(190px,100%)}.game-app:not(.screen-home,.screen-lobby)>main{width:min(100%,620px);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;padding-bottom:calc(62px + env(safe-area-inset-bottom))}.game-app:not(.screen-home,.screen-lobby)>main::-webkit-scrollbar{display:none}.game-app .play-header{min-height:58px}.game-app .phase-label{font-size:clamp(21px,6vw,28px)}.game-app .countdown{width:62px;height:58px;border-radius:14px}.screen-captioning .play>.polaroid{width:min(100%,46dvh,380px)}.screen-judging .judging-layout .polaroid{width:min(100%,42dvh,350px);max-width:none}.screen-reveal .photo-reveal-stage{width:min(100%,43dvh,360px)}.screen-results .results-layout .polaroid{width:min(100%,31dvh,280px);max-width:none}.game-app .status-card{width:min(100%,430px);margin-inline:auto}.chat-drawer{height:min(72dvh,600px)}}@media(max-width:560px){.screen-home .home:has(input:focus) .brand-lockup,.screen-home .home:has(input:focus) .site-footer{display:none}.screen-home .home:has(input:focus){justify-content:center}.screen-lobby .roster-heading{display:none}.screen-lobby .roster-entry{flex-basis:min(160px,100%)}.screen-lobby .chip-name{font-size:13px}.screen-lobby .room-code{font-size:clamp(40px,14vw,54px)}.screen-lobby .deck-heading span{display:none}}.screen-results>main.play{width:min(100%,560px);gap:clamp(5px,1.1dvh,10px)}.screen-results .results-layout{width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;gap:4px}.screen-results .result-photo-wrap{position:relative;width:min(78vw,42dvh,400px);transition:width .72s cubic-bezier(.2,.82,.24,1)}.screen-results .result-photo-wrap .polaroid{width:100%;max-width:none}.screen-results .result-download{position:absolute;right:9px;bottom:31px;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.72));transition:opacity .3s ease,color .2s ease}.screen-results .result-download svg{width:21px;height:21px}.screen-results .result-download:is(:hover,:focus-visible){background:transparent;color:var(--sun)}.screen-results .result-download.saved{background:transparent;color:var(--success)}.screen-results .result-download.error{background:transparent;color:var(--danger)}.screen-results .results-layout>.report-action,.screen-results .results-list-wrap{grid-column:auto;grid-row:auto}.screen-results .results-layout>.report-action{min-height:26px;margin-top:-8px;padding-block:0;transition:opacity .35s ease,max-height .55s ease}.screen-results .results-list-wrap{width:100%;max-height:none;overflow:visible;padding:0}.screen-results .results-list{display:block}.round-winner{width:100%;min-height:0;padding:2px 4px;text-align:center;transition:min-height .62s cubic-bezier(.2,.82,.24,1),padding .62s cubic-bezier(.2,.82,.24,1),background-color .4s ease,border-color .4s ease,box-shadow .4s ease}.round-winner .result-caption{font-family:var(--display-font);font-size:clamp(29px,4.8dvh,42px);font-weight:800;line-height:1.08;text-wrap:balance;overflow-wrap:anywhere;transition:font-size .62s cubic-bezier(.2,.82,.24,1)}.round-winner .result-meta{width:min(100%,460px);max-height:48px;margin:7px auto 0;justify-content:center;font-size:clamp(13px,1.8dvh,16px);overflow:hidden;opacity:1;transition:opacity .35s ease,max-height .5s ease,margin .5s ease}.round-winner .points{margin-left:10px;font-size:18px;font-weight:800}.round-winner .result-points{margin-top:8px;color:var(--sun);font-family:var(--display-font);font-size:clamp(20px,3dvh,30px);font-weight:850}.round-winner .save-keepsake{min-height:34px;margin:5px auto 0;padding:6px 11px;border-radius:9px;font-size:12px}.screen-results .scoreboard{width:100%;max-height:260px;display:block;padding:0 2px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;opacity:1;transform:translateY(0);transition:opacity .42s ease .2s,transform .62s cubic-bezier(.2,.82,.24,1),max-height .62s cubic-bezier(.2,.82,.24,1)}.screen-results .score-entry,.screen-results .score-entry:nth-child(2n){display:grid;grid-template-columns:42px 13px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:34px;margin:0;padding:4px 0;border:0;border-radius:0;background:transparent;font-size:clamp(16px,2.2dvh,20px);font-weight:700}.screen-results .score-entry .rank{color:var(--sub);font-size:.82em;font-weight:850}.screen-results .score-entry:first-child .rank{color:var(--sun)}.score-avatar{width:13px;height:13px;border-radius:50%}.screen-results .score-entry strong{font-size:1.05em;font-variant-numeric:tabular-nums}.screen-results .ready-next{width:100%;max-height:72px;min-height:48px;overflow:hidden;opacity:1;transform:translateY(0);transition:opacity .36s ease .3s,transform .62s cubic-bezier(.2,.82,.24,1),max-height .62s cubic-bezier(.2,.82,.24,1),min-height .62s cubic-bezier(.2,.82,.24,1)}.screen-results .ready-next.is-ready,.screen-results .ready-next.is-ready:disabled{background:var(--success);color:#fff;opacity:1}.game-app>main.winner-drumroll{min-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:center;overflow:hidden}.winner-drumroll-sharks{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.winner-drumroll-sharks>span{position:absolute;right:-180px;animation:winner-shark-pass 5.1s linear both}.winner-drumroll-sharks>span:nth-child(1){top:22%}.winner-drumroll-sharks>span:nth-child(2){top:49%;animation-delay:.48s}.winner-drumroll-sharks>span:nth-child(3){top:76%;animation-delay:.96s}@keyframes winner-shark-pass{0%{transform:translate(0)}to{transform:translate(calc(-100vw - 360px))}}.winner-drumroll-copy{position:relative;z-index:1;display:grid;justify-items:center;gap:13px;padding:28px;text-align:center}.winner-drumroll-copy small{color:var(--tomato);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.winner-drumroll-copy strong{font-family:var(--display-font);font-size:clamp(30px,7vw,48px);line-height:1.08}.final-fanfare .winner-drumroll-copy{gap:16px}.final-fanfare .winner-drumroll-copy strong{font-size:clamp(38px,8vw,64px)}.final-fanfare .winner-drumroll-sharks>span:nth-child(1){top:12%}.final-fanfare .winner-drumroll-sharks>span:nth-child(2){top:30%;animation-delay:.42s}.final-fanfare .winner-drumroll-sharks>span:nth-child(3){top:49%;animation-delay:.84s}.final-fanfare .winner-drumroll-sharks>span:nth-child(4){top:68%;animation-delay:1.26s}.final-fanfare .winner-drumroll-sharks>span:nth-child(5){top:86%;animation-delay:1.68s}.screen-results:has(>main.winner-presenting) .chat-fixed{visibility:hidden}.screen-results>main.winner-presenting{width:min(100%,760px);min-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:center}.screen-results .winner-presenting .polaroid>img,.screen-results .winner-presenting .polaroid>.media-video-frame{max-height:min(62dvh,640px)}.screen-results .winner-presenting .result-meta{font-size:clamp(15px,2.2vw,20px)}.screen-results .winner-presenting .results-layout{gap:clamp(12px,2dvh,20px)}.screen-results .winner-presenting .result-photo-wrap{width:min(96vw,62dvh,620px);animation:winner-photo-arrive .62s cubic-bezier(.16,.9,.24,1.08) both}.screen-results .winner-presenting.long-caption .result-photo-wrap{width:min(92vw,50dvh,500px)}@keyframes winner-photo-arrive{0%{opacity:0;transform:scale(.74)}to{opacity:1;transform:scale(1)}}.screen-results .winner-presenting .round-winner{min-height:clamp(96px,15dvh,138px);padding:18px 22px;display:grid;place-items:center}.screen-results .winner-presenting .result-caption{font-size:clamp(32px,6.5vw,50px)}.screen-results .winner-presenting .result-points,.screen-results .winner-presenting .phase-copy,.screen-results .winner-presenting>.phase-track,.screen-results .winner-presenting .results-layout>.report-action{max-height:0;min-height:0;margin:0;padding:0;opacity:0;pointer-events:none}.screen-results .winner-presenting>.scoreboard,.screen-results .winner-presenting>.ready-next{max-height:0;min-height:0;margin:0;padding-block:0;opacity:0;transform:translateY(16px);pointer-events:none}.screen-results .winner-scoreboard .result-download{opacity:0;pointer-events:none}@media(max-height:700px){.screen-results>main.play:not(.winner-presenting){gap:4px}.screen-results .winner-presenting .result-photo-wrap{width:min(78vw,42dvh,290px)}.screen-results .winner-presenting .round-winner{min-height:92px;padding:13px 16px;border-radius:15px}.screen-results .winner-presenting .result-caption{font-size:clamp(28px,8vw,38px)}.screen-results .play-header{min-height:48px}.screen-results .result-photo-wrap{width:min(100%,26dvh,190px)}.round-winner .result-caption{font-size:clamp(27px,4.6dvh,32px)}.round-winner .result-meta{margin-top:4px}.round-winner .save-keepsake{min-height:30px;margin-top:3px;padding-block:4px}.screen-results .score-entry,.screen-results .score-entry:nth-child(2n){min-height:30px;padding-block:2px;font-size:16px}.screen-results .ready-next{min-height:44px}}.game-app:not(.screen-home,.screen-lobby) .play-header{position:fixed;z-index:54;top:calc(14px + env(safe-area-inset-top));right:calc(28px + env(safe-area-inset-right));left:calc(28px + env(safe-area-inset-left));width:auto;min-height:64px;justify-content:flex-end;padding:0;pointer-events:none}.game-app:not(.screen-home,.screen-lobby) .play-header .phase-copy,.game-app:not(.screen-home,.screen-lobby) .phase-track{display:none}.game-app:not(.screen-home,.screen-lobby) .play-header .countdown{pointer-events:auto}.game-app:not(.screen-home,.screen-lobby)>main{padding-top:calc(72px + env(safe-area-inset-top));padding-bottom:calc(58px + env(safe-area-inset-bottom))}@media(min-width:700px)and (min-height:760px){.screen-results>main.play{width:min(100%,760px);gap:clamp(14px,1.8dvh,20px)}.screen-results .result-photo-wrap{width:min(100%,36dvh,360px)}.screen-results .results-layout{gap:10px}.screen-results .results-list-wrap,.screen-results .scoreboard,.screen-results .ready-next{width:min(100%,680px)}.round-winner .result-caption{font-size:clamp(36px,5dvh,48px)}.round-winner .result-meta{margin-top:11px}.screen-results .score-entry,.screen-results .score-entry:nth-child(2n){min-height:40px;font-size:20px}.screen-results .ready-next{min-height:56px;font-size:19px}}.screen-judging .caption-list{display:flex;flex-direction:column;gap:clamp(9px,1.4dvh,14px);width:100%}.screen-judging .caption-entry{align-items:stretch}.screen-judging .caption-strip{width:100%;min-height:clamp(68px,8.5dvh,92px);padding:14px 18px;border:1px solid rgba(202,238,255,.16);border-radius:18px;background:#031c2ae0;box-shadow:0 10px 22px #0000002e;font-family:var(--display-font);font-size:clamp(21px,2.4vw,30px);font-weight:800;line-height:1.12}.screen-judging .pick-tag{padding:5px 7px;border-radius:7px;background:#5293ff2e;font-family:var(--body-font);font-size:10px}@media(max-height:700px){.screen-judging .caption-list{gap:7px}.screen-judging .caption-strip{min-height:52px;padding:9px 12px;border-radius:13px;font-size:18px}}@media(prefers-reduced-motion:reduce){.winner-drumroll-sharks{display:none}}.screen-game_over>main.gameover{position:relative;isolation:isolate;width:min(100%,900px);max-width:900px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,1.8dvh,18px)}.screen-game_over .gameover>*{position:relative;z-index:1}.gameover-shark{height:clamp(54px,9dvh,88px);display:grid;place-items:center;transition:height .82s cubic-bezier(.2,.82,.24,1),transform .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .gameover>.eyebrow{color:var(--tomato);font-size:11px;font-weight:900;letter-spacing:.18em}.screen-game_over .final-title{margin:0;font-size:clamp(30px,5.4dvh,48px);line-height:1.06;text-align:center;transition:font-size .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .champion-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:14px;min-height:clamp(82px,12dvh,112px);padding:clamp(14px,2.5dvh,22px);border:0;border-radius:14px;background:#051f2bf5;color:#fff;box-shadow:0 12px 28px #00000047;transition:width .82s cubic-bezier(.2,.82,.24,1),min-height .82s cubic-bezier(.2,.82,.24,1),padding .82s cubic-bezier(.2,.82,.24,1),border-radius .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .champion-avatars{grid-column:1;grid-row:1;justify-content:center}.screen-game_over .champion-avatar{width:clamp(46px,7dvh,62px);height:clamp(46px,7dvh,62px);border-color:#ffffffa6;transition:width .82s cubic-bezier(.2,.82,.24,1),height .82s cubic-bezier(.2,.82,.24,1),font-size .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .champion-card strong{grid-column:2;grid-row:1;min-width:0;font-size:clamp(22px,3.5dvh,30px);line-height:1.1;text-align:left;overflow-wrap:anywhere;transition:font-size .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .champion-card>span:last-child{grid-column:3;grid-row:1;color:var(--sun);font-size:clamp(13px,1.8dvh,16px);font-weight:850;text-transform:uppercase;transition:font-size .82s cubic-bezier(.2,.82,.24,1)}.screen-game_over .champion-spotlight{min-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:clamp(13px,2.4dvh,24px)}.screen-game_over .champion-spotlight .gameover-shark{height:clamp(76px,12dvh,116px);transform:scale(1.18)}.screen-game_over .champion-spotlight .final-title{font-size:clamp(38px,7dvh,64px)}.screen-game_over .champion-spotlight .champion-card{width:min(100%,720px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;justify-items:center;gap:clamp(10px,1.8dvh,18px);min-height:clamp(250px,38dvh,370px);padding:clamp(24px,5dvh,50px);border-radius:24px}.screen-game_over .champion-spotlight .champion-avatars{grid-column:1;grid-row:1}.screen-game_over .champion-spotlight .champion-avatar{width:clamp(92px,15dvh,138px);height:clamp(92px,15dvh,138px);font-size:clamp(36px,6dvh,54px);border-width:3px}.screen-game_over .champion-spotlight .champion-avatars .champion-avatar+.champion-avatar{margin-left:-24px}.screen-game_over .champion-spotlight .champion-card strong{grid-column:1;grid-row:2;font-size:clamp(34px,6dvh,56px);line-height:1;text-align:center}.screen-game_over .champion-spotlight .champion-card>span:last-child{grid-column:1;grid-row:3;font-size:clamp(16px,2.4dvh,22px)}.screen-game_over .podium{width:100%;display:flex;flex-direction:column;gap:0}.screen-game_over .podium li,.screen-game_over .podium li.champ{min-width:0;min-height:56px;padding:6px 4px;border:0;border-bottom:1px solid rgba(202,238,255,.14);border-radius:0;background:transparent;box-shadow:none}.screen-game_over .podium li.champ{background:transparent;box-shadow:inset 4px 0 var(--sun);padding-left:14px}.screen-game_over .podium-rank{width:48px;color:var(--sub);font-size:16px;font-weight:850}.screen-game_over .podium li.champ .podium-rank{color:var(--sun)}.screen-game_over .podium-name{min-width:0;overflow:hidden;font-size:clamp(18px,2.4dvh,23px);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.screen-game_over .podium-score{font-size:clamp(22px,3dvh,28px);font-weight:900}.screen-game_over>main>:is(button.big,.waiting){width:min(100%,560px);margin:0;text-align:center}@media(max-height:700px){.screen-game_over>main.gameover{gap:6px}.screen-game_over .champion-spotlight{gap:7px}.gameover-shark{height:44px}.gameover-shark svg{height:52px}.screen-game_over .final-title{font-size:25px}.screen-game_over .champion-spotlight .gameover-shark{height:54px;transform:scale(1.08)}.screen-game_over .champion-spotlight .final-title{font-size:30px}.screen-game_over .champion-card{gap:9px;min-height:68px;padding:10px 12px}.screen-game_over .champion-avatar{width:44px;height:44px}.screen-game_over .champion-card strong{font-size:18px}.screen-game_over .champion-card>span:last-child{font-size:11px}.screen-game_over .champion-spotlight .champion-card{min-height:210px;padding:18px;border-radius:18px}.screen-game_over .champion-spotlight .champion-avatar{width:78px;height:78px;font-size:32px}.screen-game_over .champion-spotlight .champion-card strong{font-size:31px}.screen-game_over .champion-spotlight .champion-card>span:last-child{font-size:13px}.screen-game_over .podium li,.screen-game_over .podium li.champ{min-height:44px;padding-block:3px}.screen-game_over .podium-name{font-size:14px}.screen-game_over .podium-score{font-size:17px}.screen-game_over .waiting{font-size:13px;line-height:1.25}}.game-controls-fixed{position:fixed;z-index:55;right:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translate(50%);display:flex;align-items:center;gap:18px}.game-controls-fixed .game-control-button{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#fff}.game-controls-fixed a.game-control-button{text-decoration:none}.game-controls-fixed .game-control-button:is(:hover,:focus-visible){background:#ffffff1a}.game-controls-fixed .chat-mark,.game-controls-fixed .lobby-action-icon{width:26px;height:26px}.game-controls-fixed .chat-unread{top:-2px;right:-2px}.game-app:not(.screen-home,.screen-lobby)>main{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.game-app:has(>main.winner-drumroll) .game-controls-fixed{visibility:hidden}.game-app .play .polaroid>img,.game-app .play .polaroid>.media-video-frame{view-transition-name:round-photo}::view-transition-group(round-photo){animation-duration:.62s;animation-timing-function:cubic-bezier(.2,.82,.24,1)}::view-transition-old(round-photo),::view-transition-new(round-photo){animation-duration:.62s}@media(max-width:560px){.game-app:not(.screen-home,.screen-lobby) .play-header{justify-content:flex-end;top:calc(10px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));left:calc(16px + env(safe-area-inset-left))}.game-app:not(.screen-home,.screen-lobby) .play-header .phase-copy{visibility:hidden}}@media(max-height:700px){.game-controls-fixed{bottom:max(5px,env(safe-area-inset-bottom));gap:16px}}.screen-captioning>main.play{width:min(100%,680px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.5dvh,14px)}.screen-captioning .play>.polaroid{width:min(100%,44dvh,480px);max-width:none;flex:0 1 auto}.screen-captioning .play>.report-action{min-height:24px;margin-top:-6px;padding-block:0}.screen-captioning .play>:is(.status-card,.caption-form){width:min(100%,560px);max-width:560px;flex:0 0 auto}.screen-captioning .caption-form{min-height:64px;padding:8px 10px 8px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:0;background:#102733;box-shadow:0 10px 28px #0000003d;backdrop-filter:none;-webkit-backdrop-filter:none}.screen-captioning .caption-form>input,.screen-captioning .caption-form>input:focus,.screen-captioning .caption-form>input:focus-visible{border:0;min-height:44px;padding:8px 4px;outline:0;background:#102733;color:#f4f7f2;caret-color:#fff;box-shadow:none}.screen-captioning .caption-form>input::placeholder{color:#a7bbc3;opacity:1}.screen-captioning .caption-send-row{display:block}.screen-captioning .caption-send{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:var(--sun);box-shadow:0 5px 12px #00000047;color:var(--on-bright)}.screen-captioning .caption-send svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.screen-captioning .caption-send:disabled{opacity:.42}.game-app>.banner.notice{position:fixed;z-index:56;top:calc(14px + env(safe-area-inset-top));left:50%;width:min(calc(100% - 440px),560px);min-height:48px;margin:0;padding:9px 14px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#051f2bf0;color:#fff;text-align:center;transform:translate(-50%);box-shadow:0 8px 22px #0000003d}.game-app>.banner.notice .linklike{margin-left:5px;color:var(--foam)}@media(max-width:760px){.game-app>.banner.notice{top:calc(76px + env(safe-area-inset-top));width:calc(100% - 32px);min-height:40px;padding:7px 10px;font-size:12px}.game-app:has(>.banner.notice):not(.screen-home,.screen-lobby)>main{padding-top:calc(116px + env(safe-area-inset-top))}}@media(min-width:700px){.screen-home .logo{max-width:100%;padding-inline:8px;overflow:visible;font-size:clamp(40px,4.5vw,56px);line-height:1.05;white-space:nowrap}}.winner-drumroll-mark{display:block;margin:0 auto 6px;line-height:0;transform-origin:60% 50%;animation:shark-wriggle 1.6s ease-in-out infinite}@keyframes shark-wriggle{0%,to{transform:translateY(0) rotate(-3deg)}35%{transform:translateY(-5px) rotate(2.5deg)}70%{transform:translateY(4px) rotate(-1.5deg)}}@media(prefers-reduced-motion:reduce){.winner-drumroll-mark{animation:none}}.scoreboard{max-height:min(34dvh,260px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.scoreboard::-webkit-scrollbar{display:none}.lobby.deck-only{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.game-app main.play:has(.reveal-layout),.game-app main.play:has(>.status-card),.game-app main.play:has(>.owner-judge-heading){display:flex;flex-direction:column;min-height:calc(100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:center}.game-app .photo-reveal-stage{transition:width .7s cubic-bezier(.2,.82,.24,1)}.game-app .photo-reveal-image .polaroid img,.game-app .photo-reveal-image .polaroid video,.game-app .photo-reveal-image .polaroid .media-video-frame,.game-app .photo-reveal-image .photo-loading,.game-app .photo-reveal-image .photo-load-error{transition:height .7s cubic-bezier(.2,.82,.24,1),min-height .7s cubic-bezier(.2,.82,.24,1)}.game-app .play.photo-hold .photo-reveal-stage{width:min(100%,92vw,56dvh)}.game-app .play.photo-hold .reveal-layout .polaroid{max-width:none}.game-app .play.photo-hold .photo-reveal-image .polaroid img,.game-app .play.photo-hold .photo-reveal-image .polaroid video,.game-app .play.photo-hold .photo-reveal-image .polaroid .media-video-frame,.game-app .play.photo-hold .photo-reveal-image .photo-loading,.game-app .play.photo-hold .photo-reveal-image .photo-load-error{height:min(52dvh,560px);min-height:min(52dvh,560px)}
