@font-face{font-family:Fredoka;src:url(assets/fredoka-400.woff2)}@font-face{font-family:Fredoka;src:url(assets/fredoka-600.woff2);font-weight:600}
:root{font-family:Fredoka,system-ui,sans-serif;color:#17324D;background:#f7f0e5;--purple:#6244BB;--lavender:#B28AFF;--cream:#fffaf0;--ink:#17324D}
*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;min-height:56px}button:disabled{cursor:default}button:focus-visible{outline:4px solid var(--purple);outline-offset:4px}button img{pointer-events:none;user-select:none}button:active:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}
#game{position:relative;height:100dvh;min-height:600px;max-width:1600px;margin:auto;overflow:hidden;background:radial-gradient(ellipse at top right,#eadfff80,transparent 60%),#faf5ec}
#opening{position:absolute;inset:0;z-index:100;background:#faf5ec}#opening picture,#opening picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.opening-title{position:absolute;top:3%;left:50%;transform:translateX(-50%);text-align:center;width:90%;color:#17324D;text-shadow:0 1px 12px #fff9ed}.opening-title small{text-transform:uppercase;letter-spacing:.13em;font-size:14px}.opening-title h1{font-size:clamp(30px,4vw,55px);line-height:1.02;margin:8px 0;font-weight:600}#play{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);height:100px;width:100px}
.art-button{background:none;border:0;padding:0;width:66px;height:66px;flex-shrink:0}.art-button img{width:100%;height:100%;object-fit:contain}.art-button:disabled{opacity:.45}.rune{position:absolute;bottom:8px;left:8px;width:65px;height:40px;object-fit:contain;pointer-events:none;z-index:500}
#toolbar{position:absolute;top:0;left:0;right:0;height:80px}#sourceControls{display:flex;visibility:hidden;position:absolute;left:10px;top:10px}.album-link{position:absolute;right:20px;top:12px;border:2px solid #d8cbbd;background:#fffdf8;border-radius:24px;min-width:165px;padding:9px 18px;font-weight:600}.album-link span{color:var(--purple);margin-left:12px}
#content{position:absolute;inset:89px 30px 48px}.primary,.secondary{border:2px solid var(--purple);border-radius:20px;padding:10px 22px;background:var(--lavender);color:#000;box-shadow:0 4px 0 var(--purple);font-weight:600}.secondary{background:#fffdf8;border-color:#d4c3ae;color:#17324D;box-shadow:0 3px 0 #cab296}.small-label{text-transform:uppercase;letter-spacing:.1em;color:#6244BB;font-size:13px}.album-home{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;height:100%;max-width:1200px;margin:auto}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.home-heading h1{font-size:36px;margin:2px 0}.home-heading p{font-size:19px;margin:4px 0;color:#655c78}.home-heading img{width:90px;height:100px;object-fit:contain}.chapters{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}.chapter-card{min-height:0;overflow:hidden;background:#fffdf8;border:1px solid #dfd0c1;border-radius:24px;padding:0;display:flex;flex-direction:column;box-shadow:0 5px 0 #e2d4c2,0 8px 24px #5235640a;text-align:left;transition:transform .16s}.chapter-card:hover{transform:translateY(-3px)}.chapter-card>img{width:100%;height:calc(100% - 70px);min-height:0;object-fit:cover}.chapter-caption{padding:9px 15px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.chapter-caption strong{font-size:24px;display:block}.chapter-caption small{font-size:14px;display:block;margin-top:2px;color:#655c78}.mini-stars{display:flex;gap:3px;font-size:19px;color:#98641d}.mini-stars .empty{color:#d2c6b5}
.chapter-view{height:100%;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;max-width:1180px;margin:auto}.chapter-story{min-width:0}.chapter-story img{width:100%;border-radius:25px;border:8px solid #fffdf8;box-shadow:0 6px 0 #e2d4c2;display:block}.chapter-story h1{font-size:40px;margin:15px 0 5px}.chapter-story p{font-size:20px;line-height:1.35;max-width:580px;margin:8px 0}.activity-menu{display:flex;flex-direction:column;gap:14px}.activity-choice{background:#fffdf8;border:2px solid #ded0c0;border-radius:22px;padding:12px 15px;display:flex;align-items:center;gap:15px;text-align:left;box-shadow:0 4px 0 #e2d4c2}.activity-choice .step{width:55px;height:55px;border-radius:18px;background:#eee5fd;display:grid;place-items:center;color:#6244BB;font-size:27px;flex-shrink:0}.activity-choice strong{font-size:24px;display:block}.activity-choice small{font-size:15px;display:block;color:#655c78;margin-top:3px}.activity-choice .star{margin-left:auto;color:#98641d;font-size:25px}.activity-choice:hover{border-color:#6244BB}
.play-view{height:100%;display:grid;grid-template-rows:70px minmax(0,1fr) 76px;gap:14px;max-width:1250px;margin:auto}.play-heading{display:flex;align-items:center;gap:13px}.play-heading .portrait{width:66px;height:70px;object-fit:contain}.play-heading h1{font-size:29px;line-height:1.05;margin:4px 0}.play-heading small{color:#6244BB;font-size:14px}.play-heading .current-star{font-size:30px;color:#98641d;margin-left:auto}.say{background:none;border:0;padding:0;width:55px;height:58px;flex-shrink:0}.say img{width:100%;height:100%;object-fit:contain}.play-body{display:grid;grid-template-columns:25% minmax(0,1fr);gap:30px;min-height:0}.scene-note{display:flex;flex-direction:column;justify-content:center;gap:15px;min-width:0}.scene-note .story-photo{width:100%;border:6px solid white;border-radius:19px;box-shadow:0 4px 0 #dfd0bd}.scene-note p{font-size:20px;line-height:1.35;margin:0}.scene-note .chapter-hero{width:100%;height:150px;object-fit:contain}.scene-note button{align-self:flex-start;font-size:16px;padding:9px 15px}.work-area{min-width:0;min-height:0;position:relative}.puzzle-stack{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 95px;gap:16px}.picture-space{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}.picture-board{display:grid;position:relative;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(2,1fr);padding:6px;gap:3px;background:#d6b995;border:3px solid #b08c66;border-radius:17px;box-shadow:0 6px 0 #b5987777;overflow:hidden}.picture-board.preview:before{content:'';position:absolute;inset:6px;background-image:var(--scene);background-size:100% 100%;opacity:.48;z-index:3;pointer-events:none}.picture-board button{min-width:0;min-height:0;padding:0;border:0;background-color:#f1e4d2;border-radius:5px;position:relative;box-shadow:inset 0 0 0 1px #c2a482}.picture-board .empty-place{background:repeating-linear-gradient(135deg,#f7eddf 0 10px,#f1e5d4 10px 20px)}.empty-place:after{content:'+';font-size:32px;color:#c2ab91;opacity:.5}.picture-piece{background-repeat:no-repeat;background-size:var(--zoom);background-position:var(--pos)}.piece-tray{display:flex;gap:12px;align-items:center;justify-content:center;min-height:0}.tray-piece{height:100%;aspect-ratio:1.5;max-width:24%;min-height:48px;min-width:48px;position:relative;border:3px solid #fffdf8;border-radius:9px;background-color:#eee5d7;box-shadow:0 4px 0 #bda990,0 2px 8px #6244bb12}.tray-piece.used{opacity:.25;border-style:dashed;background-image:none!important;pointer-events:none}.selected{outline:4px solid #6244BB;outline-offset:3px;z-index:5!important}.work-area .selected{box-shadow:0 0 0 6px #ede3ff}.picture-board .sliding-hole{background:#f8f0e5;box-shadow:inset 0 0 0 3px #c7ae90;border-radius:9px;color:#88624b;font-size:36px;display:grid;place-items:center}.picture-board .can-slide:after{content:'';background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236244bb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M7 8l-4 4 4 4m10-8 4 4-4 4'/%3E%3C/svg%3E");background-size:22px;background-position:center;background-repeat:no-repeat;position:absolute;bottom:4px;right:4px;background-color:#fff9e9ed;border-radius:50%;width:26px;height:26px;font-size:19px;color:#6244BB}
.memo-board{height:100%;width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;max-width:690px;margin:auto}.memory-card{min-height:0;min-width:0;border:3px solid #c6b1de;border-radius:24px;background:#eee4fc;box-shadow:0 5px 0 #baa0ce;position:relative;padding:12px;display:flex;align-items:center;justify-content:center}.memory-card.open{background:#fffdf8;border-color:#e4d4bc;box-shadow:0 4px 0 #d1b999}.memory-card.matched{border-color:#e2b762;background:#fff7df;box-shadow:0 4px 0 #cda65f}.memory-card .card-symbol{font-size:60px;color:#7954aa}.memory-card img{width:100%;height:100%;object-fit:contain;max-height:210px}.memory-card .pair-mark{position:absolute;right:8px;top:5px;font-size:22px;color:#8b5e19}.memory-card:disabled{opacity:1}
.shape-stack{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 95px;gap:15px}.shape-board{min-height:0;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;align-content:center}.shape-slot{min-height:110px;min-width:0;aspect-ratio:1;background:#fffdf8;border:2px dashed #cbb39a;border-radius:22px;padding:13px;position:relative}.shape-slot img{width:100%;height:100%;object-fit:contain}.shape-slot img.shadow{filter:brightness(0);opacity:.13}.shape-tray .tray-piece{background:#fffdf8;aspect-ratio:1}.shape-tray .tray-piece img{width:100%;height:100%;object-fit:contain}.slide-stack{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 45px;gap:12px}.slide-stack .slide-tip{text-align:center;margin:0;align-self:center;color:#655c78;font-size:17px}
.play-footer{display:flex;align-items:center;gap:12px}.play-footer .utility{background:#fffdf8;border:2px solid #d4c3ae;border-radius:18px;width:56px;min-height:56px;padding:5px;font-size:25px;flex-shrink:0}.play-footer .utility:disabled{opacity:.35}.play-footer #feedback{font-size:18px;line-height:1.2;flex:1;text-align:center;margin:0}.play-footer .check-wrap{display:flex;align-items:center;gap:8px;margin-left:auto}.progress-dots{display:flex;gap:8px}.progress-dots button{border:2px solid #d3bde8;border-radius:50%;width:44px;min-height:44px;background:#fffdf8;font-size:19px}.progress-dots button.current{background:#B28AFF;border-color:#6244BB;color:#000}.progress-dots button.done{color:#8b5e19}.demo-ring{outline:5px solid #B28AFF!important;outline-offset:5px}.demo-label{color:#6244BB!important}.drag-ghost{position:fixed;pointer-events:none;z-index:600;opacity:.9;transform:translate(-50%,-50%);width:100px!important;height:80px!important;max-width:none!important;box-shadow:0 9px 22px #17324d44!important}.overlay{position:absolute;inset:0;background:#17324d66;z-index:300;display:grid;place-items:center;padding:25px 20px 55px;backdrop-filter:blur(5px)}.panel{width:min(650px,96%);max-height:100%;overflow:auto;background:#fffaf0;border:3px solid #dfcdb3;border-radius:30px;padding:25px;text-align:center;box-shadow:0 20px 70px #17324d33}.panel h2{font-size:32px;margin:0 0 10px}.panel p{font-size:20px;margin:12px 0}.panel .reward-picture{width:100%;max-height:280px;object-fit:contain;border-radius:19px}.panel .reward-highfive{height:190px;max-width:100%;object-fit:contain}.modal-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.panel .pause-bly{height:200px;max-width:100%;object-fit:contain}.full-photo{width:100%;border-radius:17px}.final-album{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;text-align:center}.final-album h1{font-size:36px;margin:4px}.final-album p{font-size:20px;margin:4px}.final-pictures{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;min-height:0}.final-pictures button{min-height:0;padding:0;border:5px solid white;box-shadow:0 4px 0 #dfd0bd;border-radius:18px;overflow:hidden;background:white}.final-pictures img{width:100%;height:calc(100% - 28px);object-fit:cover;display:block}.final-pictures span{font-size:19px}.celebrate{animation:happy .7s ease-in-out}.paused *{animation-play-state:paused!important}@keyframes happy{50%{transform:translateY(-8px)}}
@media(orientation:portrait){#content{inset:126px 14px 47px}.album-link{top:78px;right:14px;min-height:38px;font-size:15px;min-width:0;padding:5px 14px}.album-home{gap:11px}.home-heading h1{font-size:28px}.home-heading p{font-size:16px;margin:2px 0}.home-heading img{width:66px;height:75px}.chapters{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}.chapter-card{border-radius:19px}.chapter-card>img{height:calc(100% - 54px)}.chapter-caption{padding:6px 10px;gap:2px}.chapter-caption strong{font-size:20px}.chapter-caption small{font-size:12px}.mini-stars{font-size:13px;gap:1px}.chapter-view{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:15px}.chapter-story{min-height:0;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}.chapter-story img{min-height:0;flex:1;object-fit:contain;border:0;border-radius:21px;box-shadow:none}.chapter-story h1{font-size:30px;margin:9px 0 3px}.chapter-story p{font-size:16px;margin:2px 0}.activity-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.activity-choice{padding:10px;gap:8px;min-height:95px}.activity-choice .step{width:37px;height:42px;font-size:23px}.activity-choice strong{font-size:18px}.activity-choice small{font-size:12px}.activity-choice .star{font-size:19px}.play-view{grid-template-rows:63px minmax(0,1fr) 65px;gap:12px}.play-heading{gap:9px}.play-heading h1{font-size:23px}.play-heading small{font-size:12px}.play-heading .portrait{width:49px;height:58px}.play-heading .current-star{font-size:25px}.say{width:43px;height:52px}.play-body{grid-template-columns:1fr;gap:0}.scene-note{display:none}.puzzle-stack{grid-template-rows:minmax(0,1fr) 85px;gap:16px}.piece-tray{gap:8px}.tray-piece{height:auto;max-height:100%;width:23%;max-width:none;aspect-ratio:1.5}.shape-stack{grid-template-rows:minmax(0,1fr) 80px}.shape-board{grid-template-columns:repeat(2,1fr);gap:13px;max-width:400px;width:100%;height:100%;margin:auto;align-content:center}.shape-slot{min-height:70px;max-height:170px;aspect-ratio:1.2;padding:12px}.shape-tray .tray-piece{height:75px;aspect-ratio:1;width:23%;max-width:85px}.memo-board{gap:12px}.memory-card{padding:9px;border-radius:20px}.memory-card .card-symbol{font-size:45px}.play-footer{gap:8px}.play-footer #feedback{font-size:16px}.play-footer .utility{width:50px;min-height:50px;font-size:23px}.art-button{height:59px;width:59px}.progress-dots{display:none}.slide-stack{grid-template-rows:minmax(0,1fr) 50px}.slide-stack .slide-tip{font-size:16px}.panel{padding:20px 15px}.panel h2{font-size:28px}.panel p{font-size:18px}.panel .reward-picture{max-height:230px}.final-pictures{grid-template-columns:repeat(2,1fr)}.final-album h1{font-size:28px}.final-album p{font-size:17px}.final-pictures span{font-size:17px}.opening-title h1{font-size:33px}.opening-title small{font-size:11px}.rune{width:56px;height:35px}}
@media(orientation:portrait) and (min-width:600px){.play-heading h1{font-size:30px}.scene-note{display:flex}.play-body{grid-template-columns:24% minmax(0,1fr);gap:24px}.shape-board{grid-template-columns:repeat(2,1fr)}.chapter-view{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.activity-menu{display:flex}.chapter-story{justify-content:center;height:auto}.chapter-story img{width:100%;flex:none}.chapter-story h1{font-size:32px}.chapters{gap:20px}.chapter-card>img{height:calc(100% - 68px)}.chapter-caption strong{font-size:25px}.chapter-caption small{font-size:15px}.mini-stars{font-size:18px}.play-view{grid-template-rows:70px minmax(0,1fr) 76px}.shape-stack{grid-template-rows:minmax(0,1fr) 95px}}
@media(max-width:500px) and (max-height:720px){#content{top:120px;bottom:40px;left:10px;right:10px}.home-heading h1{font-size:24px}.home-heading p{font-size:14px}.home-heading img{height:55px;width:48px}.small-label{font-size:10px}.album-home{gap:8px}.chapters{gap:9px}.chapter-card>img{height:calc(100% - 46px)}.chapter-caption{padding:5px 8px}.chapter-caption strong{font-size:18px}.chapter-caption small{font-size:10px}.mini-stars{font-size:12px}.chapter-view{gap:10px}.chapter-story h1{font-size:24px;margin:4px}.chapter-story p{font-size:14px}.activity-choice{min-height:80px;padding:7px;gap:6px}.activity-choice strong{font-size:16px}.activity-choice small{font-size:10px}.activity-choice .step{width:30px;height:36px;font-size:20px}.activity-choice .star{font-size:16px}.activity-menu{gap:8px}.play-view{grid-template-rows:56px minmax(0,1fr) 57px;gap:8px}.play-heading h1{font-size:19px}.play-heading small{font-size:10px}.play-heading .portrait{width:40px;height:49px}.say{width:37px;height:47px}.puzzle-stack{grid-template-rows:minmax(0,1fr) 60px;gap:11px}.shape-stack{grid-template-rows:minmax(0,1fr) 60px;gap:10px}.shape-board{max-width:300px;gap:10px}.shape-slot{max-height:100px;aspect-ratio:1.3;padding:7px}.shape-tray .tray-piece{height:58px}.memory-card{border-radius:16px;padding:8px}.memo-board{gap:10px}.memory-card .card-symbol{font-size:38px}.play-footer #feedback{font-size:14px}.play-footer .utility{min-height:48px;width:48px}.art-button{width:53px;height:53px}.slide-stack .slide-tip{font-size:14px}.panel .reward-highfive{height:130px}.panel .reward-picture{max-height:150px}.panel h2{font-size:24px}.panel p{font-size:16px}.panel .pause-bly{height:145px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.play-body{grid-template-rows:minmax(0,1fr)}.work-area{height:100%;max-height:100%}.scene-note{gap:10px}.scene-note .chapter-hero{height:120px}.picture-board{width:100%;height:100%}.demo-ring.art-button{opacity:1}.work-area [data-piece]{touch-action:none}
.progress-dots button{width:48px;min-height:48px}.say{min-width:48px;min-height:48px}@media(orientation:portrait){.album-link{top:74px;min-height:48px}}

.card-cover{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 30px;gap:5px;align-items:center;justify-items:center}.memory-card .card-cover img{object-fit:cover;max-height:none;border-radius:14px;border:2px solid #fff9}.card-cover>span{font-size:25px;font-weight:600;color:#6244bb}

@media(orientation:portrait){
 #game[data-state="menu"] #content{top:76px}
 #game[data-state="menu"] .album-link{top:12px}
 .album-home{display:block;overflow-y:auto;padding:0 2px 8px;overscroll-behavior:contain}
 .home-heading{margin-bottom:14px}
 .album-home .chapters{grid-template-rows:repeat(3,auto)}
 .album-home .chapter-card>img{height:auto;aspect-ratio:3/2;flex:none;object-fit:contain}
 .chapter-caption{flex-wrap:wrap;min-height:62px}
 .chapter-caption small{font-size:12px}
}

@media(orientation:portrait){
 #game[data-state="game-complete"] #content{top:76px}
 #game[data-state="game-complete"] .album-link{top:12px}
 .final-album{display:block;overflow-y:auto;padding:0 2px 8px}
 .final-pictures{grid-template-rows:repeat(3,auto);margin:16px 0}
 .final-pictures img{height:auto;aspect-ratio:3/2;object-fit:contain}
 .final-album #explore{margin-bottom:8px}
}

/* One continuous farmyard adventure. */
.play-body{grid-template-columns:minmax(0,1fr)!important;gap:0}.scene-note{display:none!important}.play-view{max-width:1100px}.work-area{max-width:1000px;width:100%;margin:auto}
#content.journey-content,#content.meeting-content{inset:0!important}.journey-world,.meeting{height:100%;position:relative}.yard-view,.yard-view img,.meeting-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.journey-title{position:absolute;top:85px;left:50%;transform:translateX(-50%);width:max-content;max-width:88%;background:#fffaf0f2;border-radius:24px;padding:12px 25px;text-align:center;box-shadow:0 4px 0 #bca38280}.journey-title h1{font-size:32px;margin:0}.journey-title p{font-size:19px;margin:5px 0 0}.yard-residents{position:absolute;inset:0;pointer-events:none}.yard-resident{position:absolute;width:13%;height:24%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;filter:drop-shadow(0 5px 3px #44332030)}.yard-resident img{width:100%;min-height:0;height:calc(100% - 25px);object-fit:contain}.yard-resident span{background:#fffaf0f2;border-radius:14px;padding:3px 13px;font-size:17px}.resident-0{left:10%;top:35%}.resident-1{left:28%;top:46%}.resident-2{left:44%;top:29%}.resident-3{left:78%;top:32%}.resident-4{left:64%;top:53%}.resident-5{left:59%;top:29%;height:19%}.journey-start{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:95%}.journey-start>img{width:95px;height:120px;object-fit:contain}.journey-start .primary{font-size:23px;min-height:64px;max-width:270px}.meeting-message{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);width:min(900px,90%);display:flex;align-items:center;gap:20px;background:#fffaf0f5;padding:18px 24px;border-radius:25px;box-shadow:0 5px 0 #d0b89a}.meeting-message>img{width:85px;height:105px;object-fit:contain}.meeting-message h1{margin:0;font-size:30px}.meeting-message p{margin:7px 0;font-size:21px}.meeting-message .primary{margin-left:auto;flex-shrink:0}#toolbar{z-index:20;pointer-events:none}#toolbar button{pointer-events:auto}
@media(orientation:portrait){.journey-title{top:80px;padding:11px 16px;max-width:94%;width:90%}.journey-title h1{font-size:25px}.journey-title p{font-size:16px}.yard-resident{width:24%;height:19%}.yard-resident span{font-size:14px;padding:2px 9px}.resident-0{left:5%;top:31%}.resident-1{left:8%;top:54%}.resident-2{left:39%;top:27%;height:16%}.resident-3{left:71%;top:30%}.resident-4{left:65%;top:55%}.resident-5{left:43%;top:46%;height:15%}.journey-start{bottom:7%;gap:6px}.journey-start>img{width:74px;height:98px}.journey-start .primary{font-size:19px;min-height:60px;max-width:240px;padding:9px 14px}.meeting-scene{object-fit:contain;background:#faf5ec}.meeting-message{bottom:6%;width:94%;padding:12px;gap:9px;flex-wrap:wrap}.meeting-message>img{width:48px;height:64px}.meeting-message>div{flex:1}.meeting-message h1{font-size:23px}.meeting-message p{font-size:17px}.meeting-message .primary{margin:auto;font-size:19px}.meeting-scene{height:65%;top:8%}}

.loading-scene{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center}.loading-scene img{width:130px;height:160px;object-fit:contain}.loading-scene p{font-size:22px}.variant-button{font-size:16px;padding:8px 12px;max-width:140px;min-height:56px}.variant-button:disabled{opacity:.45}
@media(orientation:portrait){.play-view{grid-template-rows:63px minmax(0,1fr) 108px}.play-footer{display:grid;grid-template-columns:50px 50px minmax(0,1fr) 59px;grid-template-rows:40px 59px;gap:7px}.play-footer #feedback{grid-column:1/-1;grid-row:1;margin:0}.play-footer #hint,.play-footer #undo,.play-footer #another,.play-footer #check{grid-row:2}.play-footer #another{justify-self:center;width:100%;max-width:150px;min-height:50px;font-size:15px;padding:5px 8px}.play-footer #check{grid-column:4}}
@media(max-width:500px) and (max-height:720px){.play-view{grid-template-rows:56px minmax(0,1fr) 96px}.play-footer{grid-template-columns:48px 48px minmax(0,1fr) 53px;grid-template-rows:35px 53px;gap:6px}.play-footer #another{font-size:14px;min-height:48px}.play-footer #feedback{font-size:14px}}

.memory-card .card-cover img{object-fit:contain}.picture-board.preview:before{opacity:1}

/* Audit: overlays, safe areas and reduced motion. */
#game[data-state="paused"] #check,#game[data-state="level-complete"] #check{visibility:hidden}
body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#game{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
button:focus-visible{outline:4px solid #6244BB;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(orientation:portrait){.meeting-message{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px}.meeting-message .primary{grid-column:1/-1;width:100%;margin:0}.meeting-message>div{min-width:0}.meeting-message p{margin:5px 0}
 #game:is([data-state="menu"],[data-state="game-complete"]) .album-link{font-size:0;padding:5px 10px}
 #game:is([data-state="menu"],[data-state="game-complete"]) .album-link span{font-size:15px;margin-left:0}
}
