@font-face{font-family:"Wedding Serif";src:url(/fonts/NotoSerifSC-VF.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Wedding Sans;src:url(/fonts/NotoSansSC-VF.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#26231f;background:#f4f2ee;font-synthesis:none;letter-spacing:0;--ink: #1b1917;--muted: #716c64;--line: #d8d3ca;--paper: #fbfaf7;--panel: #ffffff;--gold: #b89555;--burgundy: #7b2f3d;--green: #48705e;--danger: #9a3443}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection-status{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid currentColor;border-radius:5px;font-size:12px;font-weight:700}.connection-status.is-online{color:#4c7a63}.connection-status.is-offline{color:#a64652}.connection-status.is-compact{width:32px;padding:0;justify-content:center;border:0}.status-message{padding:11px 13px;border:1px solid #d6d1c7;border-radius:5px;background:#f7f5f1;color:#5c574f;font-size:13px}.status-error{color:#87313e;border-color:#d9aeb5;background:#fff7f8}.status-success{color:#37624e;border-color:#b9d4c7;background:#f4fbf7}.primary-button,.primary-command{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:1px solid #9c7a3e;border-radius:6px;background:#ad8748;color:#fff;font-weight:800}.launch-page{width:min(920px,calc(100% - 32px));margin:0 auto;padding:64px 0}.launch-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.launch-header h1{margin:0;color:var(--ink);font-family:Georgia,Songti SC,serif;font-size:42px;font-weight:500}.launch-header p:last-child{margin:10px 0 0;color:var(--muted)}.build-label{padding:7px 9px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:12px}.launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.launch-grid-official{max-width:720px}.launch-item{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;min-height:102px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff8c}.launch-item:hover{background:#fff}.launch-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c9b387;color:#8e6d34}.launch-item strong,.launch-item small{display:block}.launch-item strong{margin-bottom:5px}.launch-item small{color:var(--muted)}.launch-actions{display:flex;align-items:center;gap:10px}.logout-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted)}.logout-button:hover{color:var(--ink)}.launch-invite{margin:18px 0 0;color:var(--muted);font-size:13px}.launch-invite a{color:#8e6d34;text-decoration:underline;text-underline-offset:3px}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at top,rgba(184,149,85,.16),transparent 42%),#f4f2ee}.login-card{width:min(420px,100%);display:grid;gap:14px;padding:28px 22px;border:1px solid var(--line);border-radius:10px;background:#ffffffe0;box-shadow:0 16px 40px #2820180f}.login-card h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:28px;font-weight:500}.login-card>p{margin:0;color:var(--muted);line-height:1.6}.login-card label{display:grid;gap:6px;color:var(--muted);font-size:13px}.login-card input{min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.login-card .primary-button{width:100%;justify-content:center;min-height:48px}.guest-page{position:relative;min-height:100dvh;overflow:hidden;background:#140f0d;color:#f7f3eb}.guest-page:before{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.guest-backdrop{position:fixed;inset:0;background-image:url(/wedding-hall.jpg);background-position:center;background-size:cover;filter:saturate(.68) contrast(1.08) brightness(.86)}.guest-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 18%,rgba(184,149,85,.22),transparent 42%),linear-gradient(180deg,#0c09086b,#0c0908c7 58%,#0a0807e6)}.guest-header,.guest-content,.guest-footer{position:relative;z-index:3}.guest-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:max(14px,env(safe-area-inset-top)) 18px 10px;border-bottom:1px solid rgba(255,255,255,.13)}.guest-header>div{display:flex;align-items:baseline;gap:10px;min-width:0}.guest-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Songti SC,serif;font-size:16px}.guest-brand{color:#d3b878;font-family:Songti SC,serif;font-size:22px;font-weight:800}.guest-content{display:grid;min-height:calc(100dvh - 112px);padding:26px 20px 68px}.guest-content>section{width:min(100%,430px);margin:auto}.guest-footer{position:fixed;right:18px;bottom:max(14px,env(safe-area-inset-bottom));color:#ffffff9e;font-size:12px}.guest-loading{margin:auto;color:#ffffffb8}.checkin-panel{align-self:center;text-align:center}.invite-seal{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border:1px solid rgba(211,184,120,.8);border-radius:50%;color:#f0d59a;font-family:Songti SC,"Noto Serif SC",serif;font-size:30px;font-weight:800;box-shadow:0 0 0 6px #d3b87814}.invite-meta{margin:0 0 14px;color:#f1d99dc7;font-size:12px;letter-spacing:.18em}.invite-names{display:grid;justify-items:center;gap:4px;margin-bottom:18px}.invite-names strong{font-family:"Wedding Serif",Georgia,Songti SC,serif;font-size:clamp(36px,11vw,52px);font-weight:500;line-height:1.12}.invite-names span{color:#d3b878;font-family:Georgia,serif;font-size:18px}.checkin-copy{margin:0 0 26px;color:#ffffffad}.invite-form{text-align:left;padding:18px 16px 16px;border:1px solid rgba(211,184,120,.28);border-radius:16px;background:#14100d9e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.blessing-stage{align-self:center;text-align:center}.blessing-stage h2{margin:0 0 22px;font-family:"Wedding Serif",Georgia,Songti SC,serif;font-size:clamp(32px,9vw,44px);font-weight:500}.blessing-card{display:grid;gap:12px;padding:18px 16px 16px;border:1px solid rgba(211,184,120,.3);border-radius:18px;background:linear-gradient(180deg,#3e1c226b,#16100ec7);text-align:left}.blessing-card textarea{width:100%;min-height:150px;padding:14px 4px 8px;border:0;border-bottom:1px dashed rgba(241,217,157,.28);outline:none;resize:none;background:transparent;color:#f8f1e4;font-family:"Wedding Serif",Georgia,Songti SC,serif;font-size:20px;line-height:1.7}.blessing-card textarea::placeholder{color:#ffffff61}.blessing-meta{display:flex;justify-content:space-between;color:#f1d99db3;font-size:12px}.blessing-card .primary-button{width:100%;margin-top:4px}.tap-orbit{position:relative;width:min(74vw,288px);aspect-ratio:1;margin:8px auto 0;display:grid;place-items:center}.tap-orbit>i{position:absolute;inset:8px;border:1px solid rgba(211,184,120,.28);border-radius:50%;animation:tap-ring 2.4s ease-out infinite}.tap-orbit>i:last-of-type{inset:-6px;animation-delay:1.2s}.tap-orbit .battle-tap,.tap-orbit .heart-tap-button{position:relative;z-index:1;width:82%;margin:0}.tap-orbit.is-heart>i{border-color:#d68b9952}@keyframes tap-ring{0%{transform:scale(.86);opacity:.55}to{transform:scale(1.12);opacity:0}}@media(prefers-reduced-motion:reduce){.tap-orbit>i{animation:none}}.guest-form{display:grid;gap:14px}.guest-form label{display:grid;gap:7px}.guest-form label>span{color:#ffffffb3;font-size:12px;font-weight:700}.guest-form input,.guest-form select,.guest-form textarea{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.25);border-radius:6px;outline:none;background:#191613c7;color:#fff;padding:12px 13px}.guest-form textarea{min-height:132px;resize:vertical}.guest-form input:focus,.guest-form select:focus,.guest-form textarea:focus{border-color:#d3b878}.guest-form select option{color:#222}.guest-form .primary-button{width:100%;margin-top:4px}.quiet-stage,.interaction-stage,.winner-stage{text-align:center}.stage-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border:1px solid rgba(211,184,120,.72);color:#d3b878}.quiet-stage h2,.interaction-stage h2,.winner-stage h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(31px,9vw,44px);font-weight:500;line-height:1.22}.quiet-stage p,.interaction-stage>p,.winner-stage p{color:#ffffffb3}.quiet-stage small{display:block;margin-top:18px;color:#d3b878}.interaction-stage{align-self:center}.interaction-stage .guest-form{margin-top:28px;text-align:left}.option-list{display:grid;gap:10px;margin:26px 0 16px}.option-button{display:grid;grid-template-columns:34px 1fr;align-items:center;min-height:52px;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#151311bd;color:#fff;text-align:left}.option-button span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.32);color:#d3b878;font-weight:800}.option-button.is-selected{border-color:#d3b878;background:#5e49279e}.option-button.is-correct{border-color:#83ad94;background:#2b5b41a8}.quiz-hint{margin:0 0 8px;color:#f1d99dc7;font-size:13px}.host-hint,.admin-hint{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.host-hint.is-success{padding:10px 12px;border:1px solid #b9d4c7;border-radius:5px;background:#f4fbf7;color:#2f6b4a}.qr-local-warning{display:grid;gap:6px;place-items:center;width:120px;min-height:120px;padding:12px 8px;background:#f8f4eb;color:#5a4630;text-align:center}.qr-local-warning span{font-weight:800;font-size:13px}.qr-local-warning small{color:#7a6a52;font-size:10px;line-height:1.4;word-break:break-all}.qr-local-warning.is-card{width:148px;height:148px;background:#f8f4eb}.confirm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.secondary-button{min-height:48px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffff14;color:#fff;font-weight:700}.admin-hint code,.host-hint code{font-size:12px}.question-kind-row{display:grid;grid-template-columns:160px 1fr;gap:12px}.question-media-row{display:grid;grid-template-columns:minmax(0,420px);gap:12px}.question-kind-row label,.question-media-row label{display:grid;gap:6px}.question-kind-row span,.question-media-row span{color:var(--muted);font-size:12px}.media-upload{align-content:start}.media-upload input[type=file]{font-size:13px}.media-path{color:var(--muted);font-size:12px;word-break:break-all}.media-preview{display:flex;align-items:center;gap:10px}.admin-poster-thumb{width:72px;height:96px;object-fit:cover;border:1px solid var(--line);background:#f3f0ea}@media(max-width:720px){.question-kind-row,.question-media-row{grid-template-columns:1fr}}.guest-boat{display:flex;align-items:flex-end;justify-content:center;height:46px;margin:18px auto 6px;--paddle-ms: 1.25s}.guest-boat.is-racing{--paddle-ms: .52s}.guest-boat .boat-hull{transform-origin:center bottom}.battle-join{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:180px;aspect-ratio:1;margin:30px auto 0;border:1px solid #d3b878;border-radius:50%;background:#ae8748d6;color:#fff;font-size:18px;font-weight:800}.battle-counter{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:24px 0 12px}.battle-counter strong{font-size:64px;font-weight:300}.battle-tap{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(72vw,280px);aspect-ratio:1;margin:0 auto;border:1px solid #d3b878;border-radius:50%;background:#a77d3d;color:#fff;box-shadow:0 12px 44px #00000057;-webkit-user-select:none;user-select:none;touch-action:manipulation}.battle-tap:active{transform:scale(.97)}.battle-tap strong{margin-top:8px;font-size:50px;line-height:1}.battle-tap span{margin-top:8px;font-size:13px}.battle-confirmed{margin-top:14px;color:#d3b878;font-size:13px}.battle-network-message{margin-top:7px;color:#ffffff9e;font-size:12px}.winner-stage svg{color:#d3b878}.claim-code{margin:26px auto 12px;padding:16px 22px;border:1px solid #d3b878;font-family:ui-monospace,monospace;font-size:34px;letter-spacing:4px;color:#f1d99d}.toast-guest-stage{align-self:center;text-align:center}.toast-guest-stage>svg{margin-bottom:22px;color:#d3b878}.toast-guest-stage h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,13vw,62px);font-weight:500}.toast-guest-stage>p:last-child{color:#ffffffad}.toast-guest-stage.is-counting>strong{display:block;color:#f1d99d;font-size:clamp(110px,35vw,170px);font-weight:200;line-height:1;animation:countdown-in .7s ease both}.motion-enable{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-bottom:14px;padding:0 16px;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:#191613c7;color:#fff}.motion-enable.is-enabled{border-color:#82ad94;color:#b9dbc7}.packet-rain{position:relative;width:100%;height:min(54vh,420px);margin:16px 0 8px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#230c1061;touch-action:manipulation}.falling-packet{position:absolute;top:-70px;left:var(--packet-left);width:46px;height:58px;border:1px solid #f2c66d;border-radius:4px;background:#a62f3c;color:#f8d88b;font-family:Songti SC,serif;font-size:24px;box-shadow:0 8px 20px #0000004d;animation:packet-fall var(--packet-duration) linear var(--packet-delay) infinite}.falling-packet.is-grabbed{visibility:hidden}.heart-sync-guest{align-self:center}.heart-progress{height:10px;margin:24px 0 8px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#ffffff14}.heart-progress i{display:block;height:100%;background:#b85568;transition:width .25s ease}.heart-progress-label{display:block;color:#e9c4cb;font-size:28px;font-weight:400}.heart-tap-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(70vw,270px);aspect-ratio:1;margin:20px auto 0;border:1px solid #d68b99;border-radius:50%;background:#8d3446;color:#fff;box-shadow:0 12px 45px #4b0f1d6b;touch-action:manipulation;-webkit-user-select:none;user-select:none}.heart-tap-button:active{transform:scale(.96)}.heart-tap-button svg{width:62px;height:62px;fill:#ffffff38}.heart-tap-button span{margin-top:10px;font-size:44px;line-height:1}.heart-tap-button small{margin-top:6px;color:#ffffffb3}.lantern-tap-button{border-color:#e0bb73;background:#7a3a28}.guest-lantern{position:relative;display:block;width:42px;height:56px}.guest-lantern i{display:block;width:100%;height:70%;border-radius:42% 42% 18% 18%;background:linear-gradient(180deg,#f6e0b0,#d08946);box-shadow:0 0 16px #e8b05c80}.guest-lantern b{position:absolute;left:50%;top:14%;width:8px;height:12px;border-radius:50%;background:#fff6d2;transform:translate(-50%);box-shadow:0 0 10px #ffd27a}.flower-guest-stage{align-self:center;text-align:center}.flower-pass-button{border-color:#e0a3ad;background:#8d3446}.guest-blossom{position:relative;display:block;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff6d2 0 12%,#f0c14b 13% 22%,#c94b63 23% 48%,#8d1f32 49% 70%,transparent 71%);box-shadow:0 0 22px #e8b05c80,0 0 36px #c94b6359}.poll-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 16px}.poll-choice-grid button{display:grid;gap:12px;place-items:center;min-height:150px;padding:18px 10px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#161311c2;color:#fff}.poll-choice-grid button>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(211,184,120,.7);color:#d3b878;font-size:18px;font-weight:800}.poll-choice-grid button.is-selected{border-color:#d3b878;background:#614826b8}.poll-guest-stage .primary-button{width:100%}.reaction-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 16px}.reaction-choice-grid button{display:grid;gap:8px;place-items:center;min-height:128px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#161311c2;color:#fff;touch-action:manipulation}.reaction-choice-grid button span{display:grid;place-items:center;color:var(--guest-accent, #d3b878)}.reaction-choice-grid button span svg{width:44px;height:44px;stroke-width:1.35}.reaction-choice-grid button strong{color:#ffffffc7;font-size:13px}.reaction-choice-grid button.is-sending{border-color:#d3b878;transform:scale(.96)}.mosaic-tap-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(70vw,270px);aspect-ratio:1;margin:20px auto 0;border:1px solid #e0bb73;border-radius:50%;background:#8e3b47;color:#fff;box-shadow:0 12px 45px #4b0f1d6b;touch-action:manipulation;-webkit-user-select:none;user-select:none}.mosaic-tap-button:active{transform:scale(.96)}.mosaic-tap-button>span{font-family:Songti SC,serif;font-size:76px;line-height:1}.mosaic-tap-button strong{margin-top:8px;font-size:38px;line-height:1}.mosaic-tap-button small{margin-top:7px;color:#ffffffb3}@keyframes packet-fall{to{transform:translateY(calc(min(54vh,420px) + 90px)) rotate(18deg)}}@keyframes countdown-in{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.operator-page{min-height:100vh;padding:24px;background:#efede8;color:var(--ink)}.operator-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;max-width:1440px;margin:0 auto 18px;padding-bottom:16px;border-bottom:1px solid #cec9bf}.operator-header h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:30px;font-weight:500}.operator-health{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.operator-loading{display:grid;min-height:70vh;place-items:center;color:var(--muted)}.operator-page>.status-message{max-width:1440px;margin:0 auto 14px}.host-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;max-width:1440px;margin:0 auto}.host-main,.host-sidebar{display:grid;align-content:start;gap:16px}.control-section{border:1px solid #d2cdc4;border-radius:6px;background:#fff;padding:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.section-heading span{color:var(--muted);font-size:12px}.section-heading h2{margin:5px 0 0;font-size:20px}.section-heading>strong{color:var(--green);font-size:13px}.stage-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.stage-strip button{display:grid;gap:8px;align-content:center;min-height:74px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf9f6;color:#5d5850;font-size:12px}.stage-strip button span{color:#a99a7d;font-size:10px}.stage-strip button.is-active{background:#2f2b26;color:#fff}.next-stage-row{display:flex;justify-content:space-between;margin-top:16px}.next-stage-row button,.command-grid button,.question-picker button,.mosaic-gear-row button,.sidebar-actions button,.section-heading>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #cfc9bf;border-radius:5px;background:#f9f8f5;color:#37332e;font-weight:700}.next-stage-row button.primary-command,.command-grid button.primary-command{border-color:#8f713e;background:#9c793e;color:#fff}.question-picker{display:flex;gap:8px;margin-bottom:14px}.question-picker button.is-active,.mosaic-gear-row button.is-active{border-color:#8f713e;color:#7b5d2c;background:#f8f1e3}.mosaic-gear-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.command-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.command-grid.two-columns{grid-template-columns:repeat(2,1fr)}.command-grid svg,.sidebar-actions svg{width:17px}.compact-section{padding:15px}.sidebar-label{display:block;margin-bottom:14px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.metric-list{margin:0}.metric-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #ece8e1}.metric-list dt{color:var(--muted)}.metric-list dd{margin:0;font-weight:700}.sidebar-actions{display:grid;gap:8px}.sidebar-actions .danger-button{border-color:#cfaeb3;color:#8b3441;background:#fff6f7}.sidebar-links{display:grid;gap:8px}.sidebar-links a{padding:11px;border:1px solid var(--line);border-radius:4px;background:#faf9f6;font-weight:700;text-align:center}.lottery-preview{display:flex;align-items:baseline;justify-content:center;gap:12px;min-height:88px;margin-bottom:14px;border:1px solid #e0dbd2;background:#f9f7f2}.lottery-preview strong{font-family:Georgia,Songti SC,serif;font-size:32px}.lottery-preview span{color:var(--muted)}.lottery-preview.is-multiple{flex-wrap:wrap;gap:9px;padding:12px}.lottery-preview.is-multiple>div{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border:1px solid #e0dbd2;background:#fff}.lottery-preview.is-multiple strong{font-size:20px}.lottery-history{display:grid;gap:6px;max-height:140px;margin-bottom:12px;overflow:auto}.lottery-history>div{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;background:#f6f2ea;color:var(--muted);font-size:12px}.lottery-history strong{color:var(--ink);letter-spacing:.08em}.prize-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.prize-picker button{display:flex;align-items:center;gap:9px;min-height:39px;padding:0 11px;border:1px solid #d0c9bf;border-radius:4px;background:#faf9f6;color:#514b43;font-weight:700}.prize-picker button small{color:var(--muted);font-weight:400}.prize-picker button.is-active{border-color:#9a793f;background:#f8f1e3;color:#72562b}.run-sheet-current,.run-sheet-next{display:grid;grid-template-columns:58px 1fr;gap:11px;align-items:center;padding:12px 0;border-top:1px solid #ece8e1}.run-sheet time{color:#8a6b36;font-size:18px;font-weight:800}.run-sheet small,.run-sheet strong{display:block}.run-sheet small{margin-bottom:3px;color:var(--muted);font-size:10px}.run-sheet-next{opacity:.7}.run-sheet-progress{margin-top:9px;color:var(--muted);font-size:11px;text-align:right}.host-heart-progress{height:12px;margin-bottom:14px;overflow:hidden;border:1px solid #d8c9cc;background:#f3edef}.host-heart-progress i{display:block;height:100%;background:#a8475a;transition:width .25s ease}.host-heart-progress.mosaic-progress i{background:#9b773c}.reaction-host-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.reaction-host-summary span{padding:10px;border:1px solid #e2ddd4;background:#faf9f6;text-align:center}.reviewer-layout{max-width:1040px;margin:0 auto}.reviewer-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;color:var(--muted)}.reviewer-summary svg{color:var(--green);align-self:center}.reviewer-summary strong{color:var(--ink);font-size:28px}.review-list{border-top:1px solid var(--line)}.review-item{display:grid;grid-template-columns:160px 1fr 90px;gap:18px;align-items:center;min-height:76px;padding:14px 0;border-bottom:1px solid var(--line)}.review-item>div strong,.review-item>div span{display:block}.review-item>div span{margin-top:4px;color:var(--muted);font-size:12px}.review-item p{margin:0;line-height:1.55}.review-item button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #d0c9bf;border-radius:4px;background:#fff;color:#7c3440}.empty-review{padding:50px 0;color:var(--muted);text-align:center}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;gap:16px;max-width:1440px;margin:0 auto;align-items:start}.admin-question-section,.admin-poll-section,.admin-timeline-section,.admin-prize-section{grid-column:1 / 3}.admin-timeline-section,.admin-prize-section{grid-column:auto}.admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-fields label{display:grid;gap:6px}.admin-fields label>span{color:var(--muted);font-size:12px}.admin-fields input,.table-editor input{min-height:42px;border:1px solid #ccc6bc;border-radius:4px;padding:8px 10px;outline:none}.admin-fields input:focus,.table-editor input:focus{border-color:#9a793f}.color-field{display:flex;align-items:center;gap:10px}.color-field input{width:52px;padding:3px}.color-field code{color:var(--muted)}.table-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:420px;overflow:auto}.table-editor>div{display:grid;grid-template-columns:28px 1fr 36px;gap:6px;align-items:center}.table-editor>div>span{color:var(--muted);font-size:11px}.table-editor button{display:grid;place-items:center;height:36px;border:1px solid #d7c7ca;border-radius:4px;background:#fff7f8;color:#8d3643}.admin-sidebar{display:grid;grid-column:3;grid-row:1 / span 3;gap:12px}.admin-timeline-section h2,.admin-prize-section h2{display:flex;align-items:center;gap:8px}.timeline-editor,.prize-editor{display:grid;gap:8px}.lottery-pool-editor{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:12px}.lottery-pool-editor label{display:grid;gap:5px}.lottery-pool-editor label>span{color:var(--muted);font-size:10px}.lottery-pool-editor input{width:90px;min-height:39px;border:1px solid #ccc6bc;border-radius:4px;padding:7px 9px;outline:none}.lottery-pool-editor small{flex-basis:100%;color:var(--muted);font-size:11px}.timeline-editor-row{display:grid;grid-template-columns:28px 110px 100px 1fr;gap:8px;align-items:center}.timeline-editor-row>span,.prize-editor-row>span{color:var(--muted);font-size:11px}.timeline-editor-row>strong{font-size:12px}.timeline-editor-row input,.prize-editor-row input{min-width:0;min-height:39px;border:1px solid #ccc6bc;border-radius:4px;padding:7px 9px;outline:none}.prize-editor-row{display:grid;grid-template-columns:28px 1fr 130px 36px;gap:8px;align-items:end}.prize-editor-row label{display:grid;gap:5px}.prize-editor-row label>span{color:var(--muted);font-size:10px}.prize-editor-row>button{display:grid;place-items:center;height:39px;border:1px solid #d7c7ca;border-radius:4px;background:#fff7f8;color:#8d3643}.interaction-settings{display:grid;gap:11px}.interaction-settings label{display:grid;gap:5px}.interaction-settings label>span,.question-prompt>span{color:var(--muted);font-size:11px}.interaction-settings input,.question-prompt input,.question-option>input{min-width:0;min-height:39px;border:1px solid #ccc6bc;border-radius:4px;padding:7px 9px;outline:none}.interaction-settings input:focus,.question-prompt input:focus,.question-option>input:focus{border-color:#9a793f}.question-editor{border-top:1px solid var(--line)}.question-row{display:grid;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.question-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-row-heading>strong{font-size:14px}.question-row-heading>button,.question-option>button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d7c7ca;border-radius:4px;background:#fff7f8;color:#8d3643}.question-prompt{display:grid;gap:5px}.question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.question-option{display:grid;grid-template-columns:30px minmax(0,1fr) 62px 34px;gap:7px;align-items:center}.question-option>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d5cdbf;color:#8b6b34;font-size:12px;font-weight:800}.correct-option{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.correct-option input{accent-color:#8e6e39}.add-option-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;min-height:36px;padding:0 10px;border:1px solid #d0c9bf;border-radius:4px;background:#faf9f6;color:#514b43;font-size:12px;font-weight:700}.admin-poll-section h2{display:flex;align-items:center;gap:8px}.poll-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.poll-editor-row{display:grid;gap:11px;padding:14px;border:1px solid #e0dbd2;background:#faf9f6}.poll-option-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.poll-option-editor label{display:grid;gap:5px}.poll-option-editor span{color:var(--muted);font-size:11px}.poll-option-editor input{min-width:0;min-height:39px;border:1px solid #ccc6bc;border-radius:4px;padding:7px 9px;outline:none}.runtime-section>p{margin:11px 0 14px;color:var(--muted);font-size:12px;line-height:1.55}.runtime-badge{display:inline-flex;width:fit-content;padding:6px 9px;border:1px solid #cabd9e;border-radius:4px;color:#735d32;background:#fbf6ea;font-size:12px}.runtime-badge.is-live{border-color:#bc8e96;color:#853342;background:#fff4f6}.runtime-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.runtime-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #d0c9bf;border-radius:4px;background:#faf9f6;font-weight:700}.runtime-actions .live-button{border-color:#bf9199;color:#873342;background:#fff6f7}.mode-live-text{color:var(--danger)}.token-list{display:grid;gap:10px}.token-list>div{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:center;color:var(--muted);font-size:12px}.token-list code{grid-column:2;display:block;padding:7px;background:#f4f1ec;color:var(--ink);overflow-wrap:anywhere}.save-button{width:100%}.admin-rsvp-section{max-width:1440px;margin:0 auto 16px}.rsvp-toolbar{display:flex;flex-wrap:wrap;gap:8px}.rsvp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.rsvp-summary>div{padding:12px 14px;border:1px solid var(--line);background:#fbfaf7}.rsvp-summary strong{display:block;font-size:28px;line-height:1.1}.rsvp-summary span{color:var(--muted);font-size:12px}.rsvp-table-wrap{overflow:auto}.rsvp-table{width:100%;border-collapse:collapse;font-size:13px}.rsvp-table th,.rsvp-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.rsvp-table th{color:var(--muted);font-weight:600;font-size:12px}.rsvp-status.is-yes{color:var(--green);font-weight:700}.rsvp-status.is-no{color:var(--muted)}.rsvp-message{max-width:360px;line-height:1.5}.rsvp-delete{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;cursor:pointer}.rsvp-delete:hover{color:#9b1c2c;border-color:#e8c4c8}@media(max-width:980px){.host-layout,.admin-layout{grid-template-columns:1fr}.admin-question-section,.admin-poll-section,.admin-timeline-section,.admin-prize-section,.admin-sidebar{grid-column:1;grid-row:auto}.host-sidebar,.admin-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.save-button{min-height:100%}.stage-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.launch-page{padding:32px 0}.launch-header{align-items:center}.launch-header h1{font-size:32px}.launch-grid{grid-template-columns:1fr}.operator-page{padding:15px}.operator-header{align-items:center}.operator-header h1{font-size:23px}.operator-health>span{display:none}.stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.command-grid,.command-grid.two-columns,.host-sidebar,.admin-sidebar{grid-template-columns:1fr}.review-item{grid-template-columns:1fr 78px;gap:8px}.review-item>div{grid-column:1 / -1}.admin-fields,.table-editor{grid-template-columns:1fr}.rsvp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.question-options{grid-template-columns:1fr}.timeline-editor-row{grid-template-columns:24px 1fr 92px}.timeline-editor-row input:last-child{grid-column:2 / -1}.prize-editor-row{grid-template-columns:24px 1fr 36px}.prize-editor-row label{grid-column:2}.prize-editor-row>button{grid-column:3;grid-row:1}.lottery-winner-grid{grid-template-columns:repeat(2,minmax(130px,1fr));max-height:62vh;overflow:hidden}.heart-sync-layout{grid-template-columns:1fr;gap:6px;align-content:center;text-align:center}.heart-visual{width:min(55vw,320px)}.mosaic-layout{grid-template-columns:1fr;gap:8px;align-content:center;text-align:center}.xi-glyph{width:min(55vw,330px)}.mosaic-copy h2{margin-top:6px}.poll-editor{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.returning-hint{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid rgba(228,199,135,.4);border-radius:6px;background:#e4c7871f;color:#f1d99d;font-size:13px}.returning-hint svg{flex-shrink:0;color:var(--guest-accent, #d3b878)}.guest-page{--guest-accent: #d3b878;--guest-accent-soft: rgba(211,184,120,.2)}.guest-backdrop{transition:background-image .55s ease,filter .55s ease}.guest-stage-check_in .guest-backdrop,.guest-stage-blessing .guest-backdrop,.guest-stage-toast .guest-backdrop{background-image:url(/generated/warm-floral-edge-v2.png)}.guest-stage-ceremony_lock .guest-backdrop,.guest-stage-quiz .guest-backdrop,.guest-stage-show_guess .guest-backdrop,.guest-stage-poll .guest-backdrop,.guest-stage-table_battle .guest-backdrop,.guest-stage-heart_sync .guest-backdrop,.guest-stage-flower_pass .guest-backdrop,.guest-stage-reaction_wave .guest-backdrop,.guest-stage-shake_race .guest-backdrop,.guest-stage-ended .guest-backdrop{background-image:url(/generated/dark-stage-v2.png)}.guest-stage-red_packet .guest-backdrop,.guest-stage-xi_mosaic .guest-backdrop,.guest-stage-lucky_table .guest-backdrop,.guest-stage-origin_map .guest-backdrop,.guest-stage-lottery .guest-backdrop{background-image:url(/generated/red-festive-v2.png)}.guest-stage-quiz,.guest-stage-show_guess,.guest-stage-poll,.guest-stage-table_battle,.guest-stage-heart_sync,.guest-stage-flower_pass,.guest-stage-reaction_wave,.guest-stage-shake_race{--guest-accent: #8ebca7;--guest-accent-soft: rgba(142,188,167,.2)}.guest-stage-red_packet,.guest-stage-xi_mosaic,.guest-stage-lucky_table,.guest-stage-origin_map,.guest-stage-lottery{--guest-accent: #e0b66c;--guest-accent-soft: rgba(224,182,108,.22)}.guest-header{border-bottom-color:var(--guest-accent-soft)}.guest-brand{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--guest-accent);border-radius:50%;color:var(--guest-accent)}.guest-header strong{font-family:var(--screen-font-display, "FangSong", serif)}.guest-content>section{position:relative}.checkin-panel{position:relative;padding:28px 22px 26px;border-top:1px solid rgba(222,197,139,.48);border-bottom:1px solid rgba(222,197,139,.2)}.checkin-panel:before{content:"\\795d\\798f";position:absolute;top:-11px;left:22px;padding:0 8px;background:#181411;color:var(--guest-accent);font-size:10px;letter-spacing:.12em}.checkin-panel h1{font-family:var(--screen-font-display, "FangSong", serif)}.guest-form input,.guest-form select,.guest-form textarea{border-color:#fff3;border-radius:3px;background:#12100ead}.guest-form .primary-button{border-color:var(--guest-accent);background:var(--guest-accent);color:#211a12;box-shadow:0 14px 32px #0000003d}.quiet-stage .stage-icon{border-color:var(--guest-accent);color:var(--guest-accent);border-radius:50%}.interaction-stage h2,.quiet-stage h2,.winner-stage h2{font-family:var(--screen-font-display, "FangSong", serif)}.option-button,.poll-choice-grid button,.reaction-choice-grid button{border-color:#ffffff2b;border-radius:3px;background:#12100ea8}.option-button span,.poll-choice-grid button>span{border-color:var(--guest-accent);color:var(--guest-accent)}.option-button.is-selected,.poll-choice-grid button.is-selected{border-color:var(--guest-accent);background:var(--guest-accent-soft);box-shadow:0 0 0 1px var(--guest-accent-soft)}.option-button.is-correct{border-color:#8ebca7;background:#2c5b4394}.battle-join,.battle-tap,.heart-tap-button,.mosaic-tap-button{border-color:var(--guest-accent);background:color-mix(in srgb,var(--guest-accent) 78%,#241b18);box-shadow:0 16px 42px #00000057,0 0 0 8px var(--guest-accent-soft)}.battle-counter strong{color:var(--guest-accent);font-family:var(--screen-font-number, Georgia, serif)}.motion-enable{border-color:#fff3;background:#12100ead}.motion-enable.is-enabled{border-color:#8ebca7;color:#b9dbc7}.packet-rain{border-color:var(--guest-accent-soft);background:#280c126b}.falling-packet{border-color:var(--guest-accent);background:#9d3042}.guest-stage-ceremony_lock .guest-header,.guest-stage-toast .guest-header,.guest-stage-ended .guest-header{border-bottom-color:transparent}.guest-stage-ceremony_lock .guest-footer,.guest-stage-toast .guest-footer,.guest-stage-ended .guest-footer{opacity:.45}@media(prefers-reduced-motion:reduce){.guest-backdrop{transition:none}}.visual-qa-page{display:grid;grid-template-columns:286px minmax(0,1fr);width:100vw;height:100vh;overflow:hidden;background:#0b0b0b;color:#f1ece3}.visual-qa-sidebar{position:relative;z-index:2;display:grid;align-content:start;gap:18px;padding:24px 20px;border-right:1px solid #302b25;background:#141210;box-shadow:18px 0 50px #00000047}.visual-qa-sidebar>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #302b25}.visual-qa-sidebar>header span{color:#dec58b;font-family:"FangSong",SimSun,serif;font-size:22px}.visual-qa-sidebar>header strong{color:#ffffff7a;font-size:11px}.visual-qa-sidebar label{display:grid;gap:7px}.visual-qa-sidebar label>span{color:#ffffff85;font-size:11px}.visual-qa-sidebar select{width:100%;height:42px;padding:0 10px;border:1px solid #3b352d;border-radius:3px;outline:none;background:#1c1916;color:#f4eee4}.visual-qa-sidebar select:focus{border-color:#b99b5e}.visual-qa-segment{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #3b352d}.visual-qa-segment button{height:40px;border:0;border-right:1px solid #3b352d;background:#1b1815;color:#ffffff8a}.visual-qa-segment button:last-child{border-right:0}.visual-qa-segment button.is-active{background:#8d713d;color:#fff}.visual-qa-toggle{display:flex!important;grid-template-columns:18px 1fr;align-items:center;gap:9px!important}.visual-qa-toggle input{width:16px;height:16px;accent-color:#b89555}.visual-qa-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.visual-qa-actions button,.visual-qa-actions a{display:grid;place-items:center;height:42px;border:1px solid #3b352d;border-radius:3px;background:#1b1815;color:#e8decf}.visual-qa-actions button:hover,.visual-qa-actions a:hover{border-color:#b99b5e;color:#f1d99d}.visual-qa-actions svg{width:18px}.visual-qa-sidebar>footer{display:grid;gap:5px;margin-top:5px;padding-top:16px;border-top:1px solid #302b25}.visual-qa-sidebar>footer strong{font-family:"FangSong",SimSun,serif;font-size:18px}.visual-qa-sidebar>footer span{color:#ffffff73;font-size:10px}.visual-qa-workspace{display:grid;place-items:center;overflow:auto;padding:34px;background:#080808}.visual-qa-frame{width:var(--qa-frame-width);height:var(--qa-frame-height);overflow:hidden;background:#111;box-shadow:0 28px 90px #00000080,0 0 0 1px #dec58b40}.visual-qa-frame iframe{display:block;width:var(--qa-width);height:var(--qa-height);border:0;transform:scale(var(--qa-scale));transform-origin:top left}@media(max-width:760px){.visual-qa-page{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}.visual-qa-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border-right:0;border-bottom:1px solid #302b25}.visual-qa-sidebar>header,.visual-qa-sidebar>footer{grid-column:1/-1}.visual-qa-workspace{min-height:70vh;padding:20px}}.reaction-icon-heart{color:#d67d90}.reaction-icon-applause{color:#91b9a7}.reaction-icon-toast{color:#e7cf96}.reaction-icon-confetti{color:#d9a0ad}.reaction-metric.is-leader .reaction-icon{filter:drop-shadow(0 0 12px rgba(234,209,143,.32))}.screen-mode,.screen-mode body,.screen-mode #root{width:100%;height:100%;overflow:hidden}.scene-page{--scene-ink: #120f0d;--scene-brown: #2b201b;--scene-wine: #541f2b;--scene-champagne: #e4c787;--scene-rose: #c67382;--scene-jade: #89b6a4;--scene-paper: #f5eee3;position:relative;width:100%;height:100dvh;overflow:hidden;background:var(--scene-ink);color:var(--scene-paper);font-family:Wedding Sans,Microsoft YaHei,sans-serif}.scene-page:after{display:none}.scene-backdrop{position:absolute;inset:0;background-size:cover;background-position:center}.scene-backdrop-check_in,.scene-backdrop-blessing,.scene-backdrop-toast{background-image:url(/generated/warm-floral-edge-v2.png)}.scene-backdrop-ceremony_lock,.scene-backdrop-quiz,.scene-backdrop-show_guess,.scene-backdrop-poll,.scene-backdrop-table_battle,.scene-backdrop-heart_sync,.scene-backdrop-reaction_wave,.scene-backdrop-shake_race,.scene-backdrop-ended{background-image:url(/generated/dark-stage-v2.png)}.scene-backdrop-red_packet,.scene-backdrop-xi_mosaic,.scene-backdrop-lucky_table,.scene-backdrop-lottery{background-image:url(/generated/red-festive-v2.png)}.scene-backdrop-shade{position:absolute;inset:0;background:#0c09089e}.scene-backdrop-frame{position:absolute;inset:28px;border:1px solid rgba(228,199,135,.22);pointer-events:none}.scene-backdrop{overflow:hidden}.scene-backdrop-light{position:absolute;inset:-12%;z-index:1;pointer-events:none;opacity:.82}.scene-backdrop-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.14;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px),repeating-linear-gradient(15deg,rgba(0,0,0,.12) 0 1px,transparent 1px 9px)}.scene-backdrop-frame{z-index:3}.scene-backdrop-check_in .scene-backdrop-light,.scene-backdrop-blessing .scene-backdrop-light,.scene-backdrop-toast .scene-backdrop-light{background:radial-gradient(ellipse at 24% 18%,rgba(255,219,168,.28),transparent 34%),linear-gradient(180deg,rgba(111,48,40,.08),transparent 46%,rgba(24,14,11,.4))}.scene-backdrop-blessing .scene-backdrop-light{background:linear-gradient(90deg,transparent 0 12%,rgba(255,240,210,.12) 13% 14%,transparent 15% 82%,rgba(255,240,210,.1) 83% 84%,transparent 85%),radial-gradient(ellipse at 50% 72%,rgba(236,199,139,.16),transparent 46%)}.scene-backdrop-toast .scene-backdrop-light{background:radial-gradient(circle at 50% 52%,rgba(255,229,165,.24),transparent 18%),radial-gradient(ellipse at 50% 100%,rgba(111,57,33,.26),transparent 54%)}.scene-backdrop-ceremony_lock .scene-backdrop-light{background:linear-gradient(90deg,transparent 17%,rgba(235,210,154,.12) 20% 21%,transparent 25% 75%,rgba(235,210,154,.12) 79% 80%,transparent 83%),linear-gradient(180deg,rgba(5,5,5,.12),transparent 55%,rgba(221,183,112,.1))}.scene-backdrop-quiz .scene-backdrop-light,.scene-backdrop-show_guess .scene-backdrop-light{background-image:linear-gradient(rgba(137,182,164,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(137,182,164,.12) 1px,transparent 1px);background-size:82px 82px;-webkit-mask-image:linear-gradient(180deg,transparent,black 26%,black 76%,transparent);mask-image:linear-gradient(180deg,transparent,black 26%,black 76%,transparent)}.scene-backdrop-poll .scene-backdrop-light{background:linear-gradient(90deg,rgba(177,75,94,.18),transparent 46%,rgba(137,182,164,.18))}.scene-backdrop-table_battle .scene-backdrop-light{background:repeating-linear-gradient(165deg,transparent 0 62px,rgba(137,182,164,.16) 63px 65px,transparent 66px 126px),linear-gradient(180deg,transparent 55%,rgba(12,38,31,.34))}.scene-backdrop-heart_sync .scene-backdrop-light{background:radial-gradient(circle at 50% 54%,rgba(198,115,130,.34),transparent 23%),radial-gradient(ellipse at 50% 100%,rgba(96,31,42,.28),transparent 58%)}.scene-backdrop-reaction_wave .scene-backdrop-light{background:repeating-radial-gradient(ellipse at 50% 56%,transparent 0 44px,rgba(228,199,135,.12) 45px 46px,transparent 47px 88px);opacity:.65}.scene-backdrop-shake_race .scene-backdrop-light{background:repeating-linear-gradient(8deg,transparent 0 44px,rgba(137,182,164,.15) 45px 47px,transparent 48px 88px);transform:skewY(-5deg)}.scene-backdrop-red_packet .scene-backdrop-light{background:radial-gradient(circle at 50% 45%,rgba(212,75,75,.3),transparent 24%),linear-gradient(180deg,rgba(126,24,39,.2),transparent 44%,rgba(56,8,14,.42))}.scene-backdrop-xi_mosaic .scene-backdrop-light{background-image:linear-gradient(rgba(228,199,135,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(228,199,135,.12) 1px,transparent 1px);background-size:64px 64px;transform:perspective(700px) rotateX(12deg) scale(1.14);transform-origin:center bottom}.scene-backdrop-lucky_table .scene-backdrop-light{background:repeating-linear-gradient(90deg,transparent 0 15%,rgba(228,199,135,.14) 16% 17%,transparent 18% 32%),radial-gradient(ellipse at 50% 50%,rgba(228,199,135,.2),transparent 38%)}.scene-backdrop-lottery .scene-backdrop-light{background:linear-gradient(74deg,transparent 38%,rgba(255,225,163,.22) 49%,rgba(255,225,163,.09) 54%,transparent 66%),radial-gradient(circle at 50% 54%,rgba(228,199,135,.18),transparent 28%)}.scene-backdrop-ended .scene-backdrop-light{background:radial-gradient(circle at 50% 58%,rgba(228,199,135,.18),transparent 26%),linear-gradient(180deg,transparent,rgba(8,7,6,.34))}.stage-index{width:min(240px,calc(100% - 64px))}.stage-index .stage-number{flex:none;font-family:Georgia,serif}.stage-index strong{min-width:0;overflow:hidden;color:#f4eee39e;font-family:Wedding Sans,sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-overflow:ellipsis;white-space:nowrap}.stage-tone-cinematic .stage-index strong{color:#e4c787ad}.stage-tone-interactive .stage-index strong{color:#89b6a4bd}.stage-tone-reveal .stage-index strong{color:#e4c787d1}.art-petals i{width:46px;height:78px;border:1px solid rgba(236,190,177,.28);border-radius:80% 20%;transform:rotate(28deg)}.art-petals i:nth-child(1){left:23%;top:22%}.art-petals i:nth-child(2){right:24%;top:30%;transform:rotate(-38deg) scale(.72)}.art-petals i:nth-child(3){left:30%;bottom:18%;transform:rotate(14deg) scale(.54)}.art-columns i{top:9%;bottom:4%;width:9%;border:1px solid rgba(228,199,135,.17);border-top-width:5px;border-bottom-width:5px}.art-columns i:nth-child(1){left:26%}.art-columns i:nth-child(2){right:26%}.art-question i,.art-versus i{width:10px;height:10px;border:1px solid currentColor;opacity:.45}.art-question i:nth-child(1),.art-versus i:nth-child(1){left:18%;top:26%;color:var(--scene-jade)}.art-question i:nth-child(2),.art-versus i:nth-child(2){right:18%;top:35%;color:var(--scene-champagne)}.art-question i:nth-child(3),.art-versus i:nth-child(3){left:25%;bottom:20%;color:var(--scene-rose)}.art-track i,.art-speed i{left:8%;right:8%;height:1px;background:#89b6a43d;transform:skewY(-6deg)}.art-track i:nth-child(1){bottom:25%}.art-track i:nth-child(2){bottom:31%}.art-track i:nth-child(3){bottom:37%}.art-speed i:nth-child(1){top:32%}.art-speed i:nth-child(2){top:48%}.art-speed i:nth-child(3){top:64%}.art-halo i,.art-rings i{left:50%;top:53%;width:26vw;aspect-ratio:1;border:1px solid rgba(198,115,130,.18);border-radius:50%;transform:translate(-50%,-50%)}.art-halo i:nth-child(2){width:34vw}.art-rings i:nth-child(2){width:44vw;border-color:#e4c7871f}.art-wave i{left:8%;right:8%;height:1px;border-top:1px solid rgba(137,182,164,.2);border-radius:50%}.art-wave i:nth-child(1){top:43%}.art-wave i:nth-child(2){top:52%}.art-wave i:nth-child(3){top:61%}.art-grid i{inset:10% 15%;border:1px solid rgba(228,199,135,.12);background-image:linear-gradient(90deg,transparent 49%,rgba(228,199,135,.12) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(228,199,135,.12) 50%,transparent 51%);background-size:74px 74px}.art-reel i{left:21%;right:21%;height:1px;background:#e4c78738}.art-reel i:nth-child(1){top:32%}.art-reel i:nth-child(2){top:48%}.art-reel i:nth-child(3){top:64%}.art-spotlight i{left:50%;top:51%;width:42vw;height:64vh;border:1px solid rgba(228,199,135,.14);transform:translate(-50%,-50%) skew(-10deg)}.art-afterglow i{left:50%;top:58%;width:36vw;aspect-ratio:1;border:1px solid rgba(228,199,135,.12);border-radius:50%;transform:translate(-50%,-50%)}.scene-header{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;height:92px;padding:26px 54px 12px}.scene-brand{display:flex;align-items:baseline;gap:16px}.scene-brand span{color:#f4dea9d1;font-size:12px;letter-spacing:.12em;text-shadow:0 1px 3px rgba(0,0,0,.6)}.scene-brand strong{font-family:"Wedding Serif",serif;font-size:24px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.7),0 2px 12px rgba(0,0,0,.5)}.scene-tools{display:flex;align-items:center;gap:12px}.scene-audio{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:#100c0a80;color:var(--scene-champagne)}.scene-audio svg{width:17px}.scene-mode-label{padding:7px 11px;border:1px solid rgba(228,199,135,.38);color:var(--scene-champagne);font-size:11px}.visual-stage{position:relative;z-index:3;height:calc(100vh - 150px);min-height:0;isolation:isolate;overflow:hidden}.visual-content{position:relative;z-index:4;width:min(1240px,calc(100% - 150px));height:100%;margin:0 auto}.visual-content h1,.visual-content h2,.visual-content p{margin:0}.visual-content h1{font-family:"Wedding Serif",serif;font-weight:400;letter-spacing:.02em}.scene-eyebrow,.reveal-kicker{display:block;margin-bottom:16px;color:var(--scene-champagne);font-size:12px;letter-spacing:.22em}.composition-heading{position:relative;z-index:4;padding-top:30px;text-align:center}.composition-heading h1{font-size:clamp(42px,5.6vw,84px);line-height:1.08;text-shadow:0 2px 8px rgba(0,0,0,.85),0 4px 24px rgba(0,0,0,.6),0 0 60px rgba(0,0,0,.4)}.stage-index{position:absolute;z-index:6;top:30px;left:34px;display:flex;align-items:center;gap:10px;color:#e4c7879e;font-family:Georgia,serif;font-size:13px}.stage-index i{display:block;width:40px;height:1px;background:currentColor}.scene-footer{position:absolute;z-index:8;left:54px;right:54px;bottom:28px;display:flex;justify-content:space-between;color:#f4eee3ad;font-size:12px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.art-layer{position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.9}.art-layer i,.art-layer b{position:absolute;display:block}.art-arch:before{content:"";position:absolute;left:11%;right:11%;bottom:-18%;height:86%;border:1px solid rgba(228,199,135,.24);border-bottom:0;border-radius:50% 50% 0 0;box-shadow:0 0 90px #e4c78714}.art-arch i:nth-child(1),.art-arch i:nth-child(2){top:20%;bottom:0;width:1px;background:#e4c7873b}.art-arch i:nth-child(1){left:18%}.art-arch i:nth-child(2){right:18%}.art-petals:before{content:"✦";position:absolute;left:14%;top:20%;color:#c8708185;font-size:110px;transform:rotate(-18deg)}.art-petals:after{content:"✦";position:absolute;right:15%;bottom:11%;color:#e4c78766;font-size:72px;transform:rotate(24deg)}.art-columns:before,.art-columns:after{content:"";position:absolute;top:8%;bottom:6%;width:12%;border-left:1px solid rgba(228,199,135,.25);border-right:1px solid rgba(228,199,135,.1)}.art-columns:before{left:19%}.art-columns:after{right:19%}.art-rings:before{content:"";position:absolute;left:50%;top:53%;width:min(58vw,720px);aspect-ratio:1;border:1px solid rgba(228,199,135,.2);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 80px #e4c7870f}.art-rings:after{content:"";position:absolute;left:50%;top:53%;width:min(36vw,440px);aspect-ratio:1;border:1px solid rgba(228,199,135,.16);border-radius:50%;transform:translate(-50%,-50%)}.art-question:before{content:"?";position:absolute;right:10%;top:8%;color:#89b6a424;font-family:Georgia,serif;font-size:34vw;line-height:1}.art-versus:before{content:"VS";position:absolute;left:50%;top:48%;color:#e4c78729;font-family:Georgia,serif;font-size:14vw;transform:translate(-50%,-50%)}.art-track:before{content:"";position:absolute;left:8%;right:8%;bottom:13%;height:36%;border-top:1px solid rgba(137,182,164,.28);background:repeating-linear-gradient(90deg,transparent 0 90px,rgba(137,182,164,.1) 91px 92px);transform:perspective(500px) rotateX(58deg);transform-origin:bottom}.art-halo:before{content:"";position:absolute;left:50%;top:53%;width:min(44vw,570px);aspect-ratio:1;border:1px solid rgba(198,115,130,.28);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 80px #c673822e}.art-sky:before{content:"";position:absolute;inset:8% 10% 12%;border-radius:50%;background:radial-gradient(circle at 50% 78%,rgba(232,176,92,.16),transparent 42%),radial-gradient(circle at 18% 22%,rgba(244,238,227,.18) 0 1px,transparent 2px),radial-gradient(circle at 72% 18%,rgba(244,238,227,.16) 0 1px,transparent 2px),radial-gradient(circle at 58% 36%,rgba(244,238,227,.12) 0 1px,transparent 2px);box-shadow:inset 0 0 120px #080a1259}.art-circle:before{content:"";position:absolute;left:50%;top:54%;width:min(46vw,560px);aspect-ratio:1.35;border:1px solid rgba(228,199,135,.28);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 80px #c94b631f}.art-wave:before,.art-wave:after{content:"";position:absolute;left:5%;right:5%;height:18%;border-top:1px solid rgba(228,199,135,.25);border-radius:50%;transform:rotate(-4deg)}.art-wave:before{top:34%}.art-wave:after{top:59%;border-color:#89b6a43d;transform:rotate(3deg)}.art-speed:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#89b6a461;box-shadow:0 -88px #89b6a41f,0 88px #89b6a41f}.art-rain:before{content:"囍 囍 囍 囍 囍";position:absolute;left:8%;right:8%;top:13%;color:#e4c7872e;font-size:8vw;letter-spacing:2vw;line-height:2}.art-grid:before{content:"";position:absolute;inset:10% 15%;border:1px solid rgba(228,199,135,.2);background-image:linear-gradient(rgba(228,199,135,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(228,199,135,.08) 1px,transparent 1px);background-size:46px 46px;transform:perspective(650px) rotateX(18deg)}.art-reel:before{content:"";position:absolute;inset:20% 20% 18%;border-top:1px solid rgba(228,199,135,.28);border-bottom:1px solid rgba(228,199,135,.28)}.art-spotlight:before{content:"";position:absolute;left:50%;top:50%;width:40vw;height:80vh;background:#e4c78712;transform:translate(-50%,-50%) skew(-9deg)}.art-afterglow:before{content:"";position:absolute;left:50%;top:50%;width:52vw;aspect-ratio:1;border:1px solid rgba(228,199,135,.18);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 120px #e4c7871f}.motion-state-climax .art-layer{opacity:1;filter:brightness(1.14)}.motion-state-climax .stage-fx:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,235,153,.28) 0%,rgba(224,82,104,.12) 45%,transparent 75%);pointer-events:none;animation:climax-flash-bloom .9s ease-out forwards;z-index:10}@keyframes climax-flash-bloom{0%{opacity:0;transform:scale(.6)}25%{opacity:1}to{opacity:0;transform:scale(1.4)}}.motion-state-settle .art-layer{opacity:.52;filter:saturate(.72)}.motion-state-climax:is(.stage-page-quiz,.stage-page-show_guess,.stage-page-poll,.stage-page-table_battle,.stage-page-heart_sync,.stage-page-flower_pass,.stage-page-reaction_wave,.stage-page-shake_race,.stage-page-red_packet,.stage-page-xi_mosaic,.stage-page-lucky_table,.stage-page-lottery,.stage-page-origin_map) .composition-heading h1{color:#fff8e9;text-shadow:0 0 28px rgba(231,195,116,.22),0 14px 40px rgba(0,0,0,.46)}.motion-state-settle:is(.stage-page-quiz,.stage-page-poll,.stage-page-table_battle,.stage-page-heart_sync,.stage-page-flower_pass,.stage-page-reaction_wave,.stage-page-shake_race,.stage-page-red_packet,.stage-page-xi_mosaic,.stage-page-lucky_table,.stage-page-lottery) :is(.quiz-option-grid,.poll-versus,.table-race,.heart-stage,.lantern-sky,.flower-table,.reaction-dashboard,.shake-track,.packet-rank-rail,.xi-grid,.lucky-number,.winner-strip){opacity:.72;filter:saturate(.82);transition:opacity .45s ease,filter .45s ease}.motion-tier-limited .sky-lantern:nth-of-type(n+18){display:none}.motion-tier-reduced .sky-lantern.is-lit{animation:none;transform:translate3d(0,-36%,0) scale(var(--lantern-scale));opacity:.9}.motion-tier-limited .scene-backdrop{background-attachment:initial}.motion-tier-limited .scene-backdrop-light{opacity:.58}.motion-tier-limited .scene-backdrop-grain{opacity:.06}.motion-tier-reduced .scene-backdrop-grain{display:none}.motion-tier-reduced .art-layer{opacity:.62;filter:none}.scene-page.mock-final-frame *,.scene-page.mock-final-frame *:before,.scene-page.mock-final-frame *:after{animation:none!important;transition:none!important}.welcome-composition{display:grid;place-items:center;justify-items:center;gap:44px;text-align:center}.copy-lockup{display:grid;justify-items:center}.copy-lockup h1{max-width:760px;font-size:clamp(60px,8vw,132px);line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.85),0 4px 24px rgba(0,0,0,.6),0 0 60px rgba(0,0,0,.4)}.copy-lockup h1.couple-lockup,h1.couple-lockup{text-shadow:none}.copy-lockup p{margin-top:24px;color:#f4eee3c7;font-size:18px;text-shadow:0 1px 4px rgba(0,0,0,.7),0 2px 12px rgba(0,0,0,.5)}.copy-lockup .gold-rule{margin:26px auto 0}.copy-lockup>strong{display:block;margin-top:30px;color:var(--scene-champagne);font:300 clamp(42px,5vw,76px)/1 Georgia,serif;text-shadow:0 2px 6px rgba(0,0,0,.8),0 4px 20px rgba(0,0,0,.55)}.copy-lockup>strong small{margin-left:12px;color:#f4eee3ad;font:14px Wedding Sans,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.7)}.welcome-arrivals{display:flex;justify-content:center;flex-wrap:wrap;gap:22px 20px;max-width:820px}.welcome-arrival-chip{position:relative;display:grid;justify-items:center;gap:6px;padding-top:6px;opacity:.74;transition:opacity .3s ease}.welcome-arrival-chip em{font:14px "Wedding Serif",serif;font-style:normal;color:#f4eee3e0}.welcome-arrival-chip small{color:#f4eee380;font-size:11px;letter-spacing:.04em}.welcome-arrival-chip.is-newest{opacity:1}.welcome-arrival-chip.is-newest:before{content:"";position:absolute;inset:-10px -14px auto;height:calc(100% + 20px);border:1px solid rgba(228,199,135,.4);border-radius:16px;background:#e4c78712;animation:welcome-chip-glow 2.4s ease-in-out infinite}@keyframes welcome-chip-glow{0%,to{box-shadow:0 0 #e4c78700}50%{box-shadow:0 0 22px #e4c78752}}.invitation-card{position:relative;min-height:330px;padding:36px 34px;border:1px solid rgba(228,199,135,.55);background:#18120ed1;box-shadow:0 4px 20px #0006,20px 30px 90px #00000061;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.invitation-card i{position:absolute;right:28px;top:24px;width:84px;height:84px;border:1px solid rgba(198,115,130,.52);border-radius:50%}.invitation-card b{display:block;margin-top:48px;font:34px "Wedding Serif",serif;text-shadow:0 2px 6px rgba(0,0,0,.7),0 4px 16px rgba(0,0,0,.5)}.invitation-card span{display:block;margin-top:14px;color:#f4eee3b8;text-shadow:0 1px 3px rgba(0,0,0,.6)}.qr-placeholder{display:grid;place-items:center;width:90px;height:90px;margin-top:40px;border:8px solid #f8f5ed;background:repeating-linear-gradient(45deg,#1b1714 0 4px,#fff 4px 8px);color:#1b1714;font-size:11px}.blessing-composition .composition-heading{text-align:left}.blessing-album{display:grid;grid-template-columns:1fr minmax(380px,1.3fr) 1fr;gap:28px;align-items:center;height:calc(100% - 150px);position:relative}.blessing-album aside{display:grid;gap:18px}.letter-card,.letter-featured{border:1px solid rgba(228,199,135,.25);background:#20171294;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .6s cubic-bezier(.22,1,.36,1)}.letter-card{padding:20px;min-height:150px;transform:rotate(-2deg);position:relative;overflow:hidden;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),filter .6s ease}.letter-card:nth-child(2){transform:rotate(2deg)}.motion-state-climax .letter-card{opacity:.38!important;filter:blur(1px) saturate(.75);transform:rotate(-2deg) scale(.96)!important}.motion-state-climax .letter-card:nth-child(2){transform:rotate(2deg) scale(.96)!important}.motion-state-settle .letter-card{opacity:1!important;filter:none;border-color:#e4c78766;transform:rotate(-2deg)!important}.motion-state-settle .letter-card:nth-child(2){transform:rotate(2deg)!important}.letter-card:before,.letter-card:after{content:"";position:absolute;width:20px;height:20px;border-color:#e4c78766;border-style:solid}.letter-card:before{top:8px;left:8px;border-width:1.5px 0 0 1.5px}.letter-card:after{bottom:8px;right:8px;border-width:0 1.5px 1.5px 0}.letter-card p{margin:18px 0;color:#f4eee3d1;line-height:1.65;text-shadow:0 1px 3px rgba(0,0,0,.5);position:relative;z-index:2}.letter-card small,.letter-card span,.letter-featured>span{color:var(--scene-champagne);font-size:11px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.letter-featured{display:grid;align-content:center;min-height:420px;padding:48px;text-align:center;box-shadow:0 0 60px #d4af3740,0 26px 80px #00000080,inset 0 0 30px #d4af3714;border:1.5px solid rgba(255,225,130,.5);background:radial-gradient(circle at 50% 30%,#2d2319f2,#19120efa);position:relative;overflow:hidden;animation:hero-pulse 4s ease-in-out infinite}@keyframes hero-pulse{0%,to{box-shadow:0 0 50px #d4af3733,0 26px 80px #00000080,inset 0 0 30px #d4af3714}50%{box-shadow:0 0 80px #ffdc6459,0 30px 90px #0009,inset 0 0 40px #ffd7001f}}.motion-state-climax .letter-featured{animation:hero-pulse 4s ease-in-out infinite,letter-featured-flare 1.2s ease-out;border-color:#ffe182d9}@keyframes letter-featured-flare{0%{box-shadow:0 0 50px #d4af3733,0 26px 80px #00000080,inset 0 0 30px #d4af3714}32%{box-shadow:0 0 130px #ffe1969e,0 30px 90px #0009,inset 0 0 55px #ffd70038}to{box-shadow:0 0 50px #d4af3733,0 26px 80px #00000080,inset 0 0 30px #d4af3714}}.motion-state-climax .letter-featured:before{animation:rotate-rays 8s linear infinite}.motion-state-climax .letter-featured svg{animation:letter-heart-beat 1.2s ease-out}@keyframes letter-heart-beat{0%,to{transform:scale(1)}30%{transform:scale(1.5);color:#f4a6b2}}.motion-state-climax .letter-featured blockquote{animation:letter-quote-glow 1.2s ease-out}@keyframes letter-quote-glow{0%{text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 30px rgba(255,230,160,.15)}35%{text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 56px rgba(255,230,160,.55)}to{text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 30px rgba(255,230,160,.15)}}.motion-state-settle .letter-featured{animation:none;box-shadow:0 0 70px #e4c7874d,0 26px 80px #00000080,inset 0 0 34px #d4af371a;border-color:#ffe1829e}.motion-state-settle .letter-featured:before{animation-play-state:paused}.letter-featured:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(212,175,55,.15) 0%,rgba(212,175,55,.05) 45%,transparent 70%);z-index:0;pointer-events:none;animation:rotate-rays 25s linear infinite}@keyframes rotate-rays{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.letter-featured svg{justify-self:end;color:var(--scene-rose);position:relative;z-index:2}.letter-featured blockquote{margin:42px 0;font:31px/1.7 "Wedding Serif",serif;text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 30px rgba(255,230,160,.15);position:relative;z-index:2;color:#fff9ea}.letter-featured footer{color:#f4eee3b8;text-shadow:0 1px 3px rgba(0,0,0,.6);position:relative;z-index:2}.letter-featured:after{content:"囍";position:absolute;right:20px;bottom:15px;font-size:80px;font-family:"Wedding Serif",serif;color:#d4af3714;line-height:1;pointer-events:none;z-index:1}.blessing-empty{display:grid;place-items:center;gap:14px;min-height:280px;padding:40px 24px;border:1px dashed rgba(228,199,135,.32);background:#18120e6b;color:#f4eee3b8;text-align:center}.blessing-empty p{margin:0;color:#f4eee3ad;font-size:15px}.origin-loading{display:grid;place-items:center;gap:12px;min-height:420px;padding:40px;color:var(--scene-champagne);text-align:center}.origin-loading span{font-size:15px}.origin-loading small{color:#f4eee380;font-size:12px}.low-perf .art-layer,.low-perf .fx-burst,.low-perf .packet-rain-container{animation:none!important}.blessing-guide{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;padding:14px 20px;border:1px solid rgba(228,199,135,.4);border-radius:8px;background:#18120ebf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #0000004d}.blessing-guide svg{width:24px;height:24px;color:var(--scene-champagne)}.blessing-guide span{color:#f4eee3d9;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.blessing-guide strong{color:var(--scene-champagne);font-weight:600}.quiet-composition{display:grid;place-items:center;align-content:center;text-align:center}.quiet-composition h1,.ended-composition h1{font-size:clamp(58px,8vw,126px);text-shadow:0 2px 8px rgba(0,0,0,.85),0 4px 24px rgba(0,0,0,.6),0 0 60px rgba(0,0,0,.4)}.quiet-composition h1.couple-lockup,.ended-composition h1.couple-lockup{text-shadow:none}.quiet-composition p{margin-top:24px;color:#f4eee3c7;font-size:18px;text-shadow:0 1px 4px rgba(0,0,0,.7),0 2px 12px rgba(0,0,0,.5)}.ceremony-arch{position:absolute;left:50%;top:42%;width:62%;height:76%;border:1px solid rgba(228,199,135,.25);border-bottom:0;border-radius:50% 50% 0 0;transform:translate(-50%,-50%)}.ceremony-arch i{position:absolute;top:0;bottom:0;width:1px;background:#e4c7872e}.ceremony-arch i:first-child{left:11%}.ceremony-arch i:last-child{right:11%}.gold-rule{width:92px;height:1px;margin:28px 0 0;background:var(--scene-champagne)}.toast-orbit{display:grid;place-items:center;width:190px;aspect-ratio:1;margin-bottom:32px;border:1px solid rgba(228,199,135,.3);border-radius:50%;color:var(--scene-champagne)}.game-composition .composition-heading{max-width:900px;margin-inline:auto}.quiz-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quiz-stage-board{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:28px 36px;align-items:center;max-width:1180px;margin:28px auto 0}.quiz-composition.is-trivia .quiz-stage-board,.quiz-composition:not(.is-show):not(.is-song) .quiz-stage-board{grid-template-columns:1fr}.quiz-poster-frame{position:relative;justify-self:center;width:min(100%,320px)}.quiz-mosaic{display:block;width:100%;height:auto;aspect-ratio:3 / 4;border:1px solid rgba(228,199,135,.28);background:#140f0e;box-shadow:0 24px 70px #00000052}.quiz-poster-frame small{display:block;margin-top:10px;color:#f4eee39e;letter-spacing:.18em;text-align:center}.quiz-vinyl{position:relative;width:min(100%,280px);display:grid;justify-items:center;gap:16px}.quiz-disc{position:relative;width:100%;aspect-ratio:1}.quiz-disc i,.quiz-disc b{position:absolute;border-radius:50%}.quiz-disc i{inset:0;background:repeating-radial-gradient(circle at 50% 50%,#1a1714 0 4px,#2a2420 5px,#1a1714 8px);box-shadow:0 18px 50px #00000059}.quiz-disc b{inset:38%;background:radial-gradient(circle at 42% 38%,#f3d7a4,#b07a3a 55%,#6b3b24)}.quiz-vinyl span{color:#f4eee3b3;letter-spacing:.16em;font-size:13px}.quiz-vinyl.is-playing .quiz-disc i{animation:vinyl-spin 3.6s linear infinite}@media(prefers-reduced-motion:reduce){.quiz-vinyl.is-playing .quiz-disc i{animation:none}}.quiz-option-card{position:relative;display:grid;grid-template-columns:44px 1fr 80px;gap:14px;align-items:center;min-height:105px;padding:18px 20px;border:1px solid rgba(137,182,164,.3);background:#141d1bad}.quiz-option-card b{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--scene-jade);color:var(--scene-jade)}.quiz-option-card strong{font:24px "Wedding Serif",serif}.quiz-option-card>span{height:4px;grid-column:2;background:#ffffff1a}.quiz-option-card>span i{display:block;height:100%;background:var(--scene-jade);transition:width .5s cubic-bezier(.22,.7,.32,1)}.quiz-option-card small{color:#f4eee394;text-align:right}.quiz-option-card.is-correct{border-color:var(--scene-champagne);background:#5b3e279e}.quiz-crown{position:absolute;top:12px;right:14px;color:var(--scene-champagne);filter:drop-shadow(0 0 6px rgba(228,199,135,.6))}.quiz-option-card.is-leading{border-color:#e4c78780;background:#2d22148c}.quiz-lead-tag{position:absolute;top:10px;right:14px;padding:2px 9px;border:1px solid rgba(228,199,135,.55);border-radius:20px;color:var(--scene-champagne);font:11px Wedding Sans,sans-serif;font-style:normal;letter-spacing:.08em;background:#120e0b8c}.quiz-meta-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}.quiz-progress-dots{display:flex;gap:8px}.quiz-progress-dots i{width:7px;height:7px;border-radius:50%;background:#f4eee340}.quiz-progress-dots i.is-done{background:#e4c7878c}.quiz-progress-dots i.is-active{background:var(--scene-champagne);box-shadow:0 0 8px #e4c787b3}.quiz-reveal-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border:1px solid rgba(228,199,135,.5);border-radius:20px;background:#5b3e276b;color:var(--scene-champagne);font-size:12px;letter-spacing:.12em}.quiz-clarity-gauge{display:flex;justify-content:center;gap:6px;margin-top:10px}.quiz-clarity-gauge i{width:18px;height:3px;background:#f4eee329}.quiz-clarity-gauge i.is-lit{background:var(--scene-champagne);box-shadow:0 0 6px #e4c7878c}.quiz-waveform{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:22px}.quiz-waveform i{width:3px;height:30%;background:#e4c78766;border-radius:2px}.quiz-waveform.is-playing i{animation:quiz-waveform-bounce .9s ease-in-out calc(var(--bar-index) * .09s) infinite}@keyframes quiz-waveform-bounce{0%,to{height:22%}50%{height:100%}}.game-status{margin-top:24px;color:var(--scene-champagne);text-align:center}.poll-versus{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:950px;height:420px;margin:48px auto 0}.poll-side{display:grid;place-items:center;align-content:center;gap:20px;border:1px solid rgba(228,199,135,.34);background:#1f1413b3}.poll-side:last-of-type{background:#172320b8;border-color:#89b6a45c}.poll-side>span{color:var(--scene-champagne);font:42px Georgia,serif}.poll-side h2{font:52px "Wedding Serif",serif}.poll-side>div{width:54%;height:120px;display:flex;align-items:end;background:#ffffff12}.poll-side>div i{display:block;width:100%;background:var(--scene-rose)}.poll-side:last-of-type>div i{background:var(--scene-jade)}.poll-side strong{font:32px Georgia,serif;color:var(--scene-champagne)}.versus-mark{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;aspect-ratio:1;border:1px solid var(--scene-champagne);border-radius:50%;background:var(--scene-brown);color:var(--scene-champagne);transform:translate(-50%,-50%)}.table-race,.shake-track{display:grid;gap:14px;max-width:1020px;margin:46px auto 0}.race-lane,.shake-racer{display:grid;grid-template-columns:48px 120px 1fr 60px;gap:14px;align-items:center;min-height:68px;padding:0 16px;border-bottom:1px solid rgba(137,182,164,.2)}.race-lane>span,.shake-racer>b{color:var(--scene-jade);font-family:Georgia,serif}.race-lane>strong{font:22px "Wedding Serif",serif}.race-lane>div,.shake-racer>div{position:relative;height:10px;background:#ffffff1a}.race-lane>div i,.shake-racer>div i{display:block;height:100%;background:var(--scene-jade)}.race-lane em,.shake-racer>strong{color:var(--scene-champagne);font:24px Georgia,serif;text-align:right}.heart-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;width:min(920px,100%);margin:64px auto 0}.heart-radiant{display:grid;place-items:center;width:290px;aspect-ratio:1;margin:auto;border:1px solid rgba(198,115,130,.6);border-radius:50%;color:var(--scene-rose);box-shadow:0 0 90px #c6738233}.heart-radiant svg{width:112px;height:112px;fill:#c673822e}.heart-radiant strong{font:34px Georgia,serif;color:var(--scene-champagne)}.heart-stage h2{font:42px "Wedding Serif",serif}.heart-stage p{margin-top:14px;color:#f4eee394}.lantern-sky{position:relative;width:min(1080px,100%);height:min(62vh,620px);margin:18px auto 0;overflow:hidden}.lantern-stars{position:absolute;inset:0;pointer-events:none}.lantern-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#f4eee38c}.lantern-stars i:nth-child(1){left:8%;top:18%}.lantern-stars i:nth-child(2){left:16%;top:42%}.lantern-stars i:nth-child(3){left:24%;top:12%}.lantern-stars i:nth-child(4){left:33%;top:28%}.lantern-stars i:nth-child(5){left:41%;top:8%}.lantern-stars i:nth-child(6){left:52%;top:22%}.lantern-stars i:nth-child(7){left:61%;top:14%}.lantern-stars i:nth-child(8){left:70%;top:36%}.lantern-stars i:nth-child(9){left:78%;top:10%}.lantern-stars i:nth-child(10){left:86%;top:26%}.lantern-stars i:nth-child(11){left:12%;top:62%}.lantern-stars i:nth-child(12){left:29%;top:54%}.lantern-stars i:nth-child(13){left:47%;top:48%}.lantern-stars i:nth-child(14){left:63%;top:58%}.lantern-stars i:nth-child(15){left:81%;top:52%}.lantern-stars i:nth-child(16){left:91%;top:16%}.lantern-stars i:nth-child(17){left:5%;top:34%}.lantern-stars i:nth-child(18){left:95%;top:44%}.sky-lantern{position:absolute;left:var(--lantern-x);bottom:6%;width:34px;height:48px;opacity:0;pointer-events:none;transform:translate3d(0,18%,0) scale(var(--lantern-scale))}.sky-lantern.is-lit{opacity:1;animation:lantern-rise var(--lantern-duration) linear var(--lantern-delay) infinite}.sky-lantern i{display:block;width:100%;height:70%;border-radius:42% 42% 18% 18%;background:linear-gradient(180deg,#f6e0b0,#c47a3a);box-shadow:0 0 18px #e8b05c6b}.sky-lantern.hue-1 i{background:linear-gradient(180deg,#f3d3a4,#b85a3a)}.sky-lantern.hue-2 i{background:linear-gradient(180deg,#f7e7c2,#d4a056)}.sky-lantern b{position:absolute;left:50%;top:16%;width:7px;height:11px;border-radius:50%;background:#fff6d2;transform:translate(-50%);box-shadow:0 0 10px #ffd27a}.sky-lantern em{position:absolute;left:50%;bottom:0;width:2px;height:12px;background:#e8c07a;transform:translate(-50%)}.lantern-caption{position:absolute;left:50%;bottom:18px;transform:translate(-50%);text-align:center}.lantern-caption strong{display:block;color:var(--scene-champagne);font:42px Georgia,serif}.lantern-caption p{margin-top:6px;color:#f4eee394}.lantern-composition.is-complete .sky-lantern.is-lit{animation-name:lantern-hold;animation-duration:14s}.flower-composition.is-running:before{content:"";position:absolute;inset:-30px;background:radial-gradient(ellipse at 50% 50%,rgba(228,199,135,.12) 0%,rgba(140,28,45,.08) 50%,transparent 80%);pointer-events:none;animation:luxury-room-glow 3.2s ease-in-out infinite alternate;z-index:0}@keyframes luxury-room-glow{0%{opacity:.5;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}.flower-table{position:relative;width:min(680px,75vw);aspect-ratio:1.35;margin:22px auto 0}.flower-table:before{content:"";position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#380d15,#20070c 70%,#120306);border:2px solid rgba(228,199,135,.45);box-shadow:0 0 50px #e4c7872e,inset 0 0 45px #000000bf,0 24px 60px #0000008c;transform:translate(-50%,-50%);z-index:1}.flower-table:after{content:"";position:absolute;left:50%;top:50%;width:49%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(228,199,135,.28);box-shadow:inset 0 0 24px #e4c78714;transform:translate(-50%,-50%);z-index:1;pointer-events:none}.flower-drum-pulse{position:absolute;inset:24%;border-radius:50%;pointer-events:none;z-index:2;display:flex;align-items:center;justify-content:center}.flower-drum-pulse i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(228,199,135,.45);box-shadow:0 0 18px #e4c78740,inset 0 0 12px #e4c7871f;animation:drum-wave 2.2s cubic-bezier(.2,.8,.4,1) infinite}.flower-drum-pulse i:nth-child(2){animation-delay:.7s}.flower-drum-pulse i:nth-child(3){animation-delay:1.4s}@keyframes drum-wave{0%{transform:scale(.78);opacity:.85;border-color:#ffd700bf}to{transform:scale(1.36);opacity:0;border-color:#e4c78700}}.flying-flower-beam{position:absolute;inset:0;pointer-events:none;z-index:12}.beam-comet{position:absolute;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff 20%,#f7e3b5 50%,#d4a359 85%,transparent 100%);box-shadow:0 0 20px #f7e3b5e6,0 0 35px #d4a35999;transform:translate(-50%,-50%);animation:fly-between .65s cubic-bezier(.25,.1,.25,1) forwards}.beam-spark{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff;transform:translate(-50%,-50%);animation:fly-between .65s cubic-bezier(.25,.1,.25,1) .04s forwards;opacity:.95}@keyframes fly-between{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%) scale(.8);opacity:.95}50%{transform:translate(-50%,-50%) scale(1.25);opacity:1}to{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) scale(1);opacity:0}}.flower-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);width:44px;height:44px;margin:-22px;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.34,1.3,.64,1);z-index:8}.flower-seat.is-compact{width:34px;height:34px;margin:-17px}.seat-cushion-ring{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.flower-guest-avatar{position:relative;width:36px;height:42px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));transition:transform .3s ease}.flower-seat.is-compact .flower-guest-avatar{width:28px;height:33px}.flower-seat .seat-point{display:block;width:12px;height:12px;border-radius:50%;background:#e4c78747;box-shadow:0 0 8px #e4c78733}.scene-subrule{margin:8px auto 0;padding:4px 18px;border-radius:20px;background:#55141e73;border:1px solid rgba(228,199,135,.45);color:#fff4dc;font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.06em;box-shadow:0 2px 12px #0006,0 0 16px #e4c78726;text-shadow:0 1px 3px rgba(0,0,0,.8);display:inline-flex;align-items:center;gap:6px}.flower-orbit-glow{position:absolute;inset:-4%;border-radius:50%;background:radial-gradient(circle,transparent 58%,rgba(228,199,135,.12) 76%,rgba(241,207,120,.06) 94%,transparent 100%);border:1px dashed rgba(228,199,135,.16);animation:orbit-silk-breathe 3.5s ease-in-out infinite alternate;pointer-events:none;z-index:0}@keyframes orbit-silk-breathe{0%{transform:scale(.98);opacity:.45}to{transform:scale(1.02);opacity:.85}}.flower-seat.is-holding{z-index:25;transform:scale(1.32)}.flower-seat.is-holding .flower-guest-avatar{filter:drop-shadow(0 0 16px rgba(241,207,120,.95)) drop-shadow(0 6px 16px rgba(0,0,0,.7));animation:holding-gentle-float 2.2s ease-in-out infinite alternate}@keyframes holding-gentle-float{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.holding-spotlight{position:absolute;inset:-24px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,130,.7) 0%,rgba(228,199,135,.35) 45%,rgba(160,35,50,.08) 72%,transparent 88%);filter:blur(8px);animation:spotlight-breathe 2.4s ease-in-out infinite alternate;pointer-events:none;z-index:-1}@keyframes spotlight-breathe{0%{transform:scale(.88);opacity:.65}to{transform:scale(1.15);opacity:1}}.holding-ripple-ring{position:absolute;inset:-16px;border-radius:50%;border:2px solid rgba(255,225,125,.8);pointer-events:none;animation:flower-receive-ripple 1.4s ease-out infinite;z-index:1}@keyframes flower-receive-ripple{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.6);opacity:0}}.table-blossom.party-bloom{position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(255,220,120,.85);box-shadow:0 0 18px #ffd7008c,inset 0 0 14px #ffd70047;animation:bloom-spin 12s linear infinite;pointer-events:none;z-index:2}@keyframes bloom-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.holding-floating-tag{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);white-space:nowrap;padding:3px 11px;border-radius:14px;background:linear-gradient(135deg,#7a1523,#4d0a13);border:1.2px solid #f1cf78;box-shadow:0 4px 16px #0000008c,0 0 12px #f1cf7866;color:#fff6e0;font-size:11px;font-weight:700;letter-spacing:.06em;display:flex;align-items:center;gap:4px;z-index:30}.seat-status-pill{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:600;display:flex;align-items:center;gap:3px;z-index:10;pointer-events:none}.seat-status-pill.is-safe-pill{background:#1e4434e0;border:1px solid rgba(140,220,180,.6);color:#e2fbe8;box-shadow:0 2px 8px #0006,0 0 8px #2ea0694d}.seat-status-pill.is-next-pill{background:#552d0fe0;border:1px solid rgba(241,207,120,.65);color:#fff2d0;box-shadow:0 2px 8px #0006,0 0 8px #f1cf784d}.flower-seat-name{position:absolute;left:50%;display:grid;justify-items:center;min-width:4.8em;max-width:7.2em;text-align:center;pointer-events:none;z-index:5}.flower-seat.label-below .flower-seat-name{top:calc(100% + 6px);transform:translate(-50%)}.flower-seat.label-above .flower-seat-name{bottom:calc(100% + 6px);transform:translate(-50%)}.flower-seat-name strong{display:block;max-width:7.2em;overflow:hidden;color:#fff7ee;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 5px rgba(0,0,0,.8)}.flower-seat-name small{color:#e4c787d9;font-size:10px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.flower-center.drum-core-panel{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#3a0d14,#20060b 75%,#120306);border:3px solid rgba(241,207,120,.72);box-shadow:0 0 50px #e4c78740,inset 0 0 45px #000000bf;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;z-index:5;text-align:center}.drum-rim-rivets{position:absolute;inset:4px;border-radius:50%;border:1.5px dashed rgba(228,199,135,.35);box-shadow:inset 0 0 14px #e4c7871f;pointer-events:none;z-index:6}.drum-radar-content{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;height:100%}.drum-pill-prev{padding:2px 12px;border-radius:12px;background:#1c382acc;border:1px solid rgba(134,220,165,.4);color:#e2fbe8;font-size:11px;display:inline-flex;align-items:center;gap:5px}.drum-pill-prev.is-idle{background:#1e1412a6;border-color:#f1cf7859;color:#fef08a}.drum-pill-prev strong{color:#fef08a;font-size:12px;font-weight:700}.drum-holder-zone{display:flex;flex-direction:column;align-items:center;gap:2px}.drum-avatar-stage{position:relative;width:68px;height:74px;margin:1px 0;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.drum-avatar-stage .seat-avatar-wrap{width:60px;height:70px}.drum-avatar-stage .seat-id-badge{font-size:11px;padding:1px 6px}.drum-holding-label{padding:2px 10px;border-radius:12px;background:#6e1620d9;border:1px solid rgba(241,207,120,.5);color:#fff4db;font-size:11px;font-weight:600;letter-spacing:.06em;display:inline-flex;align-items:center;gap:4px}.drum-holder-name{margin:2px 0 0;font-family:var(--font-serif, "Noto Serif SC", "Songti SC", serif);font-size:clamp(22px,2.6vw,32px);font-weight:700;color:#fff9f0;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 20px rgba(241,207,120,.4)}.drum-holder-table{margin:0;color:var(--scene-champagne, #e4c787);font-size:clamp(12px,1.1vw,15px);font-weight:600;letter-spacing:.12em}.drum-pill-next{padding:2px 12px;border-radius:12px;background:#412612cc;border:1px solid rgba(241,207,120,.4);color:#fff2d0;font-size:11px;display:inline-flex;align-items:center;gap:5px}.drum-pill-next strong{color:#fff;font-size:12px;font-weight:700}.drum-radar-idle{display:flex;flex-direction:column;align-items:center;gap:4px}.drum-idle-avatar-stage{position:relative;width:68px;height:74px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.drum-idle-avatar-stage .seat-avatar-wrap{width:60px;height:70px}.drum-idle-sparkle{color:var(--scene-champagne, #e4c787);opacity:.85;animation:party-pulse 2.2s ease-in-out infinite}.drum-radar-idle strong{color:var(--scene-champagne, #e4c787);font:clamp(22px,2.8vw,34px) var(--font-serif, "Noto Serif SC", "Songti SC", serif)}.drum-radar-idle small{color:#f4eee3a6;font-size:12px}.pass-counter-badge{color:#fcd34d;font-weight:700}.flower-pass-meta{margin-top:16px;text-align:center;color:#f4eee3bf;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.flower-verdict{display:grid;grid-template-columns:1fr 1fr;gap:36px;width:min(980px,90vw);margin:28px auto 0}.flower-verdict.is-single{grid-template-columns:minmax(320px,460px);justify-content:center}.flower-verdict-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 28px 30px;text-align:center;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px #0009}.verdict-banner-tag{position:absolute;top:-18px;padding:5px 22px;border-radius:22px;font-size:13px;font-weight:700;letter-spacing:.08em;display:inline-flex;align-items:center;gap:6px}.verdict-banner-tag.is-danger{background:linear-gradient(135deg,#7a1523,#4d0a13);border:1.5px solid #f1cf78;color:#fff5e0;box-shadow:0 4px 18px #00000080,0 0 15px #f1cf7859}.verdict-banner-tag.is-gold{background:linear-gradient(135deg,#8a5308,#5a3205);border:1.5px solid #fde047;color:#fffbeb;box-shadow:0 4px 18px #00000080,0 0 15px #fde04766}.verdict-avatar-box{position:relative;width:132px;height:148px;display:flex;align-items:center;justify-content:center;margin:6px 0 4px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.7))}.verdict-avatar-box .seat-avatar-wrap{width:120px;height:138px}.verdict-avatar-box .seat-person-svg,.verdict-avatar-box .seat-kawaii-char{width:110px!important;height:130px!important;filter:drop-shadow(0 6px 16px rgba(0,0,0,.55))}.verdict-avatar-box .seat-avatar-img{width:110px!important;height:110px!important}.verdict-avatar-box .seat-id-badge{font-size:13px!important;padding:3px 9px!important;bottom:-4px!important;right:0!important}.flower-verdict-card.is-penalty-winner{border:2px solid rgba(228,199,135,.65);background:linear-gradient(180deg,#3e0e16f0,#1e060bfa);box-shadow:0 0 45px #e4c7872e,0 24px 60px #000000a6}.flower-verdict-card.is-lucky-winner{border:2px solid rgba(245,208,118,.85);background:linear-gradient(180deg,#44280ef0,#1c1005fa);box-shadow:0 0 50px #f5d07647,0 24px 60px #000000a6}.verdict-name{color:#fff9f0;font:800 clamp(32px,3.8vw,50px) var(--font-serif, "Noto Serif SC", "Songti SC", serif);letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.8)}.verdict-table{color:var(--scene-champagne, #e4c787);font-size:15px;font-weight:600;letter-spacing:.1em}.verdict-action{margin-top:6px;display:flex;flex-direction:column;gap:3px}.verdict-action b{font-size:clamp(15px,1.3vw,18px);color:#fff;letter-spacing:.04em}.flower-verdict-card.is-penalty-winner .verdict-action b{color:#fecdd3}.flower-verdict-card.is-lucky-winner .verdict-action b{color:#fde68a}.verdict-action small{color:#f4eee3bf;font-size:13px}.verdict-timeline-strip{display:flex;flex-direction:column;align-items:center;gap:10px;margin:28px auto 0;width:min(880px,86vw);padding:14px 24px 18px;border-radius:16px;background:#140c0ea6;border:1px solid rgba(228,199,135,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 36px #00000073}.timeline-strip-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--scene-champagne, #e4c787);letter-spacing:.12em}.timeline-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px 24px;position:relative}.timeline-node{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.timeline-avatar-wrap{width:38px;height:44px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.timeline-node-name{font-size:11px;color:#fff5e0;font-weight:600;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-node-badge{font-size:9px;padding:1px 6px;border-radius:8px;background:#ffffff1a;color:#f4eee3bf}.timeline-node-badge.is-drink{background:#7a1523;color:#ffe4e6;border:1px solid rgba(241,207,120,.5);font-weight:700}.timeline-node-badge.is-prize{background:#8a5308;color:#fef08a;border:1px solid rgba(253,224,71,.5);font-weight:700}.flower-burst{position:absolute;inset:5% 8%;pointer-events:none;overflow:hidden}.flower-burst i.burst-spark{position:absolute;left:50%;top:40%;border-radius:50%;background:#f1cf78;opacity:0;box-shadow:0 0 14px #f1cf78cc;animation:flower-spark-rich 2.4s ease-out infinite}.flower-burst i.spark-tier-0{width:14px;height:14px;background:#fde047}.flower-burst i.spark-tier-1{width:10px;height:10px;background:#f43f5e;box-shadow:0 0 12px #f43f5ecc}.flower-burst i.spark-tier-2{width:8px;height:8px;background:#fff;box-shadow:0 0 10px #fff}.flower-burst i:nth-child(1){--dx: -340px;--dy: -70px;animation-delay:0s}.flower-burst i:nth-child(2){--dx: 320px;--dy: -80px;animation-delay:.06s}.flower-burst i:nth-child(3){--dx: -120px;--dy: -220px;animation-delay:.12s}.flower-burst i:nth-child(4){--dx: 140px;--dy: -210px;animation-delay:.08s}.flower-burst i:nth-child(5){--dx: -280px;--dy: 140px;animation-delay:.18s}.flower-burst i:nth-child(6){--dx: 300px;--dy: 130px;animation-delay:.15s}.flower-burst i:nth-child(7){--dx: -200px;--dy: -150px;animation-delay:.22s}.flower-burst i:nth-child(8){--dx: 220px;--dy: -160px;animation-delay:.19s}.flower-burst i:nth-child(9){--dx: -140px;--dy: 190px;animation-delay:.25s}.flower-burst i:nth-child(10){--dx: 150px;--dy: 200px;animation-delay:.28s}.flower-burst i:nth-child(11){--dx: -400px;--dy: 30px;animation-delay:.1s}.flower-burst i:nth-child(12){--dx: 410px;--dy: 20px;animation-delay:.14s}.flower-burst i:nth-child(13){--dx: -250px;--dy: -90px;animation-delay:.32s}.flower-burst i:nth-child(14){--dx: 260px;--dy: -95px;animation-delay:.35s}.flower-burst i:nth-child(15){--dx: -60px;--dy: -260px;animation-delay:.05s}.flower-burst i:nth-child(16){--dx: 70px;--dy: -250px;animation-delay:.11s}.flower-burst i:nth-child(17){--dx: -310px;--dy: 180px;animation-delay:.27s}.flower-burst i:nth-child(18){--dx: 330px;--dy: 190px;animation-delay:.24s}.flower-burst i:nth-child(19){--dx: -180px;--dy: -210px;animation-delay:.38s}.flower-burst i:nth-child(20){--dx: 190px;--dy: -200px;animation-delay:.41s}.flower-burst i:nth-child(21){--dx: -90px;--dy: 240px;animation-delay:.17s}.flower-burst i:nth-child(22){--dx: 100px;--dy: 250px;animation-delay:.21s}.flower-burst i:nth-child(23){--dx: -440px;--dy: -40px;animation-delay:.3s}.flower-burst i:nth-child(24){--dx: 450px;--dy: -50px;animation-delay:.34s}@keyframes flower-spark-rich{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}15%{opacity:1;transform:translate(calc(var(--dx) * .35),calc(var(--dy) * .35)) scale(1.1)}60%{opacity:.85;transform:translate(calc(var(--dx) * .8),calc(var(--dy) * .8 + 20px)) scale(.9)}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 65px)) scale(.3)}}.flower-composition.is-stopped .flower-center{box-shadow:0 0 40px #e4c78738}.reaction-art{position:relative;height:330px;max-width:980px;margin:32px auto 0;border-top:1px solid rgba(228,199,135,.2);border-bottom:1px solid rgba(228,199,135,.2);overflow:hidden}.reaction-core{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:190px;aspect-ratio:1;border:1px solid var(--scene-champagne);border-radius:50%;background:#1a1411cc;color:var(--scene-champagne);transform:translate(-50%,-50%)}.reaction-core svg{width:56px;height:56px}.reaction-core strong{font:34px Georgia,serif}.reaction-art>span{position:absolute;left:calc(7% + var(--reaction-index) * 11%);top:calc(22% + (var(--reaction-index) % 3) * 27%);color:var(--scene-jade)}.reaction-art>span svg{width:30px;height:30px}.reaction-dashboard{display:grid;grid-template-columns:repeat(4,1fr);max-width:850px;margin:18px auto 0;border-block:1px solid rgba(255,255,255,.14)}.reaction-metric{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:12px;border-right:1px solid rgba(255,255,255,.12);align-items:center}.reaction-metric svg{color:var(--scene-champagne)}.reaction-metric strong{color:var(--scene-champagne);font:22px Georgia,serif}.reaction-metric small{color:#f4eee38c}.packet-composition{position:relative;display:grid;grid-template-columns:1fr 340px;align-items:center;gap:70px}.packet-rain-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.sky-packet{position:absolute;top:0;left:var(--packet-left);width:44px;height:56px;animation:sky-packet-fall var(--packet-duration) linear infinite;animation-delay:var(--packet-delay);will-change:transform}.motion-tier-limited .packet-rain-sky,.motion-tier-reduced .packet-rain-sky,.mock-screenshot-mode .packet-rain-sky{display:none}@keyframes sky-packet-fall{0%{transform:translateY(-14vh);opacity:0}8%{opacity:.95}50%{transform:translate(calc(var(--packet-ry, 0) * 1px),50vh)}92%{opacity:.95}to{transform:translateY(112vh);opacity:0}}.packet-hero{display:grid;place-items:center;text-align:center;position:relative}.packet-hero>span{display:grid;place-items:center;width:200px;aspect-ratio:1;border:2px solid var(--scene-champagne);border-radius:50%;color:var(--scene-champagne);font:100px "Wedding Serif",serif;background:radial-gradient(circle at 30% 30%,rgba(255,240,200,.15) 0%,transparent 50%),linear-gradient(145deg,#a92d3ee6,#641725f2);box-shadow:0 20px 50px #00000080,0 0 40px #d44b4b4d,inset 0 2px 4px #ffe6964d,inset 0 -4px 12px #0006;text-shadow:0 4px 12px rgba(0,0,0,.6);position:relative;overflow:hidden}.packet-hero>span:before{content:"";position:absolute;top:15%;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,230,150,.6),transparent);border-radius:50%}.packet-hero>span:after{content:"❖ ❖ ❖";position:absolute;bottom:12%;left:0;right:0;text-align:center;font-size:14px;color:#ffe69680;letter-spacing:8px}.packet-hero h1{margin-top:26px;font:56px "Wedding Serif",serif;text-shadow:0 2px 8px rgba(0,0,0,.8),0 4px 24px rgba(0,0,0,.5)}.packet-hero p{margin-top:12px;color:#f4eee3ad;text-shadow:0 1px 3px rgba(0,0,0,.5)}.packet-rank-rail{border-left:1px solid rgba(228,199,135,.26);padding-left:20px}.packet-rank{display:grid;grid-template-columns:36px 1fr 60px;gap:12px;align-items:center;min-height:68px;padding:10px 0 10px 16px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;transition:all .3s ease}.packet-rank b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font:700 16px/1 Georgia,serif;color:var(--scene-champagne);background:#e4c78726;border:1px solid rgba(228,199,135,.3)}.packet-rank:nth-child(1) b{background:radial-gradient(circle,#ffe47a,#d4af37 60%,#8a6508);color:#38080e;border-color:#fff5b8;box-shadow:0 0 16px #ffd70080}.packet-rank:nth-child(2) b{background:radial-gradient(circle,#fff,#d1d5db 60%,#6b7280);color:#1f2937;border-color:#f3f4f6;box-shadow:0 0 12px #dce1e666}.packet-rank:nth-child(3) b{background:radial-gradient(circle,#fdba74,#d97706 60%,#78350f);color:#331404;border-color:#ffedd5;box-shadow:0 0 12px #d9770666}.packet-rank-person{display:flex;align-items:center;gap:10px;min-width:0}.packet-rank-person em{overflow:hidden;color:#f4eee3d9;font-size:15px;font-style:normal;font-weight:500;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.5)}.packet-rank strong{color:var(--scene-champagne);font:700 22px/1 Georgia,serif;text-align:right;text-shadow:0 0 12px rgba(228,199,135,.3)}.packet-rain-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.falling-packet-3d{position:absolute;width:70px;height:100px;border-radius:8px;background:linear-gradient(145deg,#941324,#680a16 60%,#40040d);border:1.5px solid rgba(212,175,55,.65);box-shadow:0 14px 28px #000000b3,0 4px 10px #7d0a1880,inset 0 1px 2px #ffe69666,inset 0 -2px 6px #0009;animation:packet-fall-3d var(--fall-duration, 4s) cubic-bezier(.25,.46,.45,.94) forwards;pointer-events:auto;cursor:pointer}.falling-packet-3d:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,#a81b2d,#750b18);border-bottom:1.5px solid rgba(212,175,55,.8);border-radius:8px 8px 50% 50%/8px 8px 16px 16px}.falling-packet-3d:after{content:"囍";position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#f2cf7e;text-shadow:0 2px 4px rgba(0,0,0,.5)}@keyframes packet-fall-3d{0%{transform:translateY(-120px) rotate(var(--rz, 0deg)) rotateY(var(--ry, 0deg));opacity:0}8%{opacity:1}to{transform:translateY(110vh) rotate(calc(var(--rz, 0deg) * 2)) rotateY(calc(var(--ry, 0deg) * 1.5));opacity:1}}.packet-explosion{position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#fff0a8e6,#d4af37b3,#7d0a18cc);border:2px solid #fff8d6;box-shadow:0 0 40px #ffd700cc,0 0 80px #b3122499;display:grid;place-items:center;color:#59040c;font-size:36px;font-weight:900;transform:translate(-50%,-50%) scale(.3);pointer-events:none;z-index:100;animation:packet-burst .75s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes packet-burst{0%{transform:translate(-50%,-50%) scale(.2) rotate(-20deg);opacity:0}35%{transform:translate(-50%,-50%) scale(1.25) rotate(5deg);opacity:1}70%{transform:translate(-50%,-70%) scale(1.1) rotate(0);opacity:.9}to{transform:translate(-50%,-100%) scale(1.4) rotate(10deg);opacity:0}}.packet-score-float{position:absolute;font-size:28px;font-weight:700;font-family:Georgia,serif;color:#ffe680;text-shadow:0 0 16px rgba(255,215,0,.8),0 2px 6px rgba(0,0,0,.6);transform:translate(-50%,-50%);pointer-events:none;z-index:101;animation:score-float-up .85s ease-out forwards}@keyframes score-float-up{0%{transform:translate(-50%,-20px) scale(.6);opacity:0}30%{transform:translate(-50%,-45px) scale(1.2);opacity:1}to{transform:translate(-50%,-85px) scale(1);opacity:0}}.xi-art{position:relative;width:min(480px,54vw);aspect-ratio:1;margin:38px auto 0}.xi-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;width:100%;height:100%;padding:18px}.xi-grid i{border:1px solid rgba(228,199,135,.18)}.xi-grid i.is-lit{background:#e4c787c7;box-shadow:0 0 12px #e4c78766}.xi-art>strong{position:absolute;inset:0;display:grid;place-items:center;color:#f4eee32e;font:230px "Wedding Serif",serif}.reveal-composition{display:grid;place-items:center;align-content:center;text-align:center}.lucky-number{margin:22px 0;color:var(--scene-champagne);font:150px "Wedding Serif",serif;line-height:.9}.origin-stage{position:relative;display:grid;place-items:center;width:min(1080px,92vw);margin:8px auto 0}.china-map{width:100%;height:min(62vh,620px);overflow:visible}.china-land{fill:#e4c7871f;stroke:#e4c787c7;stroke-width:.35}.china-land.is-island{fill:#e4c7871a}.origin-venue circle{fill:#f4eee3;stroke:#c8a96a;stroke-width:.35}.origin-venue text{fill:#f4eee3d1;font-size:2.2px;text-anchor:middle}.origin-pin circle{fill:#e4c787d1}.origin-pin.is-overseas circle{fill:#8ebca7e6}.origin-pin.is-farthest circle{fill:#f3d48a;stroke:#fff6d8;stroke-width:.35;filter:drop-shadow(0 0 6px rgba(243,212,138,.7))}.origin-callout{position:absolute;right:2%;bottom:8%;display:grid;gap:6px;min-width:220px;padding:18px 22px;border:1px solid rgba(228,199,135,.45);background:#18120ed1;color:var(--scene-paper)}.origin-callout small{color:var(--scene-champagne);letter-spacing:.18em;font-size:12px}.origin-callout strong{font:36px "Wedding Serif",serif;color:var(--scene-champagne)}.origin-callout span{color:#f4eee3b3}.origin-callout b{color:var(--scene-champagne);font:28px Georgia,serif}.visual-stage-origin_map{overflow:hidden}.visual-stage-origin_map .visual-content{width:100%!important;max-width:100%!important;height:100%!important;margin:0!important;padding:0!important;position:absolute;inset:0}.origin-composition.is-globe{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:100%!important;margin:0!important;padding:0!important;display:block}.origin-globe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0!important;outline:none!important;display:block;background:transparent}.origin-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--scene-champagne);z-index:10;font-size:16px;letter-spacing:.12em}.origin-loading small{color:#f4eee373;font-size:12px}.origin-guest-stage .origin-suggest{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}.origin-guest-stage .origin-suggest button{display:grid;gap:2px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:3px;background:#12100ea8;color:inherit;text-align:left}.origin-guest-stage .origin-suggest button.is-selected{border-color:var(--guest-accent);background:var(--guest-accent-soft)}.origin-guest-stage .origin-suggest small{color:#f4eee38c}.origin-guest-stage .primary-button{width:100%}.origin-guest-stage>small{display:block;margin-top:10px;color:#f4eee39e}.lottery-prize-preview{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:16px;width:min(700px,100%);margin:24px auto 0}.lottery-prize-item{display:grid;justify-items:center;gap:8px;padding:18px 14px;border:1px solid rgba(228,199,135,.35);border-radius:8px;background:#18120eb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lottery-prize-item.is-active{border-color:var(--scene-champagne);background:#5b3e2780;box-shadow:0 0 24px #e4c78726}.lottery-prize-item svg{width:32px;height:32px;color:var(--scene-champagne)}.lottery-prize-item strong{font:18px "Wedding Serif",serif;color:var(--scene-paper);text-shadow:0 1px 3px rgba(0,0,0,.6)}.lottery-prize-item small{color:#f4eee399;font-size:12px}.lottery-prize-item.is-active strong{color:var(--scene-champagne)}.reveal-composition h1{font-size:48px;text-shadow:0 2px 8px rgba(0,0,0,.85),0 4px 24px rgba(0,0,0,.6)}.prize-spotlight{display:flex;align-items:center;gap:18px;margin:30px 0;color:var(--scene-champagne)}.prize-spotlight h1{margin:0;font:42px "Wedding Serif",serif;letter-spacing:0;text-shadow:0 2px 6px rgba(0,0,0,.7),0 4px 16px rgba(0,0,0,.5)}.winner-strip{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:18px;width:min(800px,100%)}.winner-strip article{display:grid;gap:8px;padding:22px;border:1px solid rgba(228,199,135,.35);background:#2017129e}.winner-strip article.lottery-code{display:flex;justify-content:center;gap:6px;padding:18px}.lottery-digit{position:relative;width:44px;height:60px;overflow:hidden;border-radius:8px;background:#0006;border:1px solid rgba(228,199,135,.3)}.lottery-digit-strip{display:flex;flex-direction:column;animation:lottery-digit-idle .6s linear infinite;transition:transform 1.05s cubic-bezier(.16,.84,.28,1);transition-delay:calc(var(--stagger) * .22s)}.lottery-digit-strip span{height:60px;display:flex;align-items:center;justify-content:center;font:30px "Wedding Serif",serif;color:var(--scene-champagne)}.lottery-digit.is-revealed .lottery-digit-strip{animation:none;transform:translateY(calc(-60px * (10 + var(--target))))}@keyframes lottery-digit-idle{0%{transform:translateY(0)}to{transform:translateY(-600px)}}.winner-strip b{display:grid;place-items:center;width:48px;aspect-ratio:1;border:1px solid var(--scene-champagne);border-radius:50%;color:var(--scene-champagne)}.winner-strip strong{font:24px "Wedding Serif",serif}.winner-strip small{color:#f4eee38c}.ended-composition p{max-width:560px;margin-top:24px;color:#f4eee39e;line-height:1.8}.ended-recap{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:36px}.ended-recap-item{display:grid;justify-items:center;gap:6px}.ended-recap-item strong{font:300 clamp(36px,4.2vw,56px)/1 Georgia,serif;color:var(--scene-champagne);text-shadow:0 2px 6px rgba(0,0,0,.7),0 4px 20px rgba(0,0,0,.5)}.ended-recap-item span{color:#f4eee38f;font-size:13px;letter-spacing:.04em}.ended-recap-divider{width:1px;height:40px;background:#e4c7874d}.ended-signature{display:flex;align-items:center;gap:10px;margin-top:30px;color:#f4eee37a;font-size:13px;letter-spacing:.16em;text-transform:uppercase}.ended-signature b{color:var(--scene-rose);font-style:normal}.ended-mark{position:absolute;z-index:-1;color:#e4c78712;font:min(58vw,700px) "Wedding Serif",serif;line-height:1}.mock-controls{position:fixed;z-index:20;right:32px;bottom:48px;display:grid;gap:10px;width:320px;padding:14px;border:1px solid rgba(228,199,135,.35);background:#120e0ce6;box-shadow:0 20px 60px #00000059}.mock-controls header{display:flex;justify-content:space-between;color:var(--scene-champagne);font-size:12px}.mock-controls select{height:36px;border:1px solid rgba(255,255,255,.18);background:#211a16;color:var(--scene-paper)}.mock-actions{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.mock-actions button{display:grid;place-items:center;height:34px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--scene-paper)}.mock-controls small{color:#f4eee385;font-size:11px}.mock-screenshot-mode .mock-controls,.mock-screenshot-mode .scene-mode-label,.mock-screenshot-mode .scene-audio,.mock-screenshot-mode .scene-footer span:last-child,.mock-screenshot-mode .guest-qr-dock{display:none}.scene-page.is-frozen *{animation-play-state:paused!important;transition:none!important}.scene-page.is-emergency-cleared{background:#0a0908}@media(prefers-reduced-motion:reduce){.scene-page *,.scene-page *:before,.scene-page *:after{animation:none!important;transition:none!important}}.screen-page{width:100%;min-height:100dvh}@media(max-width:900px){.scene-header{padding-inline:24px}.scene-brand strong{font-size:18px}.scene-footer{left:24px;right:24px}.visual-content{width:min(100% - 36px,700px)}.welcome-composition,.packet-composition,.heart-stage{grid-template-columns:1fr;gap:26px;align-content:center}.invitation-card{min-height:0;padding:24px}.copy-lockup h1{font-size:clamp(48px,13vw,80px)}.blessing-album{grid-template-columns:1fr;height:auto;margin-top:24px}.blessing-album aside{display:none}.letter-featured{min-height:300px;padding:30px}.quiz-stage-board,.quiz-option-grid,.poll-versus{grid-template-columns:1fr}.poll-versus{height:auto}.poll-side{min-height:190px}.versus-mark{top:50%}.packet-rank-rail{border-left:0;border-top:1px solid rgba(228,199,135,.26)}.winner-strip{grid-template-columns:1fr}.mock-controls{right:10px;bottom:44px;width:min(360px,calc(100vw - 20px))}}@media(max-width:560px){.scene-backdrop-frame{inset:12px}.stage-index{left:18px}.composition-heading{padding-top:22px}.composition-heading h1{font-size:38px}.copy-lockup>strong{margin-top:24px}.letter-featured blockquote{font-size:24px}.race-lane,.shake-racer{grid-template-columns:30px 72px 1fr 42px;gap:8px;padding-inline:4px}.track-lane.shake-racer{grid-template-columns:28px 1fr 56px}.heart-radiant{width:220px}.lantern-sky{height:320px}.flower-table{width:min(420px,92vw)}.reaction-dashboard{grid-template-columns:repeat(2,1fr)}.reaction-art{height:260px}.lucky-number{font-size:108px}.welcome-composition{gap:30px}.welcome-arrivals{gap:14px 12px}.welcome-arrival-chip:nth-child(n+5){display:none}.ended-recap{gap:20px;margin-top:26px}.ended-signature{flex-wrap:wrap;justify-content:center}}@media(max-width:680px){.flower-verdict{grid-template-columns:1fr;gap:22px;width:min(94%,420px)}.flower-verdict.is-single{grid-template-columns:minmax(0,420px)}.flower-verdict-card{padding:30px 22px 24px}}@media(max-width:620px){.flower-center.drum-core-panel{padding:8px}.drum-pill-prev,.drum-pill-next{display:none}.drum-radar-content{justify-content:center;gap:4px}.drum-holding-label{font-size:9px;padding:1px 8px}.drum-avatar-stage{width:54px;height:60px}.drum-avatar-stage .seat-avatar-wrap{width:48px;height:56px}.drum-holder-name{font-size:18px;margin-top:1px}.drum-holder-table{font-size:10px}.drum-idle-avatar-stage{width:54px;height:60px}.flower-seat{width:34px;height:34px;margin:-17px}.flower-seat .seat-avatar-wrap.avatar-size-default .seat-person-svg,.flower-seat .seat-avatar-wrap.avatar-size-default .seat-kawaii-char{width:22px;height:28px}.flower-seat .seat-avatar-wrap.avatar-size-default .seat-avatar-img{width:22px;height:22px}.flower-seat-name{min-width:3em;max-width:4.6em}.flower-seat-name strong{font-size:9px;max-width:4.6em}.flower-seat-name small{font-size:7px}.seat-status-pill,.holding-floating-tag{display:none}.flower-pass-meta{font-size:12px;padding-inline:16px}}.stage-ambient{inset:10% 12%;border:1px solid rgba(228,199,135,.13);border-radius:50%;opacity:.42;box-shadow:inset 0 0 90px #e4c7870d,0 0 100px #e4c7870a;transform-origin:center}.stage-fx{--fx-accent: 228, 199, 135;position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none;contain:paint;transform:translateZ(0)}.stage-fx>i,.stage-fx>b,.stage-fx>span,.fx-burst,.fx-burst i{position:absolute;display:block}.fx-curtain{z-index:8;top:0;bottom:0;width:51%;opacity:0;background:linear-gradient(90deg,#080706fa,#1b120ff0 72%,rgba(var(--fx-accent),.14))}.fx-curtain-left{left:0;transform-origin:left center}.fx-curtain-right{right:0;transform:scaleX(-1);transform-origin:right center}.fx-beam{z-index:2;top:-36%;width:10vw;height:158%;opacity:.12;background:linear-gradient(90deg,transparent,rgba(var(--fx-accent),.22),transparent);transform-origin:50% 0}.fx-beam-left{left:12%;transform:rotate(-7deg)}.fx-beam-right{right:12%;transform:rotate(7deg)}.fx-flare{z-index:6;left:10%;top:50%;width:80%;height:2px;opacity:0;background:linear-gradient(90deg,transparent,rgba(var(--fx-accent),.18) 20%,rgba(255,247,222,.92) 50%,rgba(var(--fx-accent),.18) 80%,transparent);box-shadow:0 0 12px rgba(var(--fx-accent),.34);transform-origin:center}.fx-impact-ring{z-index:3;left:50%;top:50%;width:210px;aspect-ratio:1;border:1px solid rgba(var(--fx-accent),.58);border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.fx-impact-ring-b{width:280px;border-style:double;transform:translate(-50%,-50%) rotate(18deg)}.fx-burst{z-index:6;left:50%;top:50%;width:1px;height:1px}.fx-burst i{left:-3px;top:-15px;width:6px;height:30px;border-radius:8px;opacity:0;background:linear-gradient(180deg,#fff4cf,rgba(var(--fx-accent),.24));transform-origin:center}.stage-fx-check_in,.stage-fx-blessing,.stage-fx-toast{--fx-accent: 214, 145, 125}.stage-fx-quiz,.stage-fx-table_battle,.stage-fx-shake_race{--fx-accent: 137, 182, 164}.stage-fx-poll,.stage-fx-heart_sync,.stage-fx-reaction_wave{--fx-accent: 198, 115, 130}.stage-fx-red_packet,.stage-fx-xi_mosaic,.stage-fx-lucky_table,.stage-fx-lottery{--fx-accent: 238, 189, 95}.stage-fx-blessing .fx-burst i{width:14px;height:24px;border-radius:90% 10% 80% 20%;background:linear-gradient(135deg,#f4d2c4d1,#c673822e)}.stage-fx-table_battle .fx-burst i,.stage-fx-shake_race .fx-burst i{width:34px;height:3px;top:-2px;border-radius:0;background:linear-gradient(90deg,transparent,rgba(137,182,164,.94))}.stage-fx-reaction_wave .fx-impact-ring{border-radius:46% 54% 58% 42%;border-color:#89b6a494}.stage-fx-red_packet .fx-burst i{width:28px;height:38px;top:-19px;left:-14px;border:1px solid rgba(255,224,154,.72);border-radius:3px;background:linear-gradient(145deg,#a92d3e,#641725)}.stage-fx-red_packet .fx-burst i:after{content:"?";position:absolute;inset:0;display:grid;place-items:center;color:#f2cf7e;font:13px "Wedding Serif",serif}.stage-fx-xi_mosaic .fx-burst i{width:12px;height:12px;top:-6px;left:-6px;border-radius:1px;background:#e4c787}.stage-fx-lottery .fx-burst i,.stage-fx-lucky_table .fx-burst i{width:11px;height:22px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(180deg,#fff2c4,#b47a2f)}.stage-fx-xi_mosaic .fx-beam,.stage-fx-ended .fx-beam{display:none}.stage-fx-xi_mosaic .fx-burst i:nth-child(n+5){display:none}.quiz-option-card,.poll-side,.race-lane,.shake-racer,.packet-rank,.winner-strip article{will-change:transform,opacity}.quiz-option-card.is-correct{position:relative;overflow:hidden}.quiz-option-card.is-correct:after{content:"";position:absolute;inset:-30% auto -30% -40%;width:24%;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,245,211,.72),transparent);transform:skew(-18deg)}.motion-state-climax .quiz-option-card.is-correct:after{animation:answer-shine .86s .12s ease-out both}.poll-side{transform-style:preserve-3d}.race-marker:before{content:"";position:absolute;z-index:-1;right:70%;width:54px;height:8px;opacity:.32;background:linear-gradient(90deg,transparent,rgba(137,182,164,.76))}.motion-state-climax .race-marker:before{animation:race-thrust .72s ease-out both}.shake-racer{position:relative;overflow:hidden}.shake-racer:after{content:"";position:absolute;left:-24%;top:0;bottom:0;width:18%;opacity:0;background:linear-gradient(90deg,transparent,rgba(137,182,164,.18),transparent);transform:skew(-22deg)}.motion-state-climax .shake-racer:after{animation:racer-sweep .82s ease-out both;animation-delay:calc(var(--row-index, 0) * 45ms)}.packet-hero{position:relative;isolation:isolate}.packet-hero:before,.packet-hero:after{content:"";position:absolute;z-index:-1;left:50%;top:48%;width:280px;aspect-ratio:1;border:1px solid rgba(228,199,135,.2);border-radius:50%;opacity:.18;transform:translate(-50%,-50%)}.packet-hero:after{width:390px;border-style:dashed}.motion-state-climax .packet-hero:before{animation:packet-halo 1.3s ease-out both}.motion-state-climax .packet-hero:after{animation:packet-halo 1.55s .1s ease-out both}.motion-state-climax .xi-grid{filter:drop-shadow(0 0 22px rgba(228,199,135,.38))}.winner-strip article{position:relative;overflow:hidden}.winner-strip article:after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(110deg,transparent 25%,rgba(255,239,197,.22) 48%,transparent 70%);transform:translate(-110%)}.motion-state-climax .winner-strip article:after{animation:winner-shine 1.05s .28s ease-out both}@keyframes answer-shine{0%{left:-40%;opacity:0}24%{opacity:.9}to{left:118%;opacity:0}}@keyframes lantern-rise{0%{transform:translate3d(0,18%,0) scale(var(--lantern-scale));opacity:0}12%{opacity:1}to{transform:translate3d(var(--lantern-drift),-118%,0) scale(calc(var(--lantern-scale) * .86));opacity:0}}@keyframes lantern-hold{0%,to{transform:translate3d(0,-42%,0) scale(var(--lantern-scale));opacity:.9}50%{transform:translate3d(var(--lantern-drift),-52%,0) scale(calc(var(--lantern-scale) * 1.04));opacity:1}}@keyframes party-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes flower-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}@keyframes race-thrust{0%{width:12px;opacity:0}35%{width:86px;opacity:.78}to{width:48px;opacity:.28}}@keyframes racer-sweep{0%{left:-24%;opacity:0}30%{opacity:.8}to{left:112%;opacity:0}}@keyframes packet-halo{0%{opacity:.4;transform:translate(-50%,-50%) scale(.48)}to{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@keyframes winner-shine{0%{opacity:0;transform:translate(-110%)}30%{opacity:1}to{opacity:0;transform:translate(110%)}}.motion-tier-limited .fx-burst i:nth-child(n+6),.motion-tier-limited .fx-beam-right{display:none}.motion-tier-limited .fx-impact-ring-b,.motion-tier-reduced .fx-curtain,.motion-tier-reduced .fx-flare,.motion-tier-reduced .fx-impact-ring,.motion-tier-reduced .fx-burst{display:none}.motion-tier-reduced .fx-beam{opacity:.08;transform:none}.scene-page.mock-final-frame .fx-curtain,.scene-page.mock-final-frame .fx-flare,.scene-page.mock-final-frame .fx-impact-ring,.scene-page.mock-final-frame .fx-burst{display:none}.art-track>i{display:none}.scene-backdrop-table_battle .scene-backdrop-light{background:radial-gradient(ellipse at 50% 82%,rgba(31,88,70,.26),transparent 48%),linear-gradient(180deg,#070c0a1f,#07171257);transform:none}.motion-state-settle:is(.stage-page-quiz,.stage-page-show_guess,.stage-page-poll,.stage-page-table_battle,.stage-page-heart_sync,.stage-page-flower_pass,.stage-page-reaction_wave,.stage-page-shake_race,.stage-page-red_packet,.stage-page-xi_mosaic,.stage-page-lucky_table,.stage-page-lottery) :is(.quiz-option-grid,.poll-versus,.table-race,.heart-stage,.lantern-sky,.flower-table,.flower-verdict,.reaction-dashboard,.shake-track,.packet-rank-rail,.xi-grid,.lucky-number,.winner-strip){opacity:.92;filter:none}.motion-tier-limited .flower-burst i:nth-child(n+5),.motion-tier-limited .party-bloom{animation:none}.stage-page-check_in .scene-brand strong,.stage-page-ceremony_lock .scene-brand strong,.stage-page-ended .scene-brand strong{display:none}.couple-lockup{display:grid;grid-template-columns:max-content auto max-content;align-items:center;gap:.3em;width:max-content;max-width:100%;white-space:nowrap}.couple-lockup span{display:block;white-space:nowrap}.couple-lockup i{color:var(--scene-rose);font-family:Georgia,serif;font-size:.34em;font-style:italic;font-weight:400;text-shadow:0 0 18px rgba(198,115,130,.55),0 2px 8px rgba(0,0,0,.4)}.ceremony-content .couple-lockup,.ended-composition .couple-lockup{margin-inline:auto}.arrival-signature{display:flex;align-items:center;gap:12px;width:max-content;margin-top:18px;padding:10px 14px;border-left:2px solid var(--scene-rose);background:#120e0bad;color:#f4eee3b8;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.arrival-signature b{color:var(--scene-champagne);font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}.invitation-card>small{display:block;max-width:100%;margin-top:10px;overflow:hidden;color:#f4eee36b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.qr-real{display:grid;place-items:center;width:168px;height:168px;margin-top:24px;padding:10px;background:#f8f4eb;box-shadow:0 4px 16px #0006,0 14px 42px #00000052;border-radius:6px}.qr-real svg{display:block;width:100%;height:100%}.guest-qr-dock{position:fixed;z-index:8;right:36px;bottom:56px;display:grid;justify-items:center;gap:8px;padding:14px 14px 12px;border:1px solid rgba(228,199,135,.55);border-radius:8px;background:#120e0beb;box-shadow:0 4px 20px #00000080,0 0 0 1px #0000004d,0 16px 40px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.guest-qr-dock svg{display:block;width:120px;height:120px;background:#f8f4eb;border-radius:4px}.guest-qr-dock span{color:#f4eee3d9;font-size:13px;font-weight:600;letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.6)}.guest-qr-dock small{color:#e4c787b3;font-size:10px;letter-spacing:.08em}@media(max-width:900px){.guest-qr-dock{right:16px;bottom:48px;padding:10px}.guest-qr-dock svg{width:96px;height:96px}}.quiz-option-card{transform-origin:center}.quiz-option-card.is-muted{border-color:#ffffff14;background:#1012116b;color:#f4eee373}.quiz-option-card.is-muted>span i{background:#89b6a457}.quiz-option-card.is-correct{box-shadow:0 0 0 1px #e4c7873d,0 22px 70px #5b3e274d}.table-race{position:relative;perspective:900px}.boat-course.table-race{gap:6px;max-width:1180px;padding:16px 14px 12px;border:1px solid rgba(137,182,164,.16);background:linear-gradient(180deg,#081c202e,#0824286b),repeating-linear-gradient(180deg,transparent 0 58px,rgba(137,182,164,.05) 58px 59px)}.race-lane{position:relative;grid-template-columns:48px 116px minmax(240px,1fr) 54px;min-height:78px;padding:8px 16px;border:1px solid rgba(137,182,164,.18);border-left:3px solid rgba(137,182,164,.52);background:linear-gradient(90deg,#102821b8,#0f141261);box-shadow:0 14px 36px #0000001f}.boat-lane.race-lane{grid-template-columns:40px 88px minmax(220px,1fr) 52px;min-height:62px;padding:4px 10px;border:0;border-left:0;background:transparent;box-shadow:none}.race-rank{display:grid;place-items:center;color:var(--scene-jade)}.race-rank svg{width:23px;height:23px}.race-lane.rank-1 .race-rank{color:#f1cf78}.race-lane.rank-2 .race-rank{color:#d9ddd7}.race-lane.rank-3 .race-rank{color:#c98f62}.boat-water{position:relative;height:52px!important;overflow:hidden;border-radius:2px;background:linear-gradient(180deg,#245c5829,#0c282a85 46%,#08181cb8)}.boat-water:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 34px,rgba(180,220,210,.08) 35px 36px);animation:river-flow 7s linear infinite}.dragon-boat.race-marker{position:absolute;z-index:3;left:0;top:50%;display:flex;align-items:flex-end;width:auto;height:40px;border:0;background:transparent;color:inherit;transform:translate3d(calc(var(--boat-p, 0) * 1% - 100%),-50%,0);transition:transform .22s linear;will-change:transform}.dragon-boat.race-marker:after{display:none}.boat-head{position:relative;flex-shrink:0;width:28px;height:22px;background:linear-gradient(135deg,#d24a46,#7a1c24);clip-path:polygon(0 18%,0 82%,52% 100%,100% 50%,52% 0)}.boat-head:after{content:"";position:absolute;right:7px;top:8px;width:5px;height:5px;border-radius:50%;background:#f1cf78}.boat-tail{flex-shrink:0;width:14px;height:14px;background:linear-gradient(180deg,#8a2a32,#4a1418);clip-path:polygon(100% 0,100% 100%,0 72%,0 28%)}.boat-hull{display:flex;align-items:flex-end;gap:2px;height:16px;padding:0 6px 2px;background:linear-gradient(180deg,#9a3038,#5a1820 72%,#3a1014);border-top:1px solid rgba(241,207,120,.45);border-radius:10px 10px 3px 3px}.boat-extra{align-self:center;padding:0 4px;color:#f1cf78;font:10px/1 Georgia,serif;letter-spacing:0;text-align:center}.race-lane .boat-extra{color:#f1cf78;font:10px/1 Georgia,serif;text-align:center}.paddler{position:relative;flex-shrink:0;width:12px;height:26px}.paddler b{position:absolute;z-index:2;left:3px;bottom:5px;width:6px;height:11px;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#f3e0b8,#c9a56a)}.paddler i{position:absolute;z-index:1;left:5px;bottom:4px;width:2px;height:20px;border-radius:1px;background:#d4b06a;transform-origin:50% 85%;animation:boat-paddle var(--paddle-ms, .7s) ease-in-out infinite}.paddler:nth-child(2n) i{animation-delay:calc(var(--paddle-ms, .7s) / -2)}.battle-composition .race-lane .paddler i,.guest-boat .paddler i{display:block;height:20px;background:#d4b06a}.race-flag{position:absolute;z-index:2;right:-7px;top:4px;width:23px;color:var(--scene-champagne)}.race-finish-flash{position:absolute;z-index:0;right:0;top:0;bottom:0;width:14%;opacity:0;background:linear-gradient(90deg,transparent,rgba(228,199,135,.24));transform-origin:right}.battle-composition.is-finished .race-lane:nth-child(-n+3){border-color:transparent;background:transparent}.battle-composition.is-finished .race-lane.rank-1{min-height:70px;box-shadow:none}.battle-composition.is-finished .rank-1 .boat-water{box-shadow:inset 0 0 0 1px #e4c78747,0 0 24px #e4c7871f}.battle-composition.is-finished .paddler i{animation-play-state:paused}.battle-composition.is-finished .rank-1 .paddler i{animation-play-state:running;animation-duration:1.1s}.race-result-caption{margin-top:18px;color:var(--scene-champagne);font-size:12px;letter-spacing:.18em;text-align:center}.race-champion-card{position:relative;z-index:2;display:flex;align-items:center;gap:18px;width:fit-content;margin:20px auto 0;padding:14px 30px;overflow:hidden;border:1px solid rgba(228,199,135,.4);border-radius:18px;background:linear-gradient(135deg,#e4c78724,#12100d80);box-shadow:0 22px 48px #0006,inset 0 1px #ffffff0f;color:var(--scene-champagne)}.race-champion-card>svg{flex-shrink:0;color:#f1cf78;filter:drop-shadow(0 0 10px rgba(241,207,120,.5))}.race-champion-card .race-champion-avatar{flex-shrink:0}.race-champion-card span{display:flex;align-items:center;gap:5px;margin:0;color:#f4eee3b8;font-size:11px;letter-spacing:.22em}.race-champion-card span svg{width:13px;height:13px;color:#f1cf78}.race-champion-card strong{display:block;margin:3px 0;font:30px "Wedding Serif",serif;color:#fff8e9}.race-champion-card small{color:#f4eee3b8;font-size:13px;letter-spacing:.02em}.race-champion-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.32) 48%,transparent 66%);transform:translate(-120%);pointer-events:none}.motion-state-climax .race-champion-card{animation:champion-card-rise .62s cubic-bezier(.16,1,.3,1) both}.motion-state-climax .race-champion-card:after{animation:winner-shine 1.15s .3s ease-out both}@keyframes champion-card-rise{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}@keyframes boat-paddle{0%,to{transform:rotate(-42deg)}50%{transform:rotate(38deg)}}@keyframes river-flow{0%{background-position:0 0}to{background-position:72px 0}}.battle-composition.is-racing .boat-water:before{animation-duration:2.5s}.boat-wake{position:absolute;left:-28px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:3px;pointer-events:none;z-index:1}.boat-wake i{display:block;height:3px;background:linear-gradient(90deg,transparent,rgba(244,238,227,.75));border-radius:2px;animation:wake-foam .5s ease-out infinite alternate}.boat-wake i:nth-child(1){width:20px}.boat-wake i:nth-child(2){width:12px;opacity:.6;animation-delay:.15s}.boat-wake i:nth-child(3){width:7px;opacity:.35;animation-delay:.3s}@keyframes wake-foam{0%{transform:scaleX(.7) translateY(-1px);opacity:.4}to{transform:scaleX(1.3) translateY(1px);opacity:.9}}.motion-tier-limited .paddler i,.motion-tier-reduced .paddler i,.motion-state-settle .paddler i,.mock-screenshot-mode .paddler i,.motion-tier-limited .boat-water:before,.motion-tier-reduced .boat-water:before,.mock-screenshot-mode .boat-water:before,.motion-tier-limited .boat-wake i,.motion-tier-reduced .boat-wake i,.motion-tier-limited .track-speed-lines,.motion-tier-reduced .track-speed-lines,.motion-tier-limited .runner-dust i,.motion-tier-reduced .runner-dust i,.motion-tier-limited .flower-drum-pulse i,.motion-tier-reduced .flower-drum-pulse i,.motion-tier-limited .runner-leg,.motion-tier-reduced .runner-leg,.motion-state-settle .runner-leg,.mock-screenshot-mode .runner-leg{animation:none}.track-field.shake-track{gap:0;max-width:1180px;margin-top:28px;padding:10px 8px 8px;border:1px solid rgba(228,199,135,.22);background:linear-gradient(180deg,#280c0a2e,#14080647),#6e2c28;box-shadow:inset 0 0 0 6px #6e2c28e6}.track-lane.shake-racer{grid-template-columns:36px minmax(200px,1fr) 72px;min-height:52px;padding:0 8px;border:0;border-bottom:2px solid rgba(255,255,255,.7);background:#8f3d38;overflow:visible;box-shadow:none}.track-lane.shake-racer:nth-child(2n){background:#7e3531}.track-lane.shake-racer.is-empty{opacity:.58}.track-lane.shake-racer>b.lane-no{color:#ffffffd1;font:700 14px/1 Georgia,serif;text-align:center}.track-field .lane-runway{position:relative;height:100%!important;background:transparent!important;overflow:hidden}.track-start{position:absolute;z-index:1;left:10%;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 0 1px #0000002e}.track-field .runner{position:absolute;z-index:3;left:0;top:50%;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate3d(calc(var(--runner-p, 0) * 1% - 50%),-50%,0);transition:transform .22s linear;will-change:transform}.track-field .runner-name{color:#fff8e8;font:600 11px/1 Wedding Sans,sans-serif;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.45);white-space:nowrap}.runner-figure{position:relative;width:18px;height:32px}.runner-head{position:absolute;left:4px;top:0;width:10px;height:10px;border-radius:50%;background:#f3e0b8;box-shadow:0 0 0 1px #5a281433}.runner-torso{position:absolute;left:5px;top:9px;width:8px;height:13px;border-radius:3px 3px 2px 2px;background:linear-gradient(180deg,#e8c98a,#b8864a)}.runner-leg,.track-field .runner-leg,.guest-runner .runner-leg{position:absolute;bottom:0;width:3px;height:12px!important;border-radius:1px;background:#d4b06a!important;transform-origin:top center;display:block}.runner-leg.is-front{left:5px;animation:run-stride var(--stride-ms, .48s) ease-in-out infinite}.runner-leg.is-back{left:10px;animation:run-stride var(--stride-ms, .48s) ease-in-out infinite reverse}.shake-composition.is-waiting .runner-leg,.shake-composition.is-finished .runner-leg,.guest-runner:not(.is-racing) .runner-leg{animation-play-state:paused}.shake-composition.is-finished .rank-1 .runner-leg{animation-play-state:running;animation-duration:.9s}.shake-composition.is-finished .track-lane.rank-1{background:#a44a3c;box-shadow:inset 0 0 0 1px #f1cf7873}.track-field .runner-avatar{transform-origin:center bottom}.track-field .runner.is-active .runner-avatar{animation:runner-bob var(--stride-ms, .48s) ease-in-out infinite}.shake-composition.is-waiting .runner-avatar,.shake-composition.is-finished .runner-avatar{animation-play-state:paused}.shake-composition.is-finished .rank-1 .runner-avatar{animation-play-state:running;animation-duration:.9s}@keyframes runner-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}.motion-tier-limited .runner-avatar,.motion-tier-reduced .runner-avatar,.mock-screenshot-mode .runner-avatar{animation:none!important}.track-field .race-flag{right:6px;top:50%;width:18px;color:#fff8e8;transform:translateY(-50%)}.track-field .race-finish-flash{width:12%}.track-lane.shake-racer>strong{color:#f1cf78;font:13px/1 Georgia,serif;text-align:right}@keyframes run-stride{0%,to{transform:rotate(28deg)}50%{transform:rotate(-32deg)}}.track-speed-lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 80px,rgba(255,240,200,.09) 81px 95px,transparent 96px 160px);animation:runway-wind 1.2s linear infinite;z-index:1}@keyframes runway-wind{0%{background-position:160px 0}to{background-position:0 0}}.runner-dust{position:absolute;left:-8px;bottom:0;display:flex;gap:3px;pointer-events:none;z-index:2}.runner-dust i{width:4px;height:4px;border-radius:50%;background:#f1cf78a6;box-shadow:0 0 6px #f1cf78cc;animation:dust-puff .38s ease-out infinite}.runner-dust i:nth-child(2){width:3px;height:3px;animation-delay:.19s;opacity:.5}@keyframes dust-puff{0%{transform:translate(0) scale(1);opacity:.85}to{transform:translate(-14px,-6px) scale(.2);opacity:0}}.guest-runner{display:flex;justify-content:center;height:52px;margin:12px auto 4px;--stride-ms: 1.1s}.guest-runner.is-racing{--stride-ms: .42s}.guest-runner .runner-figure{transform:scale(1.35);transform-origin:center bottom}.reaction-art{isolation:isolate;overflow:visible;background:radial-gradient(circle at 50% 50%,rgba(228,199,135,.08),transparent 31%)}.reaction-core{z-index:5;grid-template-rows:auto auto auto;box-shadow:0 0 0 16px #e4c78706,0 0 72px #e4c78729}.reaction-core small{color:#f4eee37a;font-size:10px;letter-spacing:.12em}.reaction-particle{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:42px;height:42px;color:var(--scene-jade);transform:translate(var(--reaction-x),var(--reaction-y))}.reaction-particle>i{position:absolute;right:55%;width:58px;height:2px;background:linear-gradient(90deg,transparent,currentColor);opacity:.34;transform-origin:right}.reaction-particle svg{position:relative;z-index:2;width:28px;height:28px;filter:drop-shadow(0 0 12px rgba(137,182,164,.25))}.reaction-shockwave{position:absolute;z-index:2;inset:0;pointer-events:none}.reaction-shockwave i{position:absolute;left:50%;top:50%;width:180px;aspect-ratio:1;border:1px solid rgba(228,199,135,.48);border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.reaction-dashboard{position:relative;z-index:4;background:#0c100e85}.xi-art{isolation:isolate}.xi-grid{position:relative;z-index:3;grid-template-columns:repeat(var(--xi-size),1fr);gap:3px;padding:12px;filter:drop-shadow(0 0 14px rgba(228,199,135,.2))}.xi-grid i{border:0;background:transparent}.xi-grid i.is-glyph{border:1px solid rgba(228,199,135,.16);background:#e4c78709}.xi-grid i.is-glyph.is-lit{border-color:#f5d897c7;background:#e2c47e;box-shadow:inset 0 0 0 1px #fff0c52e}.xi-glyph-layer{z-index:2!important;color:transparent!important;opacity:.34;-webkit-text-stroke:1px rgba(244,220,164,.34)}.xi-art>span{position:absolute;z-index:5;left:50%;bottom:-30px;color:var(--scene-champagne);font:22px Georgia,serif;transform:translate(-50%)}.lottery-composition{align-content:start;padding-top:46px}.lottery-sequence{display:grid;justify-items:center;width:min(920px,100%)}.prize-spotlight{min-height:88px;padding:0 28px;border-block:1px solid rgba(228,199,135,.26);background:#41251f3d}.candidate-window{position:relative;width:min(620px,100%);height:190px;margin:10px 0 22px;overflow:hidden;border:1px solid rgba(228,199,135,.22);background:#120d0c9e;text-align:left;-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent)}.candidate-window>span{position:absolute;z-index:3;left:18px;top:14px;color:var(--scene-champagne);font-size:10px;letter-spacing:.16em}.candidate-reel{display:grid;gap:1px;padding:46px 18px 18px}.candidate-reel>div{display:grid;grid-template-columns:1fr auto;min-height:40px;align-items:center;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08);color:#f4eee3b8}.candidate-reel strong{font-weight:500}.candidate-reel small{color:#e4c78794}.lottery-composition.is-revealed .candidate-window{height:72px;opacity:.32;-webkit-mask-image:linear-gradient(180deg,transparent,black 28%,black 72%,transparent);mask-image:linear-gradient(180deg,transparent,black 28%,black 72%,transparent)}.lottery-composition.is-revealed .candidate-window>span{opacity:0}.lottery-composition.is-revealed .candidate-reel{padding-top:0}.lottery-composition.is-revealed .winner-strip{position:relative;z-index:5}.lottery-sequence>p{color:#f4eee394}@media(max-width:900px){.couple-lockup{grid-template-columns:1fr;justify-items:center;width:100%;gap:0;white-space:normal;text-align:center}.couple-lockup i{line-height:.8}.arrival-signature{margin-inline:auto}.race-lane{grid-template-columns:34px 76px minmax(140px,1fr) 40px;padding-inline:7px}.boat-lane.race-lane{grid-template-columns:28px 64px minmax(140px,1fr) 36px;padding-inline:4px}.lottery-composition{padding-top:24px}.candidate-window{height:150px}}@media(max-width:620px){.prize-spotlight{gap:10px;margin:20px 0}.prize-spotlight svg{width:34px;height:34px}.prize-spotlight h1{font-size:clamp(20px,6.4vw,32px)}.lottery-prize-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.lottery-prize-item{padding:10px 6px;gap:4px}.lottery-prize-item svg{width:22px;height:22px}.lottery-prize-item strong{font-size:12px;white-space:nowrap}.lottery-prize-item small{font-size:10px}.lottery-digit{width:30px;height:44px}.lottery-digit-strip span{height:44px;font-size:20px}.lottery-digit.is-revealed .lottery-digit-strip{transform:translateY(calc(-44px * (10 + var(--target))))}}@media(prefers-reduced-motion:reduce){.reaction-particle{opacity:.78}.candidate-reel{transform:none!important}.paddler i,.boat-water:before{animation:none!important}}.seating-composition{display:grid;grid-template-rows:auto 1fr auto;height:100%;padding:0;overflow:hidden}.seating-headline{padding:22px 54px 8px;text-align:center;position:relative;z-index:4}.seating-headline h1{font-family:"Wedding Serif",serif;font-size:clamp(32px,4vw,58px);font-weight:400;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.8),0 4px 24px rgba(0,0,0,.6)}.seating-venue{position:relative;width:100%;height:100%;min-height:0}.venue-floor{position:absolute;inset:4% 6%;border:1px solid rgba(228,199,135,.14);border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(228,199,135,.04),transparent 72%),repeating-conic-gradient(rgba(228,199,135,.03) 0deg 1deg,transparent 1deg 15deg);pointer-events:none}.table-position{position:absolute;left:var(--table-x);top:var(--table-y);transform:translate(-50%,-50%);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.round-table{position:relative;width:130px;height:130px}.round-table.round-table-head{width:158px;height:158px}.table-surface{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 38% 36%,rgba(255,240,200,.12) 0%,transparent 55%),radial-gradient(circle at 50% 50%,#412012d1,#1c100cf0);border:1.5px solid rgba(228,199,135,.45);box-shadow:0 0 0 4px #e4c78714,0 8px 32px #0000008c,inset 0 0 24px #0006}.round-table-head .table-surface{border-color:#e4c787b8;box-shadow:0 0 0 6px #e4c7871f,0 0 42px #e4c7872e,0 12px 40px #0000008c,inset 0 0 30px #00000061}.table-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:1}.table-label-name{color:var(--scene-champagne);font-family:"Wedding Serif",serif;font-size:clamp(11px,1.2vw,15px);font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.8)}.table-label-count{color:#f4eee385;font-size:clamp(9px,.9vw,12px);margin-top:2px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.table-extra{position:absolute;bottom:8%;right:8%;background:#e4c78738;border:1px solid rgba(228,199,135,.4);border-radius:10px;padding:1px 5px;font-size:9px;color:var(--scene-champagne);font-weight:700;z-index:4}.seat-slot{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);z-index:3}.seat.seat-empty{width:18px;height:18px;border-radius:50%;border:1.5px dashed rgba(244,238,227,.18);background:#f4eee30a}.seat.seat-occupied{display:flex;flex-direction:column;align-items:center;gap:1px;cursor:default}.seat-person-svg{width:22px;height:30px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));transition:transform .2s ease}.seat-occupied:hover .seat-person-svg{transform:translateY(-2px) scale(1.08)}.seat-name{font-size:8px;color:#f4eee3d1;text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap;max-width:40px;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1;letter-spacing:.02em}@keyframes seat-arrive{0%{opacity:0;transform:translate(-50%,calc(-50% + 18px)) scale(.4)}60%{transform:translate(-50%,calc(-50% - 4px)) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.seat-slot:has([data-new-arrival="1"]){animation:seat-arrive .55s cubic-bezier(.34,1.56,.64,1) both}.seating-footer{display:flex;justify-content:space-between;padding:10px 54px 18px;color:#f4eee38c;font-size:12px;letter-spacing:.1em;text-shadow:0 1px 3px rgba(0,0,0,.6);position:relative;z-index:4}@media(max-width:900px){.round-table{width:96px;height:96px}.round-table-head{width:116px;height:116px}.seat.seat-empty{width:14px;height:14px}.seat-person-svg,.seat-kawaii-char{width:18px;height:23px}.seat-avatar-img{width:18px;height:18px}.seat-name{font-size:7px;max-width:30px}.table-label-name{font-size:10px}.table-label-count{font-size:8px}}@media(max-width:560px){.seating-footer{padding-inline:18px}.round-table{width:72px;height:72px}.round-table-head{width:88px;height:88px}.seat-person-svg,.seat-kawaii-char{width:14px;height:18px}.seat-avatar-img{width:14px;height:14px}}@media(prefers-reduced-motion:reduce){.seat-slot:has([data-new-arrival="1"]){animation:none}}.invite-seal{position:relative;background:radial-gradient(circle at 38% 36%,rgba(228,199,135,.18) 0%,transparent 62%);box-shadow:0 0 0 1px #d3b878d1,0 0 0 7px #d3b8780f,0 0 32px #e4c78733,inset 0 1px #ffffff14;text-shadow:0 0 24px rgba(228,199,135,.68),0 2px 10px rgba(0,0,0,.8)}.invite-seal:before,.invite-seal:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(228,199,135,.3);pointer-events:none;animation:invite-seal-ring 3.6s ease-in-out infinite}.invite-seal:before{inset:-8px}.invite-seal:after{inset:-18px;border-color:#e4c7871f;animation-delay:1.4s}@keyframes invite-seal-ring{0%,to{opacity:.42;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.invite-names:before,.invite-names:after{content:"";display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(228,199,135,.38) 18%,rgba(228,199,135,.58) 50%,rgba(228,199,135,.38) 82%,transparent 100%)}.invite-names:before{margin-bottom:14px}.invite-names:after{margin-top:14px}.checkin-panel:before{display:none}.invite-form{background:#0f0b09bf;border-color:#e4c78752;box-shadow:0 8px 36px #00000085,0 0 0 1px #e4c7871a,inset 0 1px #e4c78717;-webkit-backdrop-filter:blur(22px) saturate(1.28);backdrop-filter:blur(22px) saturate(1.28)}.guest-stage-check_in .primary-button{position:relative;overflow:hidden}.guest-stage-check_in .primary-button:after{content:"";position:absolute;inset:0;background:linear-gradient(102deg,transparent 28%,rgba(255,243,185,.24) 50%,transparent 72%);transform:translate(-160%);animation:checkin-btn-shimmer 3.2s ease infinite 2.2s;pointer-events:none}@keyframes checkin-btn-shimmer{0%{transform:translate(-160%)}42%{transform:translate(160%)}to{transform:translate(160%)}}.ceremony-composition{position:relative;overflow:hidden}.ceremony-light{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 32% 78% at 50% -2%,rgba(228,199,135,.22) 0%,rgba(228,199,135,.06) 42%,transparent 70%);animation:ceremony-light-breathe 6.5s ease-in-out infinite;will-change:opacity}@keyframes ceremony-light-breathe{0%,to{opacity:.68}50%{opacity:1}}.motion-state-climax .ceremony-light{animation:none;opacity:1}.ceremony-composition:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 62% 68% at 50% 38%,rgba(255,225,160,.34) 0%,transparent 70%)}.motion-state-climax .ceremony-composition:before{animation:ceremony-climax-flash 1.15s ease-out both}@keyframes ceremony-climax-flash{0%{opacity:0}28%{opacity:1}to{opacity:0}}.motion-state-settle .ceremony-light{animation:none;opacity:.84}.ceremony-arch-halo{position:absolute;left:50%;top:42%;border:1px solid;border-bottom:0;border-radius:50% 50% 0 0;transform:translate(-50%,-50%);pointer-events:none;z-index:0;transition:border-color 1.3s ease;will-change:opacity}.ceremony-arch-halo-a{width:80%;height:96%;border-color:#e4c78714;animation:ceremony-halo-glow 6.5s ease-in-out infinite}.ceremony-arch-halo-b{width:44%;height:56%;border-color:#c6738224;animation:ceremony-halo-glow 6.5s ease-in-out infinite 1.1s}@keyframes ceremony-halo-glow{0%,to{opacity:.62}50%{opacity:1}}.motion-state-climax .ceremony-arch-halo-a{border-color:#e4c78770}.motion-state-climax .ceremony-arch-halo-b{border-color:#e4c78794}.motion-state-settle .ceremony-arch-halo-a,.motion-state-settle .ceremony-arch-halo-b{animation:none;opacity:1}.motion-state-settle .ceremony-arch-halo-a{border-color:#e4c78742}.motion-state-settle .ceremony-arch-halo-b{border-color:#e4c78757}.ceremony-burst{position:absolute;left:50%;top:42%;width:1px;height:1px;pointer-events:none;z-index:1}.ceremony-burst i{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px solid rgba(228,199,135,.7);opacity:0;transform:scale(.3);will-change:transform,opacity}.ceremony-burst i:nth-child(2){border-color:#f4eee380}.ceremony-burst i:nth-child(3){border-color:#c6738273}.motion-state-climax .ceremony-burst i{animation:ceremony-burst-ring 1.35s cubic-bezier(.16,.84,.44,1) both}.motion-state-climax .ceremony-burst i:nth-child(2){animation-delay:.16s}.motion-state-climax .ceremony-burst i:nth-child(3){animation-delay:.32s}@keyframes ceremony-burst-ring{0%{opacity:0;transform:scale(.3)}22%{opacity:.95}to{opacity:0;transform:scale(5.2)}}.ceremony-seal{position:absolute;left:50%;top:50%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;border:1px solid rgba(228,199,135,0);box-shadow:0 0 #e4c78700;pointer-events:none;z-index:1;transition:border-color 1.6s ease,box-shadow 1.6s ease}.motion-state-settle .ceremony-seal{border-color:#e4c78752;box-shadow:0 0 44px #e4c78724,inset 0 0 60px #e4c78712}.ceremony-composition:after{content:"";position:absolute;bottom:20%;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(228,199,135,.28) 22%,rgba(228,199,135,.28) 78%,transparent);pointer-events:none;z-index:0}.ceremony-motes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.ceremony-motes span{position:absolute;bottom:0;border-radius:50%;opacity:0;will-change:transform,opacity}@keyframes ceremony-mote-rise{0%{transform:translateY(0) scale(1);opacity:0}14%{opacity:.9}78%{opacity:.48}to{transform:translateY(-60vh) scale(.22) rotate(310deg);opacity:0}}.motion-state-climax .ceremony-motes span{animation-duration:2.3s!important}.motion-state-settle .ceremony-motes span{animation-duration:9s!important}.ceremony-content{position:relative;z-index:2;display:grid;place-items:center;text-align:center;pointer-events:none}.ceremony-content .gold-rule{margin:26px auto 0}.ceremony-names{text-shadow:none}.motion-state-climax .ceremony-names .gold-foil-name{animation:couple-gold-shimmer 4.6s linear infinite,ceremony-name-flare 1.25s ease-out both}@keyframes ceremony-name-flare{0%{filter:drop-shadow(0 0 10px rgba(244,212,124,.42)) drop-shadow(0 0 26px rgba(212,175,55,.28))}38%{filter:drop-shadow(0 0 22px rgba(255,224,158,.9)) drop-shadow(0 0 56px rgba(228,199,135,.55))}to{filter:drop-shadow(0 0 14px rgba(244,212,124,.55)) drop-shadow(0 0 36px rgba(212,175,55,.36))}}.motion-state-settle .ceremony-names .gold-foil-name{filter:drop-shadow(0 0 16px rgba(244,212,124,.55)) drop-shadow(0 0 40px rgba(228,199,135,.4))}.ceremony-status{margin-top:22px;color:#f4eee3ad;font-size:13px;letter-spacing:.34em;text-shadow:0 1px 4px rgba(0,0,0,.72)}.seat-person-svg,.seat-kawaii-char{width:30px;height:38px;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .22s ease;transform-origin:bottom center}.seat-occupied:hover .seat-person-svg,.seat-occupied:hover .seat-kawaii-char{transform:translateY(-3px) scale(1.15);filter:drop-shadow(0 6px 12px rgba(0,0,0,.65))}.seat-avatar-img{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(241,207,120,.85);object-fit:cover;display:block;box-shadow:0 3px 6px #00000080;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}.seat-occupied:hover .seat-avatar-img{transform:translateY(-3px) scale(1.15);box-shadow:0 5px 12px #f1cf7880}.round-table-head .seat-occupied .seat-person-svg,.round-table-head .seat-occupied .seat-kawaii-char{filter:drop-shadow(0 0 6px rgba(228,199,135,.6)) drop-shadow(0 3px 5px rgba(0,0,0,.55))}.round-table-head .seat-occupied:hover .seat-person-svg,.round-table-head .seat-occupied:hover .seat-kawaii-char{filter:drop-shadow(0 0 10px rgba(228,199,135,.85)) drop-shadow(0 5px 10px rgba(0,0,0,.65))}.round-table-head .seat-occupied .seat-avatar-img{border-color:gold;box-shadow:0 0 8px #ffd70099,0 3px 6px #00000080}.round-table-head .seat-occupied:hover .seat-avatar-img{box-shadow:0 0 14px #ffd700d9,0 5px 10px #000000a6}.gold-foil-name{position:relative;isolation:isolate;color:#f4d47c;background:linear-gradient(105deg,#d4af37,#f4d47c 32%,#fffbe8,#f4d47c 68%,#d4af37);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:couple-gold-shimmer 4.6s linear infinite;filter:drop-shadow(0 0 10px rgba(244,212,124,.45)) drop-shadow(0 0 26px rgba(212,175,55,.3))}.gold-foil-name:before{content:attr(data-name);position:absolute;inset:0;color:#fce6a8;-webkit-text-fill-color:#fce6a8;background:none;-webkit-background-clip:initial;background-clip:initial;filter:blur(8px);opacity:.48;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;animation:none}@keyframes couple-gold-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes seat-arrive-bounce{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px)) scale(.4)}60%{transform:translate(-50%,calc(-50% - 5px)) scale(1.1)}80%{transform:translate(-50%,calc(-50% + 2px)) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.seat-slot:has([data-new-arrival="1"]){animation:seat-arrive-bounce .62s cubic-bezier(.22,1,.36,1) both}.seat-occupied[data-new-arrival="1"]:before{content:"";position:absolute;left:50%;top:72%;width:14px;height:6px;border:1.5px solid var(--scene-champagne);border-radius:50%;transform:translate(-50%,-50%);animation:seat-ripple .8s ease-out forwards;pointer-events:none}@keyframes seat-ripple{0%{width:8px;height:4px;opacity:.9}to{width:34px;height:14px;opacity:0}}.toast-composition h1{animation:toast-countdown-pulse 1.1s ease-in-out infinite}@keyframes toast-countdown-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(228,199,135,.25))}50%{transform:scale(1.035);filter:drop-shadow(0 0 26px rgba(228,199,135,.65))}}.toast-orbit{position:relative;overflow:visible}.toast-orbit svg{position:relative;z-index:2}.motion-state-idle.visual-stage-toast .toast-orbit{animation:toast-orbit-breathe 2.6s ease-in-out infinite}@keyframes toast-orbit-breathe{0%,to{box-shadow:0 0 #e4c78729;border-color:#e4c7874d}50%{box-shadow:0 0 26px 6px #e4c78738;border-color:#e4c7878f}}.toast-clink{position:absolute;left:50%;top:50%;width:100%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(228,199,135,.7);transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none}.motion-state-climax.visual-stage-toast .toast-orbit svg{filter:drop-shadow(0 0 22px rgba(228,199,135,.9)) drop-shadow(0 0 50px rgba(201,75,99,.55))}.motion-state-climax.visual-stage-toast .toast-clink-a{animation:toast-clink-ring 1.6s cubic-bezier(.16,1,.3,1) infinite}.motion-state-climax.visual-stage-toast .toast-clink-b{animation:toast-clink-ring 1.6s cubic-bezier(.16,1,.3,1) infinite .45s;border-color:#ffe5a599}.motion-state-climax.visual-stage-toast .toast-clink-c{animation:toast-clink-ring 1.6s cubic-bezier(.16,1,.3,1) infinite .9s;border-color:#c9786380}@keyframes toast-clink-ring{0%{transform:translate(-50%,-50%) scale(.4);opacity:.95}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}.motion-state-climax.visual-stage-toast .toast-composition h1{animation:toast-countdown-pulse 1.1s ease-in-out infinite,toast-title-flare .9s ease-out both!important}@keyframes toast-title-flare{0%{filter:drop-shadow(0 0 0 rgba(228,199,135,0));transform:scale(.86)}55%{filter:drop-shadow(0 0 46px rgba(228,199,135,.85))}to{filter:drop-shadow(0 0 10px rgba(228,199,135,.25));transform:scale(1)}}.motion-state-settle.visual-stage-toast .toast-composition h1{animation:none!important;transform:scale(1)!important;filter:drop-shadow(0 0 18px rgba(228,199,135,.5))!important}.motion-state-settle.visual-stage-toast .toast-orbit{border-color:#e4c7879e!important;box-shadow:0 0 34px 4px #e4c78733}.motion-state-settle.visual-stage-toast .toast-orbit svg{filter:drop-shadow(0 0 16px rgba(228,199,135,.6))}.motion-state-settle.visual-stage-toast .toast-clink{animation:none;opacity:0}.motion-state-settle.visual-stage-toast .toast-clink-a{opacity:.3;transform:translate(-50%,-50%) scale(1.12);border-color:#e4c78766}.quiz-vinyl{position:relative;transition:transform .4s cubic-bezier(.16,1,.3,1)}.quiz-vinyl:hover{transform:scale(1.02)}.quiz-disc{position:relative;box-shadow:0 16px 44px #000000b3,0 0 0 4px #e4c78747,inset 0 0 0 2px #ffffff1f}.quiz-disc:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 35deg,rgba(255,255,255,.15) 0deg,transparent 45deg,rgba(255,255,255,.15) 90deg,transparent 135deg,rgba(255,255,255,.15) 180deg,transparent 225deg,rgba(255,255,255,.15) 270deg,transparent 315deg,rgba(255,255,255,.15) 360deg);pointer-events:none}.quiz-vinyl.is-playing .quiz-disc{animation:vinyl-spin 3.4s linear infinite}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.quiz-vinyl.is-playing:before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1.5px solid rgba(228,199,135,.45);animation:vinyl-pulse 2s ease-out infinite;pointer-events:none}@keyframes vinyl-pulse{0%{transform:scale(.95);opacity:.85}to{transform:scale(1.18);opacity:0}}.quiz-option-card.is-correct{border-color:#e4c787d9!important;box-shadow:0 0 28px #e4c7876b,0 10px 30px #00000080!important;animation:correct-option-float 2.4s ease-in-out infinite}@keyframes correct-option-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.boat-water{position:relative;overflow:hidden}.boat-water:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(137,182,164,.14),transparent);animation:water-stream 2.2s linear infinite;pointer-events:none}@keyframes water-stream{0%{transform:translate(-100%)}to{transform:translate(100%)}}.boat-lane.rank-1 .dragon-boat .boat-head{filter:drop-shadow(0 0 9px rgba(228,199,135,.85))}.boat-lane.is-winner{border-color:#e4c787b3!important;box-shadow:0 0 26px #e4c78752,inset 0 0 16px #e4c7872e!important}.flower-seat.is-holding .table-blossom{filter:drop-shadow(0 0 15px rgba(228,90,106,.95));animation:blossom-heartbeat .8s ease-in-out infinite}@keyframes blossom-heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.flower-verdict-card.is-prize{background:linear-gradient(145deg,#261b14d1,#140f0deb);border:1.5px solid rgba(228,199,135,.68);box-shadow:0 0 45px #e4c78752,0 24px 60px #00000085}.flower-verdict-card.is-prize svg{animation:prize-gift-wobble 2s ease-in-out infinite}@keyframes prize-gift-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.lottery-digit.is-revealed{border-color:#e4c787e6;box-shadow:0 0 20px #e4c78780}.winner-strip article.lottery-code{border:1.5px solid rgba(228,199,135,.65);box-shadow:0 0 36px #e4c78747,0 18px 45px #0000007a}.sky-packet i{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;border-radius:7px 7px 12px 12px;background:linear-gradient(150deg,#d1443f,#a3201c 55%,#711310);border:1px solid rgba(228,199,135,.6);color:#f6d98a;font:700 21px "Wedding Serif",serif;font-weight:700;font-style:normal;text-shadow:0 1px 3px rgba(0,0,0,.5);box-shadow:0 10px 22px #0006,inset 0 1px 2px #ffe69659;transition:filter .2s ease;transform:scale(var(--packet-scale)) rotate(var(--packet-rz));animation:packet-sway 2.6s ease-in-out infinite}.sky-packet i:before{content:"";position:absolute;left:8%;right:8%;top:32%;height:2px;background:linear-gradient(90deg,transparent,rgba(246,217,138,.7),transparent)}@keyframes packet-sway{0%,to{transform:scale(var(--packet-scale)) rotate(calc(var(--packet-rz) - 7deg))}50%{transform:scale(var(--packet-scale)) rotate(calc(var(--packet-rz) + 7deg))}}.motion-tier-limited .sky-packet i,.motion-tier-reduced .sky-packet i{animation:none}.sky-packet:hover i{filter:brightness(1.15) drop-shadow(0 0 12px rgba(255,224,154,.8))}.xi-grid i.is-lit{box-shadow:0 0 8px #e4c787b8,inset 0 0 3px #ffffffd9}.motion-state-climax .xi-art .xi-glyph-layer{text-shadow:0 0 45px rgba(228,199,135,.95),0 0 85px rgba(201,75,99,.65);animation:xi-glyph-pulse 1.7s ease-in-out infinite}@keyframes xi-glyph-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.track-lane.rank-1 .runner-name:after{content:" ✦";color:var(--scene-champagne);font-size:11px}.track-lane.is-winner{background:linear-gradient(90deg,#e4c78738,#89b6a41f)}.guest-page button,.guest-page .primary-button,.guest-page .primary-command{transition:transform .12s cubic-bezier(.2,0,0,1),box-shadow .12s ease,filter .12s ease;user-select:none;-webkit-user-select:none}.guest-page button:active,.guest-page .primary-button:active,.guest-page .primary-command:active{transform:scale(.96) translateY(1px);filter:brightness(.94)}.guest-page .action-card:active,.guest-page .quiz-option-button:active,.guest-page .reaction-pill:active{transform:scale(.97)}.lantern-tap-button:active,.battle-paddle-button:active,.mosaic-tap-button:active{transform:scale(.93)!important}@media(prefers-reduced-motion:reduce){.invite-seal:before,.invite-seal:after,.guest-stage-check_in .primary-button:after,.ceremony-light,.couple-lockup span,.gold-foil-name,.gold-foil-name:before,.toast-composition h1,.quiz-disc,.quiz-vinyl.is-playing .quiz-disc,.quiz-vinyl.is-playing:before,.quiz-option-card.is-correct,.boat-water:after,.flower-seat.is-holding .table-blossom,.flower-verdict-card.is-prize svg,.xi-glyph-layer,.stage-fx:before,.celebration-canvas{animation:none!important}.ceremony-motes{display:none}}.seat-avatar-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}.seat-id-badge{position:absolute;bottom:-4px;right:-5px;background:linear-gradient(135deg,#2b1f17,#130d09);border:1px solid rgba(241,207,120,.95);color:gold;font-size:7.5px;font-weight:800;line-height:1;padding:1.5px 3.5px;border-radius:6px;box-shadow:0 2px 5px #000000b3;white-space:nowrap;letter-spacing:.02em;z-index:5;pointer-events:none}.avatar-size-default .seat-person-svg,.avatar-size-default .seat-kawaii-char{width:30px;height:38px}.avatar-size-default .seat-avatar-img{width:30px;height:30px}.avatar-size-compact .seat-person-svg,.avatar-size-compact .seat-kawaii-char{width:22px;height:28px}.avatar-size-compact .seat-avatar-img{width:22px;height:22px}.avatar-size-compact .seat-id-badge{font-size:6px;padding:1px 2.5px;bottom:-2px;right:-3px}.avatar-size-large .seat-person-svg,.avatar-size-large .seat-kawaii-char{width:52px;height:64px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.avatar-size-large .seat-avatar-img{width:52px;height:52px}.avatar-size-large .seat-id-badge{font-size:10px;padding:2.5px 6px;bottom:-4px;right:-4px;border-width:1.5px;border-radius:8px}.avatar-size-picker .seat-person-svg,.avatar-size-picker .seat-kawaii-char{width:36px;height:44px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.avatar-size-picker .seat-avatar-img{width:36px;height:36px}.checkin-preview-card{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:20px;border-radius:16px;background:linear-gradient(135deg,#f5eee314,#f5eee308);border:1px solid rgba(241,207,120,.35);box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.checkin-preview-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(241,207,120,.8),transparent)}.preview-avatar-box{flex-shrink:0;width:58px;height:68px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(241,207,120,.15) 0%,transparent 70%)}.preview-info-box{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.preview-tag{font-size:11px;color:var(--scene-champagne, #e4c787);letter-spacing:.05em;font-weight:500;opacity:.9}.preview-nickname{font-size:18px;color:#fffdfa;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.6)}.preview-meta-row{display:flex;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}.preview-table-badge{font-size:11px;padding:1px 8px;border-radius:12px;background:#f4eee31f;color:#f4eee3d9;border:1px solid rgba(244,238,227,.2)}.preview-id-badge{font-size:11px;font-weight:700;padding:1px 8px;border-radius:12px;background:#f1cf782e;color:#f1cf78;border:1px solid rgba(241,207,120,.45)}.avatar-picker-section{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}.avatar-picker-header{display:flex;justify-content:space-between;align-items:baseline}.avatar-picker-header span:first-child{font-size:14px;font-weight:600;color:#f4eee3eb}.avatar-selected-title{font-size:12px;color:var(--scene-champagne, #e4c787);font-weight:500}.avatar-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.avatar-option-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px 6px;background:#f4eee30d;border:1.5px solid rgba(244,238,227,.12);border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);outline:none;-webkit-tap-highlight-color:transparent}.avatar-option-btn:hover{background:#f4eee317;border-color:#f1cf7866;transform:translateY(-2px)}.avatar-option-btn.is-selected{background:radial-gradient(circle,#f1cf7838,#f1cf7814);border-color:#f1cf78;box-shadow:0 0 14px #f1cf7866,inset 0 0 8px #f1cf7833;transform:translateY(-2px) scale(1.04)}.avatar-mini-wrapper{display:flex;align-items:center;justify-content:center;height:46px}.avatar-name-label{font-size:11px;color:#f4eee3d9;margin-top:3px;font-weight:500}.avatar-option-btn.is-selected .avatar-name-label{color:gold;font-weight:700}.avatar-check-icon{position:absolute;top:4px;right:4px;width:15px;height:15px;border-radius:50%;background:#f1cf78;color:#1a120d;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000080}.guest-id-label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.id-field-header{display:flex;justify-content:space-between;align-items:baseline}.id-field-header span:first-child{font-size:14px;font-weight:600;color:#f4eee3eb}.id-field-sub{font-size:11px;color:#f4eee373}.id-input-box{display:flex;align-items:center;background:#f4eee30f;border:1px solid rgba(244,238,227,.16);border-radius:12px;padding:0 12px;transition:border-color .2s,box-shadow .2s}.id-input-box:focus-within{border-color:#f1cf78;box-shadow:0 0 10px #f1cf784d}.id-prefix{font-size:16px;font-weight:800;color:#f1cf78;margin-right:6px}.id-input-box input{flex:1;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;color:#fffdfa;font-size:15px;font-weight:700;padding:10px 0;letter-spacing:.05em}.id-field-hint{font-size:11px;color:#f4eee373;margin-left:2px}.guest-footer-chip{display:inline-flex;align-items:center;gap:10px;padding:4px 12px;background:#f4eee314;border:1px solid rgba(241,207,120,.3);border-radius:20px;box-shadow:0 2px 8px #0000004d}.guest-footer-name{font-size:13px;color:#f4eee3eb;font-weight:500}
