:root{--ink:#101f22;--muted:#6b6258;--paper:#f7efe2;--panel:#ffffff;--line:#e3d2bf;--coral:#f15d4f;--teal:#0b6f73;--teal-dark:#082b2f;--teal-deep:#061b1f;--olive:#6a7e4b;--gold:#d9a13b;--pool:#8ad7df;--cream:#fff8ec;--shadow-soft:0 18px 45px rgba(16,31,34,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,rgba(255,248,236,.96),rgba(247,239,226,.98)),radial-gradient(circle at 18% 0,rgba(241,93,79,.13),transparent 32%),var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.game-shell{min-height:100vh;padding:24px}.player-shell{padding:24px clamp(14px,3vw,36px) 28px;position:relative}.player-reset-button{background:rgba(255,248,236,.84);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:760;min-height:34px;padding:7px 11px;right:18px}.player-reset-button,.player-wallet-button{cursor:pointer;position:fixed;top:18px;z-index:10}.player-wallet-button{align-items:center;background:rgba(8,43,47,.9);border:1px solid rgba(255,248,236,.42);border-radius:999px;color:var(--cream);display:inline-flex;gap:8px;min-height:38px;padding:7px 12px;left:18px}.player-wallet-button span{font-size:12px;font-weight:760;text-transform:uppercase}.player-wallet-button strong{font-size:15px}.player-reset-button:focus,.player-reset-button:hover,.player-wallet-button:focus,.player-wallet-button:hover{color:var(--ink);outline:2px solid rgba(11,111,115,.18)}.player-wallet-button:focus,.player-wallet-button:hover{background:var(--cream)}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 auto 18px;max-width:1340px}.admin-tabs button{background:rgba(255,248,236,.9);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:760;min-height:38px;padding:8px 12px}.admin-tabs button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff8ec}.admin-panel{margin:0 auto;max-width:1340px}.admin-grid-panel{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-card{background:rgba(255,248,236,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);min-width:0;padding:16px}.admin-card p{color:var(--muted);font-size:14px;line-height:1.45}.admin-definition-list{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0}.admin-definition-list div{border-top:1px solid var(--line);min-width:0;padding-top:10px}.admin-definition-list dt{color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase}.admin-definition-list dd{color:var(--ink);font-size:13px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}.admin-json-card pre{background:#102326;border-radius:8px;color:#f7efe2;font-size:12px;line-height:1.5;margin:10px 0 0;overflow:auto;padding:12px}.npc-provider-controls,.npc-provider-panel{display:grid;grid-gap:14px;gap:14px}.npc-provider-controls{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.7fr) minmax(180px,.8fr)}.admin-field{display:grid;grid-gap:6px;gap:6px}.admin-field span{color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase}.admin-field select,.admin-field textarea{background:#fffaf2;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:9px 10px;width:100%}.admin-field textarea{min-height:88px;resize:vertical}.admin-text-field,.npc-provider-actions{grid-column:1/-1}.npc-provider-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.npc-provider-actions .primary-button{margin-top:0}.primary-button:disabled{cursor:not-allowed;opacity:.55}.npc-provider-results{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.npc-provider-result{display:grid;grid-gap:10px;gap:10px}.npc-result-heading{align-items:start;display:flex;gap:10px;justify-content:space-between}.npc-result-status{border-radius:999px;color:#fffaf2;font-size:11px;font-weight:820;padding:5px 8px;text-transform:uppercase}.npc-result-status.pending{background:#77695a}.npc-result-status.ok{background:var(--teal-dark)}.npc-result-status.error{background:#8a3f37}.npc-response-text{background:#fffaf2;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:15px;line-height:1.45;padding:10px}.npc-provider-error{background:#fff0ee;border:1px solid #f0c3be;border-radius:8px;color:#8d2d27;font-size:13px;line-height:1.45;padding:10px}.avatar-shell{display:flex;flex-direction:column}.top-bar{align-items:center;background:rgba(255,248,236,.92);border:1px solid rgba(227,210,191,.86);border-radius:8px;box-shadow:var(--shadow-soft);display:flex;gap:16px;justify-content:space-between;margin:0 auto 18px;max-width:1340px;padding:14px 16px}.brand-title{font-family:Georgia,Times New Roman,serif}.brand-title,.eyebrow{font-weight:760;letter-spacing:0}.eyebrow{color:var(--teal);font-size:12px;margin:0 0 4px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.05;margin-bottom:0}h2{font-size:24px;line-height:1.15}h2,h3{margin-bottom:10px}h3{font-size:14px;line-height:1.2}.phase-pill{background:var(--teal-dark);border-radius:999px;color:#fff;font-size:13px;font-weight:760;padding:9px 14px}.top-status{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.segment-pill{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:13px;font-weight:760;padding:8px 12px}.status-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(220px,2fr);margin:0 auto 18px;max-width:1340px}.feedback,.stat-card{background:rgba(255,248,236,.86);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(16,31,34,.06);margin:0;min-height:64px;padding:12px}.stat-card span{color:var(--muted);display:block;font-size:12px;margin-bottom:4px}.stat-card strong{display:block;font-size:16px;line-height:1.2}.feedback{color:var(--muted);font-size:14px;line-height:1.45}.day-flow-panel{background:rgba(255,248,236,.9);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);margin:0 auto 18px;max-width:1340px;padding:18px}.day-flow-copy p{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:12px}.event-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.event-line span,.event-line strong{border-radius:999px;font-size:12px;font-weight:760;padding:6px 9px}.event-line span{background:#f6efe6;border:1px solid #eadccb;color:var(--muted)}.event-line strong{background:#f7fbfb;border:1px solid #cfe4e5;color:var(--teal)}.partner-picker{min-width:0}.partner-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.partner-option{background:#fffaf6;border:1px solid #eadccb;border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:3px;gap:3px;min-height:58px;padding:9px 10px;text-align:left}.partner-option span{font-size:14px;font-weight:780}.partner-option small{color:var(--muted);font-size:11px;line-height:1.25}.partner-option:focus,.partner-option:hover{border-color:var(--teal);outline:2px solid rgba(21,127,134,.18)}.partner-option.selected{background:#fff0ee;border-color:var(--coral)}.partner-option:disabled{cursor:not-allowed;opacity:.68}.ceremony-button{width:100%}.date-preview-button{margin-top:8px;width:100%}.ceremony-button:disabled{background:#f2efeb;border-color:var(--line);color:var(--muted);cursor:not-allowed}.coupling-results{border-top:1px solid var(--line);grid-column:1/-1;padding-top:16px}.couple-list{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.couple-row{align-items:center;background:#fbf7ef;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:44px;padding:8px 10px}.couple-row span{font-size:13px;font-weight:760;min-width:0;overflow-wrap:anywhere}.couple-row strong{color:var(--coral)}.single-line{color:var(--muted);font-size:13px;margin:10px 0 0}.game-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 360px;margin:0 auto;max-width:1340px}.map-layout-v2{grid-template-columns:minmax(0,1fr) 400px}.avatar-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 360px;margin:0 auto;max-width:980px;width:100%}.avatar-layout-v2{grid-template-columns:minmax(360px,1fr) 320px 320px;max-width:1240px}.date-shell{background:#130f0c}.date-top-bar{color:var(--ink)}.date-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 360px;margin:0 auto;max-width:1340px}.date-scene{border:1px solid rgba(255,250,242,.18);border-radius:8px;min-height:540px;overflow:hidden;position:relative}.date-scene-viewport{height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.date-scene-canvas{height:100%;min-height:540px;position:relative;width:100%}.date-background{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.date-dialogue{background:rgba(255,250,242,.94);border:1px solid rgba(229,216,200,.8);border-radius:8px;bottom:24px;box-shadow:0 16px 36px rgba(23,20,18,.18);left:24px;max-width:min(520px,calc(100% - 48px));padding:16px 18px;position:absolute}.date-dialogue span{color:var(--coral);display:block;font-weight:820;margin-bottom:6px}.date-dialogue p{color:var(--ink);font-size:16px;line-height:1.45;margin-bottom:0}.date-relationship-panel{background:#fffaf2;border:1px solid var(--line);border-radius:8px;padding:18px}.dialogue-delta-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.dialogue-delta{align-items:center;background:#fff4e4;border:1px solid #eadccb;border-radius:8px;color:var(--ink);display:flex;justify-content:space-between;min-height:44px;padding:10px 12px}.dialogue-delta span{color:var(--muted);font-size:13px;font-weight:720}.dialogue-delta strong{color:var(--teal);font-size:17px}.date-metric-list{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.date-metric{border-bottom:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-bottom:14px}.date-metric span,.date-metric strong{display:block}.date-metric strong{font-size:15px}.date-metric span{color:var(--muted);font-size:12px;line-height:1.35}.metric-value{color:var(--ink);font-size:13px;font-weight:780}.metric-track{background:#eadccb;border-radius:999px;height:7px;overflow:hidden}.metric-track span{background:var(--teal);display:block;height:100%}.end-date-button{margin-top:18px;width:100%}.date-choice-end-button{display:none}.date-choice-row{display:grid;grid-gap:14px;gap:14px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.date-choice-card{background:#fffaf2;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:8px;gap:8px;min-height:132px;padding:16px;text-align:left}.date-choice-card span{color:var(--ink);font-size:18px;font-weight:820}.date-choice-card p{color:var(--muted);font-size:14px;line-height:1.45;margin-bottom:0}.date-choice-card:focus,.date-choice-card:hover{border-color:var(--coral);outline:2px solid rgba(217,79,69,.16)}.date-choice-card.selected{background:#fff0ee;border-color:var(--coral)}.date-choice-card:disabled{cursor:not-allowed;opacity:.72}.date-choice-card.selected:disabled{opacity:1}.casino-shell{background:linear-gradient(180deg,rgba(6,27,31,.9),rgba(19,15,12,.94)),url(/assets/maps/villa-map-evening-v1.jpg) 50% /cover;color:var(--cream);min-height:100dvh}.casino-stage{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 320px;margin:0 auto;max-width:980px}.casino-top-row{align-items:center;display:flex;gap:12px;grid-column:1/-1;justify-content:space-between}.casino-back-button,.casino-wallet{min-height:42px}.casino-wallet{align-items:center;background:rgba(255,248,236,.14);border:1px solid rgba(255,248,236,.24);border-radius:8px;display:flex;gap:10px;padding:8px 12px}.casino-wallet span{color:rgba(255,248,236,.76);font-size:12px;font-weight:780;text-transform:uppercase}.casino-wallet strong{color:var(--cream);font-size:20px}.casino-machine,.casino-rules{background:rgba(255,248,236,.94);border:1px solid rgba(255,248,236,.26);border-radius:8px;box-shadow:0 22px 52px rgba(0,0,0,.28);color:var(--ink);min-width:0;padding:18px}.casino-machine h1{font-family:Georgia,Times New Roman,serif;font-size:42px;margin-bottom:10px}.casino-copy{color:var(--muted);font-size:15px;line-height:1.45;margin-bottom:18px}.slot-reels{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.slot-reel{align-items:center;aspect-ratio:1;background:#fffaf2;border:2px solid #dbc8b2;border-radius:8px;display:flex;justify-content:center;min-width:0;padding:10px;text-align:center}.slot-reel span{color:var(--teal-dark);font-size:16px;font-weight:860;line-height:1.15;overflow-wrap:anywhere}.casino-result{align-items:center;background:#fff4e4;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:14px;min-height:54px;padding:10px 12px}.casino-result span{color:var(--muted);font-size:13px;font-weight:760}.casino-result strong{color:var(--teal);font-size:18px}.casino-spin-button{width:100%}.casino-rules h2{font-size:22px}.casino-rules dl{display:grid;grid-gap:10px;gap:10px;margin:12px 0 0}.casino-rules div{border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;padding-top:10px}.casino-rules dd,.casino-rules dt{font-size:13px;margin:0}.casino-rules dt{color:var(--muted);font-weight:760}.casino-rules dd{color:var(--ink);font-weight:820;text-align:right}.restaurant-date-shell{background:#130f0c}.restaurant-date-layout{align-items:start}.restaurant-date-dialogue{max-width:min(520px,calc(100% - 48px))}.restaurant-date-relationship-panel{align-self:stretch}.restaurant-date-choice-row{align-items:stretch}.dialogue-shell{background:#130f0c}.dialogue-layout{align-items:start}.dialogue-card{max-width:min(560px,calc(100% - 48px))}.dialogue-card .contestant-card{margin-bottom:10px}.dialogue-relationship-panel{align-self:stretch}.dialogue-choice-row{align-items:stretch}.dialogue-custom-panel{background:#fffaf2;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-column:1/-1;grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;padding:16px}.dialogue-custom-panel h2{font-size:22px;margin-bottom:6px}.dialogue-custom-panel .muted{margin-bottom:0}.dialogue-custom-field{color:var(--muted);display:grid;font-size:13px;font-weight:760;grid-gap:6px;gap:6px;min-width:0}.dialogue-custom-field textarea{background:#fffaf6;border:1px solid #dbc8b2;border-radius:8px;color:var(--ink);font:inherit;line-height:1.45;min-height:98px;padding:12px;resize:vertical;width:100%}.dialogue-custom-field textarea:focus{border-color:var(--teal);outline:2px solid rgba(21,127,134,.18)}.dialogue-custom-field textarea:disabled{background:#f2efeb;color:var(--muted)}.dialogue-custom-actions{align-items:end;display:grid;grid-gap:10px;gap:10px;min-width:210px}.dialogue-custom-actions small{color:var(--muted);font-size:12px;font-weight:760;text-align:right}.dialogue-custom-actions .primary-button{margin-top:0;min-height:48px;width:100%}.ceremony-shell{background:linear-gradient(rgba(19,15,12,.74),rgba(19,15,12,.82)),url(/assets/scenes/fire-pit-ceremony-v2-desktop.jpg) 50% /cover;min-height:100dvh}.ceremony-top-bar{color:var(--ink)}.ceremony-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 420px;margin:0 auto;max-width:1340px}.ceremony-main-column{display:grid;grid-gap:18px;gap:18px;min-width:0}.ceremony-scene{align-items:flex-end;background:linear-gradient(180deg,rgba(19,15,12,.08),rgba(19,15,12,.78)),url(/assets/scenes/fire-pit-ceremony-v2-desktop.jpg) 50% /cover;border:1px solid rgba(255,250,242,.2);border-radius:8px;display:flex;min-height:360px;overflow:hidden;padding:22px}.ceremony-scene-card{background:rgba(255,250,242,.94);border:1px solid rgba(229,216,200,.8);border-radius:8px;box-shadow:0 18px 46px rgba(19,15,12,.26);max-width:520px;padding:16px 18px}.ceremony-scene-card span{color:var(--coral);display:block;font-size:12px;font-weight:840;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}.ceremony-scene-card h2{font-size:28px;margin-bottom:8px}.ceremony-scene-card p{color:var(--muted);font-size:15px;line-height:1.45;margin-bottom:0}.ceremony-panel,.ceremony-result-panel{background:rgba(255,250,242,.96);border:1px solid rgba(229,216,200,.86);border-radius:8px;padding:18px}.ceremony-copy{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:16px}.ceremony-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ceremony-partner-option{min-height:78px;padding:12px}.ceremony-actions{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.ceremony-actions .primary-button{margin-top:0}.ceremony-couple-list{grid-template-columns:1fr}.ceremony-waiting-state{background:#fff4e4;border:1px solid #eadccb;border-radius:8px;display:grid;grid-gap:6px;gap:6px;margin-top:14px;min-height:96px;padding:14px}.ceremony-waiting-state span{color:var(--ink);font-size:18px;font-weight:840}.ceremony-waiting-state p{color:var(--muted);font-size:14px;line-height:1.4;margin-bottom:0}.avatar-form,.avatar-job-preview,.avatar-preview{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{color:var(--muted);display:grid;font-size:13px;font-weight:720;grid-gap:6px;gap:6px}.form-grid input,.form-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fffaf6;border:1px solid #dbc8b2;border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:9px 10px;width:100%}.form-grid input:focus,.form-grid select:focus{border-color:var(--teal);outline:2px solid rgba(21,127,134,.18)}.form-errors{background:#fff0ee;border:1px solid #f0c3be;border-radius:8px;color:#8d2d27;margin-top:14px;padding:10px 12px}.form-errors p{font-size:13px;line-height:1.4;margin-bottom:4px}.form-errors p:last-child{margin-bottom:0}.avatar-identity-upload{background:#f7fbfb;border:1px solid #cfe4e5;border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding:12px}.avatar-identity-upload h3{font-size:16px;margin-bottom:4px}.avatar-identity-note,.avatar-identity-upload p{color:var(--muted);font-size:13px;line-height:1.4;margin-bottom:0}.avatar-file-input{color:var(--muted);display:grid;font-size:13px;font-weight:720;grid-gap:6px;gap:6px}.avatar-file-input input{background:#fffaf6;border:1px solid #dbc8b2;border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:9px 10px}.avatar-consent-check{align-items:flex-start;color:var(--ink);display:flex;font-size:13px;font-weight:720;gap:9px;line-height:1.35}.avatar-consent-check input{margin-top:2px}.avatar-identity-status{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.avatar-identity-status span{color:var(--ink);font-size:13px;font-weight:780;overflow-wrap:anywhere}.avatar-identity-status strong{color:var(--teal);font-size:12px;line-height:1.35}.primary-button{background:linear-gradient(135deg,var(--coral),#f07551);border:1px solid rgba(241,93,79,.9);border-radius:8px;color:#fff;cursor:pointer;font-weight:780;margin-top:16px;min-height:46px;padding:10px 14px}.primary-button:focus,.primary-button:hover{background:linear-gradient(135deg,#e94d43,#ee6748);outline:2px solid rgba(241,93,79,.22)}.primary-button:disabled,.primary-button:disabled:focus,.primary-button:disabled:hover{background:#f2b6ad;border-color:#e7c9c2;color:rgba(18,39,41,.54);cursor:not-allowed;outline:0;opacity:1}.secondary-button{background:rgba(255,255,255,.86);border:1px solid #dbc8b2;border-radius:8px;color:var(--ink);cursor:pointer;font-weight:760;min-height:42px;padding:9px 12px}.secondary-button:focus,.secondary-button:hover{border-color:var(--teal);outline:2px solid rgba(21,127,134,.18)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button:disabled:focus,.secondary-button:disabled:hover{border-color:#dbc8b2;outline:none}.avatar-preview{display:grid;grid-gap:16px;gap:16px}.avatar-preview-v2{align-content:start}.avatar-preview-figure{align-items:center;aspect-ratio:1;background:radial-gradient(circle at 50% 30%,#f6d2c0 0 15%,transparent 16%),linear-gradient(135deg,#f7dfdc,#d9efed);border:1px solid #eadccb;border-radius:8px;color:var(--ink);display:flex;font-size:42px;font-weight:820;justify-content:center;max-height:260px;min-height:220px;overflow:hidden;position:relative}.avatar-preview-figure span{color:rgba(23,20,18,.16);font-size:116px;font-weight:900;position:absolute}.avatar-preview-figure strong{background:rgba(255,250,246,.82);border:1px solid rgba(23,20,18,.12);border-radius:8px;font-size:38px;padding:6px 12px;position:relative}.avatar-preview dl{display:grid;grid-gap:8px;gap:8px;margin:0}.avatar-preview dl div{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding-bottom:8px}.avatar-preview dt{color:var(--muted);font-size:12px;font-weight:720}.avatar-preview dd{font-size:13px;font-weight:760;margin:0;text-align:right}.payload-preview{background:#f7fbfb;border:1px solid #cfe4e5;border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px 12px}.payload-preview span{color:var(--teal);font-size:12px;font-weight:760;text-transform:uppercase}.payload-preview code{color:var(--ink);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;white-space:normal}.avatar-job-preview{align-content:start;display:grid;grid-gap:14px;gap:14px}.job-status-card{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px}.job-status-card span{font-size:12px;font-weight:780;text-transform:uppercase}.job-status-card strong{font-size:14px;line-height:1.35}.job-status-card.ready{background:#f7fbfb;border-color:#cfe4e5}.job-status-card.ready span{color:var(--teal)}.job-status-card.blocked{background:#fff0ee;border-color:#f0c3be}.job-status-card.blocked span{color:#8d2d27}.prompt-preview{display:flex;flex-wrap:wrap;gap:8px}.prompt-preview span{background:#fffaf6;border:1px solid #eadccb;border-radius:8px;color:var(--ink);font-size:12px;font-weight:720;line-height:1.25;padding:7px 9px}.job-help{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.map-stage{aspect-ratio:3/2;background:#f1e4d1;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 48px rgba(8,43,47,.22);min-height:320px;overflow:hidden;position:relative}.map-stage-v2{background:var(--teal-deep)}.map-canvas{aspect-ratio:var(--map-natural-width,1568) /var(--map-natural-height,1003);height:100%;inset:0;position:absolute;width:100%}.map-title-card{background:linear-gradient(135deg,rgba(8,43,47,.9),rgba(8,43,47,.42));border:1px solid rgba(255,248,236,.2);border-radius:8px;color:var(--cream);left:18px;max-width:320px;padding:14px 16px;position:absolute;top:18px;z-index:2}.map-title-card .eyebrow{color:#f7c58f}.map-title-card h2{color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:28px;margin-bottom:0}.player-shell .map-title-card{display:none}.hotspot-layer,.villa-map{height:100%;inset:0;position:absolute;width:100%}.villa-map{object-fit:cover;object-position:center}.hotspot{cursor:pointer;fill:rgba(255,255,255,.02);outline:none;stroke:rgba(255,255,255,0);stroke-width:4;transition:fill .16s ease,stroke .16s ease}.hotspot:focus,.hotspot:hover{fill:rgba(255,248,236,.16);stroke:rgba(255,248,236,.84)}.hotspot.selected{fill:rgba(241,93,79,.24);stroke:rgba(241,93,79,.95)}.hotspot.visited:not(.selected){fill:rgba(215,155,53,.16);stroke:rgba(215,155,53,.48)}.hotspot.locked{cursor:not-allowed;fill:rgba(23,20,18,.1)}.player-shell .hotspot,.player-shell .hotspot.locked,.player-shell .hotspot.selected,.player-shell .hotspot.visited:not(.selected),.player-shell .hotspot:focus,.player-shell .hotspot:hover{fill:transparent;pointer-events:none;stroke:transparent}.location-marker{cursor:pointer;outline:none}.location-marker rect{fill:rgba(8,43,47,.86);stroke:rgba(255,248,236,.44);stroke-width:2;transition:fill .16s ease,stroke .16s ease}.location-marker text{pointer-events:none}.location-marker:focus rect,.location-marker:hover rect{fill:rgba(11,111,115,.94);stroke:var(--cream)}.location-marker.selected rect{fill:rgba(241,93,79,.96);stroke:var(--coral)}.location-marker.visited:not(.selected) rect{stroke:var(--gold)}.location-marker.locked{cursor:not-allowed;opacity:.62}.marker-label{fill:#fff8ec;font-size:24px;font-weight:780}.marker-status{fill:rgba(255,248,236,.74);font-size:18px;font-weight:680}.side-panel{background:rgba(255,248,236,.94);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);min-width:0;padding:18px}.map-detail-panel{align-self:start}.bottom-sheet-handle{background:rgba(8,43,47,.22);border-radius:999px;display:none;height:5px;margin:0 auto 12px;width:44px}.hud-close-button{background:rgba(8,43,47,.12);border:1px solid rgba(8,43,47,.14);border-radius:8px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:860;min-height:30px;min-width:34px;position:absolute;right:12px;top:12px}.hud-close-button:focus,.hud-close-button:hover{background:var(--teal-dark);color:var(--cream);outline:2px solid rgba(11,111,115,.18)}.panel-header p{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:0}.location-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.location-meta-row span{background:#f6efe6;border:1px solid #eadccb;border-radius:999px;color:var(--muted);font-size:12px;font-weight:720;padding:5px 8px}.player-path-panel,.scene-brief{background:#fff4e4;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:12px}.player-path-panel h3{font-size:15px;line-height:1.25}.player-path-actions{display:grid;grid-gap:8px;gap:8px}.touch-verb-bar{background:rgba(7,19,21,.9);border:1px solid rgba(255,248,236,.2);border-radius:8px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));margin-top:14px;padding:6px}.verb-button{background:rgba(255,248,236,.08);border:1px solid rgba(255,248,236,.22);border-radius:8px;cursor:pointer;display:grid;grid-gap:3px;gap:3px;min-height:52px;padding:6px 5px;text-align:center}.verb-button,.verb-glyph{align-items:center;color:var(--cream)}.verb-glyph{background:rgba(255,248,236,.12);border:1px solid rgba(255,248,236,.24);border-radius:6px;display:inline-flex;font-size:12px;font-weight:860;height:26px;justify-content:center;margin:0 auto 2px;width:26px}.verb-button span{font-size:13px;font-weight:820}.verb-button small{color:rgba(255,248,236,.72);font-size:10px;line-height:1.15}.verb-button:not(:disabled):focus,.verb-button:not(:disabled):hover{background:rgba(11,111,115,.78);border-color:rgba(255,248,236,.5);color:var(--cream)}.verb-button:disabled{background:rgba(255,248,236,.06);border-color:rgba(255,248,236,.12);color:rgba(255,248,236,.46);cursor:not-allowed}.scene-brief span{color:var(--teal);display:block;font-size:12px;font-weight:760;margin-bottom:4px;text-transform:uppercase}.scene-brief p{color:var(--ink);font-size:13px;line-height:1.45;margin-bottom:0}.map-event-hint{background:#eaf7f6;border:1px solid #cfe4e5;border-radius:8px;margin-top:18px;padding:12px}.map-event-hint span{color:var(--teal);display:block;font-size:12px;font-weight:760;margin-bottom:6px;text-transform:uppercase}.map-event-hint p{color:var(--ink);font-size:13px;line-height:1.45;margin-bottom:0}.section-block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.action-list,.contestant-list{display:grid;grid-gap:10px;gap:10px}.contestant-card{align-items:center;background:rgba(255,255,255,.74);border:1px solid #eadccb;border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:44px 1fr auto;padding:12px}.contestant-avatar{aspect-ratio:1;background:#eadccb;border:1px solid #dbc8b2;border-radius:50%;display:grid;font-size:18px;font-weight:780;height:44px;object-fit:cover;place-items:center;width:44px}.contestant-avatar.fallback{color:var(--ink)}.tone-pill{background:#174c4f;border-radius:999px;color:#fffaf2;font-size:12px;font-weight:820;justify-self:end;padding:6px 10px;text-transform:uppercase}.tone-pill.guarded,.tone-pill.hurt,.tone-pill.tense{background:#8a3f37}.tone-pill.playful,.tone-pill.romantic{background:var(--coral)}.contestant-card small,.contestant-card span,.contestant-card strong{display:block}.contestant-card small,.contestant-card span,.muted{color:var(--muted);font-size:13px}.contestant-card small,.mini-button{grid-column:2/-1}.mini-button{background:var(--teal-dark);border:1px solid #dbc8b2;border-radius:8px;color:#fff8ec;cursor:pointer;font-size:12px;font-weight:760;min-height:32px;padding:6px 9px}.mini-button:focus,.mini-button:hover{border-color:var(--teal);outline:2px solid rgba(11,111,115,.2)}.chemistry{background:#f7dfdc;border-radius:999px;color:#8d2d27;font-size:13px;font-weight:780;padding:6px 9px}.action-button{align-items:center;background:#edf8f6;border:1px solid #cfe4e5;border-radius:8px;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;min-height:46px;padding:10px 12px;text-align:left}.action-button:focus,.action-button:hover{border-color:var(--teal);outline:2px solid rgba(21,127,134,.18)}.action-button:disabled{background:#f2efeb;border-color:var(--line);color:var(--muted);cursor:not-allowed}.action-button:disabled:focus,.action-button:disabled:hover{outline:none}.action-button small{color:var(--muted);margin-left:10px;white-space:nowrap}.location-strip{display:flex;flex-wrap:wrap;gap:10px;margin:18px auto 0;max-width:1340px}.location-chip{align-items:flex-start;background:rgba(255,248,236,.9);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;font-size:14px;gap:2px;min-width:116px;padding:9px 11px;text-align:left}.location-chip span{font-weight:720}.location-chip small{color:var(--muted);font-size:11px}.location-chip.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}.wardrobe-shell{background:linear-gradient(rgba(19,15,12,.58),rgba(19,15,12,.72)),url(/assets/maps/villa-map-evening-v1.jpg) 50% /cover fixed}.wardrobe-top-bar{color:var(--ink)}.wardrobe-save-top{min-height:38px;padding:8px 14px}.wardrobe-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:270px minmax(0,1fr) 360px;margin:0 auto;max-width:1340px}.wardrobe-detail-panel,.wardrobe-preview-panel,.wardrobe-rail{background:rgba(255,248,236,.94);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);min-width:0}.wardrobe-detail-panel,.wardrobe-rail{padding:16px}.wardrobe-option-group+.wardrobe-option-group{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.wardrobe-option-group h2{font-size:15px;margin-bottom:10px}.wardrobe-option-list{display:grid;grid-gap:8px;gap:8px}.wardrobe-chip,.wardrobe-option{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;padding:10px 11px;text-align:left}.wardrobe-chip.active,.wardrobe-option.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff8ec}.wardrobe-option small,.wardrobe-option span{display:block}.wardrobe-option span{font-weight:780}.wardrobe-option small{color:var(--muted);font-size:12px;line-height:1.35;margin-top:5px}.wardrobe-option.active small{color:rgba(255,248,236,.78)}.wardrobe-preview-panel{overflow:hidden}.wardrobe-avatar-frame{align-items:center;background:radial-gradient(circle at 50% 28%,rgba(241,93,79,.2),transparent 30%),linear-gradient(160deg,#f1dfd5,#e7f0ee);display:flex;justify-content:center;min-height:520px;padding:24px}.wardrobe-avatar-frame img{border-radius:8px;box-shadow:0 28px 60px rgba(16,31,34,.22);max-height:470px;max-width:100%;object-fit:contain}.wardrobe-avatar-fallback{align-items:center;aspect-ratio:3/4;background:linear-gradient(rgba(255,250,242,.44),rgba(255,250,242,.72)),radial-gradient(circle at 50% 22%,#f2c9b8 0 15%,transparent 16%),linear-gradient(90deg,transparent 38%,rgba(16,31,34,.22) 38% 42%,transparent 42% 58%,rgba(16,31,34,.22) 58% 62%,transparent 62%),linear-gradient(180deg,transparent 25%,rgba(16,31,34,.12) 25% 70%,transparent 70%),#e7f0ee;border:1px solid var(--line);border-radius:8px;display:grid;font-size:54px;font-weight:820;grid-gap:8px;gap:8px;width:min(320px,100%);place-items:center;text-align:center}.wardrobe-avatar-fallback span{background:rgba(255,250,242,.78);border-radius:8px;padding:6px 18px}.wardrobe-avatar-fallback small{color:var(--muted);font-size:13px;font-weight:760}.wardrobe-look-meta{border-top:1px solid var(--line);padding:16px}.wardrobe-detail-panel p,.wardrobe-look-meta p{color:var(--muted);font-size:14px;line-height:1.45}.wardrobe-vibe-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.wardrobe-chip{font-weight:780;text-align:center}.wardrobe-definition-list{display:grid;grid-gap:10px;gap:10px;margin:0}.wardrobe-definition-list div{border-top:1px solid var(--line);min-width:0;padding-top:10px}.wardrobe-definition-list dt{color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase}.wardrobe-definition-list dd{color:var(--ink);font-size:13px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}.wardrobe-save-button{margin-top:18px;width:100%}.location-chip.visited:not(.active){border-color:var(--gold)}.location-chip:disabled{background:#f2efeb;color:var(--muted);cursor:not-allowed}@media (max-width:980px){.game-shell{padding:16px}.casino-stage,.date-layout,.game-layout{grid-template-columns:1fr}.restaurant-date-layout{gap:14px}.restaurant-date-shell .restaurant-date-scene{height:72dvh;min-height:680px;overflow:hidden}.restaurant-date-shell .date-scene-viewport{overflow:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}.restaurant-date-shell .date-scene-viewport::-webkit-scrollbar{display:none}.restaurant-date-shell .date-scene-canvas{height:100%;min-height:680px;min-width:1500px;width:max(160vw,1500px)}.restaurant-date-relationship-panel{order:3}.restaurant-date-choice-row{order:2}.dialogue-layout{gap:14px}.dialogue-relationship-panel{order:3}.dialogue-choice-row{order:2}.dialogue-custom-panel{grid-template-columns:1fr}.dialogue-custom-actions{min-width:0}.ceremony-layout{grid-template-columns:1fr}.ceremony-result-panel{order:3}.ceremony-shell{background:linear-gradient(rgba(19,15,12,.74),rgba(19,15,12,.82)),url(/assets/scenes/fire-pit-ceremony-v2-tablet-portrait.jpg) 50% /cover}.ceremony-scene{background:linear-gradient(180deg,rgba(19,15,12,.08),rgba(19,15,12,.78)),url(/assets/scenes/fire-pit-ceremony-v2-tablet-portrait.jpg) 50% /cover}.avatar-layout,.wardrobe-layout{grid-template-columns:1fr}.wardrobe-avatar-frame{min-height:420px}.date-choice-row{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-flow-panel{grid-template-columns:1fr}.couple-list{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback{grid-column:1/-1}.side-panel{padding:16px}.admin-grid-panel,.npc-provider-controls,.npc-provider-results{grid-template-columns:1fr}}@media (min-width:981px) and (max-width:1280px) and (orientation:landscape){.ceremony-shell{background:linear-gradient(rgba(19,15,12,.74),rgba(19,15,12,.82)),url(/assets/scenes/fire-pit-ceremony-v2-tablet-landscape.jpg) 50% /cover}.ceremony-scene{background:linear-gradient(180deg,rgba(19,15,12,.08),rgba(19,15,12,.78)),url(/assets/scenes/fire-pit-ceremony-v2-tablet-landscape.jpg) 50% /cover}}@media (max-width:560px){.casino-shell{padding:12px}.casino-stage{gap:12px}.casino-machine,.casino-rules{padding:14px}.casino-machine h1{font-size:34px}.slot-reel span{font-size:13px}.casino-result{align-items:flex-start;flex-direction:column;gap:4px}.restaurant-date-shell{padding:0}.restaurant-date-shell .restaurant-date-top-bar{background:linear-gradient(180deg,rgba(19,15,12,.72),rgba(19,15,12,0));border:0;border-radius:0;box-shadow:none;color:#fff8ec;inset:0 0 auto;margin:0;padding:14px;position:fixed;z-index:6}.restaurant-date-shell .restaurant-date-top-bar .brand-title,.restaurant-date-shell .restaurant-date-top-bar .eyebrow{color:#fff8ec;text-shadow:0 2px 16px rgba(0,0,0,.32)}.restaurant-date-shell .top-status{gap:6px}.restaurant-date-shell .phase-pill,.restaurant-date-shell .segment-pill{min-height:34px}.restaurant-date-shell .restaurant-date-layout{display:flex;flex-direction:column;margin:0;max-width:none}.restaurant-date-shell .restaurant-date-scene{border:0;border-radius:0;height:100dvh;min-height:100dvh;order:1;overflow:hidden;width:100%}.restaurant-date-shell .date-scene-viewport{overflow:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}.restaurant-date-shell .date-scene-viewport::-webkit-scrollbar{display:none}.restaurant-date-shell .date-scene-canvas{height:100%;margin-bottom:44dvh;min-height:100dvh;min-width:1320px;width:1320px}.restaurant-date-shell .date-background{object-fit:cover}.restaurant-date-shell .restaurant-date-dialogue{border-radius:18px;bottom:270px;left:14px;max-width:none;padding:14px;right:14px}.restaurant-date-shell .restaurant-date-choice-row{background:#fff8ec;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.26);bottom:0;display:grid;grid-gap:10px;gap:10px;left:0;margin-top:0;max-height:250px;order:2;overflow-y:auto;padding:16px 14px 14px;position:fixed;right:0;z-index:4}.restaurant-date-shell .date-choice-card{min-height:104px;padding:14px}.restaurant-date-shell .date-choice-card span{font-size:17px}.restaurant-date-shell .date-choice-card p{font-size:13px}.restaurant-date-shell .date-choice-end-button{display:block;min-height:46px;width:100%}.restaurant-date-shell .end-date-button,.restaurant-date-shell .restaurant-date-relationship-panel{display:none}.restaurant-date-shell .date-metric-list{gap:10px}.restaurant-date-shell .date-metric{background:#fff4e4;border:1px solid #eadccb;border-radius:8px;padding:10px}.wardrobe-shell{background:linear-gradient(rgba(19,15,12,.18),rgba(19,15,12,.64)),url(/assets/maps/villa-map-evening-v1.jpg) 50% /cover fixed;padding:0}.wardrobe-shell .wardrobe-top-bar{border-radius:0 0 18px 18px;margin:0;padding:14px}.wardrobe-shell .wardrobe-top-bar h1{font-size:26px}.wardrobe-shell .top-status{width:100%}.wardrobe-shell .top-status .mini-button,.wardrobe-shell .top-status .wardrobe-save-top{flex:1 1;justify-content:center;margin-top:0}.wardrobe-shell .wardrobe-layout{display:flex;flex-direction:column;gap:0;margin:0;max-width:none}.wardrobe-shell .wardrobe-preview-panel{border:0;border-radius:0 0 18px 18px;box-shadow:none;order:1}.wardrobe-shell .wardrobe-avatar-frame{min-height:0;padding:14px 14px 10px}.wardrobe-shell .wardrobe-avatar-frame img{max-height:54dvh;width:min(100%,330px)}.wardrobe-shell .wardrobe-look-meta{padding:14px}.wardrobe-shell .wardrobe-look-meta h2{font-size:22px}.wardrobe-shell .wardrobe-rail{border:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.22);order:2;padding:16px 14px 8px}.wardrobe-shell .wardrobe-option-group+.wardrobe-option-group{margin-top:14px;padding-top:14px}.wardrobe-shell .wardrobe-option-group h2{font-size:14px;text-transform:uppercase}.wardrobe-shell .wardrobe-option-list{display:flex;gap:10px;margin:0 -14px;overflow-x:auto;padding:0 14px 4px;scroll-snap-type:x mandatory}.wardrobe-shell .wardrobe-option{flex:0 0 220px;min-height:92px;scroll-snap-align:start}.wardrobe-shell .wardrobe-detail-panel{border:0;border-radius:0;box-shadow:none;order:3;padding:14px 14px calc(86px + env(safe-area-inset-bottom))}.wardrobe-shell .wardrobe-vibe-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-shell .wardrobe-chip{min-width:0}.wardrobe-shell .wardrobe-save-button{box-shadow:0 12px 32px rgba(19,15,12,.28);margin-top:18px;position:static;width:100%}.dialogue-shell{padding:0}.dialogue-shell .dialogue-top-bar{background:linear-gradient(180deg,rgba(19,15,12,.72),rgba(19,15,12,0));border:0;border-radius:0;box-shadow:none;color:#fff8ec;inset:0 0 auto;margin:0;padding:14px;position:fixed;z-index:6}.dialogue-shell .dialogue-top-bar .brand-title,.dialogue-shell .dialogue-top-bar .eyebrow{color:#fff8ec;text-shadow:0 2px 16px rgba(0,0,0,.32)}.dialogue-shell .top-status{gap:6px}.dialogue-shell .mini-button,.dialogue-shell .phase-pill,.dialogue-shell .segment-pill{min-height:34px}.dialogue-shell .dialogue-layout{display:flex;flex-direction:column;margin:0;max-width:none}.dialogue-shell .dialogue-scene{border:0;border-radius:0;height:78dvh;min-height:620px;order:1;width:100%}.dialogue-shell .dialogue-card{border-radius:18px;bottom:16px;left:14px;max-width:none;padding:14px;right:14px}.dialogue-shell .dialogue-card .contestant-card{grid-template-columns:42px 1fr auto;padding:10px}.dialogue-shell .dialogue-card p{font-size:15px}.dialogue-shell .dialogue-choice-row{background:#fff8ec;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.26);display:grid;grid-gap:10px;gap:10px;margin-top:-20px;order:3;padding:16px 14px 14px;position:relative;z-index:4}.dialogue-shell .dialogue-custom-panel{border:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.22);gap:12px;margin-top:-20px;order:2;padding:16px 14px 14px;position:relative;z-index:4}.dialogue-shell .dialogue-custom-field textarea{min-height:112px}.dialogue-shell .dialogue-custom-actions{align-items:stretch}.dialogue-shell .dialogue-custom-actions small{text-align:left}.dialogue-shell .date-choice-card{min-height:112px;padding:14px}.dialogue-shell .date-choice-card span{font-size:17px}.dialogue-shell .date-choice-card p{font-size:13px}.dialogue-shell .dialogue-relationship-panel{border:0;border-radius:0;order:4;padding:16px 14px 20px}.ceremony-shell{background:linear-gradient(rgba(19,15,12,.74),rgba(19,15,12,.82)),url(/assets/scenes/fire-pit-ceremony-v2-mobile.jpg) 50% /cover;padding:0}.ceremony-shell .ceremony-top-bar{background:linear-gradient(180deg,rgba(19,15,12,.76),rgba(19,15,12,0));border:0;border-radius:0;box-shadow:none;color:#fff8ec;inset:0 0 auto;margin:0;padding:14px;position:fixed;z-index:6}.ceremony-shell .ceremony-top-bar .brand-title,.ceremony-shell .ceremony-top-bar .eyebrow{color:#fff8ec;text-shadow:0 2px 16px rgba(0,0,0,.34)}.ceremony-shell .top-status{gap:6px}.ceremony-shell .mini-button,.ceremony-shell .phase-pill,.ceremony-shell .segment-pill{min-height:34px}.ceremony-shell .ceremony-layout{display:flex;flex-direction:column;gap:0;margin:0;max-width:none}.ceremony-shell .ceremony-main-column{display:contents}.ceremony-shell .ceremony-scene{background:linear-gradient(180deg,rgba(19,15,12,.08),rgba(19,15,12,.78)),url(/assets/scenes/fire-pit-ceremony-v2-mobile.jpg) 50% /cover;border:0;border-radius:0;min-height:58dvh;order:1;padding:104px 14px 24px}.ceremony-shell .ceremony-scene-card{border-radius:18px;max-width:none;padding:14px;width:100%}.ceremony-shell .ceremony-scene-card h2{font-size:23px}.ceremony-shell .ceremony-panel{border:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.24);margin-top:-18px;order:2;padding:16px 14px 14px;position:relative;z-index:4}.ceremony-shell .ceremony-copy{font-size:13px;margin-bottom:12px}.ceremony-shell .ceremony-partner-grid{display:flex;gap:10px;margin:0 -14px;overflow-x:auto;padding:0 14px 4px;scroll-snap-type:x mandatory}.ceremony-shell .ceremony-partner-option{flex:0 0 206px;min-height:86px;scroll-snap-align:start}.ceremony-shell .ceremony-actions{grid-template-columns:1fr;margin-top:14px}.ceremony-shell .ceremony-result-panel{border:0;border-radius:0;box-shadow:none;order:3;padding:16px 14px calc(22px + env(safe-area-inset-bottom))}.ceremony-shell .ceremony-couple-list{gap:10px}.ceremony-shell .couple-row{min-height:50px}.player-shell{padding:0}.player-shell .player-reset-button{right:12px;top:12px;z-index:6}.player-shell .player-wallet-button{left:12px;top:12px;z-index:6}.player-shell .map-layout-v2{display:block;margin:0;max-width:none;min-height:100dvh;position:relative}.player-shell .map-stage-v2{aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;height:100dvh;min-height:100dvh;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}.player-shell .map-stage-v2::-webkit-scrollbar{display:none}.player-shell .map-canvas{aspect-ratio:var(--map-natural-width,1568) /var(--map-natural-height,1003);height:auto;margin-bottom:min(46dvh,430px);min-width:1680px;position:relative;width:max(calc(100dvh * var(--map-natural-width, 1568) / var(--map-natural-height, 1003)),1680px)}.player-shell .map-layout-v2.hud-closed .map-canvas{margin-bottom:0}.player-shell .map-title-card{display:none}.player-shell .marker-label{font-size:26px}.player-shell .marker-status{font-size:19px}.player-shell .map-detail-panel{border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(8,43,47,.24);bottom:0;left:0;margin-top:0;max-height:min(34dvh,300px);overflow-y:auto;padding:12px 14px calc(14px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:4}.player-shell .bottom-sheet-handle{display:block}.player-shell .panel-header h2{font-size:20px;margin-bottom:6px}.player-shell .panel-header p{display:none}.player-shell .player-path-panel{margin-top:12px}.player-shell .player-path-panel h3{display:none}.player-shell .player-path-actions{grid-template-columns:1fr}.player-shell .touch-verb-bar{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.player-shell .section-block{display:none}.player-shell .contestant-card{grid-template-columns:42px 1fr auto}.player-shell .location-strip{display:none}.player-shell .location-chip{flex:0 0 136px;min-height:58px;scroll-snap-align:start}.top-bar{align-items:flex-start;flex-direction:column}.top-status{justify-content:flex-start}.ceremony-actions,.couple-list,.partner-grid,.status-grid{grid-template-columns:1fr}h1{font-size:28px}.game-shell:not(.player-shell) .map-stage{min-height:260px}.date-scene{min-height:420px}.date-dialogue{bottom:14px;left:14px;max-width:calc(100% - 28px);padding:14px}.action-button{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs button{min-width:0}.wardrobe-vibe-grid{grid-template-columns:1fr}.wardrobe-avatar-frame{min-height:340px}.action-button small{margin-left:0;margin-top:4px}.player-shell .map-stage-v2{height:100dvh;min-height:100dvh}.player-shell .map-canvas{aspect-ratio:var(--map-natural-width,1568) /var(--map-natural-height,1003);height:auto;margin-bottom:34dvh;min-width:1680px;width:1680px}.player-shell .map-layout-v2.hud-closed .map-canvas{margin-bottom:0}.player-shell .villa-map{object-fit:contain}.player-shell .map-detail-panel{max-height:34dvh}.player-shell .player-path-panel{display:none}.player-shell .location-marker.mobile-hidden:not(.selected){display:inline}}.mobile-viewport-prototype{background:#101010;color:#fff8ec;height:100vh;height:100dvh;overflow:hidden;position:relative;width:100vw}.mobile-viewport-stage{background:#101010;cursor:-webkit-grab;cursor:grab;height:100vh;height:100%;overflow:hidden;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.mobile-viewport-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.mobile-viewport-canvas{left:0;max-width:none;position:absolute;top:0;transform-origin:0 0;width:auto;will-change:transform}.mobile-viewport-anchors{align-items:center;background:rgba(6,27,31,.68);border:1px solid rgba(255,248,236,.18);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.22);display:flex;gap:6px;left:auto;padding:6px;position:fixed;right:calc(10px + env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top));transform:none;z-index:5}.mobile-viewport-anchors button{background:rgba(255,248,236,.14);border:1px solid rgba(255,248,236,.18);border-radius:8px;color:#fff8ec;cursor:pointer;font-size:11px;font-weight:760;min-height:30px;padding:6px 8px}.mobile-viewport-anchors button:focus,.mobile-viewport-anchors button:hover{background:rgba(255,248,236,.28);outline:2px solid rgba(255,248,236,.18)}.wardrobe-game-shell{background:#15110d;color:var(--ink);height:100vh;height:100dvh;overflow:hidden;position:relative;width:100vw}.wardrobe-game-stage{cursor:-webkit-grab;cursor:grab;height:100%;overflow:hidden;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.wardrobe-game-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.wardrobe-game-canvas{background:#201812;border:0;left:0;overflow:hidden;position:absolute;top:0;transform-origin:0 0;will-change:transform}.wardrobe-scene-background{background:linear-gradient(90deg,rgba(255,248,236,.92) 0 17%,rgba(255,248,236,.08) 17% 56%,rgba(255,248,236,.18) 56% 100%),linear-gradient(180deg,rgba(24,18,13,.08),rgba(24,18,13,.18)),url(/assets/locations/review/dressing-room-wardrobe-v1-master-strawberry.jpg) 50% /cover;inset:0;position:absolute}.wardrobe-bottom-nav,.wardrobe-camera-anchors,.wardrobe-game-menu,.wardrobe-game-status,.wardrobe-item-panel,.wardrobe-panel-tabs,.wardrobe-style-strip,.wardrobe-tech-card{position:absolute;z-index:2}.wardrobe-game-menu{background:rgba(255,248,236,.93);border-right:1px solid rgba(227,210,191,.78);border-radius:0 8px 8px 0;box-shadow:18px 0 38px rgba(16,31,34,.12);display:grid;grid-gap:14px;gap:14px;height:100%;left:0;padding:26px 18px 84px;top:0;width:17.2%}.wardrobe-game-brand{color:var(--teal-dark);display:grid;grid-gap:4px;gap:4px;justify-items:start;letter-spacing:0;text-transform:uppercase}.wardrobe-game-brand span{font-size:34px;line-height:1;margin-left:58px}.wardrobe-game-brand strong{font-family:Georgia,Times New Roman,serif;font-size:32px;line-height:.9;max-width:180px}.wardrobe-game-brand small{color:var(--muted);font-size:10px;font-weight:760;margin-left:42px}.wardrobe-game-location{display:grid;grid-gap:2px;gap:2px}.wardrobe-game-location span{color:var(--muted);font-size:12px;font-weight:780;text-transform:uppercase}.wardrobe-game-location strong{font-family:Georgia,Times New Roman,serif;font-size:21px;text-transform:uppercase}.wardrobe-category-list{border:1px solid rgba(227,210,191,.9);border-radius:8px;overflow:hidden}.wardrobe-category-list button{align-items:center;background:rgba(255,255,255,.44);border:0;border-bottom:1px solid rgba(227,210,191,.88);color:var(--ink);cursor:pointer;display:grid;font-size:16px;grid-template-columns:1fr auto;min-height:56px;padding:10px 12px;text-align:left;width:100%}.wardrobe-category-list button:last-child{border-bottom:0}.wardrobe-category-list button.active{background:var(--coral);color:#fff8ec}.wardrobe-category-list button small{align-items:center;background:rgba(16,31,34,.08);border-radius:999px;display:inline-flex;font-size:12px;justify-content:center;min-height:28px;min-width:28px}.wardrobe-category-list button.active small{background:rgba(255,248,236,.24)}.wardrobe-help-card{align-items:center;align-self:end;background:linear-gradient(135deg,#0b6f73,#064047);border-radius:8px;color:#fff8ec;display:grid;grid-gap:12px;gap:12px;grid-template-columns:54px 1fr;min-height:116px;padding:14px}.wardrobe-help-card span{font-size:44px;line-height:1}.wardrobe-help-card p{font-size:14px;line-height:1.35;margin:0}.wardrobe-avatar-zone{align-items:center;display:grid;justify-items:center;left:22.5%;position:absolute;top:11%;width:29%;z-index:2}.wardrobe-avatar-card{align-items:center;background:radial-gradient(circle at 50% 24%,rgba(255,248,236,.48),rgba(255,248,236,.1) 62%,transparent);border-radius:999px;display:flex;justify-content:center;min-height:610px;padding:24px;width:min(92%,420px)}.wardrobe-avatar-card img{border:1px solid rgba(255,248,236,.46);border-radius:8px;box-shadow:0 34px 72px rgba(16,31,34,.24);height:560px;max-width:min(100%,320px);object-fit:cover;object-position:center top;width:320px}.wardrobe-avatar-card .wardrobe-avatar-fallback{align-content:start;background:radial-gradient(circle at 50% 15%,#f4c1a7 0 13%,transparent 13.5%),linear-gradient(180deg,transparent 25%,#073b42 25% 76%,transparent 76%),linear-gradient(90deg,transparent 30%,rgba(255,248,236,.9) 30% 42%,transparent 42% 58%,rgba(255,248,236,.9) 58% 70%,transparent 70%),linear-gradient(180deg,rgba(255,248,236,.62),rgba(255,248,236,.28));border:1px solid rgba(255,248,236,.48);box-shadow:0 34px 72px rgba(16,31,34,.2);gap:0;height:560px;justify-items:center;overflow:hidden;padding-top:112px;width:280px}.wardrobe-avatar-card .wardrobe-avatar-fallback span{background:rgba(255,248,236,.86);border-radius:999px;color:var(--ink);font-size:26px;font-weight:860;line-height:1;padding:8px 16px}.wardrobe-avatar-card .wardrobe-avatar-fallback small{background:rgba(255,248,236,.86);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;margin-top:330px;padding:7px 12px}.wardrobe-bottom-nav button,.wardrobe-camera-anchors button,.wardrobe-filter-row button,.wardrobe-game-status button,.wardrobe-panel-tabs button,.wardrobe-randomize-button,.wardrobe-save-look-button,.wardrobe-style-group button{border:1px solid rgba(255,248,236,.26);cursor:pointer;font-weight:760}.wardrobe-randomize-button{background:linear-gradient(135deg,#0b6f73,#064047);border-radius:999px;box-shadow:0 14px 32px rgba(8,43,47,.28);color:#fff8ec;font-size:14px;margin-top:-18px;min-height:46px;padding:10px 28px}.wardrobe-game-status{display:flex;gap:12px;left:0;top:-76px}.wardrobe-game-status button{background:rgba(16,31,34,.38);border-radius:999px;color:#fff8ec;font-size:16px;min-height:44px;padding:8px 15px}.wardrobe-item-panel{background:rgba(255,248,236,.95);border:1px solid rgba(227,210,191,.82);border-radius:8px;box-shadow:0 22px 52px rgba(16,31,34,.18);display:grid;grid-gap:14px;gap:14px;left:55.5%;min-height:610px;padding:18px;top:9.5%;width:43%}.wardrobe-panel-tabs{display:flex;gap:18px;justify-content:flex-end;right:2%;top:-72px}.wardrobe-panel-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#fff8ec;font-size:14px;min-height:42px;padding:8px 5px}.wardrobe-panel-tabs button.active{border-bottom-color:var(--coral);color:#fff8ec}.wardrobe-filter-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-filter-row button{background:rgba(255,255,255,.58);border-color:rgba(227,210,191,.95);border-radius:6px;color:var(--ink);font-size:13px;min-height:40px;padding:8px 10px;text-align:left}.wardrobe-swatch-row{display:flex;gap:14px;overflow:hidden}.wardrobe-swatch{align-items:center;background:#fff;border:1px solid rgba(227,210,191,.95);border-radius:999px;color:var(--ink);display:inline-flex;flex:0 0 38px;font-size:12px;height:38px;justify-content:center;overflow:hidden;width:38px}.wardrobe-swatch span{border-radius:inherit;display:block;height:100%;width:100%}.wardrobe-swatch-black span{background:#171717}.wardrobe-swatch-blue span{background:#284fb7}.wardrobe-swatch-coral span{background:#ef5270}.wardrobe-swatch-gold span{background:#e6a91f}.wardrobe-swatch-green span{background:#2e8a58}.wardrobe-swatch-ivory span,.wardrobe-swatch-white span{background:#fff}.wardrobe-swatch-multi span{background:linear-gradient(135deg,#ef5270,#e6a91f,#2e8a58,#31aeb7,#284fb7)}.wardrobe-swatch-orange span{background:#f48124}.wardrobe-swatch-red span{background:#df443e}.wardrobe-swatch-teal span{background:#31aeb7}.wardrobe-card-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-item-card{background:rgba(255,255,255,.64);border:1px solid rgba(227,210,191,.94);border-radius:8px;cursor:pointer;display:grid;grid-gap:6px;gap:6px;min-height:160px;padding:12px;place-items:center}.wardrobe-item-card.active{border-color:var(--coral);box-shadow:0 0 0 2px rgba(241,93,79,.18)}.wardrobe-item-card small{color:var(--muted);font-size:11px;font-weight:760;text-align:center}.wardrobe-dress-shape{background:linear-gradient(145deg,#f28b61,#f7d2b8);border-radius:48% 48% 12px 12px;box-shadow:inset 0 -18px 28px rgba(16,31,34,.14);display:block;height:108px;position:relative;width:78px}.wardrobe-dress-shape:before{background:inherit;border-radius:999px 999px 6px 6px;content:"";height:46px;left:20px;position:absolute;top:-20px;width:38px}.tone-black{background:linear-gradient(145deg,#111,#3c3733)}.tone-blue{background:linear-gradient(145deg,#1f54b6,#173877)}.tone-coral{background:linear-gradient(145deg,#f16555,#f4c0a5)}.tone-gold{background:linear-gradient(145deg,#e8a51f,#ffd88f)}.tone-green{background:linear-gradient(145deg,#617b61,#b5c0a1)}.tone-ivory{background:linear-gradient(145deg,#fff8ec,#e8d5bd)}.wardrobe-score-panel{align-items:center;border-top:1px solid rgba(227,210,191,.84);display:grid;grid-gap:14px;gap:14px;grid-template-columns:84px 1fr 170px 190px;margin-top:4px;padding-top:14px}.wardrobe-score-ring{align-items:center;aspect-ratio:1;background:conic-gradient(var(--coral) 0 78%,rgba(241,93,79,.16) 78% 100%);border-radius:999px;display:grid;justify-items:center;padding:10px}.wardrobe-score-ring strong{align-items:center;background:#fff8ec;border-radius:999px;display:flex;font-size:28px;height:100%;justify-content:center;width:100%}.wardrobe-score-ring span{color:var(--coral);font-size:11px;font-weight:800;margin-top:-28px;text-transform:uppercase}.wardrobe-score-panel p{color:var(--ink);font-size:14px;line-height:1.32;margin:4px 0}.wardrobe-score-panel small{color:var(--teal);font-size:13px;font-weight:800}.wardrobe-cache-card{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:54px 1fr}.wardrobe-cache-card .wardrobe-dress-shape{height:74px;width:52px}.wardrobe-cache-card .wardrobe-dress-shape:before{height:30px;left:14px;top:-12px;width:24px}.wardrobe-cache-card p{color:var(--muted);font-size:12px;margin:0}.wardrobe-save-look-button{background:linear-gradient(135deg,var(--coral),#ee4d42);border:0;border-radius:8px;color:#fff8ec;font-size:18px;min-height:54px;padding:12px 16px}.wardrobe-style-strip{background:rgba(255,248,236,.86);border:1px solid rgba(227,210,191,.72);border-radius:8px;display:grid;grid-gap:6px;gap:6px;left:22%;padding:10px;top:77%;width:30%}.wardrobe-style-group{display:flex;gap:6px;overflow:hidden}.wardrobe-style-group button{background:rgba(255,255,255,.58);border-color:rgba(227,210,191,.84);border-radius:999px;color:var(--ink);flex:1 1;font-size:10px;min-height:26px;min-width:0;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.wardrobe-style-group button.active{background:var(--teal-dark);color:#fff8ec}.wardrobe-bottom-nav{align-items:center;background:linear-gradient(90deg,#052e35,#073b42);bottom:0;color:#fff8ec;display:flex;gap:22px;height:70px;left:0;padding:0 24px;width:100%}.wardrobe-bottom-nav button,.wardrobe-bottom-nav span{color:#fff8ec;font-size:13px}.wardrobe-bottom-nav button{background:transparent;border:0;min-height:38px;padding:6px 10px}.wardrobe-bottom-nav button:focus,.wardrobe-bottom-nav button:hover,.wardrobe-randomize-button:focus,.wardrobe-randomize-button:hover,.wardrobe-save-look-button:focus,.wardrobe-save-look-button:hover{filter:brightness(1.06);outline:2px solid rgba(255,248,236,.28)}.wardrobe-tech-card{background:rgba(6,27,31,.84);border:1px solid rgba(255,248,236,.24);border-radius:8px;bottom:82px;color:#fff8ec;display:grid;font-size:11px;grid-gap:5px;gap:5px;left:18px;max-width:480px;padding:10px}.wardrobe-tech-card span{overflow-wrap:anywhere}.wardrobe-camera-anchors{background:rgba(6,27,31,.7);border:1px solid rgba(255,248,236,.16);border-radius:10px;display:flex;gap:6px;padding:6px;right:calc(10px + env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top));z-index:5}.wardrobe-camera-anchors button{background:rgba(255,248,236,.18);border-radius:8px;color:#fff8ec;font-size:11px;min-height:30px;padding:6px 8px}@media (max-width:900px){.wardrobe-game-menu{width:240px}.wardrobe-item-panel{width:640px}.wardrobe-style-strip{display:none}.wardrobe-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-score-panel{grid-template-columns:76px 1fr}.wardrobe-cache-card,.wardrobe-save-look-button{grid-column:span 2}}