/* Hallmark · macrostructure: Map / Diagram · genre: playful · theme: Hum · nav: N3 side-rail · footer: Ft5 statement · enrichment: original SVG village
   audience: children 3–6 · use: choose and complete play · tone: warm Korean picture book
   Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V5 */
:root{--paper:#f9f6ed;--cream:#fffdf5;--ink:#253e38;--muted:#62746b;--forest:#315a48;--leaf:#a7c77a;--grass:#d0dfaf;--hill:#b4d2b5;--sky:#d9eeee;--sky-strong:#76bac7;--gold:#f2c65d;--butter:#f5e6b2;--coral:#dc785b;--pink:#edb9ad;--peach:#f1d1b6;--mint:#d9e6cf;--lavender:#e3deeb;--sand:#d9c3a0;--roof:#537d77;--night:#394d68;--line:#dddccc;--shadow-color:#253e3814;--white:#fff;--black:#000;--danger:#a03c34;--font-display:"Arial Rounded MT Bold","Malgun Gothic","Apple SD Gothic Neo",sans-serif;--font-body:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--ease:cubic-bezier(.2,.7,.3,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--forest);outline-offset:4px}button:active{transform:translateY(2px)}button:disabled{cursor:default;opacity:.45;transform:none}button:hover:enabled{filter:brightness(.97)}button svg{display:block}svg{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:1.35;word-break:keep-all}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.5px}h2{font-size:23px;letter-spacing:-.7px}h3{font-size:18px}.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.layout{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:100svh}.rail{background:var(--cream);border-right:1px solid var(--line);padding:var(--space-6) var(--space-3);position:sticky;top:0;height:100svh;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);z-index:5}.brand{width:74px;margin-bottom:var(--space-6);text-align:center;font-size:10px;letter-spacing:1px;font-weight:900}.brand-mark{width:65px;height:55px;overflow:hidden}.brand-mark :is(svg,.art-image){width:75px;margin-top:-7px}.navbtn{width:86px;min-height:75px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);color:var(--muted);font-size:12px;font-weight:800;position:relative}.navbtn svg{width:25px;height:25px}.navbtn.active{background:var(--butter);color:var(--ink)}.navbtn.parent{margin-top:auto}.rail-tail{font-size:9px;letter-spacing:.7px;color:var(--muted);margin-top:var(--space-4)}.main{padding:var(--space-8) clamp(20px,4vw,64px) var(--space-6);max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.wordmark{font-weight:900;font-size:18px;letter-spacing:-.8px}.wordmark span{font-size:11px;display:block;font-weight:400;letter-spacing:1px;color:var(--muted)}.tools{display:flex;gap:var(--space-2);align-items:center}.iconbtn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--cream);flex:none}.iconbtn svg{width:20px;height:20px}.profilebtn{display:flex;align-items:center;gap:var(--space-2);background:var(--cream);border:1px solid var(--line);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-radius:30px;font-weight:800;font-size:13px}.avatar{width:39px;height:39px;border-radius:50%;overflow:hidden;background:var(--butter);display:inline-block}.avatar :is(svg,.art-image){width:48px;transform:translate(-5px,-4px)}.greeting{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.greeting p{margin-top:var(--space-2);color:var(--muted)}.date-chip{font-size:12px;font-weight:700;display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.date-chip svg{width:16px}.map{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:var(--sky)}.map>:is(svg,.art-village){width:100%}.map-link{position:absolute;width:22%;height:42%;top:31%;border-radius:12px;display:flex;align-items:end;justify-content:center;padding-bottom:var(--space-2)}.map-link:nth-of-type(1){left:8%}.map-link:nth-of-type(2){left:39%;top:18%}.map-link:nth-of-type(3){left:70%}.map-link span{background:var(--cream);border:1px solid var(--ink);padding:var(--space-1) var(--space-4);border-radius:30px;font-size:13px;font-weight:900;box-shadow:0 3px 0 var(--shadow-color)}.map-link:hover span{background:var(--butter)}.map-caption{position:absolute;top:var(--space-4);left:var(--space-5);font-size:12px;color:var(--forest);font-weight:800;letter-spacing:1px}.map-sticker{position:absolute;width:48px;pointer-events:none;transform:translate(-50%,-50%)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-8) 0 var(--space-4)}.section-head span{font-size:12px;color:var(--muted)}.textbtn{font-size:13px;font-weight:800;border-bottom:1px solid var(--ink);padding:var(--space-1) 0}.daily{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.daily-item{display:flex;align-items:center;gap:var(--space-3);text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:var(--space-3);min-height:96px}.daily-art{width:94px;flex:none;border-radius:12px;overflow:hidden}.daily-item strong{font-size:15px;display:block;line-height:1.4}.daily-item .small{display:block;margin-top:var(--space-1)}.done-mark{width:20px;display:inline-block;color:var(--forest)}
.browsebar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);margin-bottom:var(--space-4)}.search{display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);padding:var(--space-2) 0;width:240px}.search svg{width:20px;color:var(--muted)}.search input{border:0;background:none;min-width:0;width:100%;color:var(--ink);font-size:13px;padding:var(--space-1)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}.chip{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:var(--space-2) var(--space-4);background:var(--cream);font-weight:700}.chip.active{background:var(--forest);border-color:var(--forest);color:var(--cream)}.chip.fav{display:flex;align-items:center;gap:var(--space-1)}.chip svg{width:14px}.catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6) var(--space-4)}.activity-card{position:relative;min-width:0}.card-main{display:block;width:100%;text-align:left;padding:0}.card-art{border-radius:18px;overflow:hidden;border:1px solid var(--line);transition:transform .18s var(--ease)}.card-main:hover .card-art{transform:translateY(-3px)}.card-art>:is(svg,img,.art-scene){aspect-ratio:5/3;object-fit:cover}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin:var(--space-3) 0 var(--space-1);padding-right:var(--space-1)}.card-main h3{font-size:16px;letter-spacing:-.5px}.card-main p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:var(--space-1)}.favbtn{position:absolute;right:var(--space-2);top:var(--space-2);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--cream);border:1px solid var(--line)}.favbtn svg{width:15px}.favbtn.on{color:var(--coral)}.favbtn.on svg path{fill:var(--coral)}.finished-badge{position:absolute;top:var(--space-2);left:var(--space-2);background:var(--cream);border-radius:30px;padding:2px var(--space-2);font-size:10px;font-weight:800}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--line);margin-top:var(--space-12);padding-top:var(--space-5);font-size:11px;color:var(--muted)}.footer strong{color:var(--forest);font-size:12px}.footer .footer-tools{display:flex;align-items:center;gap:var(--space-4)}.empty{padding:var(--space-12);text-align:center;color:var(--muted);grid-column:1/-1}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.path-card{border:1px solid var(--line);background:var(--cream);border-radius:20px;padding:var(--space-6)}.path-title{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.path-title>div:first-child{width:76px}.path-step{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-3) 0;border-top:1px dashed var(--line)}.step-number{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--butter);display:grid;place-items:center;font-size:13px;font-weight:900;flex:none}.step-number.done{background:var(--leaf)}.path-step strong{font-size:14px}.path-step small{display:block;color:var(--muted);font-size:11px}.certificate{width:100%;margin-top:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);background:var(--forest);border:1px solid var(--forest);border-radius:14px;color:var(--cream);font-weight:800;font-size:14px;line-height:1.3}.btn svg{width:18px}.btn.secondary{background:var(--cream);color:var(--ink);border-color:var(--line)}.btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn.danger{background:var(--cream);border-color:var(--danger);color:var(--danger)}.btnrow{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}
.modal-backdrop{position:fixed;inset:0;background:var(--shadow-color);backdrop-filter:blur(6px);z-index:30;display:grid;place-items:center;padding:var(--space-5);overflow:auto}.modal{width:min(650px,100%);max-height:calc(100svh - 40px);overflow:auto;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 100px var(--shadow-color);border-radius:24px;padding:var(--space-8);position:relative}.modal.wide{width:min(980px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.modal-head h2{font-size:22px}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.profile-tile{border:2px solid var(--line);border-radius:18px;padding:var(--space-4);background:var(--cream);text-align:center;font-weight:800}.profile-tile.active{border-color:var(--forest);background:var(--mint)}.profile-tile :is(svg,.art-image){height:110px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.settings-row label{font-weight:700}.settings-row input,.settings-row select{max-width:150px;background:var(--cream);color:var(--ink);padding:var(--space-2);border:1px solid var(--line);border-radius:8px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin:var(--space-5) 0}.summary-box{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:var(--space-4);text-align:center}.summary-box strong{display:block;font-size:28px;line-height:1.3}.summary-box span{font-size:11px;color:var(--muted)}.statline{display:flex;align-items:center;gap:var(--space-3);font-size:12px;margin:var(--space-3) 0}.statline>span{width:95px}.statbar{flex:1;background:var(--line);height:8px;border-radius:20px;overflow:hidden}.statbar i{display:block;background:var(--leaf);height:100%}.history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:12px;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.album{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}.stamp{aspect-ratio:1;border:1px dashed var(--line);border-radius:50%;padding:var(--space-2);opacity:.35;background:var(--cream)}.stamp.earned{opacity:1;border:2px solid var(--gold);background:var(--butter)}.stamp :is(svg,.art-image){width:100%}.decorboard{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;touch-action:manipulation}.decorboard>:is(svg,.art-village){width:100%}.decoritem{position:absolute;width:52px;transform:translate(-50%,-50%);padding:0}.decoritem:active{transform:translate(-50%,-50%)}.decortools{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}.decortools .chip.active{background:var(--butter);color:var(--ink)}
.game-page{max-width:1100px;margin:auto;padding:var(--space-6)}.game-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.game-title{flex:1;text-align:center}.game-title h1{font-size:22px;letter-spacing:-.6px}.game-title p{font-size:12px;color:var(--muted)}.game-shell{background:var(--cream);border:1px solid var(--line);border-radius:26px;min-height:560px;padding:var(--space-6);overflow:hidden}.game-instruction{display:flex;align-items:center;gap:var(--space-4);justify-content:center;text-align:center;margin-bottom:var(--space-4)}.guide-face{width:82px;flex:none}.game-instruction h2{font-size:25px;letter-spacing:-.8px}.game-instruction p{font-size:13px;color:var(--muted);margin-top:var(--space-1)}.rounddots{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-5)}.rounddots i{width:9px;height:9px;border-radius:50%;background:var(--line)}.rounddots i.done{background:var(--forest)}.rounddots i.current{background:var(--gold)}.game-feedback{min-height:38px;text-align:center;font-size:17px;font-weight:800;margin-top:var(--space-4);color:var(--forest)}.gamefeedback-pop{animation:pop .25s var(--ease)}@keyframes pop{from{transform:translateY(6px);opacity:.3}to{transform:translateY(0);opacity:1}}.choices{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-5) auto}.choice{min-width:120px;max-width:180px;min-height:125px;padding:var(--space-3);border:2px solid var(--line);border-radius:20px;background:var(--paper);font-size:16px;font-weight:800;position:relative}.choice :is(svg,.art-image){height:95px;max-width:140px;margin:auto}.choice.chosen{border-color:var(--forest);background:var(--mint)}.choice.correct{background:var(--butter);border-color:var(--gold)}.choice .letter{font-size:58px;line-height:1.6}.count-target{text-align:center;font-size:26px;font-weight:900}.count-target .dots{font-size:22px;letter-spacing:8px;display:block;color:var(--coral)}.count-area{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:var(--space-6);max-width:700px;margin:auto}.supply{border:2px dashed var(--sand);border-radius:22px;padding:var(--space-5);text-align:center}.supply>button{width:150px;max-width:100%}.supply>button :is(svg,.art-image){height:135px}.plate{min-height:200px;border:8px solid var(--sky);border-radius:50%;background:var(--paper);padding:var(--space-5);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-1)}.plate .little-item{width:68px;padding:0}.plate .little-item :is(svg,.art-image){height:58px}.plate .small{padding:var(--space-5)}.plate.dropover{background:var(--mint)}.order-icon{width:64px;display:inline-block;vertical-align:middle}.sequence-slots{display:flex;justify-content:center;gap:var(--space-3);margin:var(--space-5) auto;flex-wrap:wrap}.slot{border:2px dashed var(--sand);border-radius:16px;width:145px;min-height:125px;background:var(--paper);font-size:15px;font-weight:800;padding:var(--space-3)}.slot :is(svg,.art-image){height:76px}.slot .num{font-size:30px;color:var(--muted)}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);max-width:600px;margin:auto}.memory-card{aspect-ratio:1.1;min-height:95px;border-radius:16px;border:2px solid var(--forest);background:var(--roof);color:var(--cream);font-size:30px;font-weight:900}.memory-card.open{background:var(--butter);color:var(--ink)}.memory-card :is(svg,.art-image){height:85px}.bins{display:flex;justify-content:center;gap:var(--space-5)}.bin{width:175px;min-height:155px;background:var(--mint);border:3px solid var(--forest);border-radius:10px 10px 30px 30px;padding:var(--space-4);font-weight:900;font-size:18px}.bin :is(svg,.art-image){height:80px}.rhythm-buttons{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-6)}.drum-button{width:150px;height:150px;border:8px solid var(--sand);background:var(--butter);border-radius:50%;font-weight:900;font-size:20px;box-shadow:0 8px 0 var(--sand)}.drum-button:nth-child(2){background:var(--peach)}.drum-button.pulse{background:var(--gold)}.rhythm-display{display:flex;gap:var(--space-2);justify-content:center;min-height:42px}.beat{width:40px;height:40px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;font-weight:800}.beat.done{background:var(--gold)}.trace-board{display:block;width:min(420px,100%);margin:auto;touch-action:none;background:var(--paper);border:2px solid var(--line);border-radius:20px}.trace-board circle{transition:fill .1s}.paint-board{width:min(430px,100%);margin:auto}.paint-zone{cursor:pointer;stroke:var(--ink);stroke-width:2}.palette{display:flex;justify-content:center;gap:var(--space-3);margin:var(--space-4)}.swatch{width:42px;height:42px;border:3px solid var(--paper);border-radius:50%}.swatch.selected{outline:2px solid var(--ink)}.puzzle-grid{display:grid;gap:var(--space-2);width:min(400px,100%);aspect-ratio:1;margin:auto}.puzzle-tile{border:2px solid var(--forest);border-radius:12px;background:var(--mint);font-weight:900;font-size:28px;overflow:hidden;padding:0}.puzzle-tile.blank{border:2px dashed var(--sand);background:var(--paper);cursor:default}.puzzle-tile svg{width:100%;height:100%}.kite-field{height:260px;max-width:700px;background:var(--sky);position:relative;border-radius:20px;overflow:hidden;margin:auto;touch-action:none}.kite{position:absolute;width:54px;height:66px;transform:translate(-50%,-50%);pointer-events:none}.kite-star{position:absolute;width:40px;transform:translate(-50%,-50%);pointer-events:none}.arrows{display:flex;justify-content:center;gap:var(--space-2);margin:var(--space-4)}.arrows button{width:55px;height:48px;border:1px solid var(--line);background:var(--butter);border-radius:12px;font-size:22px}.success{max-width:600px;margin:var(--space-8) auto;text-align:center}.success-art{width:200px;margin:auto;position:relative}.success-art::after{content:'★';position:absolute;right:4px;top:8px;color:var(--gold);font-size:52px}.success h1{font-size:34px;margin-top:var(--space-5)}.success p{color:var(--muted);margin-top:var(--space-3)}.media-scene{max-width:650px;margin:auto;border-radius:20px;overflow:hidden}.media-text{font-size:clamp(18px,2vw,24px);line-height:1.8;text-align:center;max-width:650px;min-height:95px;margin:var(--space-5) auto}.media-scene.animated svg>g{animation:sway 4s ease-in-out infinite alternate;transform-origin:center bottom}@keyframes sway{to{translate:0 -4px;rotate:1deg}}.movement-hero{max-width:230px;margin:auto}.movement-step{font-size:26px;font-weight:800;text-align:center;max-width:650px;margin:var(--space-4) auto}.certificate-page{text-align:center;background:var(--cream);border:7px double var(--sand);padding:var(--space-8)}.certificate-page h2{font-size:32px}.certificate-page :is(svg,.art-image){height:150px}.certificate-page p{margin:var(--space-4) 0}.print-only{display:none}#notice{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--forest);color:var(--cream);border-radius:15px;padding:12px 22px;font-size:13px;z-index:80;opacity:0;pointer-events:none;transition:opacity .15s}#notice.show{opacity:1}#opening{position:fixed;inset:0;background:var(--black);z-index:100;display:grid;place-items:center}#opening canvas{width:min(100vw,calc(100svh * 16/9));height:auto;image-rendering:pixelated}#skip-opening{position:absolute;bottom:24px;right:24px;color:var(--cream);font-size:12px;padding:12px;border:1px solid var(--muted);border-radius:8px}.session-clock{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.session-clock svg{width:14px}
@media(min-width:1500px){.catalog{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1050px){.main{padding:24px}.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.daily{gap:8px}.daily-item{padding:8px}.daily-art{width:70px}.daily-item strong{font-size:13px}.date-chip{display:none}}@media(max-width:740px){.layout{grid-template-columns:1fr}.rail{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:auto;flex-direction:row;justify-content:space-around;padding:6px 4px max(6px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);gap:0}.rail .brand,.rail-tail{display:none}.navbtn{width:20%;min-height:58px;border-radius:12px;font-size:10px;gap:4px}.navbtn svg{width:22px;height:22px}.navbtn.parent{margin:0}.main{padding:20px 16px 100px}.topbar{margin-bottom:20px}.wordmark{font-size:16px}.wordmark span{font-size:9px}.tools{gap:6px}.tools>.iconbtn{width:36px;height:36px}.tools>.iconbtn.hide-mobile{display:none}.profilebtn{padding:2px 8px 2px 2px;font-size:11px}.avatar{width:31px;height:31px}.avatar :is(svg,.art-image){width:40px}.greeting{margin-bottom:16px}.greeting p{font-size:12px}.map{border-radius:18px}.map>:is(svg,.art-village){width:145%;max-width:none;margin-left:-22.5%}.map-caption{font-size:9px;left:12px;top:10px}.map-link{width:29%;height:46%;top:30%}.map-link:nth-of-type(1){left:1%}.map-link:nth-of-type(2){left:35%;top:16%}.map-link:nth-of-type(3){left:69%}.map-link span{font-size:10px;padding:3px 10px}.daily{grid-template-columns:1fr;gap:8px}.daily-item{padding:8px 12px;min-height:76px}.daily-art{width:85px}.daily-item strong{font-size:15px}.daily-item .small{margin:0}.section-head{margin-top:24px}h2{font-size:20px}.browsebar{align-items:start;flex-direction:column;gap:12px;margin-top:24px}.search{width:100%}.chips{gap:6px;margin-bottom:20px}.chip{padding:6px 12px;font-size:11px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.card-art{border-radius:13px}.card-main h3{font-size:14px}.card-main p{font-size:11px}.card-meta{font-size:10px;margin-top:8px}.favbtn{width:29px;height:29px;right:6px;top:6px}.finished-badge{font-size:8px;padding:1px 6px;left:6px;top:6px}.footer{margin-top:32px;align-items:start;flex-direction:column;gap:12px}.path-grid{grid-template-columns:1fr;gap:16px}.path-card{padding:20px}.modal-backdrop{padding:12px}.modal{padding:20px;max-height:calc(100svh - 24px);border-radius:20px}.summary-grid{gap:8px}.summary-box{padding:12px}.summary-box strong{font-size:24px}.album{grid-template-columns:repeat(4,1fr)}.settings-row{gap:8px;font-size:13px}.settings-row input,.settings-row select{max-width:125px}.game-page{padding:16px 12px 32px}.game-top{gap:8px}.game-top .iconbtn{width:39px;height:39px}.game-title h1{font-size:17px}.game-title p{font-size:10px}.game-shell{padding:20px 12px;min-height:560px;border-radius:20px}.guide-face{width:62px}.game-instruction{gap:8px}.game-instruction h2{font-size:20px}.game-instruction p{font-size:11px}.choice{min-width:95px;max-width:135px;min-height:110px;padding:8px;font-size:14px}.choice :is(svg,.art-image){height:80px}.choices{gap:10px}.count-area{gap:12px;grid-template-columns:.8fr 1.2fr}.supply{padding:12px 8px}.supply>button :is(svg,.art-image){height:100px}.plate{min-height:180px;padding:12px;border-width:6px}.plate .little-item{width:50px}.plate .little-item :is(svg,.art-image){height:48px}.slot{width:94px;min-height:108px;padding:8px;font-size:12px}.slot :is(svg,.art-image){height:64px}.sequence-slots{gap:8px}.memory-grid{gap:8px}.memory-card{min-height:70px;border-radius:12px}.memory-card :is(svg,.art-image){height:63px}.bin{width:135px;min-height:140px;font-size:16px}.drum-button{width:125px;height:125px}.rhythm-buttons{gap:20px}.media-text{min-height:130px}.movement-step{font-size:22px}.profile-grid{gap:10px}.profile-tile{padding:12px}.map-sticker{width:36px}.btn{padding:12px 18px;font-size:13px;min-height:46px}}
@media(max-height:600px) and (orientation:landscape){.rail{width:76px;grid-column:1;height:100svh;padding:8px;position:sticky;top:0;flex-direction:column}.layout{grid-template-columns:76px 1fr}.rail .brand{display:none}.navbtn{min-height:54px;width:62px;font-size:9px}.main{padding:16px 24px}.map>:is(svg,.art-village){width:100%;margin:0}.game-shell{min-height:390px}.game-instruction{margin-bottom:8px}.guide-face{width:55px}.choice{min-height:95px}.choice :is(svg,.art-image){height:65px}.game-page{padding:12px 24px}.game-shell{padding:16px}.game-title h1{font-size:18px}.rounddots{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card-main:hover .card-art{transform:none}}@media print{body>*{display:none!important}.print-only{display:block!important;padding:20px}.print-only .certificate-page{page-break-inside:avoid}}

.demo-strip{display:flex;align-items:center;justify-content:center;gap:12px;max-width:260px;margin:0 auto 16px;padding:8px 16px;border-radius:14px;background:var(--butter)}.demo-strip span{width:48px}.demo-strip span :is(svg,.art-image){height:43px}.demo-strip b{color:var(--forest)}.demo-strip span:first-child{animation:demo-tap 1.3s var(--ease) 2}.color-target{width:58px;height:42px;border:3px solid var(--ink);border-radius:10px;margin:0 auto 8px}@keyframes demo-tap{50%{transform:translate(7px,4px)}100%{transform:translate(0,0)}}@media(prefers-reduced-motion:reduce){.demo-strip span:first-child{animation:none}}

/* Generated picture-book art shares layout dimensions with the UI geometry. */
.art-image{display:block;width:100%;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.art-cover{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.art-scene,.art-village{display:block;position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;isolation:isolate;background:var(--sky)}
.art-background{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.art-village{aspect-ratio:2/1}
.scene-friend{position:absolute;left:19%;bottom:2%;width:39%;height:76%;display:block;filter:drop-shadow(0 5px 3px #27143820)}
.scene-friend .art-character{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.village-friend{position:absolute;bottom:6%;width:16%;height:39%;filter:drop-shadow(0 3px 2px #27143820)}
.village-friend .art-character{width:100%;height:100%;object-position:center bottom}
.village-rabbit{left:22%}.village-goblin{left:47%;bottom:12%}.village-tiger{left:75%}
.card-art>.art-scene{height:100%;aspect-ratio:5/3}.daily-art>.art-cover,.daily-art>.art-scene{aspect-ratio:3/2;height:auto}.daily-art>.art-cover{object-fit:cover}
.guide-face .art-character,.success-art .art-character,.movement-hero .art-character,.path-title .art-character{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.profile-tile .art-character{width:100%;object-fit:contain}.stamp .art-character{width:100%;height:100%;object-fit:contain}.stamp{overflow:hidden}
.decoritem .art-image,.map-sticker .art-image{width:100%;height:auto}.certificate-page .art-character{width:100%;object-fit:contain}
.order-icon .art-object{width:100%;height:64px}.decorboard>.art-village{width:100%}
.media-scene.animated .scene-friend{animation:sway 4s ease-in-out infinite alternate;transform-origin:center bottom}
.media-scene .art-scene{border-radius:inherit}
.avatar .art-character{width:100%;height:100%;object-fit:contain;transform:none}
@media(max-width:740px){.order-icon .art-object{height:52px}.scene-friend{width:45%;left:15%;height:80%}}
@media(prefers-reduced-motion:reduce){.media-scene.animated .scene-friend{animation:none}}
