/* A toy-box HUD: one puppy prompt, one choice row, one main action. */
:root{--play-blue:#1985ed;--play-blue-top:#42adfa;--play-blue-deep:#1169be;--play-yellow:#ffcf45;--play-coral:#ff9577;--play-white:#fffdf8;--play-ink:#173957;--play-line:#e7e3d5;--play-font:'Arial Rounded MT Bold',ui-rounded,'Trebuchet MS',sans-serif}
#gameScreen{--toybox-height:270px;--play-inset:20px;--play-safe:env(safe-area-inset-bottom,0px);color:var(--play-ink);color-scheme:light;background:#c5ac80;font-family:var(--play-font)}
#gameScreen .stage{inset:0}
#gameScreen .game-header{position:absolute;inset:var(--play-inset) var(--play-inset) auto!important;transform:none!important;width:auto!important;max-width:none!important;height:68px!important;min-height:0!important;padding:0!important;display:flex!important;align-items:flex-start;justify-content:space-between;gap:16px;border:0!important;background:none!important;box-shadow:none!important;pointer-events:none;z-index:30}
#gameScreen .game-header::before,#gameScreen .game-header::after{display:none}
#gameScreen .game-header>*{pointer-events:auto}
#gameScreen .play-button{display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid #78c8ff;border-radius:20px;background:linear-gradient(165deg,var(--play-blue-top),var(--play-blue));color:white;box-shadow:inset 0 2px 0 #ffffff55,0 4px 0 var(--play-blue-deep),0 5px 8px #17395725;font:700 20px/1.1 var(--play-font);cursor:pointer;transition:filter .15s,box-shadow .15s}
#gameScreen .play-button:hover:not(:disabled){filter:brightness(1.06)}
#gameScreen .play-button:active:not(:disabled){transform:translateY(3px)!important;box-shadow:inset 0 2px 0 #ffffff44,0 1px 0 var(--play-blue-deep)}
#gameScreen .play-button svg{width:32px;height:32px;flex-shrink:0;filter:none}
#gameScreen .game-back,#gameScreen .build-help{width:58px;height:58px;min-width:58px;min-height:58px;padding:12px;flex-shrink:0}
#gameScreen .build-help{border:2px solid white;border-radius:50%;background:var(--play-white);color:var(--play-ink);box-shadow:0 4px 0 #dbd7c8,0 5px 8px #17395725}
#gameScreen .build-progress{position:absolute;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:30px auto;gap:6px 12px;align-items:center;min-width:166px;padding:10px 20px 12px;border-radius:28px;background:var(--play-white);box-shadow:0 4px 0 #d9d2bb,0 5px 8px #17395720}
#gameScreen .progress-star{color:#ffd02e;width:30px;height:30px;filter:drop-shadow(0 2px 0 #b57c3133)}
#gameScreen .build-progress-label{font:700 25px/1.1 var(--play-font);white-space:nowrap;letter-spacing:1px}
#gameScreen .build-progress-label b{font:inherit}
#gameScreen .stability-track{grid-column:1/-1;height:7px;width:100%;border:0;border-radius:6px;background:#e9e4d6;overflow:hidden;margin:0;box-shadow:none}
#gameScreen #stabilityFill{display:block;height:100%;border-radius:6px;background:#ffd02e;box-shadow:none;transition:width .3s}
#gameScreen .mission-panel,#gameScreen .mission-panel.collapsed{position:absolute;inset:110px auto auto var(--play-inset)!important;transform:none!important;width:360px!important;max-width:calc(100% - 40px)!important;height:auto!important;min-height:0!important;display:flex!important;align-items:center;gap:0;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;z-index:15}
#gameScreen .mission-panel::before,#gameScreen .mission-panel::after{display:none}
#gameScreen .puppy-portrait{position:relative;overflow:hidden;width:82px;height:82px;flex:0 0 82px;border:3px solid #75caff;border-radius:50%;background:linear-gradient(#bce8ff,#76c9fa);box-shadow:0 3px 0 #2e85ba;z-index:1}
#gameScreen .puppy-portrait img{width:84px;height:96px;max-width:none;object-fit:contain;position:absolute;bottom:-22px;left:-4px;filter:drop-shadow(0 2px 1px #47280822)}
#gameScreen .puppy-bubble{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;flex:1;padding:10px 10px 10px 18px;border-radius:22px;background:var(--play-white);box-shadow:0 4px 0 #d9d2bb;min-width:0}
#gameScreen .puppy-bubble::before{content:'';position:absolute;left:-8px;top:29px;width:18px;height:18px;background:var(--play-white);transform:rotate(35deg);border-radius:3px}
#gameScreen .mission-action,#gameScreen .mission-panel.collapsed .mission-action{position:relative;display:block!important;padding:0!important;margin:0!important;min-height:0!important;border:0!important;background:none!important;box-shadow:none;min-width:0;flex:1}
#gameScreen .mission-action strong{display:block;color:var(--play-ink)!important;font:700 23px/1.15 var(--play-font)!important;letter-spacing:-.5px;text-shadow:none}
#gameScreen #voiceReplayBtn{flex:0 0 50px;width:50px;height:50px;min-height:50px;min-width:50px;padding:9px;border-radius:50%;font-size:0}
#gameScreen #voiceReplayBtn svg{width:29px;height:29px}
#gameScreen .piece-tray,#gameScreen .piece-tray.collapsed{position:absolute;inset:auto auto calc(14px + var(--play-safe)) 50%!important;transform:translateX(-50%)!important;display:flex;flex-direction:column;gap:12px;width:min(880px,calc(100% - 40px))!important;height:var(--toybox-height)!important;max-width:none!important;min-height:0!important;padding:14px 18px 16px!important;border:2px solid #fff!important;border-bottom-color:#ead88c!important;border-radius:28px!important;background:var(--play-white)!important;box-shadow:0 5px 0 #d5b65d,0 10px 24px #43341020!important;z-index:21}
#gameScreen .piece-tray::before,#gameScreen .piece-tray::after{display:none}
#gameScreen .toybox-heading{display:flex;align-items:center;justify-content:space-between;height:28px;min-height:28px;gap:14px}
#gameScreen .tray-title{display:block!important;position:static!important;transform:none!important;inset:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0;background:none;box-shadow:none;font:700 24px/1.1 var(--play-font)!important;color:var(--play-ink)!important;letter-spacing:-.6px;text-transform:none;text-align:left}
#gameScreen #morePiecesBtn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;padding:9px;transform:none;box-shadow:0 3px 0 var(--play-blue-deep)}
#gameScreen #morePiecesBtn svg{width:25px;height:25px}
#gameScreen .piece-list{display:flex!important;flex:1;min-height:0;width:100%;height:auto!important;gap:12px!important;overflow-x:auto;overflow-y:hidden;margin:0!important;padding:3px 2px 5px!important;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch}
#gameScreen .piece-list::-webkit-scrollbar{display:none}
#gameScreen .piece-card{flex:1 0 112px!important;width:112px!important;min-width:112px!important;max-width:165px;height:100%!important;min-height:0!important;position:relative;overflow:hidden;display:grid!important;grid-template-rows:minmax(0,1fr) auto;gap:2px;padding:6px 6px 8px!important;cursor:pointer;scroll-snap-align:start;text-align:center;border:2px solid #e6e2d6!important;border-radius:17px!important;background:linear-gradient(#f8f6ef,#f1eee3)!important;color:var(--play-ink)!important;box-shadow:0 3px 0 #e2ddce!important;transform:none!important;opacity:1!important;filter:none!important}
#gameScreen .piece-card::before,#gameScreen .piece-card::after,#gameScreen .piece-preview::after{display:none!important}
#gameScreen .piece-card.available{border-color:#b6d8ed!important}
#gameScreen .piece-card.selected{border:3px solid var(--play-blue)!important;padding:5px 5px 7px!important;background:#e6f3ff!important;box-shadow:0 3px 0 #80b6dd!important}
#gameScreen .piece-card.locked{background:#f1f0eb!important;color:#626c73!important}
#gameScreen .piece-card.locked .piece-preview{opacity:.7}
#gameScreen .piece-card.placed{opacity:1!important;cursor:default}
#gameScreen .piece-card.placed .piece-ready{display:grid}
#gameScreen .piece-preview{position:relative;width:100%;height:100%!important;min-height:0;display:grid;place-items:center;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden}
#gameScreen .piece-preview img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;filter:none!important}
#gameScreen .piece-card strong{display:block;white-space:normal;overflow:visible;font:700 15px/1.1 var(--play-font)!important;color:inherit!important;text-shadow:none;letter-spacing:-.4px}
#gameScreen .piece-card-copy small,#gameScreen .piece-quantity{display:none!important}
#gameScreen .piece-lock,#gameScreen .piece-ready{position:absolute;top:4px;right:5px;left:auto;width:27px;height:27px;z-index:3;border:0;border-radius:50%;background:white;box-shadow:0 2px 0 #d4d0c4;place-items:center;color:var(--play-ink)}
#gameScreen .piece-lock svg{width:17px;height:17px}
#gameScreen .piece-ready{display:none;background:#29bd79;color:white;font:700 20px var(--play-font);box-shadow:0 2px 0 #129655}
#gameScreen .play-actions{display:grid;grid-template-columns:minmax(0,400px) 68px 68px;justify-content:center;gap:12px;min-height:60px;height:60px;flex-shrink:0}
#gameScreen .primary-action{position:relative;display:flex;min-width:0;align-items:stretch}
#gameScreen .place-assist,#gameScreen .test-button{position:static!important;inset:auto!important;transform:none!important;width:100%;max-width:none!important;min-height:60px;height:60px;padding:8px 16px;font:700 26px/1.1 var(--play-font);border-radius:20px;letter-spacing:-.6px}
#gameScreen .test-button{border-color:#b0eb95;background:linear-gradient(#87d95c,#63ba3d);box-shadow:inset 0 2px 0 #ffffff55,0 4px 0 #439528;color:#163e20}
#gameScreen .test-button b{font:inherit}
#gameScreen .piece-prompt{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;padding:8px 12px;background:#e8f3fc;border-radius:18px;color:#375d7c;font:700 19px/1.2 var(--play-font);text-align:center;letter-spacing:-.4px}
#gameScreen .piece-prompt span{font-size:27px}
#gameScreen .undo-button,#gameScreen .hint-button{flex-direction:column;gap:2px;padding:6px;min-height:60px;border-radius:18px;border-color:#ffe888;background:linear-gradient(#ffdb59,#ffca38);color:#795412;box-shadow:inset 0 2px 0 #ffffff60,0 4px 0 #dba925}
#gameScreen .hint-button{background:linear-gradient(#ffa08b,#ff8566);border-color:#ffb69c;box-shadow:inset 0 2px 0 #ffffff60,0 4px 0 #d7684d;color:#78311e}
#gameScreen .undo-button svg,#gameScreen .hint-button svg{width:26px;height:26px}
#gameScreen .undo-button b,#gameScreen .hint-button b{font:700 14px/1.1 var(--play-font)}
#gameScreen:has(.piece-tray.collapsed){--toybox-height:148px}
#gameScreen .piece-tray.collapsed .piece-list{display:none!important}
#gameScreen .piece-tray.collapsed #morePiecesBtn{visibility:hidden}
#gameScreen .toast{position:absolute;inset:auto auto calc(var(--toybox-height) + 32px + var(--play-safe)) 50%!important;transform:translateX(-50%)!important;width:max-content!important;max-width:min(500px,calc(100% - 32px))!important;height:auto!important;min-height:0!important;padding:11px 17px!important;border:2px solid white!important;border-radius:20px!important;background:var(--play-white)!important;color:var(--play-ink)!important;font:700 16px/1.3 var(--play-font)!important;box-shadow:0 3px 0 #d9d2bb;z-index:24;opacity:0;pointer-events:none;transition:opacity .2s}
#gameScreen .toast.show{opacity:1}
#gameScreen .builder-tools-dialog{position:fixed;inset:0;margin:auto;width:min(490px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:28px;border:3px solid white;border-radius:26px;background:var(--play-white);box-shadow:0 6px 0 #d9d2bb,0 18px 80px #10233744;color:var(--play-ink);overflow:auto;font:17px/1.5 var(--kid-font)}
#gameScreen .builder-tools-dialog::backdrop{background:#122b496b;backdrop-filter:blur(5px)}
#gameScreen .builder-tools-dialog h2{font:700 30px/1.1 var(--play-font);margin:0 46px 10px 0;letter-spacing:-.7px;color:var(--play-ink)}
#gameScreen .builder-save-note{font-size:15px;margin:0 0 15px;color:#516b7c}
#gameScreen .builder-tools-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#eaf1f6;color:var(--play-ink);font-size:27px}
#gameScreen .builder-project{display:flex;flex-direction:column;padding:12px 16px;border-radius:15px;background:#e9f4fb;gap:2px;margin:0 0 16px}
#gameScreen .builder-project span{font-size:13px;color:#526b7a}
#gameScreen .builder-project strong{font:700 20px/1.2 var(--play-font)}
#gameScreen .builder-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#gameScreen .builder-tools-grid button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:10px;border:2px solid #dce6ec;border-radius:14px;background:white;color:var(--play-ink);font:700 15px/1.3 var(--kid-font);cursor:pointer}
#gameScreen .builder-tools-grid button.active,#gameScreen .builder-tools-grid button[aria-pressed=true]{background:#e5f4e7;border-color:#bcdac0}
#gameScreen .builder-tools-grid button span{font-size:11px;font-weight:700;color:#256b49}
#gameScreen .builder-tools-dialog>.primary-button{display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;margin-top:20px;border:2px solid #71befe;border-radius:16px;background:var(--play-blue);color:white;font:700 18px var(--play-font);box-shadow:0 3px 0 var(--play-blue-deep)}
@media(max-width:700px){
 #gameScreen{--play-inset:14px;--toybox-height:264px}
 #gameScreen .game-header{height:62px!important}
 #gameScreen .game-back,#gameScreen .build-help{width:50px;min-width:50px;height:50px;min-height:50px;padding:10px;border-radius:17px}
 #gameScreen .build-help{border-radius:50%}
 #gameScreen .build-progress{min-width:162px;gap:5px 10px;padding:9px 20px 11px;border-radius:26px}
 #gameScreen .build-progress-label{font-size:24px}
 #gameScreen .progress-star{height:27px;width:27px}
 #gameScreen .mission-panel,#gameScreen .mission-panel.collapsed{top:98px!important;width:360px!important;max-width:calc(100% - 28px)!important}
 #gameScreen .puppy-portrait{width:76px;height:76px;flex-basis:76px}
 #gameScreen .puppy-portrait img{width:79px;height:90px}
 #gameScreen .puppy-bubble{min-height:67px;padding:9px 9px 9px 17px;gap:10px;border-radius:20px}
 #gameScreen .mission-action strong{font-size:22px!important;line-height:1.12!important;letter-spacing:-.55px}
 #gameScreen .piece-tray,#gameScreen .piece-tray.collapsed{width:calc(100% - 24px)!important;bottom:calc(12px + var(--play-safe))!important;padding:14px 12px 16px!important;gap:12px;border-radius:25px!important}
 #gameScreen .toybox-heading{height:30px;min-height:30px;padding:0 4px}
 #gameScreen .tray-title{font-size:23px!important}
 #gameScreen .piece-list{gap:10px!important}
 #gameScreen .piece-card{min-width:calc((100vw - 76px)/3)!important;flex:0 0 calc((100vw - 76px)/3)!important;width:calc((100vw - 76px)/3)!important;border-radius:16px!important;padding:5px 4px 8px!important}
 #gameScreen .piece-card.selected{padding:4px 3px 7px!important}
 #gameScreen .piece-card strong{font-size:14px!important;line-height:1.1!important;letter-spacing:-.4px}
 #gameScreen .play-actions{grid-template-columns:minmax(0,1fr) 60px 60px;gap:10px}
 #gameScreen .place-assist,#gameScreen .test-button{font-size:24px;padding:8px 11px;border-radius:18px;gap:7px}
 #gameScreen .piece-prompt{font-size:17px;padding:7px;gap:4px}
 #gameScreen .place-assist svg,#gameScreen .test-button svg{width:27px;height:27px}
 #gameScreen .toast{font-size:15px!important}
}
@media(max-width:350px){
 #gameScreen{--toybox-height:248px}
 #gameScreen .build-progress{min-width:144px;padding-inline:16px}
 #gameScreen .puppy-portrait{width:61px;height:61px;flex-basis:61px}
 #gameScreen .puppy-portrait img{width:65px;height:76px}
 #gameScreen .mission-action strong{font-size:20px!important}
 #gameScreen .puppy-bubble{gap:6px;padding-left:13px}
 #gameScreen #voiceReplayBtn{width:46px;height:46px;min-width:46px;min-height:46px;flex-basis:46px}
 #gameScreen .play-actions{grid-template-columns:minmax(0,1fr) 51px 51px;gap:8px}
 #gameScreen .place-assist,#gameScreen .test-button{font-size:21px;padding:8px}
 #gameScreen .piece-card strong{font-size:12px!important;letter-spacing:-.3px}
 #gameScreen .piece-lock,#gameScreen .piece-ready{width:23px;height:23px;right:3px;top:3px}
 #gameScreen .piece-prompt{font-size:16px}
}
@media(max-height:500px) and (orientation:landscape){
 #gameScreen{--play-inset:12px;--toybox-height:230px}
 #gameScreen .game-header{right:12px!important;height:54px!important}
 #gameScreen .game-back,#gameScreen .build-help{width:46px;min-width:46px;height:46px;min-height:46px;padding:8px}
 #gameScreen .build-progress{left:calc((100% - 252px)/2);min-width:150px;grid-template-columns:24px auto;padding:7px 15px 9px;gap:3px 10px}
 #gameScreen .build-progress-label{font-size:22px}
 #gameScreen .progress-star{width:24px;height:24px}
 #gameScreen .mission-panel,#gameScreen .mission-panel.collapsed{top:72px!important;left:auto!important;right:12px!important;width:244px!important}
 #gameScreen .puppy-portrait{width:52px;height:52px;flex-basis:52px}
 #gameScreen .puppy-portrait img{width:56px;height:68px;bottom:-17px}
 #gameScreen .puppy-bubble{min-height:58px;padding:7px 7px 7px 12px;gap:6px}
 #gameScreen .mission-action strong{font-size:18px!important}
 #gameScreen #voiceReplayBtn{height:44px;min-height:44px;width:44px;min-width:44px;flex-basis:44px}
 #gameScreen .piece-tray,#gameScreen .piece-tray.collapsed{left:auto!important;right:12px!important;bottom:12px!important;transform:none!important;width:244px!important;padding:13px 10px 16px!important;gap:11px;border-radius:23px!important}
 #gameScreen .tray-title{font-size:21px!important}
 #gameScreen .piece-card{min-width:96px!important;flex:0 0 96px!important;width:96px!important}
 #gameScreen .piece-card strong{font-size:13px!important}
 #gameScreen .play-actions{grid-template-columns:minmax(0,1fr) 44px 44px;gap:7px}
 #gameScreen .place-assist,#gameScreen .test-button{font-size:18px;padding:5px;gap:3px}
 #gameScreen .place-assist svg{width:22px;height:22px}
 #gameScreen .piece-prompt{font-size:15px;padding:4px}
 #gameScreen .undo-button b,#gameScreen .hint-button b{font-size:12px}
 #gameScreen .toast{left:calc((100% - 264px)/2)!important;bottom:16px!important;max-width:calc(100% - 298px)!important;font-size:14px!important}
 #gameScreen:has(.piece-tray.collapsed){--toybox-height:148px}
}
/* Short, illustrated invitations and earned celebrations. */
.modal-shell{background:#102b4970;backdrop-filter:blur(6px);padding:20px;align-items:center}
.modal-shell .modal-card{width:min(530px,100%);max-height:calc(100dvh - 40px);padding:24px;border:3px solid white!important;border-bottom-color:#ead88c!important;border-radius:30px;background:var(--play-white)!important;box-shadow:0 6px 0 #d5b65d,0 20px 70px #17395730;color:var(--play-ink);text-align:center;scrollbar-color:#c4d4de transparent}
.modal-shell .modal-card::before,.modal-shell .modal-card::after{display:none}
.modal-shell .modal-card h2{font:700 32px/1.12 var(--play-font)!important;color:var(--play-ink)!important;letter-spacing:-.8px;text-shadow:none;margin:20px 0 12px;padding:0}
.modal-shell .modal-card p{color:#476478!important;font:17px/1.45 var(--kid-font)!important}
.modal-shell .modal-close{position:absolute;width:44px;min-height:44px!important;right:12px;top:12px;background:var(--play-white);color:var(--play-ink);border:2px solid #e0e6e7;border-radius:50%;font-size:25px!important;z-index:2;box-shadow:0 3px 0 #d2cec1}
.modal-shell .build-preview{position:relative;margin:-3px -3px 12px;height:185px;border-radius:20px;background:#dbeffc}
.modal-shell #observePreview{height:100%;width:100%;object-fit:cover;object-position:center 55%;border-radius:20px}
.modal-shell .build-preview .brief-puppy{position:absolute;bottom:-16px;left:8px;width:95px;height:121px;object-fit:contain;filter:drop-shadow(0 2px 0 white)}
.modal-shell #observeStory{margin:0 0 17px}
.modal-shell .observe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}
.modal-shell .observe-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:14px 8px;background:#e7f3fc;border:0;border-radius:17px}
.modal-shell .observe-grid>div:nth-child(2){background:#fff0bc}.modal-shell .observe-grid>div:nth-child(3){background:#e2f4df}
.modal-shell .observe-grid svg{width:34px;height:34px;display:block;color:#287dba}
.modal-shell .observe-grid>div:nth-child(2) svg{color:#9d6a15}.modal-shell .observe-grid>div:nth-child(3) svg{color:#397c41}
.modal-shell .observe-grid b{font:700 18px/1.1 var(--play-font);color:var(--play-ink)}
.modal-shell .observe-grid p{display:none}
.modal-shell .primary-button,.modal-shell .secondary-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px!important;padding:12px 17px;font:700 20px/1.15 var(--play-font)!important;border:2px solid #84cfff;border-radius:18px;box-shadow:inset 0 2px 0 #ffffff55,0 4px 0 var(--play-blue-deep);letter-spacing:-.3px;text-transform:none;background:linear-gradient(165deg,var(--play-blue-top),var(--play-blue));color:white;text-decoration:none;cursor:pointer}
.modal-shell .secondary-button{background:#eaf5fd;color:#225a83;border-color:#d5e8f5;box-shadow:0 4px 0 #bbd4e5;font-size:17px!important}
.modal-shell .observe-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:0}
.modal-shell .observe-actions svg{width:26px;height:26px}
.modal-shell .celebration-picture{position:relative;height:165px;width:200px;margin:0 auto;border-radius:50%;background:#e3f3ff}
.modal-shell .celebration-picture img{width:125px;height:165px;object-fit:contain}
.modal-shell .celebration-picture span{position:absolute;left:-15px;top:20px;font-size:50px;color:#ffc32f;transform:rotate(-18deg);text-shadow:0 3px 0 #d79c11}
.modal-shell .celebration-picture span:last-child{left:auto;right:-10px;top:64px;font-size:36px;transform:rotate(12deg)}
.modal-shell .record-cheer{font-size:19px!important;margin:0 0 15px}
.modal-shell .build-learning-notes{text-align:left;margin:15px 0 20px;background:#f0f6fa;border-radius:15px;padding:0 15px}
.modal-shell .build-learning-notes summary{font:700 16px/1.3 var(--kid-font);min-height:48px;padding:13px 0;color:#335f7b}
.modal-shell .record-answers{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.modal-shell .lesson-point{display:flex;gap:10px;padding:12px;border:0;border-radius:13px;background:white;text-align:left;box-shadow:none}
.modal-shell .lesson-point>span{display:grid;place-items:center;flex:0 0 32px;height:32px;width:32px;background:#ffe597;border:0;border-radius:50%;color:var(--play-ink);font:700 16px var(--play-font)}
.modal-shell .lesson-point strong{font:700 16px var(--kid-font);color:var(--play-ink)}
.modal-shell .lesson-point p{font-size:15px!important;margin:4px 0 0}
.modal-shell .record-feedback{padding-bottom:15px;font:15px/1.5 var(--kid-font);color:#476478}
.modal-shell .record-card>.primary-button{width:100%}
.modal-shell .reward-picture{height:174px;width:200px;margin:0 auto;background:#fff1b8;border-radius:50%;display:grid;place-items:center}
.modal-shell .reward-picture img{height:170px;width:155px;object-fit:contain;filter:drop-shadow(0 5px 0 #dda72620)}
.modal-shell .victory-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.modal-shell .victory-actions .primary-button{grid-column:1/-1}
.modal-shell .victory-actions .secondary-button:last-child:nth-child(3):nth-last-child(1){min-width:0}
.modal-shell .victory-actions:has(.related-story-button[hidden]) .secondary-button{grid-column:1/-1}
@media(max-width:700px){
 .modal-shell{padding:14px;align-items:center}
 .modal-shell .modal-card{width:100%;padding:20px 17px;max-height:calc(100dvh - 28px);border-radius:27px}
 .modal-shell .modal-card h2{font-size:28px!important;margin:21px 0 12px}
 .modal-shell .build-preview{height:160px}
 .modal-shell .build-preview .brief-puppy{width:83px;height:106px}
 .modal-shell .observe-grid{gap:8px;margin:18px 0 20px}
 .modal-shell .observe-grid>div{padding:12px 5px;gap:8px}
 .modal-shell .observe-grid b{font-size:17px}
 .modal-shell .observe-actions{gap:10px;grid-template-columns:1fr 1.4fr}
 .modal-shell .primary-button{font-size:19px!important;padding:12px}
 .modal-shell .secondary-button{font-size:16px!important;padding:12px}
}
@media(max-height:500px) and (orientation:landscape){
 .modal-shell .observe-card{width:min(630px,100%);display:grid;grid-template-columns:1fr 1.2fr;gap:10px 22px;padding:20px}
 .modal-shell .build-preview{grid-column:1;grid-row:1/5;height:100%;min-height:230px;margin:0}
 .modal-shell .modal-card.observe-card h2{margin:7px 44px 0 0;font-size:24px!important}
 .modal-shell #observeStory{font-size:15px!important;margin:0}
 .modal-shell .observe-grid{gap:8px;margin:4px 0 8px}
 .modal-shell .observe-grid>div{padding:9px 3px}
 .modal-shell .observe-grid svg{width:27px;height:27px}
 .modal-shell .observe-grid b{font-size:16px}
 .modal-shell .observe-actions{gap:8px}.modal-shell .observe-actions button{font-size:16px!important;padding:9px}
 .modal-shell .celebration-picture{height:90px;width:135px}.modal-shell .celebration-picture img{height:94px;width:85px}
 .modal-shell .reward-picture{height:100px;width:140px}.modal-shell .reward-picture img{height:103px;width:110px}
 .modal-shell .modal-card h2{margin:10px 0;font-size:27px!important}.modal-shell .victory-actions{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){#gameScreen .play-button,#gameScreen #stabilityFill{transition:none}}
