/* One native surface grammar for the guest phone; physical art stays raster. */
.inspector{gap:12px;background:#efede8}
.phone-device{aspect-ratio:.51;max-height:660px;border-radius:35px;padding:6px;box-shadow:0 0 0 2px #d5d2ca,0 12px 28px #302b241c}
.phone-glass{background:#f7f7f4}
.phone-content{animation:none;overflow:hidden;font-size:clamp(11px,4.5cqi,13px);line-height:1.4}
.phone-native-header{height:34px;padding:0 14px;border-bottom:1px solid #e8e6e0}
.phone-native-header>span{background:none;box-shadow:none;border:0}
.phone-native-header>img{width:68px;height:20px}
.phone-tabbar{height:43px;background:#f0efeb;backdrop-filter:none;border-color:#e2e1db}
.phone-tabbar>span{gap:2px;height:35px;color:#88857e}
.phone-tabbar .selected{background:#e8dedf;color:#733640;border:0;border-radius:12px}
.phone-tabbar small{font-size:8px}
.phone-home-indicator{background:#f0efeb}
.phone-device[data-scene=choose] .phone-native-header,.phone-device[data-scene=choose] .phone-tabbar{display:none}
.app-page{height:100%;min-height:0;padding:14px;display:flex;flex-direction:column;gap:10px;animation:app-screen-enter .22s ease-out both}
.app-page-heading{flex:none}
.phone-content .app-page-heading h3,.phone-content .booking-heading h3{font:550 clamp(19px,8cqi,24px)/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252522;letter-spacing:-.45px;margin:0}
.app-page-heading p{font-size:11px;line-height:1.4;color:#7d7971;margin:5px 0 0}
.app-card{flex:none;border:1px solid #e3e1d9;border-radius:15px;background:#fffdf9;padding:12px;box-shadow:none}
.app-status{display:flex;gap:7px;align-items:center;flex:none;color:#425c4f;font-size:11px;line-height:1.3;padding:3px 0;min-height:24px}
.app-status .icon{width:14px;height:14px}
.app-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;font-size:11px;border-bottom:1px solid #ece9e2;line-height:1.3}
.app-row:last-child{border:0}.app-row>span{color:#817b70}.app-row strong{font-weight:500;color:#39352e;text-align:right;font-variant-numeric:tabular-nums}
.app-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid #e5e0d7;margin-top:6px;padding-top:11px;font-size:11px;color:#746d62}
.app-total strong{font-size:22px;font-weight:550;letter-spacing:-.4px;white-space:nowrap;color:#252522;font-variant-numeric:tabular-nums}
.app-note{font-size:10px;line-height:1.4;margin:0;color:#878177;text-align:center}
.app-page-bottom{margin-top:auto;display:flex;flex-direction:column;gap:7px;flex:none}
.app-button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:37px;width:100%;padding:9px 12px;background:#252522;color:#fffdf8;border-radius:12px;font-size:12px;line-height:1.25;text-align:left;flex:none}
.app-button:hover{background:#733640}.app-button .icon{width:15px;height:15px}
.app-person{display:flex;gap:9px;align-items:center;flex:none;min-height:34px}
.app-avatar{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:#ece7de;color:#806c5a}
.app-avatar .icon{width:17px;height:17px}.app-person strong{font-weight:550;font-size:12px;display:block}.app-person>div>span{font-size:10px;color:#868074;display:block;margin-top:2px}
.app-section-title{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;font-size:12px}
.app-section-title strong{font-weight:550}.app-section-title>span{font-size:9px;color:#847d70;white-space:nowrap}
.app-order-line{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:6px;padding:10px 0;border-bottom:1px solid #ebe7df;align-items:start;line-height:1.3}
.app-order-line:last-child{border:0}.app-quantity{font-size:11px;color:#8a8275;font-variant-numeric:tabular-nums}
.app-order-line>div>strong{display:block;font-size:11px;font-weight:550}.app-order-line>div>span{display:block;font-size:9px;color:#8a8275;margin-top:3px}.app-line-price{font-size:11px;white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}
.app-pass-top{display:flex;gap:16px;align-items:center;padding:3px 0 12px}.app-pass-top>div:last-child>strong{font-size:35px;font-weight:450;letter-spacing:-1px;color:#733640;display:block;line-height:1}
.app-pass-top>div:last-child>span{display:block;font-size:10px;color:#817766;margin-top:6px}.app-pass-details{border-top:1px solid #e6e0d5;padding-top:3px}
.app-pass-top .demo-pass-mark{width:63px;height:63px;flex:none;border-width:3px}
.app-item-art{aspect-ratio:1;width:90px;max-width:100%;background-image:url('/public/art/evening-v2/objects.png');background-size:300% 200%;background-repeat:no-repeat;flex:none}
.app-item-art.salmon{background-position:0 0}.app-item-art.bread{background-position:100% 0;clip-path:inset(0 8%)}
.app-menu-feature{display:flex;gap:8px;align-items:center;padding:1px 0 5px}.app-menu-feature .app-item-art{width:70px}.app-menu-feature strong{font-size:13px;line-height:1.3;font-weight:500;display:block}.app-menu-feature span{font-size:9px;color:#8b806d;display:block;margin-top:6px}
.app-payment-method{display:flex;align-items:center;gap:8px;font-size:11px;color:#706956;min-height:29px;flex:none}.app-payment-method .icon{width:16px;height:16px}.app-payment-method .icon:last-child{margin-left:auto;width:13px;color:#425c4f}
.app-tips .app-person{border-bottom:1px solid #ebe7df;padding-bottom:12px;margin-bottom:13px}.app-tip-choice{display:flex;flex-direction:column;align-items:center;gap:7px;margin:14px 0}.app-tip-choice span{font-size:11px;color:#8b746b}.app-tip-choice strong{font-weight:500;font-size:29px;letter-spacing:-.6px}
.app-invitation{text-align:center;padding:12px}.app-invitation .app-item-art{width:100px;margin:0 auto 5px}.app-invitation h4{font-size:15px;font-weight:500;line-height:1.3;margin:0 0 7px}.app-invitation p{font-size:11px;line-height:1.5;color:#817969;margin:0}
.app-product{display:flex;align-items:center;gap:10px}.app-product .app-item-art{width:85px}.app-product h4{font-weight:550;font-size:14px;line-height:1.3;margin:0 0 5px}.app-product>div>span{font-size:10px;color:#827868;display:block}.app-product>div>strong{font-size:14px;display:block;margin-top:12px;font-weight:500;font-variant-numeric:tabular-nums}
.booking-screen{display:flex;flex-direction:column;height:100%;min-height:0}
.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;flex:none;background:#f7f7f4}
.booking-heading p{font-size:10px;color:#817b70;line-height:1.4;margin:4px 0 0}
.phone-room-preview{flex:1;min-height:80px;overflow:hidden;background:#e7e1d6}
.phone-native-map{display:block;width:100%;height:100%}.phone-native-map [data-phone-table]{animation:booking-selection .7s ease-out both}
.booking-dock{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;background:#fffdf9;border-top:1px solid #e0dbd1;border-radius:18px 18px 0 0;flex:none}
.booking-time-controls{display:flex;align-items:flex-end;gap:7px;justify-content:space-between;flex:none;font-variant-numeric:tabular-nums}
.booking-start,.booking-duration{display:flex;flex-direction:column;gap:3px;min-width:0}.booking-start>span,.booking-duration>span{font-size:9px;color:#8c8172}
.booking-time-controls select{font-size:14px;font-weight:550;color:#252522;min-height:29px;border:1px solid #e2dacc;background:#f2eee7;border-radius:8px;padding:3px 3px 3px 7px;max-width:100%;appearance:auto}
.booking-duration select{font-weight:450;font-size:11px}.booking-end{padding-bottom:5px;font-size:11px;color:#8a8275;white-space:nowrap}.booking-end strong{font-weight:400;color:#6b6458}
.booking-scrubber{appearance:auto;width:100%;height:20px;padding:0;display:block;margin:0;accent-color:#733640;cursor:pointer;flex:none}
.booking-time-ticks{display:flex;justify-content:space-between;font-size:8px;line-height:1;color:#928779;font-variant-numeric:tabular-nums;margin-top:-5px}
.booking-options{display:flex;gap:3px;padding:3px;background:#f0ede7;border-radius:10px;flex:none;margin-top:3px}
.booking-options button{flex:1;min-width:0;padding:6px 2px;font-size:10px;line-height:1.2;border-radius:7px;color:#8a8071}.booking-options button[aria-pressed=true]{background:#fffdf9;color:#733640;box-shadow:0 1px 3px #35291916;font-weight:550}
.booking-selection{display:flex;gap:6px;align-items:center;justify-content:space-between;min-height:33px;flex:none}.booking-selection>div{min-width:0}.booking-selection strong{font-size:11px;font-weight:550;display:block}.booking-selection>div>span{display:block;font-size:9px;color:#8a8071;margin-top:3px}
.booking-available{font-size:9px;display:flex;align-items:center;gap:3px;color:#425c4f;white-space:nowrap}.booking-available .icon{width:11px;height:11px}
.booking-dock .app-button{font-size:11px}
.story-heading h2{font-size:15px;line-height:1.2;margin:7px 0 5px}.story-heading p{font-size:10px;line-height:1.4;color:#81745e}.scene-card{padding-top:10px}.scene-card-actions{margin-top:8px}
@keyframes app-screen-enter{from{opacity:.65}to{opacity:1}}
@keyframes booking-selection{from{fill:#73364088}to{fill:#73364044}}
@media(max-height:820px){
.inspector{gap:9px}.phone-stage{gap:7px}.phone-device{aspect-ratio:.52}
.app-page{padding:10px;gap:8px}.app-page-heading p{font-size:10px;margin-top:3px}.phone-content .app-page-heading h3,.phone-content .booking-heading h3{font-size:19px}
.app-card{padding:10px}.app-order-line{padding:7px 0}.app-total{padding-top:8px}.app-total strong{font-size:21px}.app-row{padding:6px 0;font-size:10px}
.app-pass-details .app-row{padding:5px 0}
.app-person{min-height:30px}.app-avatar{width:29px;height:29px}.app-status{font-size:10px;min-height:22px}.app-section-title{font-size:11px}.app-button{font-size:11px;min-height:35px;padding:8px 10px}
.app-menu-feature .app-item-art{width:60px}.app-product .app-item-art{width:73px}.app-invitation .app-item-art{width:80px}.app-tip-choice{margin:8px 0}.app-tips .app-person{padding-bottom:8px;margin-bottom:8px}.app-pass-top{padding-bottom:8px;gap:12px}.app-pass-top .demo-pass-mark{height:52px;width:52px}
.booking-heading{padding:9px 12px}.booking-dock{padding:10px;gap:6px}.booking-options button{font-size:9px}.booking-selection>div>span{font-size:8px}.booking-start>span,.booking-duration>span{font-size:8px}.booking-time-controls select{min-height:27px;font-size:13px}.booking-duration select{font-size:10px}
.story-heading h2{font-size:14px;margin-top:5px}.story-heading p{font-size:10px;-webkit-line-clamp:2}.primary-action{min-height:32px}.scene-card{padding-top:8px}.scene-card-actions{margin-top:6px}
}
.actor-notice[data-type=remote]{border-color:#bcc9bd;background:#fffcf7;width:320px}
.notice-flow{display:flex;align-items:center;gap:5px;font-size:9px;margin-top:10px;padding-top:9px;border-top:1px solid #e3e0d7;color:#425c4f;white-space:nowrap}
.notice-flow .icon{width:12px;height:12px}
@media(max-width:1360px){.actor-notice[data-type=remote]{width:300px}}
