.stage-page{min-width:900px;min-height:100vh;margin:0;background:#fff5df;color:#60252b;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}
.stage-page *{box-sizing:border-box}
.stage-page button,.stage-page a,.stage-page input{font:inherit}
.stage-page button{cursor:pointer}
.stage-page [hidden]{display:none!important}
.stage-shell{width:100%;max-width:2400px;height:100vh;margin:0 auto;padding:22px 30px 12px;display:flex;flex-direction:column}
.stage-header{display:flex;align-items:center;gap:26px;padding-bottom:22px;border-bottom:1px solid #b5223520;flex:none}
.stage-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#60252b;white-space:nowrap}
.brand-art{width:60px;height:60px;display:block;flex:none}
.brand-art>.art-sprite{width:100%;height:100%}
.stage-brand b{display:block;font-size:29px;line-height:1.2;letter-spacing:1px}
.stage-brand small{font-size:10px;letter-spacing:1.3px;color:#a67b59}
.header-wish{font-size:15px;font-weight:600;color:#a47958;flex:1;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:14px}
.stage-state{font-size:12px;font-weight:800;color:#b52235;border-radius:40px;padding:11px 17px;background:#f3deb8;white-space:nowrap}
.icon-button{color:#8c4a3e;padding:10px 16px;font-size:12px!important;font-weight:750;white-space:nowrap;border:0;border-radius:10px}
.simulation-start{color:#fff2d1}
.icon-button:disabled{opacity:.55;cursor:not-allowed}
.art-button:hover{filter:brightness(1.05)}
.art-button:focus-visible{outline:3px solid #e1ad56;outline-offset:4px}
.stage-main{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;padding-top:23px;flex:1;min-height:0}
.party-view{min-width:0;min-height:0;display:flex;flex-direction:column}
.party-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:19px;flex:none}
.eyebrow{display:block;color:#a87341;font-size:11px;font-weight:800;letter-spacing:2.4px}
.party-heading h1{font-size:clamp(26px,2.6vw,49px);line-height:1.3;letter-spacing:1px;margin:6px 0 0;font-weight:900}
.party-heading h1 span{color:#b52235}
.party-count{display:flex;gap:11px;align-items:center;text-align:left;white-space:nowrap}
.party-count strong{font-size:44px;font-weight:850;color:#b52235;line-height:1;letter-spacing:-2px}
.party-count span{font-size:12px;line-height:1.7;font-weight:700}
.party-count small{font-size:10px;font-weight:500;color:#ac815c}
.scene-frame{position:relative;overflow:hidden;border-radius:23px;border:1px solid #d9aa795c;background:#681e21;box-shadow:0 8px 0 #ae51200a;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}
.carpet-world{position:relative;aspect-ratio:1160/720;width:min(100cqw,161.111cqh);max-height:100%;isolation:isolate;overflow:hidden;flex:none}
.festival-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;user-select:none;pointer-events:none}
.route-anchors{position:absolute;inset:0;z-index:2;pointer-events:none}
.route-anchor{position:absolute;transform:translate(-50%,-100%);width:7.5%;height:13%;display:flex;flex-direction:column;align-items:center;justify-content:end;filter:drop-shadow(0 3px 4px #4d170a55)}
.route-anchor>.art-sprite{width:100%;height:82%;animation:propfloat 3.6s ease-in-out infinite alternate}
.route-anchor small{font-size:clamp(6px,.7vw,11px);font-weight:850;white-space:nowrap;color:#ffedc2;text-shadow:0 1px 3px #6b1c11;margin-top:-1px}
.route-anchor[data-interaction="star"]>.art-sprite{animation-delay:-1.2s}
.route-anchor[data-interaction="fireworks"]>.art-sprite{animation-delay:-2.4s}
.route-anchor.is-active>.art-sprite{filter:brightness(1.18);animation:propgreet .65s ease-in-out infinite alternate}
.sheep-mascot{position:absolute;left:38%;top:71%;width:12%;height:24%;z-index:3;pointer-events:none;transform-origin:50% 100%;animation:mascotgreet 3s ease-in-out infinite alternate}
.sheep-mascot>.art-sprite{width:100%;height:100%}
.arrival-label{position:absolute;top:12%;left:54%;width:40%;text-align:center;z-index:2;color:#fff0bf;text-shadow:0 2px 4px #571412}
.arrival-label>span{display:block;font-size:clamp(16px,1.65vw,28px);font-weight:900;letter-spacing:5px}
.arrival-label small{display:block;margin-top:5px;font-size:clamp(8px,.8vw,13px);color:#ffdb97}
.prize-table{position:absolute;left:55%;top:32%;width:32%;height:14%;z-index:2;pointer-events:none}
.table-gifts{display:flex;justify-content:space-evenly;align-items:end;gap:4px;height:76%;padding:0 5%}
.table-gifts>.art-sprite{height:100%;width:18%;animation:giftbob 4s ease-in-out infinite alternate;filter:drop-shadow(0 3px 2px #682d271c)}
.table-gifts>.art-sprite:nth-child(2n){animation-delay:-2s}
.table-front{display:flex;align-items:center;justify-content:center;gap:14px;color:#ffe6a7;font-size:clamp(8px,.8vw,14px);font-weight:850;letter-spacing:1px;height:24%;text-shadow:0 1px 3px #52170e}
.table-front i{font-size:clamp(6px,.6vw,10px);font-style:normal;letter-spacing:1px}
.family-grid{position:absolute;inset:0;z-index:4;pointer-events:none}
.family-person{position:absolute;width:5.3%;height:12%;transform:translate(-50%,-100%);transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;justify-content:end}
.family-person canvas{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #752f2925)}
.family-person-name{position:absolute;bottom:-10%;left:50%;transform:translateX(-50%);max-width:145%;padding:2px 5px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:clamp(6px,.6vw,10px);line-height:1.2;color:#77393a;font-weight:800;background:#fff3d1c9;border-radius:20px;z-index:2}
.family-medal{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:130%;height:auto;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;z-index:3;animation:giftreveal .6s ease-out both}
.badge-name{display:block;max-width:100%;min-width:0;background:#fff4d5e6;padding:2px 4px;text-align:center;border-radius:5px;color:#a12734;font-size:clamp(6px,.54vw,10px);line-height:1.25;font-weight:900;white-space:normal;overflow-wrap:anywhere}
.family-dialogue{position:absolute;bottom:145%;left:50%;transform:translateX(-50%);width:135%;height:26%;display:flex;align-items:center;justify-content:center;z-index:6;isolation:isolate}
.family-medal:not([hidden])~.family-dialogue{bottom:185%}
.family-dialogue>.art-sprite{position:absolute;inset:-2px -4px;width:auto;height:calc(100% + 4px);aspect-ratio:auto!important;z-index:-1}
.family-dialogue>span:last-child:not(.art-sprite){font-size:clamp(6px,.58vw,10px);font-weight:850;color:#a12734;white-space:nowrap;position:relative}
.badge-art{display:block;width:40%;aspect-ratio:1;flex:none}
.badge-art>.art-sprite{width:100%;height:100%}
.family-empty{position:absolute;top:53%;left:51%;width:42%;height:26%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;color:#9e5d37;text-align:center;gap:8px;text-shadow:0 1px #fff3d480;z-index:2}
.family-empty b{font-size:clamp(14px,1.3vw,22px);font-weight:850;letter-spacing:2px}
.family-empty>span{font-size:clamp(8px,.85vw,14px)}
.carpet-start-label{position:absolute;left:4%;top:88%;color:#ffefc2;z-index:5;text-shadow:0 2px 4px #651a11}
.carpet-start-label span{font-size:clamp(12px,1.15vw,18px);font-weight:900;letter-spacing:2px}
.carpet-start-label small{display:block;font-size:clamp(5px,.5vw,8px);letter-spacing:1px;color:#ffcc89;margin-top:3px}
.walking-layer{position:absolute;inset:0;z-index:5;pointer-events:none}
.walking-actor{position:absolute;width:10.5%;height:22.5%;transform:translate(-50%,-100%);transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.walking-actor canvas{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 4px #3b0c2844)}
.walking-name{position:absolute;bottom:-10%;background:#fff2d9;color:#a32739;border:1px solid #d3a25f;font-size:clamp(8px,.8vw,14px);font-weight:900;padding:3px 9px;border-radius:25px;max-width:170%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:1.2}
.walking-action{position:absolute;left:86%;top:16%;width:64%;height:44%;display:flex;align-items:center;gap:2px;z-index:2}
.walking-action>.art-sprite{width:65%;height:100%;animation:actionbounce 1s ease-in-out infinite alternate}
.walking-action>span:last-child:not(.art-sprite){position:absolute;left:45%;top:80%;padding:3px 5px;border-radius:6px;background:#fff0cfeb;border:1px solid #e0b062;color:#9d2333;font-size:clamp(7px,.65vw,11px);font-weight:850;white-space:nowrap}
.walking-empty{position:absolute;left:2%;top:34%;width:23%;text-align:center;color:#ffe2af;font-size:clamp(10px,1.2vw,20px);line-height:1.6;font-weight:700;text-shadow:0 2px 4px #56170b;z-index:1}
.walking-empty b{display:block;color:#fff0cb;font-size:clamp(18px,2vw,34px);font-weight:900}
.walking-empty small{display:block;font-size:clamp(7px,.7vw,12px);font-weight:500;color:#ffd39d}
.arrival-toast{position:absolute;top:3%;left:48%;width:48%;padding:9px 12px;background:#b52235ed;color:#fff1c5;border:1px solid #efc16b;border-radius:12px;z-index:8;font-size:clamp(10px,.9vw,15px);text-align:center;animation:toastin .5s ease-out}
.arrival-toast b{color:#ffda76}
.queue-strip{display:flex;align-items:center;gap:18px;margin-top:17px;min-height:65px;padding:10px 14px;border:1px solid #ddb77e8a;border-radius:15px;background:#fff9eabb;flex:none}
.queue-label{min-width:130px}
.queue-label>span{display:block;color:#a12737;font-size:14px;font-weight:850;letter-spacing:1px}
.queue-label small{display:block;font-size:10px;color:#ac815c;margin-top:5px}
.queue-list{display:flex;gap:8px;flex:1;overflow:hidden}
.queue-person{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid #e5ba78;background:#f7e3bc;border-radius:12px;padding:5px 9px;flex:1;max-width:145px}
.queue-person.next{background:#b52235;color:#fff0c9;border-color:#b52235}
.queue-person canvas{width:26px;height:33px;object-fit:contain;flex-shrink:0}
.queue-person>span{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-person em{font-size:9px;font-style:normal;opacity:.7;display:block}
.queue-avatar{position:relative;flex-shrink:0}
.queue-more,.queue-empty{font-size:11px;color:#a37a55;white-space:nowrap;align-self:center}
.party-footer{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#a98460;letter-spacing:.5px;padding:13px 4px 0;flex:none}
.party-footer #eventMessage{font-size:10px;color:#b52235;letter-spacing:0;flex:1;text-align:center}
.join-panel{display:flex;flex-direction:column;gap:14px;min-height:0}
.join-card{border-radius:23px;background:#b52235;color:#fff0ca;padding:23px 24px 18px;position:relative}
.join-card>.eyebrow{color:#edbf77;font-size:9px;letter-spacing:1.3px}
.join-card h2{font-size:34px;line-height:1.25;letter-spacing:1px;margin:11px 0 5px}
.join-card>p{color:#f2c792;font-size:12px;margin:0 0 17px}
.qr-frame{background:#fff9eb;border-radius:16px;padding:15px;aspect-ratio:1;display:grid;place-items:center;max-width:240px;margin:auto}
.qr-frame img{width:100%;height:100%;object-fit:contain;border-radius:3px;color:#ae3540;font-size:11px;display:block}
.join-steps{display:flex;padding:0;list-style:none;justify-content:space-between;gap:5px;margin:16px 0 13px;font-size:10px;white-space:nowrap}
.join-steps b{font-size:10px;color:#f0c572;margin-right:3px}
.join-link{display:block;color:#95253a;text-align:center;font-size:14px;font-weight:850;padding:10px;text-decoration:none;margin:0 4px}
.wifi-note{display:block;color:#e8bc9c;font-size:10px;text-align:center;margin-top:12px}
.join-address{display:block;color:#e8bc9c;font-size:8px;text-align:center;margin-top:5px;overflow-wrap:anywhere}
.simulation-card{flex:none;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:23px;background:#b52235;color:#fff0ca;padding:23px 24px 20px}
.simulation-card>.eyebrow{color:#edbf77;font-size:10px;letter-spacing:1px}
.simulation-card h2{font-size:29px;line-height:1.3;margin:13px 0 0;letter-spacing:1px}
.simulation-art{width:150px;height:145px;margin:14px auto 6px}
.simulation-art>.art-sprite{width:100%;height:100%}
.simulation-card p{font-size:12px;line-height:1.9;color:#f2c792;margin:0 0 12px}
.simulation-progress{font-size:13px;font-weight:800;color:#ffdda3;margin-bottom:15px}
.simulation-card button{width:100%;padding:10px;border:0;color:#95253a;font-size:13px;font-weight:800}
.simulation-card button:disabled{opacity:.55;cursor:not-allowed}
.simulation-card>small{font-size:10px;line-height:1.7;color:#e8bc9c;margin-top:15px}
.gift-card{border:1px solid #d4a76c7d;border-radius:18px;background:#fffaed;padding:17px 18px;flex:1;min-height:0;display:flex;flex-direction:column}
.gift-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.gift-card-title h3{font-size:15px;font-weight:900;margin:0;color:#a02737;letter-spacing:1px}
.gift-card-title>span{font-size:10px;background:#f4e2bc;color:#a87247;padding:3px 8px;border-radius:10px}
.prize-legend{display:flex;flex-direction:column;gap:1px;position:absolute;left:-6px;right:-6px;bottom:calc(100% + 7px);z-index:10;max-height:min(55vh,460px);overflow-y:auto;overscroll-behavior:contain;padding:10px 12px;background:#fff8e9;border-radius:12px;box-shadow:0 8px 30px #78362735}
.prize-type{display:flex;align-items:center;gap:9px;padding:3px 0;flex-shrink:0}
.prize-type>.art-sprite{width:33px;height:33px;flex-shrink:0}
.prize-type>span:not(.art-sprite){font-size:11px;font-weight:750;flex:1}
.prize-type small{display:block;font-size:8px;color:#ac815c;font-weight:500;margin-top:2px}
.prize-type>b{font-size:10px;font-weight:700;color:#ad7846;background:#f4e4c6;padding:2px 5px;border-radius:5px}
.gift-card>p{font-size:10px;line-height:1.8;color:#ac815c;border-top:1px solid #e5c99e;padding-top:11px;margin:10px 0 0}
.host-controls{border:1px solid #d2a26b66;border-radius:12px;padding:11px 14px;background:#fff8e9;font-size:11px;color:#a87b53;flex:none}
.host-controls summary{cursor:pointer;font-weight:750}
.host-controls p{font-size:9px;line-height:1.6;color:#ae8563;margin:10px 0 0}
.host-buttons{display:flex;gap:15px;margin:14px 4px 0}
.host-buttons button{flex:1;min-width:0;font-size:10px;color:#8a483b;padding:8px;border:0}
.receipt-list{display:grid;grid-template-rows:repeat(var(--receipt-count),minmax(0,1fr));gap:3px;flex:1;min-height:0;max-height:calc(var(--receipt-count)*36px)}
.receipt-row{display:grid;grid-template-columns:19px 25px minmax(0,1fr);gap:7px;align-items:center;min-height:0;border-radius:8px;padding:2px 5px;background:#f5e9d378}
.receipt-row[data-received="true"]{background:#f5ddb5;color:#a02737}
.receipt-row>.art-sprite{width:24px;height:24px;max-height:100%}
.receipt-number{font-size:9px;color:#b48b63;text-align:center;font-variant-numeric:tabular-nums}
.receipt-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.receipt-copy strong{font-size:11px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.receipt-copy small{font-size:9px;line-height:1.15;color:#ac815c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.receipt-row[data-received="true"] .receipt-copy small{color:#a02737;font-weight:750}
.gift-card>.receipt-empty{flex:1;display:grid;place-items:center;text-align:center;border:0;min-height:70px;margin:0}
.gift-catalog{font-size:10px;color:#ac815c;margin-top:10px;flex:none;position:relative}
.gift-catalog summary{cursor:pointer;padding:3px 0}
.gift-catalog summary>span{float:right}
.gift-card-title,.gift-card>p{flex:none}
.join-panel[data-populated="true"] .join-card{display:grid;grid-template-columns:86px minmax(0,1fr);column-gap:13px;padding:14px;flex:none}
.join-panel[data-populated="true"] .join-card>.eyebrow,.join-panel[data-populated="true"] .join-card h2,.join-panel[data-populated="true"] .join-steps,.join-panel[data-populated="true"] .wifi-note{display:none}
.join-panel[data-populated="true"] .qr-frame{grid-column:1;grid-row:1/4;width:86px;max-width:86px;padding:6px;border-radius:10px;margin:0}
.join-panel[data-populated="true"] .join-card>p{grid-column:2;font-size:10px;margin:0 0 8px;align-self:end}
.join-panel[data-populated="true"] .join-link{grid-column:2;font-size:11px;padding:6px;margin:0 3px}
.join-panel[data-populated="true"] .join-address{grid-column:2;font-size:7px;margin-top:8px}
.join-panel[data-populated="true"] .simulation-card{padding:13px 18px;display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:7px 12px;text-align:left;align-items:center}
.join-panel[data-populated="true"] .simulation-card>.eyebrow{grid-column:1/-1;font-size:9px}
.join-panel[data-populated="true"] .simulation-card h2{grid-column:1;font-size:21px;margin:0}
.join-panel[data-populated="true"] .simulation-art,.join-panel[data-populated="true"] .simulation-card p{display:none}
.join-panel[data-populated="true"] .simulation-progress{grid-column:1/-1;font-size:10px;margin:0}
.join-panel[data-populated="true"] .simulation-card button{grid-column:2;grid-row:2;font-size:10px;padding:8px}
.join-panel[data-populated="true"] .simulation-card>small{grid-column:1/-1;margin:0;font-size:8px}
.reset-dialog{max-width:410px;border:1px solid #c8955b;border-radius:23px;background:#fff5df;color:#60252b;padding:27px;box-shadow:0 16px 80px #63233140}
.reset-dialog::backdrop{background:#50252b73;backdrop-filter:blur(3px)}
.reset-dialog h2{margin:10px 0;font-size:23px}
.reset-dialog p{font-size:13px;line-height:1.8;color:#a17355}
.reset-dialog label{display:block;font-size:12px;font-weight:750;margin-top:19px}
.reset-dialog input{width:100%;border:1px solid #d4a666;border-radius:9px;background:#fffbed;padding:11px;margin-top:8px;color:#60252b;font-size:13px}
.reset-dialog form>div{display:flex;gap:20px;margin:24px 5px 4px}
.reset-dialog button{border:0;color:#fff3d5;padding:10px 12px;flex:1;font-size:12px;font-weight:750}
.reset-dialog button.secondary{color:#8b4b3c}
.reset-dialog button:disabled{opacity:.45;cursor:not-allowed}
.carpet-world[data-motion="paused"] *,.carpet-world[data-motion="paused"] *::before,.carpet-world[data-motion="paused"] *::after{animation-play-state:paused!important}
@keyframes propfloat{from{translate:0 0}to{translate:0 -4px}}
@keyframes propgreet{from{transform:scale(1)}to{transform:scale(1.1)}}
@keyframes mascotgreet{from{rotate:-2deg}to{rotate:2deg}}
@keyframes giftbob{from{translate:0 0}to{translate:0 -3px}}
@keyframes giftreveal{from{opacity:0;translate:0 10px;scale:.65}to{opacity:1;translate:0 0;scale:1}}
@keyframes actionbounce{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-5px) rotate(5deg)}}
@keyframes toastin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.stage-shell{padding:30px 42px 16px}.stage-header{padding-bottom:27px}.stage-main{grid-template-columns:minmax(0,1fr) 340px;gap:30px;padding-top:29px}.join-card{padding:27px}.join-card h2{font-size:40px}.join-card>p{font-size:14px}.qr-frame{max-width:270px}.join-steps{font-size:12px;margin-top:18px}.join-link{padding:12px;font-size:16px}.gift-card{padding:19px 23px}.gift-card-title h3{font-size:18px}.prize-type{padding:5px 0}.prize-type>.art-sprite{width:37px;height:37px}.prize-type>span:not(.art-sprite){font-size:13px}.party-heading{padding-bottom:23px}.party-count strong{font-size:55px}.party-count span{font-size:14px}.queue-strip{min-height:80px}.queue-person{max-width:185px;padding:7px 12px}.queue-person canvas{width:32px;height:40px}.queue-person>span{font-size:13px}.header-wish{font-size:18px}.stage-brand b{font-size:34px}}
@media(max-width:1130px){.stage-shell{padding:16px 20px 10px}.stage-main{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.header-wish{display:none}.stage-brand{flex:1}.stage-brand b{font-size:25px}.header-actions{gap:12px}.stage-state{padding:9px 11px}.icon-button{padding:9px 10px}.join-card{padding:19px}.join-card h2{font-size:29px}.join-card>.eyebrow{font-size:8px}.join-card>p{font-size:10px}.join-steps{font-size:8px}.qr-frame{padding:12px}.gift-card{padding:14px}.party-heading h1{font-size:25px}.party-count strong{font-size:35px}.party-count span{font-size:10px}.party-count small{font-size:8px}.queue-strip{gap:10px;padding:9px 10px}.queue-label{min-width:103px}.queue-label>span{font-size:11px}.queue-person{padding:4px 6px;gap:4px}.queue-person canvas{width:20px;height:26px}.queue-person>span{font-size:9px}.party-footer>span:last-child{display:none}}
@media(max-height:850px) and (min-width:1200px){.stage-shell{padding:17px 26px 10px}.stage-header{padding-bottom:15px}.stage-main{padding-top:17px;gap:22px;grid-template-columns:minmax(0,1fr) 272px}.party-heading{padding-bottom:15px}.party-heading h1{font-size:33px}.party-count strong{font-size:42px}.join-card{padding:19px 21px 15px}.join-card h2{font-size:31px;margin-top:8px}.join-card>p{font-size:11px;margin-bottom:12px}.qr-frame{max-width:218px;padding:13px}.join-steps{margin:12px 0 11px;font-size:9px}.join-link{padding:8px;font-size:13px}.gift-card{padding:13px 16px}.prize-type{padding:2px 0}.prize-type>.art-sprite{width:29px;height:29px}.gift-card>p{font-size:9px;padding-top:8px;margin-top:7px}.queue-strip{margin-top:14px;min-height:61px}}
@media(max-height:760px) and (min-width:1100px){.stage-shell{padding:15px 22px 10px}.stage-header{padding-bottom:14px}.stage-main{padding-top:15px;gap:19px;grid-template-columns:minmax(0,1fr) 254px}.stage-brand b{font-size:25px}.brand-art{width:48px;height:48px}.header-wish{font-size:13px}.stage-state,.icon-button{padding:9px 12px;font-size:11px!important}.party-heading{padding-bottom:14px}.party-heading h1{font-size:29px}.party-count strong{font-size:38px}.join-panel{gap:10px}.join-card{padding:16px 18px 13px}.join-card h2{font-size:25px;margin-top:7px}.join-card>p{font-size:10px;margin-bottom:10px}.qr-frame{width:160px;padding:11px;border-radius:12px}.join-steps{font-size:9px;margin:10px 0}.join-link{font-size:11px;padding:5px}.wifi-note{margin-top:9px;font-size:9px}.gift-card{padding:11px 14px}.gift-card-title h3{font-size:13px}.prize-type{padding:1px 0;gap:7px}.prize-type>.art-sprite{width:24px;height:24px}.prize-type>span:not(.art-sprite){font-size:9px}.prize-type small{display:none}.gift-card>p{font-size:8px;padding-top:6px;margin-top:6px}.host-controls{padding:8px 11px;font-size:9px}.queue-strip{min-height:56px;margin-top:12px;padding:8px 10px}.queue-person>span{font-size:9px}.queue-person canvas{width:21px;height:26px}.party-footer{font-size:8px;padding-top:10px}}
@media(max-width:1099px),(max-height:620px){.stage-shell{height:auto;min-height:100vh}.scene-frame{min-height:360px}.carpet-world{width:100%;max-height:none}.gift-card{flex:none}}
@media(max-width:1400px){.header-wish{display:none}.stage-brand{flex:1}.header-actions{gap:9px}}
@media(max-height:850px){.simulation-card{padding:18px 20px}.simulation-card h2{font-size:25px;margin-top:10px}.simulation-art{width:125px;height:115px;margin:10px auto 4px}.simulation-card p{font-size:11px;margin-bottom:8px}.simulation-progress{margin-bottom:12px}.simulation-card>small{margin-top:12px;font-size:9px}}
@media(max-height:760px){.simulation-card{padding:14px 18px}.simulation-card h2{font-size:22px;margin-top:7px}.simulation-art{width:100px;height:86px;margin:5px auto 3px}.simulation-card p{font-size:10px;line-height:1.7;margin-bottom:6px}.simulation-progress{font-size:11px;margin-bottom:10px}.simulation-card button{padding:7px;font-size:11px}.simulation-card>small{font-size:8px;margin-top:10px}}
@media(max-height:850px){.receipt-row{grid-template-columns:15px 18px minmax(0,1fr);gap:4px;padding:2px 4px}.receipt-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5px;align-items:center}.receipt-copy strong{font-size:9px}.receipt-copy small{font-size:8px}.receipt-row>.art-sprite{width:18px;height:18px}.receipt-number{font-size:8px}}
@media(prefers-reduced-motion:reduce){.stage-page *,.stage-page *::before,.stage-page *::after{animation:none!important;transition:none!important}}
