:root{--ink:#163b5a;--navy:#103b63;--blue:#166ca4;--gold:#d99a29;--paper:#fff9ed;--line:#ccdae5;--mint:#20877b;--shadow:0 8px 0 #103b6314;--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{font-family:Trebuchet MS,Arial,sans-serif;background:#edf4f8;color:var(--ink);overflow:hidden}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #efad2f;outline-offset:3px}button{border:0}a{color:inherit}#game-shell{height:100dvh;height:100svh;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) var(--safe-b) env(safe-area-inset-left,0px);background:radial-gradient(ellipse at top,#fffdf6,#e9f2f7 65%)}.topbar{height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:7px clamp(14px,3vw,42px);border-bottom:1px solid #c4d8e5;background:#fffffff0;z-index:3}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:900;letter-spacing:1px}.brand img{width:55px;height:56px;object-fit:contain}.brand small{display:block;font-size:11px;letter-spacing:1.5px;font-weight:500;margin-top:4px}.top-actions{display:flex;gap:8px}.icon-button{display:flex;align-items:center;gap:6px;min-height:40px;padding:9px 13px;border:1px solid #d4e0e7;background:#f4f8fa;border-radius:12px;color:#244d6c;font-weight:800}.icon-button[aria-pressed=true]{background:#e0f0f8;border-color:#a5ccde}.icon-button span{font-size:11px}#app{flex:1;min-height:0;position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary,.secondary,.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:13px;padding:14px 22px;min-height:48px;font-weight:900;text-decoration:none;transition:transform .12s,box-shadow .12s}.primary{background:linear-gradient(#1a7cb7,#125d94);color:white;border:1px solid #14557f;box-shadow:0 4px 0 #0d3a60}.secondary{background:white;color:var(--ink);border:1px solid #b8cddd;box-shadow:0 3px 0 #d4e1e8}.gold-button{background:linear-gradient(#ffe2a0,#f2bc52);color:#594019;border:1px solid #b37a25;box-shadow:0 4px 0 #a76f21}.primary:active,.secondary:active,.gold-button:active{transform:translateY(3px);box-shadow:none}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.5px;font-weight:900;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}p{line-height:1.55}.home{height:100%;overflow:auto;padding:clamp(18px,4vh,50px) clamp(18px,4vw,60px) 18px;display:flex;flex-direction:column;justify-content:center;gap:20px;max-width:1440px;margin:auto}.home-main{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:35px}.home h1{font-size:clamp(48px,6.6vw,94px);letter-spacing:-4px;color:#124871;line-height:.88;margin:20px 0}.home h1 em{font-style:normal;color:#d39526;text-shadow:2px 3px #f8e3b7}.subtitle{font-size:17px;color:#557085;margin-bottom:20px;max-width:500px}.edition{display:inline-flex;gap:8px;border:1px solid #b8cfde;border-radius:100px;padding:7px 12px;background:white;font-size:11px;font-weight:900;letter-spacing:1px}.home-actions{display:flex;gap:12px;flex-wrap:wrap}.role-choices{display:flex;gap:8px;margin:16px 0 22px}.role-choice{border:2px solid #d3dfe7;background:#fff;border-radius:12px;padding:10px 13px;text-align:left;font-size:12px;color:#456278}.role-choice strong{display:block;color:#133c5b;margin-bottom:3px}.role-choice.selected{border-color:#1475b0;background:#eaf6fc;box-shadow:0 0 0 3px #1475b010}.role-dot{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:3px;background:#16284d}.role-dot.olive{background:#67723b}.showcase{position:relative;min-height:330px;background:linear-gradient(135deg,#153f69,#086e8a);border:5px solid white;outline:1px solid #bdcfd9;border-radius:25px;box-shadow:0 18px 50px #173f6226;overflow:hidden}.showcase:before,.showcase:after{content:'';position:absolute;top:0;width:100px;height:100%;background:repeating-linear-gradient(90deg,#11375b,#245a7a 15px,#11375b 30px);z-index:1;clip-path:polygon(0 0,100% 0,50% 75%,0 100%)}.showcase:after{right:0;transform:scaleX(-1)}.showcase:before{left:0}.show-screen{position:absolute;top:25px;left:15%;right:15%;height:175px;border:7px solid #e7b657;background:#f3efdf;box-shadow:0 6px 0 #082f49;display:flex;gap:5px;padding:8px}.show-screen svg{width:50%;height:100%;object-fit:contain}.showcase .star-light{position:absolute;top:-5px;left:20%;width:60%;height:100%;background:linear-gradient(#fff7d620,transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%)}.showcase .castline{position:absolute;bottom:0;width:100%;height:145px;z-index:2}.showcase .home-host{position:absolute;bottom:24px;right:0;width:165px;height:165px;z-index:3}.home-bubble{position:absolute;right:18px;top:15px;z-index:4;background:#fffdf3;border:2px solid #dfb866;border-radius:12px;padding:10px 13px;max-width:210px;font-size:12px;font-weight:700;box-shadow:0 4px 0 #173a5620}.home-bubble:after{content:'';position:absolute;right:23px;bottom:-9px;width:14px;height:14px;background:#fffdf3;border-right:2px solid #dfb866;border-bottom:2px solid #dfb866;transform:rotate(45deg)}.home-ribbon{display:flex;align-items:center;justify-content:space-around;gap:12px;background:#fff;border:1px solid #d6e3ea;padding:15px 20px;border-radius:15px;font-size:12px;font-weight:800}.home-ribbon b{color:#cc8e26;margin-right:5px;font-size:17px}.fineprint{font-size:10px;color:#6c8290;text-align:center;margin:0}.link-button{background:none;text-decoration:underline;color:#345f7c;padding:4px;font-size:11px}
.castline{display:flex;align-items:flex-end;justify-content:center;gap:0;pointer-events:none}.seat{width:125px;height:125px;position:relative;flex-shrink:0}.seated{width:100%;height:100%;background-image:url('assets/audience-seated.png');background-size:400% 200%;background-position:0 0;image-rendering:auto;transition:filter .2s}.seat.c1 .seated{background-position-x:33.333%}.seat.c2 .seated{background-position-x:66.667%}.seat.c3 .seated{background-position-x:100%}.clapping .seated{background-position-y:100%;animation:applaud .35s ease-in-out 4}.seat.player:before{content:'';position:absolute;bottom:0;left:15%;right:15%;height:15px;border-radius:50%;background:#ffda75;box-shadow:0 0 22px 9px #ffcf5066}.seat.player .seated{position:relative}.player-tag{position:absolute;bottom:-8px;left:25%;width:50%;text-align:center;z-index:2;font-size:8px;background:#f6c55d;border:1px solid #d49c34;border-radius:5px;padding:2px;color:#493719;font-weight:900;letter-spacing:1px}.seat-badge{position:absolute;width:9%;height:10%;left:54%;top:43%;object-fit:contain}.nurse-avatar{background:url('assets/nurse-directions.png') 0 0/400% 400%;width:100%;height:100%;position:relative}.nurse-avatar:after{content:'';position:absolute;left:55.5%;top:39%;width:4%;height:4%;background:url('assets/koc-blue.svg') center/contain no-repeat}.host-speaking .nurse-avatar{animation:host-bob .5s ease-in-out 3}.home-host .nurse-avatar{filter:drop-shadow(0 8px 2px #133b4c33)}
.play{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) 130px 54px;padding:12px 24px 0;gap:10px;max-width:1600px;margin:auto}.round-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px}.round-heading h2{font-size:22px;margin:5px 0 0;letter-spacing:-.6px}.round-heading .eyebrow{font-size:9px;letter-spacing:2px}.round-steps{display:flex;gap:6px}.step{width:30px;height:6px;border-radius:10px;background:#cddce5}.step.active{background:#d8a445}.step.done{background:#258d84}.scoreline{display:flex;gap:10px;align-items:center}.score-pill{display:flex;gap:6px;align-items:center;background:white;border:1px solid #c9dae5;border-radius:12px;padding:10px 13px;font-size:12px;font-weight:900;white-space:nowrap;position:relative}.score-pill .star{color:#d39526;font-size:18px}.score-pill small{font-weight:500;color:#627c8d}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-height:0}.picture-card{min-height:0;background:white;border:1px solid #bbcfdd;box-shadow:var(--shadow);border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.picture-heading{height:38px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-bottom:1px solid #d7e2e9;font-size:11px;font-weight:900;letter-spacing:1px;background:#f8fbfd}.picture-label{display:flex;align-items:center;gap:7px}.letter{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e3eef6;color:#175a84}.picture-card:nth-child(2) .letter{background:#fff1ce;color:#8e6324}.zoom-button{background:white;color:#3a5d75;border:1px solid #c7d6e1;border-radius:7px;padding:5px 9px;font-size:10px}.picture-space{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#f0e7d5;overflow:hidden}.scene-frame{position:relative;width:100%;aspect-ratio:600/360;max-height:100%;container-type:inline-size;touch-action:manipulation}.scene-frame svg.scene{display:block;width:100%;height:100%;object-fit:contain}.scene-click-layer{position:absolute;inset:0;cursor:crosshair}.hotspot{position:absolute;background:transparent;border:2px solid transparent;border-radius:10px;min-width:0;min-height:0;color:transparent;padding:0}.hotspot:focus-visible{outline:3px dashed #1574a5;background:#ffffff30}.hotspot.found{border:2px solid #1c9a7b;background:#39ba8e10;pointer-events:none}.hotspot.found:after{content:'✓';position:absolute;right:-7px;top:-9px;width:21px;height:21px;display:grid;place-items:center;background:#16826d;border:2px solid white;color:white;border-radius:50%;font-size:11px;font-weight:bold}.hotspot.hinted{border:3px dashed #e4ae35;animation:hint-glow .7s 3}.picture-caption{text-align:center;font-size:8px;letter-spacing:.4px;padding:4px;background:#fff;color:#72828a;flex:none}.hall{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:12px;min-height:0;border-top:1px solid #c6d9e5;border-radius:20px 20px 0 0;background:linear-gradient(#f8f1e2,#ede2c8);overflow:visible;padding:6px 15px 0}.hall:before{content:'';position:absolute;left:0;right:0;bottom:0;height:25px;background:repeating-linear-gradient(90deg,#dbbe8b,#e8d5ae 70px);opacity:.35}.host-zone{display:flex;align-items:center;min-width:0;position:relative;z-index:1}.host-figure{flex:none;width:105px;height:115px;align-self:flex-end}.speech{position:relative;align-self:center;border:2px solid #d4a953;background:#fffefa;border-radius:14px;padding:12px 14px;box-shadow:0 4px 0 #ba9f6a20;max-width:440px}.speech:before{content:'';position:absolute;left:-9px;top:45%;width:14px;height:14px;background:#fffefa;border-left:2px solid #d4a953;border-bottom:2px solid #d4a953;transform:rotate(45deg)}.speech small{display:block;font-size:8px;letter-spacing:1.5px;color:#a67526;font-weight:900;margin-bottom:5px}.speech p{margin:0;font-size:12px;line-height:1.4}.hall .castline{position:relative;min-width:0;overflow:hidden;height:124px;padding-bottom:10px}.hall .seat{width:110px;height:110px;margin:0 -6px}.hall .seat.player{transform:scale(1.08);z-index:2}.control-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 0 8px;position:relative}.control-hint{font-size:11px;color:#597487;line-height:1.3}.control-hint strong{display:block;color:#244962}.control-actions{display:flex;gap:7px}.control-actions button{min-height:37px;padding:8px 13px;font-size:11px;border-radius:10px}.mini-progress{display:flex;gap:5px}.mini-progress i{height:7px;width:18px;background:#c8dbe4;border-radius:5px}.mini-progress i.done{background:#1b9981}.burst{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:visible}.burst span{position:absolute;color:#eab743;font-size:15px;left:50%;top:50%;animation:star-pop .7s forwards}.tap-ping{position:absolute;width:25px;height:25px;border:3px solid #ffa842;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:ping .5s forwards}.summary{max-width:960px;height:100%;overflow:auto;margin:auto;padding:25px 25px 35px;text-align:center}.summary .medallion{font-size:45px;width:85px;height:85px;margin:0 auto 16px;border:2px solid #daac46;border-radius:50%;background:#fff2c9;display:grid;place-items:center;box-shadow:0 0 0 7px #f9eac3}.summary h1{font-size:clamp(30px,5vw,50px);margin:12px 0}.summary>p{color:#5c778a;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{padding:18px 8px;background:white;border:1px solid #c3d8e4;border-radius:15px}.stat b{display:block;font-size:28px;color:#195c83;margin-bottom:5px}.stat span{font-size:11px;color:#5a7588}.summary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0}.summary details{background:#fff;border:1px solid #c6d9e4;padding:13px;border-radius:12px;text-align:left;font-size:12px;max-width:650px;margin:15px auto}.summary textarea{display:block;width:100%;height:150px;font:12px/1.5 monospace;margin:12px 0;resize:vertical;border:1px solid #a4bdcd;border-radius:6px;padding:9px}.summary .castline{height:115px;margin:10px auto;max-width:700px;overflow:hidden}.summary .seat{height:110px;width:110px}.whatsapp{background:linear-gradient(#188b73,#116a5b);border-color:#105547;box-shadow:0 4px 0 #104f46}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:#082d48b0;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));backdrop-filter:blur(5px)}.modal{width:min(800px,100%);max-height:calc(100dvh - 32px);max-height:calc(100svh - 32px);display:flex;flex-direction:column;min-height:0;background:#fffdf6;border:2px solid #e4c784;border-radius:22px;box-shadow:0 20px 100px #05243a55;overflow:hidden}.modal.wide{width:min(1060px,100%)}.modal-header{display:flex;align-items:center;gap:12px;padding:15px 22px;border-bottom:1px solid #e2ddcf;flex:none;background:#fff8e6}.modal-header .host-head{width:55px;height:55px;flex:none;overflow:hidden;background:#e4f1f5;border-radius:12px}.host-head .nurse-avatar{height:180%;width:180%;left:-40%;top:0}.modal-header h2{margin:3px 0 0;font-size:23px}.modal-header .eyebrow{font-size:9px}.close-button{margin-left:auto;width:36px;height:36px;border:1px solid #c2ced5;border-radius:50%;background:white;color:#35566d;font-size:20px;flex:none}.modal-body{padding:20px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}.modal-footer{padding:13px 22px;border-top:1px solid #dddcd1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffaf0;flex:none}.modal-footer button{font-size:12px;min-height:42px;padding:10px 18px}.modal-footer .footer-note{font-size:11px;color:#6b807f;max-width:55%;line-height:1.4}.question-text{font-size:20px;font-weight:800;line-height:1.35;margin:0 0 15px}.question-context{color:#67818d;font-size:12px;margin-bottom:12px}.answers{display:grid;gap:10px}.answer{display:flex;align-items:center;gap:12px;border:2px solid #c5d6e1;background:white;text-align:left;padding:13px;border-radius:12px;color:#21485f;line-height:1.35;font-size:14px;min-height:58px}.answer .option-letter{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e7f0f6;font-size:12px;font-weight:900}.answer.correct{background:#e3f6ed;border-color:#279b7c}.answer.wrong{background:#fff0e6;border-color:#d39a62}.answer:disabled{opacity:1}.answer:not(:disabled):hover{border-color:#2b83b4;background:#f2f9fe}.feedback{border-radius:12px;margin-top:14px;padding:13px 15px;background:#e6f5ed;border:1px solid #a1cfb6;font-size:13px;line-height:1.5}.feedback.wrong{background:#fff0dd;border-color:#e7c395}.feedback b{display:block;margin-bottom:4px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.help-item{background:white;border:1px solid #d1dce2;border-radius:13px;padding:15px}.help-item>b{display:grid;place-items:center;width:30px;height:30px;background:#f6d486;color:#5c431c;border-radius:10px;margin-bottom:12px}.help-item h3{font-size:16px}.help-item p{font-size:13px;margin-bottom:0}.intro-chips{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.intro-chips span{background:#eaf3f7;border:1px solid #c2d9e5;border-radius:50px;padding:7px 12px;font-size:11px}.intro-scene{border:2px solid #a8bfce;border-radius:13px;overflow:hidden;width:100%;max-height:240px;background:#f2eadb}.intro-scene svg{display:block;width:100%;height:100%;max-height:240px}.round-intro-copy{font-size:15px;color:#4f6b7b}.zoom-modal .modal-body{padding:8px;background:#e1eaf0}.zoom-modal .scene-frame{max-height:none;width:100%;aspect-ratio:600/360}.zoom-modal .scene-frame svg{width:100%;height:auto}.zoom-modal .modal-footer{padding:8px 16px}.task-info{font-size:13px;margin-bottom:15px;color:#536e7b}.task-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cards-tray{display:flex;flex-wrap:wrap;gap:9px;align-content:flex-start}.task-card{position:relative;padding:13px;border:2px solid #b4cbd9;background:#fff;color:#204a63;border-radius:11px;min-height:58px;font-size:13px;text-align:left;line-height:1.3;font-weight:700;flex:1 1 44%;touch-action:none;user-select:none}.task-card.selected{border-color:#bf8a29;background:#fff0c8;box-shadow:0 0 0 3px #ecc46c30}.task-card.placed{opacity:.48;border-color:#368e7a;background:#e8f7ef}.task-card.placed:after{content:'✓';position:absolute;right:5px;top:3px;color:#16735e;font-size:16px}.task-destinations{display:grid;gap:10px}.dropzone{padding:16px;border:2px dashed #6b9bb5;background:#edf6fa;color:#24516e;border-radius:13px;min-height:95px;text-align:center;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.dropzone small{font-weight:400;font-size:11px}.dropzone.hover{background:#fff0c8;border-color:#bd8b31}.dropzone.danger{background:#f4f0e7;border-color:#b99b6d}.task-status{margin-top:13px;font-size:12px;min-height:20px;color:#40647c}.task-dots{display:flex;gap:6px}.task-dots span{width:25px;height:7px;border-radius:5px;background:#d0dfe7}.task-dots span.done{background:#2d9b80}.drag-ghost{position:fixed;z-index:100;background:#fff9e7;border:2px solid #ce9d42;border-radius:12px;padding:15px;pointer-events:none;max-width:170px;box-shadow:0 12px 25px #0b38533a;font-size:13px;font-weight:bold;transform:translate(-50%,-50%)}.setup-board{position:relative;border:2px solid #aac5d6;background:linear-gradient(135deg,#e3f4f7,#d8edf0);border-radius:13px;min-height:210px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-board .dropzone{min-height:90px;padding:10px;background:#ffffffad;font-size:11px;border-color:#c89a37}.setup-board .dropzone small{font-size:9px}.bonus-ribbon{background:#fff0cd;border:1px solid #e0b65b;border-radius:12px;padding:12px 15px;font-size:12px;font-weight:700;margin:15px 0}.route-map{position:relative;background:#dbece9;border:2px solid #81b6ac;border-radius:12px;height:220px;overflow:hidden;display:flex;align-items:center;padding:12px;gap:45px}.room-zone{height:100%;width:44%;border:2px solid #85aca6;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;font-weight:900;font-size:12px;text-align:center}.room-zone.magnet{background:#dce6f1;border-color:#8ba8c5}.room-zone.bay{background:#e6f8ef;border-color:#68ab91}.route-line{position:absolute;top:50%;left:22%;width:56%;height:7px;background:#dfb848;z-index:1}.route-map .route-stop{position:relative;z-index:2;width:65px;min-height:55px;background:#fff8de;border:2px solid #bb9236;border-radius:8px;color:#5d4a24;font-size:11px;padding:6px}.map-obstacle{background:#cba470!important;color:#44301c!important}.room-zone small{font-size:9px;font-weight:400;margin-top:5px}.route-plan{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-plan .dropzone{min-height:70px}.review-list{display:grid;gap:10px;font-size:13px}.review-list li{line-height:1.45;margin-bottom:8px}.about-content{font-size:13px;line-height:1.6}.about-content ul{padding-left:20px}.star-row{font-size:22px;color:#dbab42;letter-spacing:5px;margin:10px}.stage-complete{text-align:center}.stage-complete h3{font-size:27px}.stage-complete .round-intro-copy{max-width:580px;margin:0 auto 15px}.stage-complete .castline{height:100px;overflow:hidden}.stage-complete .seat{width:100px;height:100px}
@keyframes host-bob{50%{transform:translateY(-3px) rotate(-1deg)}}@keyframes applaud{50%{transform:translateY(-4px) rotate(1deg)}}@keyframes star-pop{to{transform:translate(var(--x),var(--y)) rotate(120deg);opacity:0}}@keyframes ping{to{opacity:0;scale:1.8}}@keyframes hint-glow{50%{background:#ffe8a84a;box-shadow:0 0 18px #e8b958}}
@media(min-width:1250px){.play{grid-template-rows:auto minmax(0,1fr) 145px 54px}.hall .castline{height:138px}.hall .seat{height:128px;width:128px}.host-figure{height:136px;width:124px}.speech p{font-size:14px}.picture-heading{height:42px}.picture-caption{font-size:9px}}
@media(max-width:900px) and (orientation:portrait){.topbar{height:58px;padding:6px 12px}.brand img{width:43px;height:46px}.brand{font-size:10px;letter-spacing:.5px;gap:7px}.brand small{font-size:8px}.top-actions{gap:4px}.icon-button{padding:8px 10px;min-height:36px}.icon-button span{display:none}.home{padding:17px 18px 12px;justify-content:flex-start;gap:12px}.home-main{grid-template-columns:1fr;gap:16px}.home h1{font-size:59px;margin:12px 0;letter-spacing:-3px}.home .subtitle{font-size:13px;margin-bottom:12px}.edition{font-size:9px}.role-choices{margin:11px 0 16px}.role-choice{padding:8px 10px;font-size:10px;flex:1}.home-actions button{flex:1;padding:12px 13px;font-size:12px;min-height:44px}.showcase{min-height:210px;border-radius:18px}.show-screen{height:105px;top:16px;padding:3px;border-width:5px}.showcase .castline{height:100px}.showcase .seat{width:83px;height:83px}.showcase .home-host{height:115px;width:115px;bottom:10px}.home-bubble{font-size:9px;max-width:135px;padding:7px;top:7px;right:8px}.home-ribbon{font-size:9px;padding:11px 7px;gap:7px}.home-ribbon b{font-size:13px}.fineprint{font-size:8px}.play{padding:8px 10px 0;gap:6px;grid-template-rows:44px minmax(0,1fr) 112px 46px}.round-heading h2{font-size:17px;margin:3px 0 0}.round-heading .eyebrow{font-size:7px}.round-steps{display:none}.scoreline{gap:5px}.score-pill{font-size:10px;padding:7px;border-radius:9px;gap:4px}.score-pill small{display:none}.score-pill .star{font-size:15px}.comparison{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:8px}.picture-card{border-radius:10px;box-shadow:0 3px 0 #163e5614}.picture-heading{height:24px;padding:2px 8px;font-size:8px}.letter{height:17px;width:17px;font-size:9px;border-radius:4px}.zoom-button{padding:2px 6px;font-size:8px}.picture-caption{display:none}.scene-frame{height:100%;width:auto;max-width:100%;aspect-ratio:600/360}.picture-space{padding:0}.hall{padding:4px 6px 0;grid-template-columns:1fr;gap:0;border-radius:12px 12px 0 0}.host-zone{position:absolute;left:0;right:0;top:0;height:65px;z-index:2}.host-figure{height:72px;width:67px;align-self:flex-start}.speech{margin:5px 6px 0 0;flex:1;padding:6px 9px;border-radius:10px;border-width:1px}.speech:before{width:10px;height:10px;left:-6px;border-width:1px}.speech small{font-size:6px;margin-bottom:3px}.speech p{font-size:10px;line-height:1.3}.hall .castline{height:66px;align-self:end;padding:0 0 8px;justify-content:flex-end;margin-right:5px;overflow:visible}.hall .seat{width:67px;height:67px;margin:0 -5px}.hall .seat:nth-child(1){display:none}.player-tag{font-size:6px;bottom:-7px}.control-hint{font-size:8px;max-width:160px}.control-actions{gap:5px}.control-actions button{padding:7px 9px;min-height:33px;font-size:9px}.mini-progress{display:none}.modal-backdrop{padding:10px}.modal{border-radius:16px;max-height:calc(100svh - 20px)}.modal-header{padding:10px 13px;gap:9px}.modal-header h2{font-size:19px}.modal-header .host-head{width:42px;height:42px}.modal-header .eyebrow{font-size:7px}.modal-body{padding:15px}.modal-footer{padding:11px 13px;gap:8px}.modal-footer .footer-note{font-size:9px}.modal-footer button{padding:9px 12px;font-size:11px}.question-text{font-size:17px}.question-context{font-size:10px}.answer{font-size:12px;padding:10px;gap:8px;min-height:54px}.answer .option-letter{height:24px;width:24px;font-size:10px}.feedback{font-size:11px;padding:11px}.help-grid{grid-template-columns:1fr;gap:8px}.help-item{padding:11px;display:grid;grid-template-columns:28px 1fr;gap:0 12px}.help-item>b{grid-row:span 2;margin-bottom:0}.help-item h3{margin-bottom:5px;font-size:14px}.help-item p{font-size:11px}.intro-scene{max-height:180px}.intro-scene svg{max-height:180px}.task-layout{grid-template-columns:1fr;gap:11px}.task-destinations{grid-template-columns:1fr 1fr}.task-card{font-size:11px;min-height:51px;padding:10px}.dropzone{font-size:10px;min-height:80px;padding:10px}.dropzone small{font-size:9px}.task-info{font-size:11px;margin-bottom:11px}.setup-board{min-height:170px;padding:10px}.setup-board .dropzone{min-height:65px}.route-map{height:175px;gap:35px}.summary{padding:20px 15px}.summary .medallion{width:68px;height:68px;font-size:35px}.summary h1{font-size:32px}.summary>p{font-size:13px}.stats{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.stat{padding:13px 6px}.stat b{font-size:23px}.stat span{font-size:10px}.summary .castline{height:90px}.summary .seat{width:83px;height:83px}.summary-actions{gap:9px}.summary-actions a,.summary-actions button{font-size:12px;width:100%}}
@media(max-height:540px) and (orientation:landscape){.topbar{height:42px;padding:3px 13px}.brand img{width:34px;height:35px}.brand{font-size:10px;gap:7px}.brand small{font-size:7px;margin-top:2px}.icon-button{min-height:29px;padding:5px 9px;font-size:12px}.icon-button span{font-size:9px}.top-actions{gap:5px}.home{padding:14px 20px;gap:12px;justify-content:flex-start}.home-main{gap:18px}.home h1{font-size:49px;margin:9px 0;letter-spacing:-2px}.subtitle{font-size:11px;margin:8px 0}.edition{font-size:8px;padding:4px 8px}.role-choices{margin:8px 0 12px;gap:5px}.role-choice{font-size:9px;padding:6px 8px}.role-choice strong{margin-bottom:2px}.home-actions{gap:7px}.home-actions button{min-height:34px;padding:8px 12px;font-size:10px}.showcase{min-height:225px;border-radius:15px}.show-screen{height:116px;top:18px;border-width:5px}.showcase .seat{width:90px;height:90px}.showcase .castline{height:100px}.showcase .home-host{width:120px;height:120px;bottom:8px}.home-bubble{font-size:9px;padding:6px;max-width:145px;right:6px;top:6px}.home-ribbon{padding:8px 12px;font-size:9px}.home-ribbon b{font-size:13px}.fineprint{font-size:8px}.play{grid-template-rows:32px minmax(0,1fr) 66px 34px;gap:5px;padding:5px 12px 0}.round-bar{min-height:32px}.round-heading h2{font-size:16px;margin:2px 0 0}.round-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.score-pill{padding:5px 9px;font-size:10px;border-radius:9px}.score-pill .star{font-size:14px}.score-pill small{font-size:8px}.round-steps{gap:4px}.step{width:23px;height:4px}.comparison{gap:9px}.picture-card{border-radius:9px;box-shadow:0 3px 0 #103b6314}.picture-heading{height:23px;padding:2px 8px;font-size:8px}.letter{width:17px;height:17px;border-radius:4px;font-size:9px}.zoom-button{font-size:8px;padding:2px 6px}.picture-caption{display:none}.scene-frame{height:100%;width:auto;max-width:100%;aspect-ratio:600/360}.hall{border-radius:12px 12px 0 0;padding:0 7px;grid-template-columns:1.2fr 1fr;gap:0}.host-figure{width:65px;height:68px}.speech{padding:6px 9px;border-width:1px;border-radius:9px}.speech:before{width:10px;height:10px;left:-6px;border-width:1px}.speech small{font-size:6px;margin-bottom:2px}.speech p{font-size:9px;line-height:1.3}.hall .castline{height:65px;padding-bottom:5px}.hall .seat{width:66px;height:66px;margin:0 -3px}.player-tag{font-size:5px;padding:1px;bottom:-4px}.control-bar{padding-bottom:4px}.control-hint{font-size:8px}.control-actions button{padding:5px 10px;min-height:27px;font-size:9px;border-radius:8px}.mini-progress i{width:12px;height:5px}.modal-backdrop{padding:8px}.modal{max-height:calc(100svh - 16px);border-radius:14px;width:min(900px,100%)}.modal-header{padding:7px 14px;gap:8px}.modal-header h2{font-size:18px}.modal-header .eyebrow{font-size:7px}.modal-header .host-head{height:34px;width:34px}.close-button{height:29px;width:29px;font-size:17px}.modal-body{padding:12px 17px}.modal-footer{padding:7px 15px}.modal-footer button{min-height:31px;padding:7px 13px;font-size:10px}.modal-footer .footer-note{font-size:9px}.question-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:start}.question-text{font-size:17px;margin-bottom:8px}.question-context{font-size:10px;margin-bottom:6px}.answers{gap:6px}.answer{font-size:11px;padding:8px;min-height:41px;gap:8px;border-radius:9px}.answer .option-letter{width:22px;height:22px;font-size:9px}.feedback{font-size:10px;margin-top:9px;padding:9px;grid-column:1/-1}.help-item{padding:10px}.help-item h3{font-size:13px;margin-bottom:7px}.help-item p{font-size:11px}.help-item>b{width:23px;height:23px;margin-bottom:8px}.intro-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px;align-items:center}.intro-scene{max-height:165px}.intro-scene svg{max-height:165px}.round-intro-copy{font-size:12px}.intro-chips{gap:5px;margin:8px 0}.intro-chips span{font-size:9px;padding:5px 8px}.task-info{font-size:10px;margin-bottom:8px}.task-card{font-size:10px;min-height:42px;padding:8px}.task-destinations{gap:7px}.dropzone{font-size:11px;min-height:65px;padding:10px}.dropzone small{font-size:9px}.task-status{font-size:10px;margin-top:7px;min-height:15px}.setup-board{min-height:152px;padding:9px;gap:7px}.setup-board .dropzone{min-height:60px;font-size:10px;padding:7px}.route-map{height:150px}.bonus-ribbon{font-size:10px;padding:8px;margin:10px 0}.stage-complete h3{font-size:23px;margin-bottom:8px}.stage-complete .castline{height:75px}.stage-complete .seat{width:75px;height:75px}.stage-complete .round-intro-copy{font-size:12px}.summary{padding:15px 20px}.summary .medallion{display:none}.summary h1{font-size:29px;margin:8px 0}.summary>p{font-size:12px;margin-bottom:10px}.stats{margin:10px 0;gap:9px}.stat{padding:10px 8px}.stat b{font-size:22px}.stat span{font-size:9px}.summary .castline{height:65px}.summary .seat{height:70px;width:70px}.summary-actions{margin:10px 0}.summary-actions a,.summary-actions button{font-size:11px;padding:10px 16px;min-height:36px}.summary details{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Give the presenter her own floor space. */
.showcase .castline{left:0;right:115px;width:auto}.showcase .castline .seat:last-child{display:none}.showcase .seat{width:110px;height:120px}.showcase .player-tag{bottom:0}.showcase .home-host{right:-4px;bottom:14px}
@media(max-width:900px) and (orientation:portrait){.showcase .castline{right:78px}.showcase .seat{width:62px;height:82px}.showcase .home-host{right:-8px;bottom:7px}.showcase .player-tag{font-size:5px;bottom:0}}
@media(max-height:540px) and (orientation:landscape){.showcase .castline{right:70px}.showcase .seat{width:64px;height:86px}.showcase .home-host{right:-12px;bottom:8px}.showcase .player-tag{font-size:5px}}

.route-line{pointer-events:none}.route-stop.selected{box-shadow:0 0 0 3px #dfb45655}
@media(max-width:900px) and (orientation:portrait){.play{grid-template-rows:44px minmax(0,1fr) 132px 46px}.host-zone{height:60px}.hall .castline{height:66px}.speech{margin-top:2px}.speech p{font-size:10px}}
/* Unified illustrated cast and warm hospital palette. */
.seated{background:none!important;position:absolute;inset:0}.seated svg,.nurse-avatar svg{height:100%;width:100%;display:block}.cheer-pose{display:none}.clapping .rest-pose{display:none}.clapping .cheer-pose{display:block}.nurse-avatar{background:none!important}.nurse-avatar:after{display:none}.seat-badge{display:none}.castline{gap:0}.hall .seat{margin:0 -1px}.summary .seat,.stage-complete .seat{margin:0 -5px}.summary .castline,.stage-complete .castline{padding-bottom:10px;overflow:visible}.summary .medallion img{width:70%;height:78%;object-fit:contain}.host-head .nurse-avatar{width:180%;height:250%;left:-40%;top:0}.picture-card{border:2px solid #c69d51;box-shadow:0 5px 0 #123b5b24,0 12px 24px #234d6512}.picture-heading{background:linear-gradient(100deg,#123f62,#21647c);color:#fff6df;border-bottom:2px solid #d9b66a}.picture-space{background:#eee0c0}.picture-caption{background:#fff5dc;color:#716140}.hall{border:1px solid #d8b775;background:linear-gradient(#fff6df,#e5cda2)}.showcase{background:linear-gradient(135deg,#153f69,#177482);border-color:#e5c482}.home-ribbon{background:#fff7e7;border-color:#d9bc80}.repair-display{background:#103b63;border:4px solid #dbb764;color:#ffedbf;min-height:110px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:20px;padding:20px}.repair-display img{width:65px;height:65px}.repair-display strong{font-size:22px}.repair-slider{display:grid;gap:12px;padding:20px 0}.repair-slider input{width:100%;accent-color:#b78c36;min-height:40px}.sequence-track{display:flex;gap:8px;margin-bottom:20px}.sequence-track span{flex:1;border:1px solid #c7aa67;background:#f7edcf;padding:12px;border-radius:10px;font-size:12px}.complete{background:#d7f2df!important;color:#205b42!important}.repair-choices{display:grid;gap:10px}.cable-workbench{background:#edf5f1;border:2px solid #b6cfc8;border-radius:16px;padding:12px}.cable-workbench svg{width:100%;max-height:180px}.cable-guides{display:flex;justify-content:space-around;gap:10px}.insulation-demo{padding:30px;background:#e3f2f0;border-radius:15px}.demo-bed{position:relative;background:#96bfce;height:130px;border-radius:20px;display:grid;place-items:center}.demo-arm{position:absolute;left:15%;right:15%;top:25px;height:35px;border-radius:20px;background:#e6b68e;box-shadow:0 4px 0 #ab7b53}.pad-contact{position:relative;margin-top:45px;border:3px dashed #3e8e84;background:#f8f4df;padding:17px;border-radius:15px;color:#245e56}.direction-workbench,.clear-route{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e0efeb;padding:20px;border-radius:16px;margin-bottom:18px;font-weight:800}.direction-workbench #turn-arrow{font-size:36px;min-width:85px}.clear-route{flex-wrap:wrap}.route-arrow{color:#b58623;font-size:22px}.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.connect-grid>div{display:grid;gap:12px}.connect-grid button{font-size:12px}.connect-grid .selected{outline:3px solid #e0a830}.showcase .castline{right:110px}.showcase .seat{width:95px;height:115px}.showcase .home-host{height:170px;width:140px;right:0;bottom:0}.showcase .seat:last-child{display:none}
@media(max-width:900px) and (orientation:portrait){.showcase .castline{right:78px}.showcase .seat{width:60px;height:82px}.showcase .home-host{width:95px;height:120px}.summary .seat{width:19%;height:85px;margin:0}.stage-complete .seat{width:19%;height:90px;margin:0}.hall .seat{margin:0;width:62px}.repair-display strong{font-size:16px}.repair-display img{width:48px}.sequence-track span{font-size:10px;padding:9px}.direction-workbench{font-size:11px;padding:12px}.connect-grid{gap:10px}.connect-grid button{padding:12px 8px;font-size:11px}}
@media(max-height:540px) and (orientation:landscape){.showcase .castline{right:80px}.showcase .seat{width:60px;height:83px}.showcase .home-host{width:95px;height:120px}.hall .seat{width:60px;margin:0}.repair-display{min-height:65px;padding:8px}.repair-display img{width:45px;height:45px}.repair-display strong{font-size:17px}.repair-slider{padding:6px 0;gap:3px}.repair-choices{grid-template-columns:repeat(3,1fr)}.repair-choices button{font-size:11px;padding:10px}.cable-workbench svg{max-height:80px}.insulation-demo{padding:10px}.demo-bed{height:100px}.summary .medallion{display:grid;width:52px;height:52px;margin-bottom:9px}.sequence-track{margin-bottom:10px}}
.question-clock{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;margin-bottom:15px;border:1px solid #d8b561;border-radius:12px;background:#fff0c8;color:#71511e}.question-clock>span{font-size:10px;font-weight:900;letter-spacing:1px}.question-clock strong{font-size:14px}.question-clock b{font-size:24px;font-variant-numeric:tabular-nums}.stats{grid-template-columns:repeat(5,1fr)}@media(max-width:900px) and (orientation:portrait){.stats{grid-template-columns:1fr 1fr}.stat:first-child{grid-column:1/-1}}@media(max-height:540px) and (orientation:landscape){.question-clock{padding:4px 12px;margin-bottom:7px}.question-clock b{font-size:19px}}
.home-rules{display:grid;gap:5px;border-left:4px solid #d2a34a;background:#fff5dc;border-radius:0 12px 12px 0;padding:12px 15px;margin:15px 0 20px;max-width:510px}.home-rules b{font-size:15px}.home-rules span{font-size:12px;color:#41657b}.home-rules small{font-size:10px;line-height:1.5;color:#6a705f}.search-clock{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 11px;border:1px solid #d9b45c;border-radius:12px;background:#fff0c8;color:#73501c;font-size:10px;white-space:nowrap}.search-clock b{font-size:23px;font-variant-numeric:tabular-nums}.search-clock.urgent{background:#ffe5d5;border-color:#d58a57;color:#a34724}.scoreline{gap:7px}.picture-space{background:#e7d9bd}.scene-frame svg{isolation:isolate}
@media(max-width:900px) and (orientation:portrait){.home-rules{margin:10px 0 13px;padding:10px 12px}.home-rules b{font-size:12px}.home-rules span{font-size:10px}.home-rules small{font-size:9px}.search-clock{padding:4px 6px;gap:3px;font-size:8px;border-radius:8px}.search-clock b{font-size:17px}.scoreline{gap:4px}.round-heading h2{font-size:15px}.round-heading .eyebrow{font-size:6px;letter-spacing:1px}.control-hint{max-width:150px}}
@media(max-height:540px) and (orientation:landscape){.home-rules{margin:8px 0;padding:8px 10px;gap:3px}.home-rules b{font-size:11px}.home-rules span{font-size:9px}.home-rules small{font-size:8px}.search-clock{padding:3px 8px;font-size:8px}.search-clock b{font-size:17px}}
/* Shared-device play: clear handoffs, deliberate untimed power choices. */
.mode-choices,.power-grid,.duo-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-choices{margin:9px 0 16px}.mode-choices button{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.mode-choices span{font-size:11px;font-weight:400}.mode-choices .selected{border-color:#1479ad;background:#e6f5fc;box-shadow:0 0 0 2px #1479ad}.duo-scoreboard{margin:8px 0}.duo-player{border:1px solid #c3d3db;border-radius:12px;padding:8px 12px;background:#f4f8fa;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;font-size:12px}.duo-player.active{border-color:#d6a338;background:#fff3d0}.duo-player span{width:100%;font-size:10px}.duo-player strong{font-size:20px}.duo-player small{font-size:10px;font-weight:400}.power-card{text-align:left;display:flex;flex-direction:column;gap:12px;border:2px solid #cfb06a;border-radius:16px;padding:18px;background:linear-gradient(145deg,#fffdf4,#f8ebc8);color:#183e58;cursor:pointer}.power-card span{font-size:13px;line-height:1.5}.power-card small{font-size:11px}.power-card:disabled{opacity:.5;cursor:default}.power-card:hover:not(:disabled){border-color:#197caf;transform:translateY(-2px)}.duo-rules{padding:16px;background:#edf6fa;border-radius:14px;line-height:1.6}.question-pictures{display:grid;grid-template-columns:1fr 1fr;gap:12px}.question-pictures svg{width:100%;height:auto}.duo-result{max-width:650px;margin:20px auto;text-align:left}.duo-result h2{text-align:center}.duo-result label{display:block;margin:18px 0 8px;font-weight:700}.duo-result input{box-sizing:border-box;width:100%;font:inherit;padding:14px;border:2px solid #aac5d3;border-radius:12px}.play>.duo-scoreboard{flex:none;margin:0 0 5px}.duo-result .active{background:#f4f8fa;border-color:#c3d3db}@media(max-width:560px){.power-card{padding:12px;gap:8px}.power-card b{font-size:14px}.power-card span{font-size:12px}.question-pictures{grid-template-columns:1fr}.duo-player{padding:6px 8px}.duo-player strong{font-size:17px}}@media(max-height:500px) and (orientation:landscape){.play>.duo-scoreboard{gap:6px}.play>.duo-scoreboard .duo-player{padding:3px 9px}.play>.duo-scoreboard .duo-player span{width:auto;font-size:9px}.play>.duo-scoreboard .duo-player strong{font-size:15px}.power-card{padding:10px;gap:5px}}
.play:has(>.duo-scoreboard){grid-template-rows:auto auto minmax(0,1fr) 130px 54px}.play>.duo-scoreboard{min-height:0;margin:0}
@media(max-width:900px) and (orientation:portrait){.play:has(>.duo-scoreboard){grid-template-rows:44px auto minmax(0,1fr) 132px 46px}}
@media(max-height:540px) and (orientation:landscape){.play:has(>.duo-scoreboard){grid-template-rows:32px 30px minmax(0,1fr) 66px 34px}.play>.duo-scoreboard .duo-player{padding:3px 9px}.play>.duo-scoreboard .duo-player span{width:auto;font-size:9px}.play>.duo-scoreboard .duo-player strong{font-size:15px}}
/* Explicit comparison layouts, including a player-controlled fallback in embeds. */
@media(orientation:landscape),(min-width:901px){.comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}}
.play.layout-side .comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.play.layout-stack .comparison{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
@media(max-height:540px) and (orientation:landscape){.play{grid-template-rows:32px minmax(0,1fr) 52px 34px}.play:has(>.duo-scoreboard){grid-template-rows:32px 28px minmax(0,1fr) 52px 34px}.hall .castline{height:51px}.hall .seat{width:55px;height:55px}.host-figure{height:54px;width:52px}}

/* Phone search stage: prioritize the actual artwork, including short embedded views. */
@media (max-height:620px) and (orientation:landscape){
 #game-shell:has(.play) .topbar{height:38px;padding:2px 10px}
 #game-shell:has(.play) .brand img{width:30px;height:32px}
 #game-shell:has(.play) .brand{font-size:10px;gap:6px}
 #game-shell:has(.play) .brand small{font-size:7px;margin-top:1px}
 #game-shell:has(.play) .icon-button{min-height:32px;padding:4px 10px}
 .play{max-width:none;padding:3px 6px 3px;gap:4px;grid-template-rows:32px minmax(0,1fr) 40px}
 .play:has(>.duo-scoreboard){grid-template-rows:32px 26px minmax(0,1fr) 40px}
 .play>.hall{display:none}
 .play>.duo-scoreboard{margin:0;gap:6px}
 .play>.duo-scoreboard .duo-player{padding:2px 8px;font-size:10px;border-radius:7px}
 .play>.duo-scoreboard .duo-player span{display:none}
 .play>.duo-scoreboard .duo-player strong{font-size:15px}
 .round-heading h2{font-size:14px;margin:0}
 .round-heading .eyebrow{font-size:7px;letter-spacing:1px}
 .round-steps,.mini-progress{display:none}
 .score-pill{padding:3px 7px;font-size:10px}
 .score-pill small{display:none}
 .comparison{gap:6px}
 .picture-card{position:relative;border-width:1px;border-radius:9px;box-shadow:none}
 .picture-heading{position:absolute;top:3px;left:3px;right:3px;z-index:2;height:26px;padding:0;background:none;pointer-events:none}
 .picture-label{font-size:0;gap:0}
 .picture-label .letter{width:24px;height:24px;font-size:12px;background:#123d5be8;color:white;box-shadow:0 1px 4px #0003}
 .zoom-button{pointer-events:auto;min-height:28px;font-size:10px;padding:3px 9px;background:#fffffff0;box-shadow:0 1px 5px #0003}
 .picture-caption{display:none}
 .picture-space{padding:0;background:#e7d9bd}
 .control-bar{gap:6px;min-height:40px}
 .control-hint{font-size:0;max-width:none}
 .control-hint strong{font-size:10px;line-height:1.2;margin:0}
 .control-actions{gap:6px}
 .control-actions button{min-height:36px;padding:6px 12px;font-size:11px;border-radius:10px;box-shadow:none}
}
/* Portrait keeps both scenes and controls visible without scrolling. */
@media(max-width:600px) and (orientation:portrait){
 .play{grid-template-rows:42px minmax(0,1fr) 72px 48px;gap:5px;padding:5px 6px 2px}
 .play:has(>.duo-scoreboard){grid-template-rows:42px 48px minmax(0,1fr) 72px 48px}
 .play>.duo-scoreboard .duo-player{font-size:10px;padding:4px 7px}
 .play>.duo-scoreboard .duo-player span{font-size:8px}
 .hall .host-zone{height:38px}.hall .host-figure{height:42px;width:40px}
 .hall .speech{margin-top:0;padding:4px 7px}.hall .speech small{display:none}
 .hall .speech p{font-size:9px;line-height:1.2;max-height:24px;overflow:hidden}
 .hall .castline{height:39px;padding-bottom:2px}.hall .seat{height:42px;width:43px}
 .control-hint{display:none}.control-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .control-actions button{min-height:44px;font-size:11px;padding:8px}
}

/* Keep overlay labels clear of the artwork; reserve separate space for the cast. */
@media(max-height:620px) and (orientation:landscape){
 .play .picture-heading{border:0;box-shadow:none}
}
@media(max-width:900px) and (orientation:portrait){
 .play{grid-template-rows:42px minmax(0,1fr) 154px 48px}
 .play:has(>.duo-scoreboard){grid-template-rows:42px 48px minmax(0,1fr) 154px 48px}
 .play .hall{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:60px 86px;gap:0;padding:4px 6px;overflow:hidden}
 .play .hall .host-zone{position:relative;inset:auto;height:60px;align-items:center}
 .play .hall .host-figure{height:58px;width:54px;flex:none;align-self:center}
 .play .hall .speech{margin:0 0 0 4px;padding:5px 8px;min-width:0}
 .play .hall .speech p{font-size:10px;line-height:1.25;max-height:none;overflow:visible;margin:0}
 .play .hall .speech small{display:none}
 .play .hall .castline{height:86px;width:100%;margin:0;padding:0 0 9px;align-self:auto;align-items:flex-end;justify-content:space-evenly;overflow:visible}
 .play .hall .seat,.play .hall .seat.player{display:block;width:20%;max-width:82px;height:auto;aspect-ratio:1;margin:0;transform:none;flex-shrink:1}
 .play .hall .player-tag{bottom:-7px;font-size:7px}
}

/* Avoid intrinsic-width overflow on narrow phones. */
.home-main,.home-main>div,.mode-choices,.mode-choices button,.role-choices,.role-choice{min-width:0}
@media(max-width:380px) and (orientation:portrait){
 .home{padding-left:12px;padding-right:12px;overflow-x:hidden}
 .home h1{font-size:clamp(40px,14vw,53px);letter-spacing:-2px}
 .home-main{width:100%;grid-template-columns:minmax(0,1fr)}
 .home-actions{gap:7px}.home-actions button{padding:10px 8px}
 .role-choice{padding:8px 6px;font-size:9px;overflow-wrap:anywhere}
 .mode-choices button{padding:10px 8px;overflow-wrap:anywhere}
 .home-ribbon{flex-wrap:wrap}
 .round-heading{min-width:0}.round-heading h2{font-size:12px}.round-heading .eyebrow{font-size:5px}
}
