@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rubik-latin-700-normal-D-tMm-eS.woff2) format("woff2"),url(/assets/rubik-latin-700-normal-KHOtubUA.woff) format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/rubik-latin-800-normal-BtaGuVpR.woff2) format("woff2"),url(/assets/rubik-latin-800-normal-Dq1miTTj.woff) format("woff")}*{box-sizing:border-box}:root{--spot-teal: #4fa39d;--deep-navy: #13222e;--coral: #ff6f61;--warm-yellow: #ffd66b;--warm-cream: #fff6e6;--surface-raised: #fffdf8;--surface-muted: #fffaf0;--border-subtle: #ded4c4;--ink-muted: #586773;--spotlight-accent: var(--spot-teal);--spotlight-accent-soft: rgba(79, 163, 157, .24);--spotlight-accent-text: var(--deep-navy);font-family:Inter,system-ui,sans-serif;color:var(--deep-navy);background:var(--warm-cream)}body{margin:0;min-width:320px}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised)}.brand{font-weight:800;letter-spacing:.08em}.brand-action{padding:0;border:0;background:transparent;color:inherit}.brand-action:hover,.brand-action:focus-visible{color:var(--spotlight-accent-text);outline:none}.brand-action:focus-visible{box-shadow:0 0 0 3px var(--spotlight-accent-soft)}.brand-spotlight,.spotlight-accent{color:var(--spotlight-accent)}.brand-exclamation{color:var(--coral)}.header-navigation,.app-footer nav{display:flex;align-items:center;gap:18px}.header-navigation a,.app-footer a{font-weight:700;text-decoration:none}.header-navigation a:hover,.header-navigation a:focus-visible,.header-navigation a[aria-current=page],.app-footer a:hover,.app-footer a:focus-visible{color:var(--spot-teal);text-decoration:underline;text-underline-offset:4px}.app-shell,.public-shell{display:flex;min-height:100vh;flex-direction:column}.content,.public-content{flex:1}.app-footer{display:flex;justify-content:center;padding:22px 28px;border-top:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--ink-muted);font-size:14px}.brand-link{text-decoration:none}.event-wordmark{display:inline-flex;align-items:baseline;gap:.45em;white-space:nowrap}.event-wordmark-label{font-weight:800;letter-spacing:.08em}.public-content{width:min(760px,calc(100% - 32px));margin:auto;padding:60px 0}.public-card{overflow-wrap:anywhere}.public-card section+section{margin-top:34px}.public-card h2{margin-bottom:10px;font-size:25px}.public-card p{font-size:17px;line-height:1.65}.public-lead{color:var(--ink-muted);font-size:19px!important}.inline-action{display:inline-block;text-decoration:none}.public-loading{margin:auto;color:var(--ink-muted)}.management-access-form{display:grid;gap:14px;margin-top:28px}.event-creation-form{display:grid;gap:12px;margin-top:28px}.event-creation-form>label{font-weight:700}.event-creation-form>input{width:100%;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;background:#fff}.field-hint{margin:-4px 0 4px;color:var(--ink-muted);font-size:14px!important}.event-entry-existing{margin-top:28px;padding:22px;border:1px solid rgba(79,163,157,.35);border-radius:14px;background:var(--surface-muted)}.event-entry-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}.event-entry-access-link{color:var(--ink-muted);font-weight:700;text-underline-offset:3px}.event-entry-access-link:hover,.event-entry-access-link:focus-visible{color:var(--spot-teal)}.created-management-key{display:block;padding:16px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);font-size:clamp(14px,3vw,18px);overflow-wrap:anywhere}.question-duration{margin:24px 0 4px;color:var(--ink-muted)}.question-preparation-list,.question-add-list{display:grid;gap:12px;margin:26px 0;padding:0;list-style:none}.question-preparation-row,.question-selection-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-muted)}.question-preparation-row{touch-action:pan-y;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.sortable-question-row.dragging{opacity:.45}.sortable-question-row.drop-target{border-color:var(--spot-teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--spot-teal) 24%,transparent)}.question-selection-row{grid-template-columns:minmax(0,1fr) auto}.question-preparation-row p,.question-selection-row p{margin:0}.question-position{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;background:var(--deep-navy);color:#fff;font-weight:700}.question-row-actions,.question-preparation-actions,.question-undo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-action{padding:8px 11px}.question-row-actions .compact-action{display:grid;width:42px;height:42px;padding:8px;place-items:center}.question-remove-action svg{width:18px;height:18px;fill:currentColor}.question-undo{justify-content:space-between;margin:-12px 0 18px;padding:12px 14px;border-radius:10px;background:var(--surface-muted)}.question-preparation-actions{margin-top:28px}.question-preparation-continue{margin-top:16px}.question-preparation-optional-title{margin:32px 0 4px;font-size:1.15rem}.question-preparation-controls{display:flex;align-items:center;gap:6px}.question-preparation-controls .question-row-actions{flex-wrap:nowrap;gap:6px}.preparation-summary{display:grid;gap:12px;margin:28px 0}.preparation-summary>div{padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-muted)}.preparation-summary dt{color:var(--ink-muted);font-size:14px;font-weight:700}.preparation-summary dd{margin:5px 0 0;font-weight:700}@media(max-width:680px){.question-preparation-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.question-row-actions{grid-column:1 / -1;padding-left:46px}.question-row-actions .compact-action:last-child{margin-left:auto}.question-preparation-controls{grid-column:1 / -1;width:100%}.question-preparation-controls .question-row-actions{grid-column:auto;padding-left:0}.question-preparation-controls .question-row-actions .compact-action:last-child{margin-left:0}.question-preparation-controls .question-drag-handle{margin-left:auto}}.management-access-form>label:first-child{font-weight:700}.management-access-form input[type=text],.management-access-form input[type=password],.management-access-form input:not([type]){width:100%;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;background:#fff}.management-remember{display:flex;align-items:center;gap:10px;width:fit-content}.management-remember input{width:18px;height:18px;margin:0}.management-access-form .error-message{width:100%;margin:0}.management-access-hint{margin-top:24px;color:var(--ink-muted)}.management-access-details{margin-top:30px}.management-key-display{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.management-key-display code{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);overflow-wrap:anywhere}.management-access-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.event-status-card,.event-transition-confirmation,.organizer-summary-card,.organizer-public-access,.danger-zone{margin-top:24px;padding:20px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-muted)}.event-status-card button{margin-top:18px}.event-status-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.event-status-card .event-status-actions button{margin-top:0}.event-transition-confirmation{border-color:#4fa39d8c;background:var(--surface-raised)}.confirmation-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#13222e80}.confirmation-backdrop .event-transition-confirmation{width:min(100%,34rem);margin:0;box-shadow:0 18px 60px #13222e3d}.event-status-card p,.organizer-summary-card p,.organizer-public-access p{margin-bottom:0}.organizer-public-access{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading qr" "actions qr" "status qr";align-items:start;gap:10px 24px}.public-access-heading{grid-area:heading}.public-access-heading h2{margin-bottom:0}.public-access-actions{display:flex;grid-area:actions;align-items:center;gap:8px;flex-wrap:wrap}.public-access-actions button,.public-access-actions a{padding:2px 0;border:0;background:transparent;color:var(--ink-muted);font-family:inherit;font-size:.92rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.public-access-actions button:hover,.public-access-actions button:focus-visible,.public-access-actions a:hover,.public-access-actions a:focus-visible{color:var(--spot-teal)}.public-access-actions button+button:before,.public-access-actions button+a:before{content:none}.public-access-actions button+button,.public-access-actions button+a{padding-left:16px;background-image:radial-gradient(circle,var(--ink-muted) 1.5px,transparent 2px);background-position:2px center;background-repeat:no-repeat;background-size:4px 4px}.public-access-status{grid-area:status;color:var(--ink-muted);font-size:.92rem}.public-access-qr-status{grid-area:qr}.event-qr-code{grid-area:qr;width:170px;max-width:100%;padding:8px;border-radius:10px;background:#fff}.organizer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.organizer-card-grid .organizer-summary-card{display:flex;min-height:150px;margin-top:0;flex-direction:column}.organizer-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.organizer-summary-heading h2{margin:0}.organizer-card-edit{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-raised);color:var(--deep-navy)}.organizer-card-edit:hover,.organizer-card-edit:focus-visible{border-color:var(--spot-teal);color:var(--spot-teal)}.organizer-card-edit svg{width:17px;height:17px;fill:currentColor}.organizer-summary-meta{color:var(--ink-muted)}.wedding-voting-progress{margin:22px 0}.wedding-voting-progress .wedding-completed-count{margin:12px 0 8px;font-size:1.5rem}.wedding-distribution{display:flex;overflow:hidden;border-radius:12px;background:var(--border-subtle);height:24px}.wedding-distribution>span{flex:0 0 auto;transition:width .5s ease}.wedding-completed,.wedding-subject-a{background:var(--spot-teal)}.wedding-started{background:var(--warm-yellow)}.wedding-not-started{background:var(--border-subtle)}.wedding-subject-b{background:var(--coral)}.wedding-progress-legend{color:var(--ink-muted)}.wedding-results-list{list-style:none;padding:0;display:grid;gap:18px;margin:24px 0}.wedding-result-card{padding:clamp(16px,3vw,26px);background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:18px}.wedding-result-card h2{margin:6px 0 22px;font-size:1.25rem}.wedding-result-labels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:8px;overflow-wrap:anywhere}.wedding-result-labels>span:last-child{text-align:right}.wedding-result-labels strong{white-space:nowrap}.wedding-result-card .field-hint{margin-bottom:0}.presentation-plan-list{display:grid;gap:14px;margin:24px 0;padding:0;list-style:none}.presentation-plan-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--surface-muted);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;touch-action:pan-y}.presentation-plan-question h2{margin:0 0 14px;font-size:1.1rem}.presentation-plan-content .field-hint{margin-bottom:0}.presentation-plan-bar{height:14px}.presentation-plan-actions{margin-top:28px}.display-preparation{display:flex;gap:.75rem 1rem;align-items:center;margin:1.5rem 0;flex-wrap:wrap}.display-preparation-label{display:flex;gap:.4rem;align-items:center}.display-preparation-info{position:relative;color:var(--ink-muted)}.display-preparation-info summary{cursor:pointer;list-style:none}.display-preparation-info summary::-webkit-details-marker{display:none}.display-preparation-info p{position:absolute;z-index:2;width:min(24rem,calc(100vw - 3rem));margin:.5rem 0 0;padding:.75rem;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--surface, white);box-shadow:0 .5rem 1.5rem #1d10281f}.display-preparation-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.display-preparation>.field-hint{flex-basis:100%}.presentation-plan-row .compact-action{min-width:44px;min-height:44px}.presentation-plan-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px}.presentation-plan-controls .question-row-actions{flex-wrap:nowrap;gap:6px}.presentation-plan-controls .compact-action,.question-drag-handle{border-color:color-mix(in srgb,var(--border-subtle) 75%,transparent);background:transparent;color:var(--ink-muted)}.question-drag-handle{display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--border-subtle);border-radius:10px;font-size:1.35rem;cursor:grab;touch-action:pan-y}.question-drag-handle:active{cursor:grabbing}@media(max-width:680px){.presentation-plan-row{grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:15px}.presentation-plan-content{display:contents}.presentation-plan-question{grid-column:2;min-width:0}.presentation-plan-question h2{margin-bottom:0}.presentation-plan-distribution{grid-column:1 / -1;min-width:0}.presentation-plan-controls{grid-column:1 / -1;margin-top:2px;justify-content:space-between}.presentation-plan-controls .question-row-actions{order:1}.question-drag-handle{order:2}.presentation-plan-row .question-row-actions{grid-column:auto;padding-left:0;justify-content:flex-end;flex-wrap:nowrap}.presentation-plan-row .question-row-actions .compact-action:last-child{margin-left:0}}.wedding-completion-feedback{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:20;display:grid;gap:4px;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px;border-radius:16px;background:var(--deep-navy);color:var(--surface-raised);box-shadow:0 5px 20px #13222e24;pointer-events:none}.guest-closed-name{font-weight:700;color:var(--ink-muted)}@media(prefers-reduced-motion:reduce){.wedding-distribution>span{transition:none}}.organizer-security-summary{margin-top:28px;padding-top:18px;border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:.92rem}.organizer-security-summary h2{margin:0 0 6px;color:var(--deep-navy);font-size:1rem}.organizer-security-summary p{margin:0 0 4px}.organizer-security-summary a{font-weight:700;text-underline-offset:3px}.event-waiting-page{padding:24px 0;text-align:center}.event-waiting-page .start-logo-wip{max-width:min(330px,85%)}.wedding-live-moderator{display:grid;gap:1rem}.live-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.text-action{border:0;background:transparent;color:var(--muted-color, #665f68);text-decoration:underline}.live-answer-capture{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.live-answer-capture>div{padding:1rem;border-radius:1rem;background:#ffffff0f}.choice-row{display:flex;gap:.6rem;flex-wrap:wrap}.live-result-preview{display:flex;justify-content:space-between;gap:1rem;color:var(--muted-color, #665f68)}.live-primary,.live-next{min-height:3.25rem}.is-offline{border-inline-start:.3rem solid #e9a23b;padding-inline-start:1rem}.wedding-display{min-height:100vh;box-sizing:border-box;display:grid;place-content:center;gap:2rem;padding:clamp(2rem,7vw,7rem);text-align:center;color:#fff;background:radial-gradient(circle at top,#55366f,#1d1028 68%)}.wedding-display h1{max-width:18ch;margin:0 auto;font-size:clamp(2.5rem,7vw,7rem);line-height:1.05}.display-live-composition{display:grid;width:min(76rem,86vw);gap:2rem}.display-couple-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;font-size:clamp(1.25rem,3vw,2.5rem)}.display-couple-answer{display:grid;place-items:center;min-height:clamp(9rem,18vw,15rem);padding:clamp(1rem,3vw,2.5rem);border:2px solid rgba(255,255,255,.3);border-radius:1.5rem;background:#ffffff1a}.display-answering-name{font-size:.7em;font-weight:700;opacity:.82}.display-shoe{font-size:clamp(2.5rem,6vw,5rem);line-height:1}.display-couple-answer strong{font-size:1.35em}.display-couple-answer.is-pending{opacity:.35}.display-guest-result{width:min(70rem,85vw);min-height:5rem;margin-inline:auto;font-size:clamp(1.25rem,2.4vw,2rem)}.display-guest-result.is-hidden{visibility:hidden}.wedding-display .wedding-distribution{height:2rem}.wedding-display .wedding-subject-a{width:var(--result-width);flex:none}.wedding-display .wedding-subject-b{flex:1}.display-guest-result.is-revealing .wedding-subject-a{animation:wedding-guest-reveal 3s ease-in-out both}@keyframes wedding-guest-reveal{0%,14%{width:50%}27%{width:42%}40%{width:58%}52%{width:46%}63%{width:54%}77%{width:clamp(0%,calc(var(--result-width) + 6%),100%)}87%{width:clamp(0%,calc(var(--result-width) - 3%),100%)}94%{width:clamp(0%,calc(var(--result-width) + 1%),100%)}to{width:var(--result-width)}}@media(prefers-reduced-motion:reduce){.display-guest-result.is-revealing .wedding-subject-a{animation:none}}@media(max-width:640px){.display-preparation{align-items:flex-start;flex-direction:column}.display-preparation-actions{justify-content:flex-start}.live-answer-capture{grid-template-columns:1fr}.display-couple-answers{grid-template-columns:1fr;gap:.5rem}}.guest-join-form,.guest-name-form{display:grid;gap:12px;max-width:420px;margin:24px auto;text-align:left}.guest-join-form label,.guest-name-form label{font-weight:700}.guest-join-form input,.guest-name-form input{width:100%;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px}.guest-name-form .management-access-actions{margin-top:4px}.text-button{padding:0;border:0;background:none;color:var(--teal-deep);text-decoration:underline}.guest-waiting-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}.guest-voting{width:min(100%,42rem);text-align:left}.guest-voting>h2,.guest-voting>.public-lead,.guest-voting-progress{text-align:center}.guest-voting-progress{font-weight:700}.guest-question-list{display:grid;gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none}.guest-question-card{padding:1rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--surface-raised)}.guest-question-card h3{margin-top:.35rem}.guest-prediction-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.guest-prediction-options button{min-height:3.25rem;border:2px solid var(--border-subtle);border-radius:.8rem;background:var(--surface-raised);color:inherit;font:inherit;font-weight:700}.guest-prediction-options button.selected{border-color:var(--spot-teal);background:var(--spot-teal);color:var(--deep-navy)}.question-preparation-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:28px}.question-preparation-footer .field-hint{margin-bottom:0}.question-selection-row .selected-toggle{border-color:var(--spot-teal);background:var(--spotlight-accent-soft)}.frozen-subjects{margin-top:20px;padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-muted)}.frozen-subjects h2,.frozen-subjects p{margin:0}.frozen-subjects .field-hint{margin-top:8px}.guest-save-status{margin:.65rem 0 0;font-size:.9rem}@media(max-width:30rem){.guest-prediction-options{grid-template-columns:1fr}.question-preparation-footer{align-items:stretch;flex-direction:column}}.danger-zone{border-color:#aa2d2d59}.danger-zone label{display:block;margin:18px 0 8px;font-weight:700}.danger-zone input{width:100%;margin-bottom:16px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px}.danger-button{border-color:#9f2929;background:#9f2929;color:#fff}@media(max-width:680px){.organizer-public-access{grid-template-areas:"heading" "qr" "actions" "status";grid-template-columns:1fr}.organizer-card-grid{grid-template-columns:1fr}.event-qr-code{width:min(180px,100%)}}.content{width:min(900px,calc(100% - 32px));margin:auto;padding:60px 0}.center-card,.card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:18px;padding:36px;box-shadow:0 8px 30px #0000000a}.center-card{max-width:650px;margin:70px auto;text-align:center}.start-page{width:min(650px,100%);margin:70px auto}.start-page>.center-card{margin:0}.start-info-section{margin-top:32px}.start-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.start-info-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px 24px;overflow:hidden;padding:28px;border:1px solid rgba(14,148,150,.28);border-radius:18px;background:var(--surface-raised);box-shadow:0 8px 24px #00000009}.start-info-card h2{max-width:460px;margin-bottom:10px;font-size:clamp(23px,4vw,30px)}.start-info-card p{max-width:480px;margin:0;color:var(--ink-muted);font-size:16px;line-height:1.55}.start-info-card .secondary{align-self:end}.start-info-accent{position:absolute;top:18px;right:22px;display:flex;gap:6px;transform:rotate(-12deg)}.start-info-accent span{width:7px;height:20px;border-radius:999px;background:var(--spot-teal)}.start-info-accent span:nth-child(2){margin-top:8px;background:var(--coral)}.start-info-accent span:nth-child(3){margin-top:3px;background:var(--deep-navy)}.start-logo-wip{display:block;width:min(420px,88%);height:auto;margin:0 auto 28px}.wide{max-width:900px;margin:auto}.eyebrow{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--ink-muted)}h1,h2{margin:0 0 18px;font-family:Rubik,Inter,system-ui,sans-serif;font-weight:800;line-height:1.1}h1{font-size:clamp(32px,6vw,54px)}h2{font-size:32px}.lead{color:var(--ink-muted);font-size:18px;line-height:1.55;margin:0 auto 30px;max-width:580px}.primary{border:0;border-radius:12px;padding:13px 22px;background:var(--spot-teal);color:var(--deep-navy);font-family:Rubik,Inter,system-ui,sans-serif;font-weight:700}.start-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.secondary{border:1px solid var(--border-subtle);border-radius:12px;padding:13px 22px;background:var(--surface-raised);color:var(--deep-navy);font-family:Rubik,Inter,system-ui,sans-serif;font-weight:700}.mode-grid,.multiplayer-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}.mode-card{display:flex;min-height:180px;flex-direction:column;gap:12px;justify-content:center;padding:26px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-muted);color:var(--deep-navy);text-align:left}.mode-card:hover,.mode-card:focus-visible{border-color:var(--spot-teal);box-shadow:0 0 0 2px var(--spotlight-accent-soft)}.mode-card strong{font-size:24px}.mode-card span{color:var(--ink-muted);line-height:1.5}.multiplayer-lead{max-width:none;margin-left:0}.multiplayer-progress{margin:1rem 0;padding:1rem;border:1px solid #deded8;border-radius:1rem;background:#fff9}.multiplayer-progress h2{margin-top:0;font-size:1rem}.multiplayer-progress-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.multiplayer-progress-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem}.participant-identity{display:inline-flex;min-width:0;align-items:center;gap:.55rem}.participant-identity-label{min-width:0}.participant-avatar{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);object-fit:cover}.multiplayer-entry-single{max-width:520px;margin:28px auto 0}.room-code-display{margin:0;color:#555}.invite-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.invite-actions .hint{margin:0}.entry-panel{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-muted)}.entry-panel h2{margin-bottom:2px;font-size:25px}.entry-panel label{display:grid;gap:7px;color:#555;font-size:14px;font-weight:700}.entry-panel input{width:100%;padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-raised);color:var(--deep-navy)}.entry-panel input:focus{border-color:var(--spot-teal);outline:2px solid var(--spot-teal);outline-offset:1px}.name-field{display:grid;gap:7px}.name-field>label{color:#555;font-size:14px;font-weight:700}.name-input-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.name-shuffle{display:grid;width:46px;min-width:46px;padding:0;place-items:center;margin:0;font-size:20px;line-height:1}.room-code-input{text-transform:uppercase;letter-spacing:.14em;font-weight:800}.entry-back{margin-top:20px}.lobby-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lobby-card h1{overflow-wrap:anywhere;letter-spacing:.06em}.room-code-action{padding:0;border:0;background:transparent;color:var(--spot-teal);font:inherit;font-weight:800;letter-spacing:.08em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.room-code-action:hover,.room-code-action:focus-visible{color:var(--deep-navy)}.multiplayer-role-guidance.is-searching{display:flex;align-items:center;gap:9px;max-width:none;margin-right:0;margin-left:0}.multiplayer-role-guidance.is-searching:before{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--warm-yellow);box-shadow:0 0 #ffd66b8f;content:"";animation:lobby-search-pulse 1.6s ease-out infinite}.lobby-participants{display:grid;gap:8px;margin:28px 0 12px}.connection-status{display:inline-flex;align-items:center;gap:7px;margin:0;color:#666;font-size:13px;font-weight:750}.connection-status:before{width:9px;height:9px;border-radius:50%;background:#999;content:""}.connection-status.connected:before{background:#1e8a4a}.connection-status.disconnected{color:#8b2020}.connection-status.disconnected:before{background:#b83333}.lobby-participant{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #d8d8d2;border-radius:10px;background:#fafaf8;font-weight:750}.lobby-participant>span:first-child{display:grid;gap:3px}.lobby-participant .participant-avatar{width:42px;height:42px;border-radius:12px}.participant-badges{display:flex;gap:6px}.participant-badges small{padding:4px 8px;border-radius:999px;background:#e8e8e3;font-size:11px}.participant-disconnected{display:block;margin-top:3px;color:#8b2020;font-size:11px;font-weight:650}.player-list{display:grid;gap:8px}.player-row{padding:8px 10px;border:1px solid #ddd;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}.player-row:focus-within{border-color:#202124;box-shadow:0 0 0 1px #202124}.player-row input{flex:1;min-width:0;padding:5px;border:0;outline:0;background:transparent}.remove-player{border:0;background:transparent;color:brown;padding:4px 0;font-weight:650}.add-player{width:100%;margin-top:10px;border:1px solid #ccc;border-radius:10px;padding:11px 16px;background:#fff;text-align:left;font-weight:650}.hint{color:#777;font-size:14px;margin:12px 0 24px}.pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:24px 0 28px}.pack-card{text-align:left;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px}.pack-card.selected{border-color:var(--spot-teal);box-shadow:0 0 0 2px var(--spotlight-accent-soft)}.pack-title{font-size:20px;font-weight:800}.pack-description{color:#666;line-height:1.4}.pack-meta{color:#888;font-size:12px;margin-top:8px}.question-count{padding:0;border:0;margin:0 0 24px;font-weight:700}.question-count legend{margin-bottom:10px}.question-options{display:flex;flex-wrap:wrap;gap:8px}.question-options button{min-width:58px;border:1px solid #ccc;border-radius:10px;padding:10px 12px;background:#fff}.question-options button.selected{border-color:var(--spot-teal);background:var(--spot-teal);color:var(--deep-navy)}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:28px 0}.choice-option-shell{position:relative}.choice-option{width:100%;height:100%;min-height:76px;padding:0;overflow:hidden;border:2px solid #d8d8d2;border-radius:12px;background:#fafaf8;color:#202124;text-align:left}.choice-option:hover{border-color:#9a9a94}.choice-option.selected{border-color:var(--spotlight-accent);box-shadow:0 0 0 2px var(--spotlight-accent-soft)}.choice-option-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.choice-option-content{display:flex;align-items:center;gap:12px;padding:16px;font-size:17px;font-weight:700}.choice-indicator{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border:2px solid #aaa;border-radius:50%}.choice-option.selected .choice-indicator{border-color:var(--spotlight-accent);background:var(--spotlight-accent);color:#fff}.choice-option.image-only{position:relative}.choice-option.image-only .choice-option-content{position:absolute;right:8px;bottom:8px;padding:5px;border-radius:999px;background:#ffffffdb}.choice-image-expand{position:absolute;top:8px;right:8px;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:9px;background:#202124c7;color:#fff;font-size:20px}.ranking-list{display:grid;gap:10px;margin:28px 0}.ranking-item{display:flex;align-items:center;gap:14px;border:1px solid #d8d8d2;border-radius:12px;padding:13px;background:#fafaf8}.rank-number{width:28px;font-weight:800;color:#777;text-align:center}.option-content{flex:1;min-width:0;display:flex;align-items:center;gap:18px}.option-details{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.option-title{font-size:18px;font-weight:650}.option-image-wrapper{flex:0 0 220px;min-width:0;display:flex;aspect-ratio:4 / 3}.option-image-trigger{width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:transparent}.option-image{display:block;width:100%;height:100%;border-radius:10px;object-fit:cover;background:#e8e8e3}.option-image-trigger:focus-visible{outline:3px solid #202124;outline-offset:3px}.option-image-placeholder{display:flex;align-items:center;justify-content:center;border:1px dashed #c9c9c2;color:#999;padding:18px;font-size:16px;font-weight:700;text-align:center;background:linear-gradient(135deg,#f0f0ec,#e4e4df)}.option-image-credit{overflow:hidden;color:#888;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.move-buttons{display:flex;gap:5px}.ranking-item{display:flex;align-items:center;gap:14px;border:1px solid #d8d8d2;border-radius:12px;padding:13px;background:#fafaf8;-webkit-user-select:none;user-select:none;touch-action:pan-y}.ranking-item.dragging{opacity:.35}.ranking-item.has-image{position:relative;padding:0;overflow:hidden}.ranking-item.has-image .rank-number{position:absolute;z-index:2;top:0;left:0;display:grid;width:58px;height:58px;place-items:center;border-radius:0 0 12px;background:#ffffffdb;color:#111;font-size:32px;box-shadow:0 2px 10px #0000001f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ranking-item.has-image .option-content{align-self:stretch;gap:0}.ranking-item.has-image .option-image-wrapper{flex:0 0 clamp(280px,54%,300px)}.ranking-item.has-image .option-image-trigger,.ranking-item.has-image .option-image{border-radius:0}.ranking-item.has-image .option-details{justify-content:center;padding:20px 24px}.ranking-item.has-image .drag-handle{margin-right:14px}.ranking-item.image-only .option-image-wrapper{flex-basis:100%}.ranking-item.image-only .option-details:empty{display:none}.drag-handle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #d8d8d2;border-radius:10px;background:#fff;font-size:22px;color:#777;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.image-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:#000000e0}.image-lightbox-content{display:flex;max-width:min(1100px,92vw);max-height:90vh;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff}.image-lightbox-content img{display:block;max-width:100%;min-height:0;object-fit:contain}.image-lightbox-caption{display:flex;flex-direction:column;gap:4px;padding:14px 18px;color:#202124}.image-lightbox-caption span{color:#666;font-size:12px}.image-lightbox-close{position:fixed;z-index:1;top:18px;right:18px;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#0000008c;color:#fff;font-size:30px;line-height:1}.debug-box{text-align:left;background:#f5f5f2;border-radius:12px;padding:16px;margin:24px 0;line-height:1.8;overflow-wrap:anywhere}.participant-score{display:flex;align-items:center;justify-content:space-between;gap:12px}.error-message{max-width:900px;margin:0 auto 18px;padding:12px 16px;border:1px solid #d99;border-radius:10px;background:#fff1f1;color:#8b2020}.reveal-lead{margin-left:0}.reveal-continue{margin-top:18px}.game-completion-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.game-completion-actions .hint,.game-restart,.game-return-home{margin:0}.multiplayer-game-card{position:relative}.active-game-exit{position:absolute;top:26px;right:32px;padding:4px;border:0;background:transparent;color:#777;font-size:13px;font-weight:650}.active-game-exit:hover,.active-game-exit:focus-visible{color:#202124;text-decoration:underline}.active-game-exit:focus-visible{outline:2px solid #202124;outline-offset:3px}.active-game-exit span{margin-right:3px;font-size:16px}.finish-open-game{display:block;margin-top:24px}.reveal-transition{display:grid;min-height:280px;place-content:center;gap:10px;text-align:center;background:radial-gradient(circle at 50% 46%,rgba(255,214,107,.34),transparent 62%);animation:reveal-transition-in .22s ease-out both}.reveal-transition-brand{margin:0;font-size:clamp(40px,10vw,68px);font-weight:800;letter-spacing:.08em;line-height:1}.reveal-transition-brand span{color:var(--spotlight-accent)}.reveal-transition-brand b{color:var(--coral)}.reveal-transition h2{margin:0}.reveal-transition-dots{display:flex;justify-content:center;gap:8px;margin-top:8px}.reveal-transition-dots i{width:9px;height:9px;border-radius:999px;background:var(--spotlight-accent);animation:reveal-thinking .9s ease-in-out infinite}.reveal-transition-dots i:nth-child(2){animation-delay:.12s}.reveal-transition-dots i:nth-child(3){animation-delay:.24s}@keyframes reveal-transition-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-thinking{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes lobby-search-pulse{0%{box-shadow:0 0 #ffd66b8f}70%,to{box-shadow:0 0 0 8px #ffd66b00}}@media(prefers-reduced-motion:reduce){.reveal-transition,.reveal-transition-dots i,.multiplayer-role-guidance.is-searching:before{animation:none}}.choice-reveal{display:grid;gap:16px;margin-top:20px}.choice-target-result,.choice-guess-result{padding:18px;border:1px solid #d8d8d2;border-radius:12px;background:#fafaf8}.choice-target-result{border-color:var(--spotlight-accent);box-shadow:inset 4px 0 0 var(--spotlight-accent)}.choice-target-result h3,.choice-guess-result h3{margin-top:0}.choice-target-result strong,.choice-guess-result p{font-size:18px}.choice-result-image{display:block;width:min(100%,320px);margin-bottom:12px;border-radius:10px}.choice-guess-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.choice-guess-result.exact{border-color:var(--spotlight-accent)}.choice-guess-result.exact>strong{color:var(--spotlight-accent-text)}.reveal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:28px 0}.result-column{border:1px solid #d8d8d2;border-radius:12px;padding:18px;background:#fafaf8}.result-column.target-result{border-color:#202124}.result-column h3{margin:0 0 14px}.reveal-ranking{display:grid;gap:8px;margin:0;padding:0;list-style:none}.reveal-ranking li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;min-height:52px;padding:7px;border:1px solid #deded8;border-radius:9px;background:#fff}.reveal-ranking li:has(.reveal-option-image){grid-template-columns:auto 54px minmax(0,1fr)}.reveal-ranking li.exact{border-color:#14723a;background:#effaf2;color:#14723a}.reveal-rank{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:#ecece7;color:#444;font-weight:800}.reveal-option-image{width:54px;height:42px;border-radius:6px;object-fit:cover}.reveal-option-title{min-width:0;overflow-wrap:anywhere;font-weight:700}.reveal-match{grid-column:2 / -1;color:#777;font-size:12px;font-weight:700}.reveal-ranking li:has(.reveal-option-image) .reveal-match{grid-column:3 / -1}.reveal-ranking li.exact .reveal-match{color:#14723a}.leaderboard{display:grid;gap:8px;margin:28px 0;text-align:left}.leaderboard-row{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #d8d8d2;border-radius:10px}.finished-card{max-width:900px}.finished-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.round-history{display:grid;gap:12px;margin-top:38px;text-align:left}.round-review{border:1px solid #d8d8d2;border-radius:12px;background:#fafaf8}.round-review summary{padding:16px 18px;cursor:pointer;font-weight:750;line-height:1.4}.round-review[open] summary{border-bottom:1px solid #d8d8d2}.round-review .reveal-grid{margin:14px}@media(max-width:600px){.app-header{height:auto;min-height:64px;gap:16px;padding:14px 18px}.header-navigation,.app-footer nav{gap:14px}.public-content,.content{padding:24px 0}.center-card,.card{padding:24px}.start-page{margin:24px auto}.start-info-card{grid-template-columns:1fr;padding:24px}.start-info-card .secondary{justify-self:start}.active-game-exit{top:18px;right:20px}.game-completion-actions{flex-wrap:wrap}.mode-grid,.multiplayer-entry-grid{grid-template-columns:1fr}.lobby-heading{flex-direction:column;gap:8px}.mode-card{min-height:140px}.ranking-item.has-image{position:relative;display:block;padding:0;overflow:hidden}.ranking-item.has-image .option-content{position:relative;display:block}.ranking-item.has-image .option-image-wrapper{display:block;width:100%;flex-basis:auto;aspect-ratio:4 / 3}.ranking-item.has-image .option-image-trigger{display:block;height:100%;border-radius:0}.ranking-item.has-image .option-image{border-radius:0}.ranking-item.has-image .option-details{position:absolute;right:0;bottom:0;left:0;padding:14px 16px;background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ranking-item.has-image .option-title{font-size:17px}.ranking-item.has-image .rank-number,.ranking-item.has-image .drag-handle{position:absolute;z-index:2;top:12px;width:44px;height:44px;border-radius:10px;background:#ffffffe6;box-shadow:0 2px 10px #00000024;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ranking-item.has-image .rank-number{top:0;left:0;display:grid;place-items:center;width:58px;height:58px;border-radius:0 0 12px;font-size:32px}.ranking-item.has-image .drag-handle{right:12px;margin-right:0}.ranking-item.text-only{min-height:64px}.image-lightbox{padding:0}.image-lightbox-content{width:100vw;max-width:none;max-height:100vh;border-radius:0}.image-lightbox-content img{max-height:calc(100vh - 74px)}}
