/* Every game starts centered. Board, controls and rewards have separate slots. */
.viewport-dialog{inset:0;margin:auto;width:min(1500px,calc(100vw - 24px));height:min(960px,calc(100dvh - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:12px;overflow:hidden;box-sizing:border-box}
.viewport-dialog .dialog-close{position:absolute;top:8px;right:8px;z-index:40;float:none;margin:0;width:40px;height:40px}
.viewport-dialog #dialogContent{height:100%;min-height:0}
.viewport-day{height:100%;min-height:0;padding:0!important;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.viewport-day-header{flex:0 0 auto;position:relative;padding-right:46px;display:flex;align-items:center;gap:7px 14px;flex-wrap:wrap}
.viewport-day-header .day-kicker{margin:0;font-size:.72rem}.viewport-day-header h2{margin:0;font-size:1.1rem;line-height:1.3}
.viewport-day-header .door-game-picker{margin:0;flex:1 1 200px;display:flex;flex-wrap:nowrap;overflow:auto;max-width:100%;gap:6px}
.viewport-day-header .door-game-picker button{white-space:nowrap;min-height:36px;padding:6px 10px;font-size:.8rem;flex-shrink:0}
.viewport-day-header .door-game-picker:has(button:only-child){display:none}
.viewport-day-header .shared-board-button{margin:0;min-height:36px;padding:6px 10px;font-size:.78rem}.viewport-day-header .game-progress-message{margin:0;font-size:.76rem}
.viewport-day-info summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-size:.8rem}
.viewport-info-body{position:absolute;inset:42px 0 auto;z-index:30;max-height:calc(100dvh - 160px);padding:18px;overflow:auto;background:#17313d;border:1px solid #bfa576;border-radius:16px;box-shadow:0 15px 35px #0008}
.viewport-info-body .day-media{max-height:55dvh;max-width:100%;object-fit:contain}.viewport-info-body .day-message{white-space:pre-wrap}
.viewport-day>.viewport-game,.viewport-day>.cat-hunt-card{flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;overflow:hidden}
.viewport-game{display:flex!important;flex-direction:column;padding:10px!important;gap:8px;box-sizing:border-box}
.viewport-game .game-heading,.viewport-game .breakout-heading{flex:0 0 auto;margin:0!important;gap:10px}
.viewport-game .game-heading h3,.viewport-game .game-title{margin:0!important;font-size:clamp(1.1rem,2vw,1.65rem);line-height:1.15}
.viewport-game .game-emblem{width:42px;height:42px;padding:4px;border-radius:12px}.viewport-game .game-eyebrow{display:none}
.viewport-game .viewport-hud{flex:0 0 auto;min-height:0!important;margin:0!important;padding:6px 10px!important;gap:5px 12px!important;font-size:.8rem!important}
.play-workspace{flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,315px);gap:12px;align-items:stretch}
.play-stage{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;overflow:hidden;padding:6px}
.play-tools{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:8px;padding:6px 8px}
.play-tools>*{flex:0 0 auto;max-width:100%;margin-top:0!important;margin-bottom:0!important}
.play-tools :is(p,[role=status]){min-height:0!important;line-height:1.35!important;font-size:.85rem!important;padding:8px!important}
.play-tools :is(.game-heading,.sorting-room-heading){margin:0}.play-tools button,.viewport-help summary{min-height:40px}
.viewport-help{font-size:.85rem;line-height:1.4}.viewport-help summary{cursor:pointer;display:flex;align-items:center}
.play-tools :is(.cave-controls,.four-paws-controls,.star-forest-tools,.breakout-controls,.nonogram-controls,.bongo-controls,.hunt-controls,.parcours-controls){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.play-tools :is(.snake-controls,.winter-paws-footer){display:flex;flex-direction:column;gap:8px;padding:6px}
.play-tools :is(.cave-pad,.snake-pad,.star-forest-pad){margin:4px auto!important;gap:5px}
.play-tools :is(.cave-direction,.snake-direction,.star-forest-arrow){width:44px;height:44px;min-height:44px}
.play-tools .parcours-legend{margin:0;gap:5px}.play-tools .parcours-legend>div{padding:6px}.play-tools .parcours-legend svg{width:26px;height:26px}
.play-stage>:is(.snake-board,.parcours-board-shell,.nonogram-scroll,.cave-board-wrap,.winter-paws-board,.winter-post-board,.star-forest-board-shell,.four-paws-stage,.breakout-stage){width:var(--play-board-width)!important;max-width:100%;min-width:0!important;flex-shrink:0;margin:0!important;box-sizing:border-box}
.play-stage .snake-board{height:auto!important;max-height:100%;aspect-ratio:1}
.play-stage .parcours-board{width:100%;min-width:0;padding:8px;gap:6px}.play-stage .parcours-tile{min-height:0;aspect-ratio:1.15}
.play-stage .nonogram-board{width:100%;min-width:0;grid-template-columns:42px repeat(10,minmax(0,1fr));border-width:3px}.play-stage .nonogram-cell{min-width:0;min-height:0;padding:0;aspect-ratio:1;font-size:.85rem}.play-stage .nonogram-clue{padding:2px;font-size:.7rem}
.play-stage .cave-board-wrap{padding:6px}.play-stage .cave-board{width:100%;min-width:0;max-width:none}.play-stage .cave-tile{min-width:0;min-height:0}
.play-stage .winter-paws-board{max-height:100%;padding:6px;gap:4px}.play-stage .winter-paws-cell{min-width:0;min-height:0}
.play-stage .winter-post-board{padding:7px;gap:4px}.play-stage .winter-post-tile{min-width:0;min-height:0}
.play-stage .star-forest-board-shell{padding:6px;border-width:4px}.play-stage .four-paws-stage{padding:6px;border-width:3px}.play-stage .four-paws-columns{padding-bottom:5px}.play-stage .four-paws-drop{min-height:32px}
.play-stage .breakout-board{width:100%;height:auto!important}.viewport-game .breakout-status{color:#f4dcae}.viewport-game .breakout-active-powers{font-size:.8rem}
.play-tools .snake-ranking{margin:0;padding:0}.play-tools .snake-ranking-list{max-height:170px;overflow:auto}
.play-stage .bongo-stage{width:100%;min-height:120px;flex:1 1 0;max-height:240px;margin:0}.play-stage .bongo-cat{width:90px;height:90px}.play-stage .bongo-notes{width:100%;margin:0;min-height:45px}.play-stage .bongo-progress{width:100%;margin:4px 0}.play-stage .bongo-pads{width:100%;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.play-stage .bongo-pad{min-height:85px}
.play-stage .cafe-stage{width:100%;min-height:110px;height:clamp(100px,15dvh,160px);margin:0}.play-stage .cafe-guest{transform:scale(.7);transform-origin:bottom center}.play-stage .cafe-order-area{width:100%;margin:0}.play-stage .cafe-shelves{width:100%;margin:0;gap:7px}.play-stage .cafe-ticket,.play-stage .cafe-tray{padding:8px}.play-stage .cafe-order-area h4{margin:0;font-size:.85rem}.play-stage .cafe-wish{margin:4px 0}.play-stage .cafe-ingredient{min-height:40px;padding:4px}.play-stage .cafe-ingredient svg{width:30px;height:30px}
.play-stage .sorting-floor-panel{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:6px}.play-stage .sorting-floor-scroll{flex:1;min-height:0;width:100%;overflow:auto}.play-stage .sorting-floor{min-width:500px;max-height:none;height:max(440px,var(--play-stage-height));aspect-ratio:auto}.play-stage .sorting-floor-help{margin:0;font-size:.7rem}.play-tools .sorting-shelves{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.play-tools .sorting-shelf{min-height:130px;padding:5px;border-width:3px}.play-tools .sorting-shelf-slot{max-height:22px}.play-tools .sorting-basket-bar{padding:7px;display:flex;flex-wrap:wrap;gap:5px}.play-tools .sorting-basket-heading{width:100%}.play-tools .sorting-basket-heading svg{width:30px;height:30px}.play-tools .sorting-basket{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}.play-tools .sorting-tabs{gap:4px}.play-tools .sorting-tab{padding:5px;min-height:42px}.play-tools .sorting-tab svg{width:24px;height:24px}.play-tools .sorting-tab-copy{font-size:.7rem}.play-tools .sorting-panel-heading{margin:0}.play-tools .sorting-room-subtitle{display:none}
.play-stage .escape-scene-shell{width:100%;min-height:0;margin:0;display:flex;flex-direction:column;gap:7px}.play-stage .escape-scene-viewport{width:100%;max-height:calc(var(--play-stage-height) - 100px);min-height:0;overflow:auto;flex-shrink:1}.play-stage .escape-scene-stage{min-width:0!important}.play-stage .escape-scene-toolbar{margin:0;gap:4px;flex-wrap:wrap}.play-stage .escape-scene-toolbar button{padding:5px 7px;min-height:36px}.play-stage .escape-room-subtitle{margin:0;font-size:.75rem}.play-stage .escape-object-list{margin:0}.play-tools .escape-inspector{margin:0;padding:8px;min-height:0;max-height:none}.play-tools .escape-inspector-image{max-height:160px;object-fit:contain}.play-tools .escape-bag-panel{position:static;margin:0;padding:7px}.play-tools .escape-bag{gap:5px}.play-tools .escape-bag-item{min-width:0;padding:4px}.play-tools .escape-bag-item svg{width:26px;height:26px}.play-tools .escape-room-nav{gap:4px}.play-tools .escape-room-tab{min-height:38px;padding:5px;font-size:.7rem}.play-tools .escape-room-tab svg{width:24px;height:24px}
.viewport-game:has(.escape-finale:not([hidden])) :is(.escape-scene-shell,.escape-inspector){display:none!important}.play-stage .escape-finale{width:100%;margin:0;padding:7px;min-height:0}.play-stage .escape-finale-stage{max-height:calc(var(--play-stage-height) - 130px);width:auto;max-width:100%;aspect-ratio:3/2;margin:auto}.play-stage .escape-finale-image{height:100%;object-fit:contain}.play-stage .escape-finale h4{margin:0;font-size:1rem}.play-stage .escape-finale-instruction{margin:7px 0;font-size:.85rem}.play-stage .escape-finale button{min-height:40px}
.play-stage .hunt-viewport{width:100%;height:100%;max-height:none;margin:0}.play-stage .hunt-stage{height:100%;width:auto;min-width:0;aspect-ratio:3/2;margin:auto}.play-stage .hunt-stage>img{width:100%;height:100%;object-fit:fill}.viewport-game .hunt-intro{margin:0}.play-tools .hunt-controls{margin:0}
.viewport-reward-dock{flex:0 0 auto;min-height:0;max-height:30%;overflow:auto;z-index:15}.viewport-reward-dock[hidden]{display:none!important}.viewport-reward-dock .key-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;margin:0;padding:10px;border:2px solid #f0d087;background:#243e42;border-radius:14px;box-shadow:0 0 12px #f6cf6740}.viewport-reward-dock .key-card p{margin:0;font-size:.8rem}.viewport-reward-dock .steam-key{font-size:clamp(.95rem,2vw,1.3rem);overflow-wrap:anywhere;min-width:0}.viewport-reward-dock .key-card button{min-height:40px;padding:6px 12px}
/* Collections and account dialogs scroll their list, with their heading visible. */
:is(.achievements-dialog,.library-dialog,.community-dialog,.sound-settings-dialog){max-height:calc(100dvh - 24px);overscroll-behavior:contain;scrollbar-width:thin}
.achievements-heading{position:sticky;top:-16px;z-index:3;background:#0d1930;padding:10px 0}.achievement-card{padding:14px 10px}.achievement-grid{gap:10px}.achievement-card img{width:72px;height:72px}
@media(max-width:760px){
 .viewport-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);padding:7px;border-radius:12px}
 .viewport-day-header{gap:4px 7px;padding-right:40px}.viewport-day-header h2{font-size:.88rem}.viewport-day-header .day-kicker{font-size:.65rem}.viewport-day-header .shared-board-button{font-size:.7rem;min-height:32px}.viewport-day-header .door-game-picker{flex-basis:100%;order:4}.viewport-day-header .game-progress-message{font-size:.65rem}
 .viewport-game{padding:7px!important;gap:5px}.viewport-game .game-heading h3,.viewport-game .game-title{font-size:1rem}.viewport-game .game-emblem{width:30px;height:30px}.viewport-game .viewport-hud{font-size:.7rem!important;padding:4px 6px!important}
 .play-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(125px,34%);gap:4px}.play-tools{padding:3px 5px;gap:5px;border-top:1px solid #9fb7a955}.play-stage{padding:3px;gap:4px}
 .play-tools :is(.cave-controls,.four-paws-controls,.star-forest-tools,.breakout-controls,.nonogram-controls,.bongo-controls,.hunt-controls,.parcours-controls){display:flex;flex-wrap:wrap}.play-tools :is(.cave-controls,.four-paws-controls,.star-forest-tools,.breakout-controls,.nonogram-controls,.bongo-controls,.hunt-controls,.parcours-controls)>button{flex:1 1 110px;padding:7px;font-size:.75rem}
 .play-tools :is(.snake-controls,.cave-pad,.star-forest-pad){flex-direction:row;margin:0!important}.play-tools .snake-controls{display:grid;grid-template-columns:1fr auto}.play-tools .snake-pad{grid-row:1/3;grid-column:2}
 .play-tools .sorting-shelves{grid-template-columns:repeat(3,minmax(0,1fr))}.play-tools .sorting-shelf{min-height:110px}.play-stage .sorting-floor{min-width:560px;height:430px}.play-stage .sorting-floor-help{display:none}.play-tools .sorting-basket-heading .sorting-basket-copy span{display:none}.play-tools .sorting-quick-targets{width:100%}
 .play-stage .cafe-stage{display:none}.play-stage .cafe-shelves{gap:4px}.play-stage .cafe-order-area{gap:4px}.play-stage .cafe-ticket,.play-stage .cafe-tray{padding:5px}.play-stage .cafe-ingredient{font-size:.68rem}.play-stage .cafe-ingredient svg{width:25px;height:25px}
 .play-stage .bongo-stage{min-height:75px;max-height:125px}.play-stage .bongo-cat{width:65px;height:65px}.play-stage .bongo-pad{min-height:60px;padding:5px}.play-stage .bongo-pad svg{height:25px}.play-stage .bongo-pad-label{font-size:.68rem}
 .play-tools .escape-inspector{order:3}.play-tools .escape-adventure-tools{order:-2}.play-tools .escape-room-nav{order:-3}.play-tools .escape-bag-panel{order:-1}.play-stage .escape-scene-title{flex-basis:100%;font-size:.8rem}.play-stage .escape-scene-viewport{max-height:calc(var(--play-stage-height) - 90px)}
 .viewport-reward-dock .key-card{padding:6px;gap:5px 8px}.viewport-reward-dock .key-card p{font-size:.7rem}.viewport-reward-dock .key-card button{font-size:.75rem;min-height:36px}
}
@media(max-height:550px) and (min-width:761px){.viewport-game .game-heading{display:none}.play-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,38%)}.viewport-day-header{gap:4px}.viewport-day-header h2{font-size:.85rem}.viewport-game .viewport-hud{font-size:.7rem!important}}
/* Farm: reward belongs to the window, independent of the shop. */
.farm-dialog{padding:0;overflow:hidden!important}.farm-dialog #farmContent{height:100%;min-height:0}.farm-dialog #farmContent .winter-farm{position:relative;height:100%;min-height:0;padding:12px;gap:8px;overflow:hidden}.winter-farm .farm-layout{flex:1 1 0;min-height:0;grid-template-columns:minmax(0,1fr) minmax(270px,320px);align-items:stretch}.winter-farm .farm-field-side{min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px}.winter-farm .farm-field-scroll{min-height:0;height:100%;display:grid;overflow:auto}.winter-farm .farm-sidebar{min-height:0;grid-template-rows:auto auto minmax(0,1fr);gap:7px}.winter-farm .farm-reward{flex:0 0 auto;max-height:25%;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:8px;overflow:auto}.winter-farm .farm-reward p{margin:0;font-size:.8rem;flex:1}.winter-farm .farm-steam-key{overflow-wrap:anywhere}.winter-farm .farm-head{gap:9px}.winter-farm .farm-title h2{font-size:1.45rem;margin:0}.winter-farm .farm-title p{font-size:.73rem;margin:0}.winter-farm .farm-avatar{width:43px;height:43px}.winter-farm .farm-hud-box{min-width:0;padding:6px 10px}.winter-farm .farm-hud-box strong{font-size:1rem}.winter-farm .farm-shop-toggle,.winter-farm .farm-shop-close{display:none;min-height:40px;padding:8px 12px;color:#355f52;background:#ecf4e7;border:1px solid #8dab91;border-radius:10px;font:inherit;font-size:.8rem}.winter-farm .farm-message{padding:6px;font-size:.8rem}
@media(max-width:860px),(max-height:699px){.farm-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}.winter-farm .farm-layout{grid-template-columns:1fr;flex:1 1 0}.winter-farm .farm-field-side{grid-template-rows:auto auto minmax(0,1fr) auto}.winter-farm .farm-field-scroll{display:block}.winter-farm .farm-shop-toggle,.winter-farm .farm-shop-close{display:block}.winter-farm .farm-shop-toggle{margin-left:auto}.winter-farm .farm-head{flex-wrap:wrap}.winter-farm .farm-sidebar{display:none;position:absolute;z-index:30;inset:100px 10px 55px;padding:14px;background:#edf5e8;box-shadow:0 10px 30px #0008;border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto}.winter-farm.farm-shop-open .farm-sidebar{display:grid}.winter-farm .farm-shop-list{max-height:none}.winter-farm .farm-reward{max-height:25%}.winter-farm .farm-title .eyebrow,.winter-farm .farm-title p:last-child{display:none}.winter-farm .farm-hud{gap:5px}.winter-farm .farm-hud-box{min-width:65px;flex:1;padding:6px}.winter-farm .farm-hud-box strong{font-size:.9rem}.winter-farm .farm-toolbar{gap:4px}.winter-farm .farm-tool{font-size:.75rem;min-height:40px;padding:6px}.winter-farm .farm-tool svg{width:24px;height:24px}.winter-farm .farm-board-hint{font-size:.7rem}}
.viewport-music{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px;overflow:hidden}.viewport-music>h2{margin:0;font-size:1.35rem}.viewport-music>.day-kicker{margin:0;font-size:.7rem}.viewport-music .music-status{margin:0;min-height:0;font-size:.85rem}.viewport-music .music-tools{gap:5px}.viewport-music .music-tools button{min-height:38px;padding:6px;font-size:.8rem}.music-workspace{flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:12px}.music-workspace .music-slots{min-height:0;overflow:auto;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-content:start}.music-workspace .music-slot{padding:4px;min-height:70px}.music-workspace .music-slot button{width:100%;min-height:35px;padding:4px;font-size:.75rem}.music-collection{min-height:0;overflow:auto}.music-collection h3{margin:0;font-size:1rem}.music-collection .music-pool{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.music-collection .music-tile{padding:5px;margin:0}.music-collection button{padding:5px;min-height:36px;font-size:.8rem}
@media(max-width:760px){.viewport-music>h2{font-size:1.05rem}.music-workspace{grid-template-columns:1fr;grid-template-rows:1.1fr 1fr;gap:7px}.music-workspace .music-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.music-collection .music-pool{grid-template-columns:repeat(3,minmax(0,1fr))}.viewport-music .music-tools button{font-size:.7rem}}
.sound-settings{max-height:calc(100dvh - 24px);scrollbar-width:thin}.sound-settings>h2,.community-content>h2{position:sticky;top:0;z-index:3;background:#1b303b;padding:10px 0}
.viewport-day-header .shared-board-button{background:#416e64;color:#fff7e7;border:1px solid #91b0a2;border-radius:9px}
.viewport-game .cave-mode-label{margin:0!important;gap:6px;font-size:.75rem}.viewport-game .cave-mode{min-height:32px;padding:4px 7px;font-size:.75rem}.viewport-game .cave-hud{justify-content:space-between;flex-wrap:wrap}
.play-stage .cave-board-wrap{min-height:0!important}.play-stage .cave-board{max-width:none!important}
.play-stage .nonogram-corner,.play-stage .nonogram-col-clue{min-height:42px!important}.play-stage .nonogram-row-clue{padding-right:3px;font-size:.7rem}
.play-tools .escape-investigation-welcome{padding:10px!important;min-height:0!important}.play-tools .escape-investigation-welcome>.escape-art{width:52px;height:52px}.play-tools .escape-investigation-welcome h4{font-size:1rem;margin:8px 0}.play-tools .escape-investigation-welcome p{margin:6px 0}
.viewport-game .winter-paws-header{width:100%;max-width:none;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin:0}.viewport-game .winter-paws-pool{padding:5px;font-size:.72rem}.viewport-game .winter-paws-turn{font-size:.78rem}
.play-tools .winter-paws-footer{width:100%}.play-tools .winter-paws-actions{margin:5px 0}.play-tools .winter-paws-actions button{flex-basis:110px;font-size:.8rem;min-height:40px}.play-tools .winter-paws-guide{padding:7px;font-size:.8rem}.play-tools .winter-paws-size{min-height:40px;font-size:.8rem}
@media(max-width:760px){
 .viewport-day-header .shared-board-button{font-size:.68rem;padding:4px 7px}.viewport-day-info summary{font-size:.7rem;min-height:32px}.viewport-day-header h2{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-day-header .day-kicker{max-width:80px}.viewport-day-header{flex-wrap:wrap;min-height:36px}
 .play-workspace{grid-template-rows:minmax(0,1fr) minmax(170px,43%)}.play-tools>p[role=status]{padding:5px!important;font-size:.74rem!important}
 .cave-card .play-tools,.star-forest-card .play-tools{display:grid;grid-template-columns:132px minmax(0,1fr);grid-auto-rows:min-content;align-content:start;gap:5px}
 .cave-card .cave-pad,.star-forest-card .star-forest-pad{grid-column:1;grid-row:1/3;grid-template-columns:repeat(3,40px);gap:3px;margin:0!important}.cave-card .cave-direction,.star-forest-card .star-forest-arrow{width:40px;height:40px;min-height:40px}.cave-card .cave-controls,.star-forest-card .star-forest-tools{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:5px}.cave-card .cave-controls button,.star-forest-card .star-forest-tools button{min-height:34px;padding:5px;font-size:.72rem;flex:none}.cave-card .cave-status,.star-forest-card .star-forest-status{grid-column:1/-1;grid-row:3}.star-forest-card .star-forest-interact{grid-column:2;grid-row:2;min-height:35px;font-size:.72rem;padding:4px}.cave-card .viewport-help,.star-forest-card .viewport-help{grid-column:1/-1;grid-row:4}.cave-card .cave-retry,.cave-card .cave-replay{grid-column:1/-1}
 .play-tools .sorting-actions{display:flex;flex-wrap:wrap;gap:5px}.play-tools .sorting-actions button{flex:1;min-height:36px;padding:5px;font-size:.72rem}.play-tools .sorting-tabs{margin:0!important}.play-tools .sorting-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:38px}.play-tools .sorting-tab svg{display:none}.play-tools .sorting-tab-copy{font-size:.67rem}.play-tools .sorting-basket-heading{gap:5px}.play-tools .sorting-basket-heading svg{display:none}.play-tools .sorting-basket-label{font-size:.73rem}.play-tools .sorting-basket-bar{padding:5px;gap:5px;position:static}.play-tools .sorting-basket-slot{width:39px;height:39px}.play-tools .sorting-small-button{min-height:34px;font-size:.68rem!important}.play-tools .sorting-room-heading{display:none}
 .play-stage .cafe-order-area{grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto}.play-stage .cafe-ticket,.play-stage .cafe-tray{padding:5px}.play-stage .cafe-wish{font-size:.7rem;line-height:1.2;margin:4px 0}.play-stage .cafe-request{padding:4px 1px}.play-stage .cafe-request small,.play-stage .cafe-slot small{display:none}.play-stage .cafe-request strong,.play-stage .cafe-slot strong{font-size:.64rem;overflow-wrap:anywhere}.play-stage .cafe-slot{min-height:60px;padding:3px 1px}.play-stage .cafe-slot .cafe-sprite{width:24px;height:24px}.play-stage .cafe-shelves{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex:0 0 auto}.play-stage .cafe-shelf{padding:5px}.play-stage .cafe-shelf h4{font-size:.75rem;margin:0 0 5px}.play-stage .cafe-items{grid-template-columns:1fr;gap:4px}.play-stage .cafe-item{flex-direction:column;min-height:44px;gap:2px;padding:3px 2px;text-align:center;font-size:.66rem}.play-stage .cafe-item .cafe-sprite{width:23px;height:23px}.cafe-card .play-stage{overflow:auto;justify-content:flex-start}.cafe-card .play-workspace{grid-template-rows:minmax(0,1fr) 165px}
 .play-tools .breakout-controls button{flex-basis:90px;min-height:36px;padding:5px;font-size:.72rem}.play-tools .breakout-active-powers{font-size:.72rem;margin:0}.play-tools .breakout-slider{min-height:32px}.play-tools .breakout-status{margin:0;font-size:.73rem!important}
 .play-tools .escape-inspector{display:block}.play-tools .escape-inspector .escape-closeup{display:none}.play-tools .escape-inspector-title{font-size:.9rem}.play-tools .escape-inspector-description{font-size:.7rem;line-height:1.25}.play-tools .escape-bag-item{width:auto;min-width:75px;min-height:42px;flex:1}.play-tools .escape-bag-heading{flex-wrap:wrap;gap:4px}.play-tools .escape-bag-heading span{display:none}.play-tools .escape-bag-heading button{min-height:32px;padding:4px}.play-tools .escape-room-tab{min-height:34px;padding:4px}.play-tools .escape-room-tab svg{display:none}.play-tools .escape-bag-panel>p{font-size:.7rem!important;padding:3px!important}
}
.calendar-menu{min-width:0}.calendar-menu>summary{display:none}.calendar-menu .header-actions{display:flex}.calendar-menu .header-actions button{white-space:nowrap}
@media(max-width:760px),(max-height:550px){body.calendar-active .calendar-header{position:relative;flex-wrap:nowrap;align-items:center;padding:8px 10px}body.calendar-active .calendar-header>div:first-child{flex:1;min-width:0}body.calendar-active .calendar-header h1{font-size:1.3rem}body.calendar-active .calendar-header .eyebrow{display:none}body.calendar-active .calendar-header #welcomeText{font-size:.7rem;margin:2px 0}.calendar-menu>summary{display:block;cursor:pointer;min-height:40px;padding:10px 14px;border:1px solid #9ab79f;border-radius:10px;font-size:.8rem}.calendar-menu .header-actions{position:absolute;z-index:30;inset:60px 0 auto;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:12px;background:#1b303b;border:1px solid #aec5a2;border-radius:14px;box-shadow:0 10px 25px #0008}.calendar-menu:not([open]) .header-actions{display:none!important}body.calendar-active .scene-toolbar strong{font-size:.75rem}body.calendar-active .scene-toolbar{gap:6px;padding:6px}body.calendar-active .scene-help{font-size:.65rem}body.calendar-active .footer-note{display:none}}
body:has(.viewport-dialog[open]) .achievement-toast{bottom:auto;top:14px}
.viewport-reward-dock .key-card>strong{display:flex;align-items:center;gap:7px;font-size:.85rem}.viewport-reward-dock .key-card>strong svg{width:30px;height:30px;flex:none}
.viewport-dialog:fullscreen,.viewport-dialog.breakout-expanded,.viewport-dialog.escape-expanded,.viewport-dialog.hunt-large-mode{position:fixed;inset:0;width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border-radius:0;z-index:9999}
.play-stage .hunt-stage{width:min(100%,calc(var(--play-stage-height) * 1.777));height:auto;max-height:100%;aspect-ratio:1672/941;margin:auto;flex:none}.play-stage .hunt-stage>img{display:block;width:100%;height:auto;object-fit:contain}
.viewport-reward-dock .key-card{width:100%;max-width:none;min-height:52px;color:#fff8e9}.viewport-reward-dock .key-card>strong{color:#fff8e9}.viewport-reward-dock .steam-key{margin:0;padding:8px 12px}
.shop-card .play-tools{overflow:hidden}.shop-card .play-tools>.sorting-shelf-panel{flex:1 1 0;min-height:100px;display:flex;flex-direction:column;gap:5px}.shop-card .sorting-shelf-panel .sorting-shelves{flex:1 1 0;min-height:0;overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.shop-card .play-tools .sorting-shelf{min-height:100px;padding:4px;border-width:2px}.shop-card .play-tools .sorting-shelf-label>.sorting-art{width:26px;height:26px}.shop-card .play-tools .sorting-shelf-label>strong{font-size:.64rem}.shop-card .play-tools .sorting-shelf-count{font-size:.64rem}.shop-card .play-tools .sorting-shelf-slot{max-height:17px}.shop-card .play-tools .sorting-basket-copy>span{display:none}.shop-card .play-tools .sorting-basket-heading>svg{width:25px;height:25px}.shop-card .play-tools .sorting-basket-heading{gap:5px}.shop-card .play-tools .sorting-basket-bar{padding:6px;position:static}.shop-card .play-tools .sorting-quick-targets{font-size:.72rem}.shop-card .play-tools .sorting-tabs{gap:4px}.shop-card .play-tools .sorting-tab{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;white-space:normal}.shop-card .play-tools .sorting-tab svg{display:none}.shop-card .play-tools .sorting-tab-copy{font-size:.68rem}.shop-card .play-tools .sorting-status{max-height:70px;overflow:auto}
@media(min-width:761px){.shop-card .play-stage .sorting-floor-scroll{display:flex}.shop-card .play-stage .sorting-floor{min-width:0;min-height:0;height:100%;width:100%;flex:1}.escape-card .play-tools{overflow:hidden}.escape-card .play-tools>.escape-inspector{flex:1 1 0;min-height:120px;overflow:auto}.escape-card .play-tools .escape-bag{max-height:100px;overflow:auto}}
@media(max-width:760px){.shop-card .play-workspace{grid-template-rows:minmax(0,1fr) minmax(250px,49%)}.shop-card .play-tools>.sorting-shelf-panel{min-height:65px}.shop-card .play-tools .sorting-panel-heading span{display:none}.shop-card .play-tools .sorting-panel-heading strong{font-size:.7rem}.shop-card .play-tools .sorting-panel-heading{margin:0;font-size:.7rem}.shop-card .play-tools .sorting-basket-slot{width:33px;height:33px}.shop-card .play-tools .sorting-basket-heading{width:auto}.shop-card .play-tools .sorting-basket{width:auto}.shop-card .play-tools .sorting-basket-bar{gap:4px}.shop-card .play-tools .sorting-basket-bar>.sorting-small-button{display:block;min-height:30px;padding:4px 6px}.shop-card .play-tools .sorting-quick-targets{width:100%}.shop-card .play-tools .sorting-quick-targets:has(.sorting-quick-target){max-height:52px;overflow:auto}.shop-card .play-tools .sorting-status{font-size:.65rem!important;max-height:35px}.shop-card .play-tools .viewport-help summary{min-height:28px}.viewport-reward-dock .steam-key{padding:5px 8px}.viewport-reward-dock .key-card>strong{font-size:.75rem}.viewport-reward-dock .key-card>strong svg{width:22px;height:22px}}

/* Reserve the clue row explicitly so the completed picture still fits above its key. */
.play-stage .nonogram-scroll{max-height:100%;overflow:auto}
.play-stage .nonogram-board{height:var(--play-board-width);grid-template-rows:42px repeat(10,minmax(0,1fr));box-sizing:border-box}
.play-stage .nonogram-cell{aspect-ratio:auto;font-size:clamp(.55rem,1.7vw,.85rem)}
.play-stage :is(.bongo-notes,.bongo-progress,.bongo-pads){flex-shrink:0}
@media(max-width:760px){
 .viewport-reward-dock .key-card{gap:4px 8px;padding:5px}
 .viewport-reward-dock .key-card>strong{width:100%;justify-content:center;line-height:1.2}
 .viewport-reward-dock .key-card>strong svg{width:18px;height:18px}
 .viewport-reward-dock .key-card button{min-height:32px;padding:4px 8px}
 .play-stage .bongo-stage{min-height:65px}
 .play-stage .bongo-notes{min-height:36px;gap:5px}
 .play-stage .bongo-note{width:29px;height:29px;font-size:1rem}
 .play-stage .bongo-pad{min-height:74px;padding:5px 3px}
 .play-stage .bongo-pad-top{width:25px;height:10px;margin-bottom:3px;box-shadow:none}
 .play-stage .bongo-pad-mark{font-size:20px}
 .play-stage .bongo-pad small{font-size:.65rem;line-height:1.15;margin-top:4px}
}

@media(min-width:761px){
 .music-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .music-collection .music-pool{grid-template-columns:repeat(5,minmax(0,1fr))}
 .music-collection button{min-height:32px;padding:4px;font-size:.75rem}
}
.bongo-card .play-stage{overflow:auto;justify-content:safe center}
@media(max-width:760px){
 .collection-game .collection-toolbar{flex-wrap:nowrap;overflow-x:auto;min-height:44px;scrollbar-width:thin}
 .collection-game .collection-toolbar>button{flex-shrink:0}
 .bongo-card .play-workspace,.four-paws-card .play-workspace{grid-template-rows:minmax(0,1fr) minmax(120px,32%)}
 .play-stage .bongo-stage{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;flex-shrink:0}
 .play-stage .bongo-stage-banner{font-size:.72rem;line-height:1.3;max-width:calc(100% - 60px)}
 .play-stage .bongo-cat{width:50px;height:50px;flex-shrink:0}
}

.music-workspace .music-slots{grid-auto-rows:max-content;align-items:start}
.music-workspace .music-slot{display:flex;flex-direction:column;gap:4px}
.music-workspace .music-slot>*{flex:0 0 auto}

@media(min-width:761px) and (max-height:700px){
 .music-collection button{min-height:28px;padding:3px}
 .music-collection .music-tile{padding:3px}
}

/* Keep both Zauberladen views on the main stage instead of compressing shelves. */
.shop-card .play-stage>.sorting-scene{width:100%;height:100%;min-height:0;gap:9px;overflow:hidden}
.shop-card .sorting-scene>section[hidden]{display:none!important}
.shop-card .play-stage .sorting-floor-panel,.shop-card .play-stage .sorting-shelf-panel{flex:1 1 0;min-height:0;width:100%;margin:0;box-sizing:border-box}
.shop-card .play-stage .sorting-floor-panel{display:flex;flex-direction:column;gap:6px}
.shop-card .play-stage .sorting-shelf-panel{display:block;overflow:auto}
.shop-card .play-stage .sorting-shelves{overflow:visible;display:grid;min-height:0;align-content:start;grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-card .play-tools{overflow:auto}
@media(max-width:1150px){.shop-card .play-stage .sorting-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .shop-card .play-workspace{grid-template-rows:minmax(220px,1fr) minmax(140px,30%)}
 .shop-card .play-stage .sorting-shelves{grid-template-columns:minmax(0,1fr)}
 .shop-card .play-tools .sorting-status{max-height:70px;font-size:.74rem!important}
 .shop-card .play-tools .sorting-actions{flex-wrap:nowrap}
 .shop-card .play-tools .sorting-actions>button{font-size:.7rem;min-height:36px;padding:6px}
}
@media(max-height:500px) and (min-width:761px){
 .shop-card .play-stage>.sorting-scene{gap:5px}
 .shop-card .sorting-view-tabs{padding:2px}
 .shop-card .sorting-view-button{min-height:36px;padding:5px 12px}
 .shop-card .play-stage .sorting-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Preserve the scatter layout's proportions so objects do not cover click targets. */
.shop-card .play-stage .sorting-floor-scroll{display:block}
.shop-card .play-stage .sorting-floor{flex:none;width:min(100%,calc((var(--play-stage-height) - 120px) * 1.125));min-width:590px;height:auto;aspect-ratio:720/640;margin-inline:auto}
@media(max-width:950px){.shop-card .play-stage .sorting-shelves{grid-template-columns:minmax(0,1fr)}}
/* 1.62: stable Winterpost cells and an always complete escape-room scene. */
.winter-post-board{aspect-ratio:1;grid-template-rows:repeat(var(--post-width),minmax(0,1fr))}
.winter-post-board>.winter-post-tile{position:relative;inset:auto;width:100%;height:100%;aspect-ratio:auto;min-height:0;font-size:inherit}
.winter-post-road-art{pointer-events:none}
.winter-post-tile.winter-post-connected{box-shadow:inset 0 0 0 2px #649d7a}
.winter-post-tile.winter-post-route{box-shadow:inset 0 0 0 3px #609b6c;background-color:#d4e8ce}
.winter-post-tile.winter-post-hinted{box-shadow:inset 0 0 0 4px #57bfe0}
.winter-post-tile.winter-post-home{border-color:#c59c61}
.winter-paws-choice-note{font-size:.8rem;line-height:1.45;color:#645649;background:#f5ead8;padding:9px;border-radius:9px;margin:6px 0}
.winter-paws-size[data-unavailable=true]{opacity:.65}
.play-tools .winter-paws-size[aria-pressed=true]{outline:3px solid #ac7490;outline-offset:-3px}
.escape-card .play-stage .escape-scene-shell{width:100%;height:100%;flex:1;min-height:0;justify-content:center}
.escape-card .play-stage .escape-scene-viewport{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;max-height:none;overflow:hidden}
.escape-card .play-stage .escape-scene-stage{flex:none;width:var(--escape-scene-width,100%)!important;height:auto;max-width:100%;aspect-ratio:3/2;min-width:0!important}
.escape-card .play-tools{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;gap:9px}
.escape-card .play-tools>*{min-width:0;width:100%;box-sizing:border-box}
.escape-card .play-tools .escape-inspector{display:block;min-width:0;width:100%;padding:10px;overflow-wrap:anywhere}
.escape-card .escape-detail-image{width:var(--escape-detail-width,300%)}
.escape-card .play-tools .escape-scene-toolbar{gap:6px;margin:0}
.escape-card .play-tools .escape-scene-title{width:100%;margin:0;font-size:.8rem}
.escape-card .play-tools .escape-icon-control{flex:1;min-width:38px;padding:6px;font-size:.7rem!important;white-space:normal}
.escape-card .play-tools .escape-object-list{margin:0}
.escape-card .play-tools .escape-number-lock{gap:6px;padding:8px}
.escape-card .play-tools .escape-code-wheel{min-width:0}
.escape-card .play-tools :is(.escape-medallion-options,.escape-seal-slots){width:100%;max-width:100%;min-width:0}
.escape-card .play-tools .escape-seal-slot{min-width:0;min-height:44px}
.escape-card .play-tools .escape-bag{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
.escape-card .play-tools .escape-bag-item{min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere}
.escape-card .play-tools .escape-bag-item .escape-art{flex:none}
.escape-card .play-tools .escape-journal-pages{grid-template-columns:1fr}
.escape-card .play-tools :is(.escape-control,.escape-found-item,.escape-clue-paper){max-width:100%;min-width:0;overflow-wrap:anywhere;white-space:normal}
.escape-card .play-tools .escape-hotspot-label{display:none}
@media(max-width:760px){
 .escape-card .play-workspace{grid-template-rows:minmax(0,1fr) minmax(150px,43%)}
 .escape-card .play-tools .escape-inspector{padding:9px}
 .escape-card .play-tools .escape-room-tab{flex-direction:row}
 .escape-card .viewport-hud .escape-save-label{display:none}
 .escape-card .viewport-hud{grid-template-columns:auto 1fr;font-size:.65rem!important}
 .escape-card .viewport-hud .escape-task{grid-column:1/-1}
}
@media(max-height:550px) and (min-width:761px){
 .escape-card .viewport-hud .escape-save-label{display:none}
 .escape-card .viewport-hud{grid-template-columns:auto auto 1fr;padding:3px 6px!important;font-size:.65rem!important}
 .escape-card .viewport-hud .escape-task{grid-column:1/-1;font-size:.65rem}
}
.escape-card .play-tools>.escape-inspector{flex:0 0 auto;height:auto;min-height:0;max-height:none;overflow:visible}
.escape-card .play-tools .escape-bag{max-height:none}
.escape-card .play-tools .escape-room-tab{min-width:0;flex-direction:column;gap:3px;overflow-wrap:anywhere;white-space:normal;font-size:.67rem!important;text-align:center}
.escape-card .play-tools .escape-bag-heading>strong{min-width:0;overflow-wrap:anywhere}
.escape-card .play-stage .escape-scene-stage{overflow:hidden}
.escape-card .escape-hotspot-label{display:none}
/* A nonmodal award notice must never cover the dialog's close button. */
body:has(.viewport-dialog[open]) .achievement-toast{top:max(68px,env(safe-area-inset-top));bottom:auto;pointer-events:none}
body:has(.viewport-dialog[open]) .achievement-toast button{pointer-events:auto}

.escape-card .play-stage .escape-finale{display:flex;align-items:center;justify-content:center;flex:1;width:100%;height:100%;min-height:0;padding:6px}
.escape-card .play-stage .escape-finale-stage{flex:none;width:var(--escape-finale-width,100%);height:auto;max-height:none;max-width:100%;aspect-ratio:3/2;margin:0}
.escape-card:has(.escape-finale[hidden]) .escape-finale-details{display:none}
.escape-card .play-tools .escape-finale-details{padding:10px;border:1px solid #d2bb97;border-radius:12px;background:#f0e5cf}
.escape-card .escape-finale-details .escape-finale-title{font-size:1rem;margin:0 0 8px}
.escape-card .escape-finale-details .escape-finale-instruction{font-size:.8rem;line-height:1.45;margin:0 0 9px}
.escape-card .escape-finale-details .escape-hang-lantern{width:100%}

/* 1.64.28 – live-playtest repairs, using existing layout and controls. */
.bongo-card .play-stage .bongo-progress{box-sizing:border-box;width:calc(100% - 56px);max-width:calc(100% - 56px);margin:20px 28px;flex:0 0 10px;min-width:0}
.bongo-card .play-stage .bongo-target{box-sizing:border-box;right:-20px;width:40px;height:40px}
.cafe-card .play-stage .cafe-items{grid-template-columns:minmax(0,1fr)}
.cafe-card .play-stage .cafe-item{min-width:0;gap:6px;flex-wrap:wrap;justify-content:center;text-align:center}
.cafe-card .play-stage .cafe-item span{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:auto}
.escape-card .play-tools .escape-bag{grid-template-columns:minmax(0,1fr)}
.escape-card .play-tools :is(.escape-bag-item,.escape-room-tab,.escape-found-item){overflow-wrap:normal;word-break:normal;hyphens:auto}
.escape-card .play-tools .escape-bag-item span{min-width:0;flex:1}
.escape-card .play-tools .escape-combine{width:100%;min-height:48px;background:#e4edd6;border:2px solid #8aa67b;font-weight:700}
.escape-card .play-tools{padding-bottom:62px;scroll-padding-bottom:62px}
.sorting-shop .sorting-shelf{min-height:215px;padding:8px;border-width:5px;gap:4px}
.sorting-shop .sorting-shelf-carving{height:17px}
.sorting-shop .sorting-shelf-slots{gap:4px}
.sorting-shop .sorting-shelf-row{min-height:29px}
.sorting-shop .sorting-shelf-slot>.sorting-art{max-height:35px}
.sorting-shop .sorting-shelves{gap:12px}
.sorting-shop .sorting-shelf-label>strong{overflow-wrap:normal;hyphens:auto}
.sorting-shop .sorting-wallet{flex-shrink:0}
.sorting-shop .sorting-upgrades{flex:0 0 auto;max-height:160px;overflow:auto}
@media(max-width:560px){.sorting-shop .sorting-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.sorting-shop .sorting-shelf{min-height:190px;padding:5px;border-width:3px}.sorting-shop .sorting-shelf-label{flex-direction:column;padding:5px}.sorting-shop .sorting-shelf-label>strong{font-size:.76rem}.sorting-shop .sorting-shelf-label>.sorting-art{width:26px;height:26px;flex-basis:26px}}

/* 1.64.31: shelf height follows the inventory rows, never the cabinet width. */
.sorting-shop .sorting-shelf{min-height:232px;padding:6px;border-width:5px;gap:4px}
.sorting-shop .sorting-shelf-carving{height:12px}
.sorting-shop .sorting-shelf-label{padding:5px;min-width:0}
.sorting-shop .sorting-shelf-label>.sorting-art{width:26px;height:26px;flex-basis:26px}
.sorting-shop .sorting-shelf-slots{gap:3px}
.sorting-shop .sorting-shelf-row{min-height:0;height:28px;flex:0 0 28px;padding:0 2px 4px;border-bottom-width:4px;box-sizing:border-box}
.sorting-shop .sorting-shelf-slot{aspect-ratio:auto;height:20px;min-height:0;max-height:20px}
.sorting-shop .sorting-shelf-slot>.sorting-art{height:20px;max-height:20px}
.sorting-shop .sorting-shelf-instruction{margin-top:0}
.sorting-shop .sorting-upgrades{max-height:none;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr);flex-shrink:0}
.sorting-shop .sorting-upgrade{min-width:0;flex:none}
@media(max-width:760px){.shop-card .play-stage .sorting-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sorting-shop .sorting-shelf{min-height:224px;padding:5px;border-width:3px}.sorting-shop .sorting-shelf-label{flex-direction:column;gap:3px}.sorting-shop .sorting-shelf-carving{display:none}.sorting-shop .sorting-shelf-label>strong{font-size:.76rem}}

/* 1.64.32: retain the shared dialog layout in native and fallback fullscreen. */
.viewport-dialog.hunt-large-mode{display:block;grid-template-rows:none;padding:12px}
.cat-hunt-card .play-stage .hunt-viewport{flex:none;width:var(--hunt-view-width,100%);height:var(--hunt-view-height,auto);max-width:100%;max-height:100%;box-sizing:border-box;overflow:auto;touch-action:pan-x pan-y;background:#e4ead8}
.cat-hunt-card .play-stage .hunt-stage{display:block;flex:none;width:calc(100% * var(--hunt-zoom,1));height:auto;min-width:0;max-height:none;max-width:none;aspect-ratio:1672/941;margin:0}
.cat-hunt-card .play-stage .hunt-stage>img:not(.hunt-added-kitten){display:block;width:100%;height:auto;object-fit:contain}
.play-tools .hunt-zoom-controls{grid-column:1/-1;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}
.hunt-zoom-controls button{min-width:0;min-height:44px;padding:6px}

/* 1.64.76: use all browser space by default, without requesting browser fullscreen. */
.day-dialog.viewport-dialog,.viewport-dialog{inset:0;margin:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0}
