@import url('./call-portrait.css?v=1');
.ice-job{position:relative;isolation:isolate;width:100%;height:100%;min-height:320px;overflow:hidden;color:#fff0d1;background:#031525;font:500 clamp(14px,1.12vw,21px)/1.4 Arial,sans-serif;--ice-ruby:#a92b46;--ice-gold:#e9c581}
.ice-job *{box-sizing:border-box}.ice-job img{object-fit:contain;pointer-events:none;user-select:none}.ice-room,.ice-room-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.ice-job .ice-room{object-fit:cover}.ice-room-shade{z-index:-1;background:linear-gradient(#011122cc,transparent 20%,transparent 69%,#010d20ef)}
.ice-header{position:absolute;inset:2.3% 3% auto;display:flex;align-items:center;justify-content:space-between;gap:20px;text-shadow:0 2px 8px #000;z-index:4}.ice-heading h2{font:700 clamp(27px,3vw,58px)/1 Georgia,serif;letter-spacing:.04em;margin:5px 0;color:#ffe5aa}.ice-eyebrow{letter-spacing:.15em;font-size:.66em}.ice-tally{text-align:right;display:grid;gap:3px}.ice-tally span{color:#bdefff;font-size:.78em;letter-spacing:.06em}.ice-tally strong{font-size:1.6em;font-variant-numeric:tabular-nums;color:#ffe0a1}
.ice-board{position:absolute;inset:0}.ice-shelf-title{position:absolute;top:12.5%;left:22%;right:22%;margin:0;text-align:center;font-weight:bold;letter-spacing:.08em;font-size:.8em;color:#d4f2ff;text-shadow:0 2px 4px #000}
.ice-shelves{position:absolute;inset:18% 24% 25% 22%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:2% 5%}
.ice-bag{position:relative;appearance:none;display:grid;place-items:center;min-width:0;min-height:44px;padding:0;border:0;border-radius:20%;background:none;color:#fff0d1;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 5px 5px #0008);transition:filter .2s,transform .2s}.ice-bag-picture{display:grid;place-items:center;width:100%;height:100%;min-height:0;grid-area:1/1;pointer-events:none}.ice-bag-art{width:100%;height:100%;min-height:0;max-height:100%;grid-area:1/1;object-fit:contain}.ice-bag:not(:disabled):hover,.ice-bag:not(:disabled):focus-visible{filter:drop-shadow(0 0 12px #9aeaff);transform:translateY(-4px)}.ice-bag:focus-visible{outline:3px solid #ffdc9b;outline-offset:2px}.ice-bag:not(:disabled):active{transform:scale(.92)}.ice-bag-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;padding:2px 10px;border-radius:12px;background:#04162ff2;border:1px solid #b89055;color:#ffe4a9;font-weight:bold;font-size:.8em}.ice-bag:disabled{opacity:1}.ice-bag.is-open{cursor:default}.ice-bag.is-cash .ice-bag-label{color:#ffec9c;border-color:#eec96b}.ice-bag.is-ice .ice-bag-label{color:#c9edff;border-color:#78afd1}.ice-bag.is-revealing .ice-bag-art{animation:ice-reveal .65s ease-out both}.ice-bag.is-latest.is-cash{filter:drop-shadow(0 0 13px #f5c66688)}
.ice-milo,.ice-tommy{margin:0;position:absolute;filter:drop-shadow(2px 8px 7px #0006);pointer-events:none}.ice-milo{left:1%;bottom:19%;width:18%;height:46%;z-index:2}.ice-milo img,.ice-tommy img{width:100%;height:100%;object-position:bottom}.ice-milo figcaption,.ice-tommy figcaption{position:absolute;bottom:-4%;left:0;right:0;text-align:center;font:700 .7em Georgia,serif;color:#ffe0a1;text-shadow:0 2px 6px #000;white-space:nowrap}
.ice-crew-stage{position:absolute;inset:0;pointer-events:none;z-index:3}.ice-crew{position:absolute;right:1%;bottom:19%;width:25%;height:42%}.ice-tommy{left:0;bottom:1%;width:55%;height:100%;z-index:1;display:flex;justify-content:center}.ice-tommy-art{display:block;flex:none;position:relative;height:100%;aspect-ratio:684/1317;overflow:hidden}.ice-tommy-art img{position:absolute;max-width:none;width:149.7076%;height:116.6287%;left:-48.538%;top:-10.4024%;object-fit:fill}.ice-tommy figcaption{left:-10%;right:34%;bottom:-6%}.ice-tommy::before{content:"";position:absolute;bottom:-1%;left:18%;width:70%;height:5%;border-radius:50%;background:#0007;filter:blur(5px);z-index:-1}.ice-wagon{position:absolute;left:26%;width:70%;bottom:-14%;aspect-ratio:1424/1028;z-index:2}.ice-wagon::before{content:"";position:absolute;left:2%;right:1%;bottom:1%;height:18%;background:#0009;border-radius:50%;filter:blur(6px);transform:rotate(-5deg)}.ice-wagon-art{display:block;position:absolute;inset:0;overflow:hidden;filter:drop-shadow(0 4px 2px #0008)}.ice-wagon-art img{position:absolute;width:101.6854%;height:105.642%;max-width:none;left:-1.1236%;top:-1.9455%;object-fit:fill}.ice-wagon-front{clip-path:polygon(10.8% 33.9%,24.6% 40.4%,26.3% 40.3%,28.8% 42%,33.9% 41.7%,37.2% 41.3%,86.6% 35.9%,89.5% 35.8%,92.9% 35.2%,93.1% 33.5%,94.4% 33.1%,96.5% 35.2%,100% 100%,0 100%,0 56%);filter:none}.ice-cargo{position:absolute;left:29%;right:7%;top:25%;height:24%;isolation:isolate;rotate:-4deg}.ice-cargo-bag{position:absolute;width:40%;height:140%;filter:drop-shadow(0 2px 2px #0008)}

.ice-meters{position:absolute;left:23%;right:25%;bottom:18%;display:flex;gap:16px;justify-content:space-between;font-size:.78em;font-weight:700;text-shadow:0 2px 4px #000}.ice-money-count{color:#ffe4a1}.ice-cold-count{color:#d6f1ff;display:flex;align-items:center;gap:6px}.ice-cold-count i{display:inline-block;width:12px;height:12px;border:1px solid #93d5f0;border-radius:3px;background:#06192b}.ice-cold-count i.is-found{background:#addef4;box-shadow:0 0 6px #57b0ee}
.ice-footer{font:500 clamp(16px,1.12vw,21px)/1.4 Arial,sans-serif;letter-spacing:normal;color:#fff0d1;padding:0;justify-content:stretch;grid-template-columns:minmax(0,1fr);position:absolute;bottom:2%;left:3%;right:3%;z-index:5;display:grid;gap:7px}.ice-instructions{margin:0;text-align:center;color:#e2f4ff;font-size:.8em;text-shadow:0 2px 4px #000}.ice-dialogue{min-height:62px;display:flex;align-items:center;gap:18px;padding:12px 24px;background:#051c35f0;border:2px solid #a92b46;border-radius:18px;box-shadow:0 4px 16px #0007}.ice-dialogue__name{flex:none;color:#ffdaa1;font-family:Georgia,serif;min-width:60px}.ice-dialogue__text{font-size:1em}
.ice-controls{position:absolute;right:3%;top:10.5%;display:flex;align-items:center;gap:6px;z-index:8;font-size:12px}.ice-controls button,.ice-return{appearance:none;color:#ffe9c3;background:#09253dee;border:1px solid #ae4f61;border-radius:10px;min-height:44px;padding:8px 12px;font:inherit;cursor:pointer;touch-action:manipulation}.ice-controls button:focus-visible,.ice-return:focus-visible{outline:3px solid #fcda92;outline-offset:2px}.ice-controls button:hover,.ice-return:hover{background:#532439}.ice-volume{display:flex;align-items:center;gap:5px;background:#061a30eb;border-radius:10px;padding:0 7px;min-height:44px}.ice-volume input{width:80px;accent-color:#b83752;height:34px}.ice-volume output{width:35px;font-variant-numeric:tabular-nums}
.ice-milo-phone{left:4%;right:auto;bottom:6%;z-index:3}.ice-call-ringing .ice-milo-phone{opacity:0;visibility:hidden;pointer-events:none}
/* Outline the artwork, not the name or floor shadow. Speech uses the same
   recording-derived light yellow as the caller circles, with silent gaps. */
.ice-milo,.ice-tommy{--ice-speech-level:0}
.ice-milo>img,.ice-tommy-art{transition:filter 55ms linear}
.ice-milo.is-speaking>img,.ice-milo.is-speaking>.ice-dialogue-video,.ice-tommy.is-speaking .ice-tommy-art{
 filter:drop-shadow(0 0 3px rgb(255 243 163 / var(--ice-speech-level))) drop-shadow(0 0 10px rgb(255 243 163 / calc(var(--ice-speech-level)*.8)));
}
.ice-dialogue-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:bottom;pointer-events:none;z-index:1}.ice-dialogue-video[hidden]{display:none}
/* Tommy's video shares the PNG crop wrapper, so the original 1024×1536 canvas
   remains registered to the same visible feet and body placement. */
.ice-tommy-art>.ice-dialogue-video{width:149.7076%;height:116.6287%;left:-48.538%;top:-10.4024%;object-fit:fill}
.ice-milo.is-dialogue-video>img,.ice-tommy.is-dialogue-video .ice-tommy-art>img{visibility:hidden}
@media(prefers-reduced-motion:reduce){.ice-milo>img,.ice-tommy-art{transition:none}}
.ice-slate-phone{top:19%;right:3%;z-index:4}

.ice-result{position:absolute;z-index:7;inset:18% 28% 19%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;background:radial-gradient(ellipse at 50% 30%,#163e63,#02182ef7);border:2px solid #bc3853;border-radius:28px;box-shadow:0 12px 90px #000d;gap:8px;text-align:center}.ice-result-money{height:30%;width:62%;filter:drop-shadow(0 0 20px #ffcf8055)}.ice-result h3{font:700 clamp(32px,3.2vw,68px)/1.1 Georgia,serif;color:#ffe1a4;margin:0}.ice-result p{margin:0}.ice-result small{font-size:.7em;color:#b9d8e9}.ice-return{margin-top:5px;background:#6d1830;padding:12px 26px;font-weight:bold}.ice-kicker{font-size:.8em;letter-spacing:.13em;color:#ffe2a6;text-align:center}
@keyframes ice-reveal{0%{transform:scale(.7);filter:brightness(1.8)}65%{transform:scale(1.08)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:900px){.ice-job{font-size:14px}.ice-header{inset:2% 3% auto}.ice-heading h2{font-size:28px}.ice-eyebrow{font-size:9px}.ice-tally span{font-size:10px}.ice-tally strong{font-size:21px}.ice-controls{top:11%;font-size:11px}.ice-controls button{padding:5px 8px}.ice-volume{gap:2px}.ice-volume input{width:62px}.ice-footer{bottom:2%;gap:5px}.ice-dialogue{padding:9px 14px;min-height:58px;gap:10px}.ice-instructions{font-size:11px}.ice-result{inset:18% 21% 24%;padding:14px}.ice-bag-label{font-size:11px;padding:0 6px}.ice-meters{font-size:10px;gap:8px}.ice-shelf-title{left:20%;right:auto;top:14%;font-size:10px}}
@media(max-width:600px) and (orientation:portrait){.ice-job{min-height:620px}.ice-header{align-items:start}.ice-heading h2{font-size:24px}.ice-tally span{font-size:9px}.ice-tally strong{font-size:18px}.ice-room{object-position:50%}.ice-controls{top:11%;left:3%;right:3%;justify-content:center;gap:5px}.ice-volume input{width:65px}.ice-shelf-title{top:19%;left:3%;right:3%;font-size:11px}.ice-shelves{inset:23% 9% 36%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:2% 5%}.ice-milo{width:23%;height:23%;left:2%;bottom:16%}.ice-crew{right:3%;bottom:16%;width:43%;height:20%}.ice-wagon{bottom:0}.ice-meters{left:28%;right:45%;bottom:20%;flex-direction:column;gap:8px;font-size:10px}.ice-cold-count{flex-wrap:wrap;gap:3px}.ice-cold-count i{width:9px;height:9px}.ice-footer{bottom:2%;height:12.5%;gap:5px}.ice-dialogue{display:block;min-height:0;padding:6px 11px;font-size:12px;line-height:1.3}.ice-dialogue__name{display:block;margin-bottom:2px}.ice-instructions{font-size:10px;line-height:1.25}.ice-milo figcaption,.ice-tommy figcaption{font-size:9px}.ice-milo-phone{left:3%;right:auto;bottom:6%;width:var(--call-circle-width)}.ice-slate-phone{top:17%;right:5%;width:var(--call-circle-width)}.ice-result{inset:23% 6% 22%;padding:16px;gap:10px}.ice-result h3{font-size:32px}.ice-result p{font-size:13px}.ice-job[data-stage=briefing] .ice-room{object-position:50%}.ice-job[data-stage=briefing] .ice-footer{height:17%}}
@media(max-height:560px) and (orientation:landscape){.ice-heading h2{font-size:23px}.ice-eyebrow{font-size:8px}.ice-controls{top:2%;right:24%;font-size:10px}.ice-volume input{width:45px}.ice-header{align-items:start}.ice-tally strong{font-size:18px}.ice-shelf-title{top:16%;left:20%;right:23%;font-size:9px}.ice-shelves{top:22%;bottom:30%}.ice-meters{bottom:23%;font-size:9px}.ice-milo,.ice-crew{bottom:22%}.ice-dialogue{min-height:44px;padding:6px 12px;font-size:12px}.ice-instructions{font-size:10px}.ice-footer{gap:2px}.ice-result{inset:17% 26% 23%;gap:3px;padding:10px}.ice-result-money{height:20%}.ice-result h3{font-size:28px}.ice-return{padding:5px 14px}.ice-result p{font-size:12px}.ice-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ice-job *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ice-job.ice-paused *{animation-play-state:paused!important}
.ice-office-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#03101c;z-index:1}
.ice-office-video[hidden]{display:none}
.ice-milo-phone{z-index:3}
.ice-scene-fade{position:absolute;inset:0;z-index:100;background:#000;opacity:0;pointer-events:auto}
.ice-video-active .ice-header:not(.ice-header--office),.ice-video-active .ice-footer,.ice-video-active .ice-board,.ice-video-active .ice-room-shade{visibility:hidden}
.ice-video-active .ice-controls{top:2.3%;right:3%;left:auto}
.ice-job[data-stage=briefing] .ice-room-shade{visibility:hidden}
.ice-job[data-stage=briefing] .ice-controls{top:2.3%;right:3%;left:auto}
.ice-video-play{position:absolute;z-index:10;bottom:12%;left:50%;transform:translateX(-50%);min-height:48px;padding:12px 25px;border:1px solid #f1c981;border-radius:24px;background:linear-gradient(#b52743,#650e29);color:#ffe9c3;font:700 1em Arial,sans-serif;cursor:pointer;box-shadow:0 4px 18px #0009}
.ice-video-play:focus-visible{outline:3px solid #fcda92;outline-offset:3px}
/* Keep the approved floor composition consistent as the viewport changes. */
.ice-job{container-type:size}
.ice-dialogue{min-height:clamp(42px,5.74cqh,62px);padding:clamp(6px,1.11cqh,12px) clamp(12px,1.25cqw,24px)}
.ice-job[data-stage=result] .ice-shelf-title{visibility:hidden}
/* Keep the conversation in the clear floor space, away from feet and wheels. */
@media(min-width:601px) and (orientation:landscape){.ice-job:not([data-stage=briefing]) .ice-footer{left:21%;right:26%}.ice-job:not([data-stage=briefing]) .ice-dialogue{gap:10px}.ice-job:not([data-stage=briefing]) .ice-dialogue__name{min-width:42px}}
@media(max-width:600px) and (orientation:portrait){.ice-milo{left:8%;bottom:24.5%}.ice-crew{bottom:21.3%}.ice-wagon{bottom:35%}}
.ice-job[data-stage=result] .ice-meters{visibility:hidden}
.ice-milo-exit{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;pointer-events:none;background:transparent;will-change:transform}
.ice-milo-exit[hidden],.ice-milo[hidden]{display:none}
.ice-milo-exiting .ice-milo>img,.ice-milo-exiting .ice-milo>figcaption{visibility:hidden}
.ice-milo-exiting .ice-milo{filter:drop-shadow(2px 8px 7px #0006)}
.ice-milo-exited .ice-milo{visibility:hidden}
/* The moving hat extends above the standing-art box. Let the transparent
   video use its full canvas; the room and foreground crates handle occlusion. */
.ice-milo-exit-viewport{position:absolute;inset:0;overflow:visible;pointer-events:none;visibility:hidden}
.ice-milo-exiting .ice-milo-exit-viewport{visibility:visible}
/* Preserve the 16:9 native canvas. freezer-exit fits its original 600×900
   Milo rectangle to the contained standing image before playback. */
.ice-milo-exit--native{inset:auto;left:-210%;bottom:-9.3%;width:320%;height:auto;max-width:none;aspect-ratio:16/9;object-fit:contain;object-position:center;will-change:auto}
.ice-milo-exit.is-packed{opacity:0;pointer-events:none}
.ice-milo-exit-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;pointer-events:none;visibility:hidden;will-change:transform}
.ice-milo-exiting .ice-milo-exit-layer{visibility:visible}
@media(min-width:601px) and (orientation:landscape){.ice-meters{right:35%}}
.ice-milo-exiting .ice-milo{filter:none}

.ice-exit-foreground{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}

/* Picking stays in the room: the money moves into the wagon, leaving only
   its reward at the now-empty shelf position. */
.ice-header--collection{align-items:flex-start}
.ice-tally--collection{gap:clamp(8px,1.2cqh,14px);justify-items:end}
.ice-tally--collection .ice-score{font:700 clamp(22px,3.1cqh,39px)/1.1 Georgia,serif;color:#ffe6a8;letter-spacing:.03em;text-shadow:0 2px 4px #000,0 0 18px #000}
.ice-cold-blocks{display:flex;gap:clamp(8px,1cqw,15px)}
.ice-cold-blocks .ice-cold-block{position:relative;display:block;width:clamp(23px,3.6cqh,42px);aspect-ratio:1;border:2px solid #bae8ffb0;border-radius:6px;background:#0b24354d;box-shadow:inset 0 0 7px #020a1399,0 2px 7px #0007}
.ice-cold-block::before{content:'';position:absolute;inset:4px;border:1px solid #d9f5ff38;border-radius:2px}
.ice-cold-block.is-found{border-color:#e2f8ff;background:linear-gradient(135deg,#f3fdff 0%,#9eddf0 28%,#d3f7ff 43%,#64accb 73%,#b0e9fb);box-shadow:inset 0 1px 3px #fff,0 0 12px #a2e6ff66,0 2px 6px #0008}
.ice-cold-block.is-found::before{border-color:#ffffffa3;background:linear-gradient(135deg,transparent 48%,#ffffff9c 49%,#ffffff9c 53%,transparent 54%)}
.ice-bag-space{position:relative;min-width:0;min-height:44px;display:grid;place-items:center;pointer-events:none}
.ice-bag-outcome{position:absolute;left:49%;top:66.2%;translate:-50% -50%;font:700 clamp(27px,4.2cqh,52px)/1 Georgia,serif;letter-spacing:.03em;color:#ffe7a2;text-shadow:0 2px 2px #1f1209,0 0 10px #000,0 0 22px #000}
.ice-bag-outcome.is-ice{font-family:Arial,sans-serif;font-weight:900;letter-spacing:.06em;color:#99b5bd;text-shadow:0 2px 0 #395965,0 3px 8px #000}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .ice-bag-outcome.is-ice{background:linear-gradient(125deg,transparent 0 28%,#c1d5d944 29% 31%,transparent 32% 67%,#b4cbd033 68% 70%,transparent 71%),linear-gradient(180deg,#b4c9ce 0%,#97b2bc 22%,#718f9d 46%,#adc4cb 49%,#8fabb6 57%,#617e8d 78%,#a2bbc3 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:.45px #a0bac3;text-shadow:none;filter:drop-shadow(0 2px 0 #395965) drop-shadow(0 3px 5px #0009)}
}
.ice-bag-outcome.is-latest{animation:ice-outcome .5s ease-out both}
.ice-bag-outcome.is-multiplier{font-size:clamp(34px,5.6cqh,70px);color:#fff0ad;text-shadow:0 2px 2px #28180d,0 0 13px #b67a2866,0 0 22px #000}
.ice-tally .ice-cash-multiplier{color:#ffe5a0;font-weight:700;letter-spacing:.08em;font-size:.8em}
@keyframes ice-outcome{from{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}
.ice-job:not([data-stage=briefing]) .ice-controls{top:auto;right:3%;left:auto;bottom:2%}
@media(max-width:600px) and (orientation:portrait){.ice-header--collection .ice-heading h2{font-size:21px}.ice-tally--collection .ice-score{font-size:21px}.ice-cold-blocks .ice-cold-block{width:25px}.ice-job:not([data-stage=briefing]) .ice-controls{left:3%;right:3%;bottom:2%;justify-content:center}}
