@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;800;900&display=swap');
*{box-sizing:border-box}body{margin:0;background:#222337;color:#f8edcc;font-family:'Galmuri11','Noto Sans KR',monospace;background-image:radial-gradient(#444158 1px,transparent 1px);background-size:20px 20px}button{font:inherit;cursor:pointer;touch-action:manipulation}main{max-width:920px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;margin:5px 0 25px}header a{color:#efcba1;text-decoration:none;font-weight:900;letter-spacing:2px;font-size:20px}header a span{display:block;font-size:10px;letter-spacing:1px;color:#aaa8bf;margin-top:6px}header button{color:#c8c4d4;background:#303247;border:1px solid #56546c;padding:10px;font-size:11px}.console{background:#e9dfbe;border:4px solid #151a2c;box-shadow:8px 10px 0 #121726;border-radius:18px;padding:20px 25px 14px;color:#313345}.machine-top,.machine-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;padding:0 0 12px;font-weight:bold}.machine-top i{display:inline-block;width:7px;height:7px;background:#92a665;margin-right:7px;box-shadow:0 0 6px #92a665}.screen{position:relative;border:9px solid #36394a;border-radius:7px;overflow:hidden;background:#193b36;box-shadow:0 0 0 2px #b6ac8d}.hud{background:#243b39;display:flex;justify-content:space-between;padding:13px 18px;font-size:12px;color:#f9f2d9}.hud b{color:#ef919e;font-weight:normal;margin-left:12px}#world{display:block;width:100%;image-rendering:pixelated;aspect-ratio:3/2}.dialogue{display:flex;gap:13px;align-items:center;background:#fff1ce;padding:14px 18px;min-height:85px;border-top:4px solid #354f38}.portrait{background:#574f71;border:3px solid #2b3340;color:#ffd383;font-size:28px;width:46px;height:48px;display:grid;place-items:center;flex-shrink:0}.dialogue b{font-size:10px;color:#927056}.dialogue p{font-size:12px;margin:6px 0;line-height:1.65;color:#35443b}.controls{display:flex;align-items:center;justify-content:space-between;padding:22px 18px 15px}.dpad{display:grid;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,30px);gap:2px}.dpad button{border:0;background:#414358;color:#e1dcc5;box-shadow:2px 3px 0 #202638;border-radius:3px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad span{grid-row:2;grid-column:2;text-align:center;color:#62647b;background:#414358;padding-top:5px}.dpad button:nth-child(4){grid-row:2;grid-column:3}.dpad button:last-child{grid-row:3;grid-column:2}.action{width:65px;height:65px;border-radius:50%;background:#bd6074;color:#fff4d9;border:3px solid #873e55;box-shadow:3px 5px 0 #793a4b;font-size:25px;font-weight:900}.action:active,.dpad button:active{transform:translateY(2px);box-shadow:none}.control-note{font-size:10px;line-height:2;color:#646375}.control-note span{font-size:9px;color:#8b8071}.machine-bottom{padding:10px 0 0;font-size:8px;color:#8e8877}.machine-bottom span{letter-spacing:6px}.start-screen{position:absolute;inset:43px 0 86px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#213d39df;z-index:2;padding:15px}.eyebrow{font-size:10px;letter-spacing:1px;color:#bbaa8b}h1{font-size:44px;line-height:1.3;letter-spacing:-1px;text-shadow:3px 4px #35283d;margin:18px 0 8px;color:#fff0b8}h1 em{font-style:normal;color:#f3a0a6}.start-screen p{font-size:13px;color:#e6e6c4;line-height:1.8}.start-screen button,#finish{border:3px solid #834453;background:#e99497;color:#342c39;padding:14px 26px;box-shadow:4px 4px 0 #211c32;font-weight:800}.start-screen small{font-size:9px;margin-top:18px;color:#adc5ac}.quest-log{padding:35px 0 20px}.quest-log h2{font-size:20px;margin:9px 0 20px}.quests{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quests button{display:flex;align-items:center;gap:11px;text-align:left;background:#303347;color:#dedbc6;border:1px solid #565569;padding:17px 12px}.quests button>span{font-size:25px;color:#efb88b}.quests b{font-size:12px}.quests small{display:block;font-size:9px;line-height:1.7;color:#9b9cb1;margin-top:6px}.quests i{margin-left:auto;color:#d1b570;font-style:normal}.quests .done{border-color:#91b58a}.quests .done i{color:#b3d38c}details{margin-top:15px;border-top:1px solid #4a485d;padding:20px 0;color:#aaa9b9;font-size:12px;line-height:1.9}summary{cursor:pointer;color:#d1cbb7}details button{background:none;border:0;color:#c39f9f;text-decoration:underline}footer{text-align:center;font-size:10px;color:#a19caf;line-height:2;padding:25px 0}footer span{color:#767487}dialog{max-width:540px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;background:#fff1d2;color:#34483c;border:5px solid #404358;padding:28px;box-shadow:8px 8px #121727}dialog::backdrop{background:#141827cc}#close{position:absolute;right:10px;top:5px;background:none;border:0;font-size:30px;color:#645b66}dialog h2{font-size:24px;margin:15px 0}dialog p{font-size:13px;line-height:1.9}#game{margin:20px 0}.light-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.light-grid button{background:#e9dbac;border:3px solid #ac9c72;padding:14px 5px;font-size:25px}.light-grid button.collected{background:#f3cc66;border-color:#aa7837}.rhythm{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rhythm button,.listen{padding:18px 8px;background:#a9c7c0;color:#304a4b;border:3px solid #6e9490}.rhythm .flash{background:#ffcf67}.listen{width:100%;padding:12px;margin-bottom:12px;font-size:12px;background:#e5d49d}#family{background:#e0e7c9;padding:17px;font-size:13px;line-height:1.9;border-left:4px solid #789768;margin-bottom:20px}#family b{display:block;color:#4b6c44;margin-bottom:7px}#finish{width:100%;font-size:12px;padding:14px 8px}#feedback{font-size:12px;min-height:22px;color:#a45366}.palette{display:flex;gap:10px;margin-bottom:12px;align-items:center}.palette button{width:29px;height:29px;background:var(--color);border:3px solid #fff}.palette button.active{outline:2px solid #384639}.palette .erase{width:auto;font-size:10px;background:none;color:#566753;border:0}#pixel{display:block;width:100%;image-rendering:pixelated;touch-action:none;border:3px solid #b3aa86;background:#fff8e5}.draw-buttons{display:flex;gap:12px;margin-top:12px}.draw-buttons button{background:#dcc293;border:2px solid #ae9366;padding:10px;font-size:11px;color:#463e30}.ending{text-align:center}.ending img{width:150px}.ending h3{font-size:22px;color:#a35264}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid #efacbf;outline-offset:4px}@media(max-width:600px){main{padding:14px 10px}header{padding:0 5px;margin-bottom:15px}header a{font-size:16px}.console{padding:12px 9px 10px;border-radius:13px;box-shadow:4px 6px #121726}.machine-top{font-size:7px;letter-spacing:0}.screen{border-width:5px}.hud{font-size:10px;padding:10px}.dialogue{padding:10px;min-height:84px}.dialogue p{font-size:11px}.portrait{width:35px;height:39px;font-size:22px}.controls{padding:17px 8px 7px}.control-note{font-size:8px}.control-note span{display:none}.dpad{grid-template-columns:repeat(3,31px);grid-template-rows:repeat(3,29px)}.action{width:56px;height:56px}.machine-bottom{font-size:6px;letter-spacing:0}.start-screen{inset:34px 0 84px;padding:5px}h1{font-size:29px;margin:9px 0}.start-screen .eyebrow{font-size:8px}.start-screen p{font-size:10px;margin:6px 0 10px}.start-screen button{padding:9px 20px;font-size:12px}.start-screen small{font-size:7px;margin-top:10px}.quests{grid-template-columns:1fr}.quests button{padding:13px 15px}.quests small{display:inline;margin-left:10px}.quest-log{padding-top:28px}dialog{padding:23px 17px}.quests b{font-size:12px}}
/* Soft, contemporary mobile garden */
body{background:#f3f5ef;background-image:none;color:#344b43;font-family:'Noto Sans KR',sans-serif}main{max-width:1040px;padding:25px 35px}header{margin:0 0 24px}header a{font-size:27px;letter-spacing:-1.3px;color:#476953;font-weight:900}header a span{font-weight:500;font-size:11px;letter-spacing:0;color:#90a193}header button{background:#fff;border:1px solid #e1e6dd;border-radius:30px;color:#69806f;padding:11px 17px;box-shadow:0 3px 10px #45563e05}.console{background:transparent;border:0;padding:0;border-radius:0;box-shadow:none}.machine-top{padding:0 5px 12px;color:#93a28e;font-size:10px;letter-spacing:.3px}.machine-top i{border-radius:50%;box-shadow:none}.screen{border:0;border-radius:27px;box-shadow:0 18px 60px #465d3920;background:#bedfbb;overflow:hidden}.hud{position:absolute;left:18px;right:18px;top:17px;z-index:1;background:none;padding:0;font-size:12px;pointer-events:none}.hud>span{background:#fffdf1eb;border:1px solid #ffffff99;border-radius:30px;padding:10px 15px;box-shadow:0 4px 14px #59764412;color:#5b765e}.hud b{color:#9aa58d;font-size:9px;margin-left:6px}.avatar-mini{font-size:16px}#score{color:#a97780}.screen #world{image-rendering:auto;cursor:pointer;touch-action:manipulation}.dialogue{background:#fffdf6;border:0;padding:17px 23px;min-height:82px;gap:14px}.portrait{border:0;border-radius:15px;background:#eee6f1;color:#a393bc;width:42px;height:42px;font-size:26px}.dialogue b{color:#a993b5;font-size:10px}.dialogue p{color:#617462;font-size:12px;margin:5px 0;line-height:1.7}.controls{padding:18px 9px 7px;gap:20px}.dpad{grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,23px);gap:2px;opacity:.85}.dpad button{background:white;color:#9baa93;box-shadow:0 2px 3px #38513713;border-radius:8px;font-size:10px}.dpad span{background:#e8eee2;color:#a9b6a1;font-size:13px;border-radius:6px;padding:2px}.action{width:96px;height:45px;border-radius:25px;background:#ed9ca9;border:0;box-shadow:0 4px 0 #d98897;color:#fff;font-size:14px;letter-spacing:0}.control-note{color:#7f927c;font-size:11px;text-align:center}.control-note span{color:#a7b19f;font-size:9px}.machine-bottom{color:#a3af9a;padding:10px;font-size:9px;letter-spacing:0;justify-content:center}.machine-bottom span{display:none}.start-screen{inset:0;background:linear-gradient(115deg,#f6faeaeF,#edf5dfb8);backdrop-filter:blur(5px);padding:35px;bottom:82px}.start-screen .eyebrow{color:#91a37f;letter-spacing:1.7px}h1{font-family:'Noto Sans KR',sans-serif;color:#4b7254;font-size:49px;line-height:1.3;letter-spacing:-2.8px;text-shadow:none;margin:20px 0 14px;font-weight:900}h1 em{color:#d28999}.start-screen p{color:#879775;font-size:14px;line-height:1.9;margin:0 0 23px}.start-screen button,#finish{background:#d991a0;color:#fff;border:0;border-radius:30px;padding:16px 29px;box-shadow:0 6px 20px #bc778732;font-size:14px}.start-screen small{color:#a4b092;font-size:10px;margin-top:17px}.quest-log{padding-top:30px}.eyebrow{color:#a4b194;font-size:9px;letter-spacing:2px}.quest-log h2{font-size:23px;letter-spacing:-.8px;color:#526b54;margin:9px 0 20px}.quests{gap:15px}.quests button{background:#fff;border:1px solid #e4e9dc;color:#586e59;border-radius:19px;padding:20px 16px;box-shadow:0 5px 16px #52664005;transition:transform .2s}.quests button:hover{transform:translateY(-3px)}.quests button>span{display:grid;place-items:center;min-width:40px;height:44px;border-radius:13px;background:#fbf0d2;color:#d5b064;font-size:26px}.quests button:nth-child(2)>span{background:#e5f1ef;color:#89afb2}.quests button:nth-child(3)>span{background:#f7e5e9;color:#d396a7}.quests b{font-size:13px}.quests small{color:#a4ae9a;font-size:10px}.quests i{color:#c6cdbd}.quests .done{border-color:#c0d6b8;background:#fafff5}.quests .done i{color:#93b483}details{border-color:#e0e7d9;color:#919d88;font-size:11px}summary{color:#809376}details button{color:#b5979c}footer{color:#91a085;font-size:10px}footer span{color:#b0baa5}dialog{background:#fffcf5;border:1px solid #f1efdf;border-radius:26px;box-shadow:0 30px 90px #1e392b40;padding:35px;color:#567058}dialog::backdrop{background:#304c4166;backdrop-filter:blur(8px)}dialog h2{font-size:25px;color:#58735a;letter-spacing:-1px}dialog p{color:#8e9a82}#close{color:#b0b8a7;right:15px;top:12px;font-size:26px}.light-grid button{background:#f4f1df;border:0;border-radius:18px;padding:20px 5px;color:#d4b264;box-shadow:0 4px 0 #e6e1c7}.light-grid button.collected{background:#f5d88f;color:#b39143;border:0;transform:scale(.94);box-shadow:none}.rhythm button,.listen{background:#e2efec;border:0;border-radius:17px;color:#75998f;padding:23px 8px;box-shadow:0 4px 0 #c8ded8}.listen{background:#f4efdc;box-shadow:none;padding:13px;margin-bottom:18px;color:#a69a73}.rhythm .flash{background:#f5d48a;transform:scale(1.06)}#family{background:#eef4e4;border:0;border-radius:17px;color:#859473}#family b{color:#718b61}#feedback{color:#b98d98}#pixel{border:1px solid #e5e6d7;border-radius:16px}.palette button{border-radius:50%;border-width:3px;width:32px;height:32px}.palette button.active{outline-color:#afb99c}.draw-buttons button{background:#eee8d9;border:0;border-radius:15px;color:#9d9174}.ending h3{color:#c18c9d}.ending img{filter:drop-shadow(0 10px 20px #c995a122)}button:focus-visible,a:focus-visible{outline-color:#d698aa}@media(max-width:600px){main{padding:18px 12px}header{padding:0 7px;margin-bottom:20px}header a{font-size:24px}header a span{font-size:9px}header button{font-size:10px;padding:10px 12px}.machine-top{font-size:9px}.screen{border-radius:22px}.hud{top:12px;left:10px;right:10px;font-size:9px}.hud>span{padding:7px 10px}.hud b{display:none}.avatar-mini{font-size:12px}.start-screen{bottom:81px;padding:12px}.start-screen .eyebrow{font-size:8px;letter-spacing:.5px}h1{font-size:30px;letter-spacing:-1.8px;margin:10px 0}.start-screen p{font-size:10px;line-height:1.6;margin-bottom:13px}.start-screen button{padding:11px 20px;font-size:11px}.start-screen small{font-size:8px;margin-top:10px}.dialogue{padding:13px;min-height:81px}.dialogue p{font-size:10px}.portrait{width:34px;height:36px;min-width:34px;font-size:22px}.controls{gap:10px;padding:15px 4px 5px}.control-note{font-size:9px;line-height:1.7}.control-note span{display:block;font-size:8px}.action{width:69px;height:39px;font-size:12px}.machine-bottom{font-size:8px}.quests{grid-template-columns:1fr}.quests button{padding:16px}.quests small{font-size:10px;display:block;margin-left:0}.quest-log h2{font-size:22px}.quest-log{padding-top:27px}.quests button>span{height:40px}.quests i{margin-right:7px}dialog{padding:29px 20px}.start-screen h1{font-size:clamp(25px,7.5vw,38px)}}
.game-lobby{background:linear-gradient(140deg,#eef6e7,#fcf1e6);padding:22px;border-radius:20px}.record-line{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9b9f85;margin-bottom:20px}.record-line b{font-size:19px;color:#618160;margin-left:7px}.record-stars{color:#e2b663;font-size:21px;letter-spacing:3px}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-picker button{background:#ffffffd9;border:1px solid #e2e8d4;border-radius:17px;padding:20px 12px;color:#62795d;box-shadow:0 5px 0 #d9e1cd}.mode-picker small{display:block;font-size:10px;color:#a4ac92;margin-top:9px}.mode-picker b{font-size:13px}.lobby-note{text-align:center;font-size:10px!important;margin:22px 0 0}.arcade-stats{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eef4e5;padding:10px 15px;border-radius:15px;margin-bottom:12px;color:#849775;font-size:12px}.arcade-stats b{font-size:23px;color:#567753;margin-left:6px}.mini-pause{border:0;background:#fff9ed;color:#a49677;border-radius:10px;padding:8px 13px}.arcade-stage{position:relative;overflow:hidden;border-radius:22px;background:#e6f0df;isolation:isolate}.arcade-canvas{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;cursor:grab}.mini-cover{position:absolute;inset:0;background:#f3f8e7ed;backdrop-filter:blur(6px);z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}.mini-cover>span{font-size:44px}.mini-cover h3{font-size:24px;letter-spacing:-1px;color:#63855e;margin:14px 0}.mini-cover p{font-size:12px;line-height:1.9}.mini-start{background:#d99aab;border:0;color:#fff;border-radius:30px;padding:13px 23px;margin-top:12px;box-shadow:0 4px 0 #bc8090;font-size:13px}.mini-pop{position:absolute;left:0;right:0;top:16%;text-align:center;pointer-events:none;font-size:18px;font-weight:900;color:#9d6689;text-shadow:0 2px #fff9ef;opacity:0}.mini-pop.pop{animation:pop 900ms ease-out}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translateY(-12px)}}.beat-buttons{display:flex;gap:10px;margin-top:12px}.beat-buttons button{flex:1;touch-action:manipulation;background:#bad8d1;color:#fff;border:0;box-shadow:0 5px 0 #9ab9b2;padding:15px 5px;border-radius:15px;font-size:16px;font-weight:800}.beat-buttons button:nth-child(2){background:#bdc9e5;box-shadow:0 5px 0 #9aaacf}.beat-buttons button:nth-child(3){background:#e5b9cc;box-shadow:0 5px 0 #c89aad}.beat-buttons button:active{transform:translateY(3px);box-shadow:none}.beat-buttons small{display:block;font-size:10px;opacity:.7;margin-top:3px}.mini-help{font-size:10px!important;text-align:center;color:#a4ad92!important}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:17px}.memory-card{aspect-ratio:1.1;background:linear-gradient(145deg,#d2b9d5,#c19ebf);border:3px solid #f4eaf2;border-radius:16px;box-shadow:0 4px 0 #b9a0b5;color:#f9eff8;font-size:29px;transition:transform .18s,background .18s}.memory-card.flipped{background:#fff9ed;color:#d999a7;transform:rotateY(0);box-shadow:0 4px 0 #e6d7b9}.memory-card.matched{background:#e4efd9;border-color:#cadcbb;box-shadow:none;opacity:.65}.game-result{text-align:center;background:radial-gradient(ellipse at top,#fff2cb,#f5f6e7);border:1px solid #ede8d3;border-radius:24px;padding:25px 18px;animation:result-in .4s ease-out}.result-kicker{font-size:11px;color:#c49571;letter-spacing:1px;font-weight:800}.result-stars{font-size:47px;letter-spacing:7px;color:#e9bc68;text-shadow:0 3px #dca95844;margin:10px 0}.result-stars>span{color:#dedcc9}.game-result>strong{display:block;color:#6d8d64;font-size:47px;line-height:1.3}.game-result>strong small{font-size:14px;margin-left:7px}.game-result p{font-size:11px}.reward-pill{border-radius:22px;padding:10px;background:#e5edcf;color:#84935f;font-size:11px;margin:18px 0}.result-actions{display:flex;gap:10px}.result-actions button{flex:1;border:0;border-radius:24px;padding:12px 6px;background:#fffaf0;color:#929b7c;font-size:12px}.result-actions button:last-child{background:#d99bab;color:white}#collection{padding:15px 0 30px}.collection-heading{display:flex;justify-content:space-between;align-items:center}.collection-heading h2{font-size:20px;color:#698160;letter-spacing:-.7px}.collection-heading>b{color:#c0a475;font-size:17px}.collect-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.collect-item{border:1px dashed #dce3d1;border-radius:19px;padding:18px 10px;text-align:center;background:#edf1e7;color:#a4ad97}.collect-item>span{display:block;font-size:28px;filter:grayscale(1);opacity:.5;margin-bottom:10px}.collect-item b{display:block;font-size:11px}.collect-item small{display:block;font-size:9px;margin-top:8px;color:#b1b9a6}.collect-item.unlocked{border:1px solid #e8dcc0;background:linear-gradient(130deg,#fff9eb,#f9eedb);color:#aa9468;box-shadow:0 5px 15px #bcb18310}.collect-item.unlocked>span{filter:none;opacity:1}.collect-item.unlocked small{color:#bfae86}.quests i{font-size:10px;letter-spacing:1px;white-space:nowrap}@keyframes result-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.game-lobby{padding:17px}.mode-picker button{padding:18px 8px}.mode-picker b{font-size:11px}.mode-picker small{font-size:9px}.mini-cover h3{font-size:21px}.mini-cover>span{font-size:33px}.mini-cover p{font-size:10px}.mini-start{font-size:12px;padding:12px 20px}.mini-pop{font-size:15px}.collect-items{grid-template-columns:repeat(2,1fr)}.collect-item{padding:17px 10px}.collection-heading h2{font-size:19px}.memory-grid{gap:8px;padding:12px}.memory-card{border-radius:12px;font-size:25px}.result-stars{font-size:38px}.arcade-stats{font-size:10px}.arcade-stats b{font-size:19px}}@media(prefers-reduced-motion:reduce){.mini-pop.pop{animation:none;opacity:1}.game-result{animation:none}.memory-card{transition:none}}
.char-avatar{display:inline-block;background-image:url('assets/characters.png');background-repeat:no-repeat;background-color:#f6e9df;border-radius:14px;flex-shrink:0;width:44px;height:46px;background-size:420% auto}.char-avatar.bokdong{background-position:12% 28%;background-color:#f7e3dd}.char-avatar.witch{background-position:87% 28%;background-color:#eee6ed}.hud>span:first-child{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 6px}.avatar-mini.char-avatar{width:29px;height:29px;border-radius:50%}.start-screen{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#faf9efef;padding:25px}.welcome-scene{align-self:stretch;display:flex;align-items:center;min-width:0}.welcome-scene img{width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;border-radius:25px}.welcome-copy{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0}.welcome-copy h1{font-size:40px;letter-spacing:-2px}.welcome-copy .eyebrow{font-size:9px;letter-spacing:.4px}.welcome-copy p{font-size:12px}.welcome-copy small{font-size:9px}.mission-guide{display:flex;gap:12px;align-items:center;background:#f5eee9;padding:12px;border-radius:17px;margin-bottom:15px}.mission-guide p{margin:0;font-size:11px;line-height:1.8;color:#9a8c96}.mission-guide b{display:block;font-size:10px;color:#ac8a9c;margin-bottom:3px}.result-character{width:75px;height:110px;margin:0 auto 12px;background-image:url('assets/characters.png');background-size:200% 100%;background-repeat:no-repeat;filter:drop-shadow(0 5px 5px #b889a51a)}.bokdong-full{background-position:left center}@media(max-width:600px){.start-screen{grid-template-columns:43% 1fr;gap:8px;padding:12px}.welcome-scene img{border-radius:12px}.welcome-copy h1{font-size:clamp(20px,5.5vw,30px);letter-spacing:-1.6px;margin:8px 0}.welcome-copy .eyebrow{font-size:7px;letter-spacing:0}.welcome-copy p{font-size:9px;margin-bottom:10px;line-height:1.6}.welcome-copy button{font-size:10px;padding:10px 13px}.welcome-copy small{font-size:7px;margin-top:8px}.avatar-mini.char-avatar{width:23px;height:23px}.hud>span:first-child{padding:4px 10px 4px 4px;gap:5px}.portrait.char-avatar{width:39px;height:42px}.result-character{width:65px;height:96px}}
/* Mobile layout and touch audit */
html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:has(dialog[open]){overflow:hidden}button{touch-action:manipulation}img,canvas{max-width:100%}header>*{min-width:0}header button{flex-shrink:0}.dialogue>div,.quests button>div{min-width:0;overflow-wrap:anywhere}dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#close{width:44px;height:44px;line-height:1;z-index:5;border-radius:50%;background:#fffcf5ed}.screen.is-welcome #world,.screen.is-welcome .hud{display:none}.screen.is-welcome .start-screen{position:relative;inset:auto;min-height:340px}.console:has(.is-welcome) .controls{display:none}.screen.is-welcome .dialogue{border-top:1px solid #e7ecdd}.palette button{min-width:40px;min-height:40px}.palette{flex-wrap:wrap}.result-actions button,.mode-picker button,.mini-start,#finish,.draw-buttons button,.mini-pause{min-height:44px}.arcade-stage{margin-inline:auto}.arcade-canvas{user-select:none;-webkit-user-select:none}.memory-card{touch-action:manipulation}.playing-screen #chapter,.playing-screen #intro{display:none}.playing-screen #title{font-size:21px;margin:0 48px 12px 0;line-height:1.5}.playing-screen #game{margin:0}.playing-screen #feedback:empty{display:none}.playing-screen .arcade-stats{margin-bottom:10px}.playing-screen .mini-help{margin:12px 0 0}.playing-screen .arcade-stage{width:min(100%,calc(100dvh - 265px));min-width:180px}.playing-screen[data-game="0"] .arcade-stage{width:min(100%,calc(100dvh - 190px))}.playing-screen[data-game="2"] .arcade-stage{width:100%;min-width:0}.playing-screen[data-game="2"] .memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.playing-screen[data-game="2"] .memory-card{aspect-ratio:1}.playing-screen[data-game="2"] .mini-cover{overflow-y:auto}.playing-screen .beat-buttons button{min-height:52px}.playing-screen .beat-buttons small{display:none}
@media(max-width:600px){html{scrollbar-gutter:auto}main{padding:16px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left))}header{gap:10px;padding:0 4px}header a span{font-size:10px;line-height:1.7}header button{min-width:80px;min-height:44px;font-size:11px;padding:8px 10px}.screen.is-welcome .start-screen{display:flex;flex-direction:column;gap:0;min-height:0;padding:19px 20px 23px}.welcome-scene{width:100%;justify-content:center;max-height:none;flex:none}.welcome-scene img{width:100%;max-width:265px;height:175px;object-fit:contain}.welcome-copy{width:100%}.welcome-copy .eyebrow{font-size:10px;margin:8px 0 0;letter-spacing:.2px}.welcome-copy h1{font-size:30px;line-height:1.25;margin:10px 0;letter-spacing:-1.8px}.welcome-copy p{font-size:12px;line-height:1.75;margin-bottom:15px}.welcome-copy button{font-size:14px;min-height:48px;width:100%;max-width:270px;padding:12px 20px}.welcome-copy small{font-size:10px;margin-top:12px}.dialogue{padding:13px 14px;min-height:81px}.dialogue p{font-size:12px;line-height:1.6}.dialogue b{font-size:11px}.controls{padding:14px 4px;justify-content:space-between}.dpad{display:none}.control-note{text-align:left;font-size:11px;line-height:1.7}.control-note span{font-size:10px}.action{min-width:76px;min-height:46px;font-size:13px;flex-shrink:0}.quests button{min-height:80px}.quests small{font-size:11px;line-height:1.7}.quests button>span{min-width:40px}.quests b{font-size:14px}dialog{width:calc(100% - 16px);max-width:540px;max-height:calc(100dvh - 16px);padding:24px 16px calc(20px + env(safe-area-inset-bottom));margin:auto;border-radius:22px}dialog #chapter{display:block;padding-right:46px;line-height:1.7}dialog #title{font-size:23px;padding-right:28px}dialog #intro{font-size:12px;line-height:1.7}.playing-screen{padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.playing-screen #chapter{display:none}.playing-screen #title{font-size:19px;margin:1px 38px 10px 0;padding-right:0}.playing-screen .arcade-stats{min-height:48px;margin-bottom:8px;padding:6px 11px;font-size:11px}.mini-pause{min-width:44px}.playing-screen .arcade-stage{width:min(100%,calc(100dvh - 240px - env(safe-area-inset-bottom)));min-width:0}.playing-screen[data-game="0"] .arcade-stage{width:min(100%,calc(100dvh - 180px - env(safe-area-inset-bottom)))}.playing-screen[data-game="2"] .arcade-stage{width:100%;max-width:400px}.playing-screen .beat-buttons{margin-top:9px;gap:8px}.playing-screen .beat-buttons button{padding:12px 5px;font-size:16px;min-height:49px}.mini-help{font-size:10px!important;line-height:1.5!important}.mini-cover{padding:12px}.mini-cover>span{font-size:30px}.mini-cover h3{font-size:20px;margin:8px 0}.mini-cover p{font-size:11px;line-height:1.6;margin:7px 0}.mini-start{margin-top:8px;padding:11px 17px}.memory-grid{padding:10px;gap:8px}.memory-card{font-size:25px;min-width:0}.mode-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-picker b{font-size:12px;line-height:1.65}.mode-picker small{font-size:10px;line-height:1.6}.mode-picker button{padding:15px 8px}.mission-guide p{font-size:12px}.mission-guide b{font-size:11px}.collection-heading{gap:10px}.collection-heading h2{font-size:18px}.collection-heading>b{white-space:nowrap}.collect-item b{font-size:12px}.collect-item small{font-size:10px}.record-stars{font-size:19px;letter-spacing:1px}.result-actions button{font-size:12px}.draw-buttons{flex-wrap:wrap}.palette{gap:8px}#finish{font-size:12px}footer{padding-bottom:calc(25px + env(safe-area-inset-bottom))}}
@media(max-height:500px) and (orientation:landscape){dialog.playing-screen{width:min(720px,calc(100% - 20px));max-width:720px;padding:12px 16px}.playing-screen #title{font-size:17px;margin:0 48px 6px 0}.playing-screen #game{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 18px;align-items:center}.playing-screen .arcade-stage{grid-column:1;grid-row:1/4;width:min(100%,calc(100dvh - 78px));min-width:0}.playing-screen[data-game="0"] .arcade-stage{width:min(100%,calc(100dvh - 78px))}.playing-screen .arcade-stats{grid-column:2;grid-row:1;font-size:10px;margin:0}.playing-screen .mini-inputs{grid-column:2;grid-row:2}.playing-screen .mini-help{grid-column:2;grid-row:3;margin:0}.playing-screen[data-game="2"] .arcade-stage{width:100%;grid-column:1/3;grid-row:2}.playing-screen[data-game="2"] .memory-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:500px;margin:auto}.playing-screen[data-game="2"] .arcade-stats{grid-column:1/3;grid-row:1;margin-right:40px}.playing-screen[data-game="2"] .mini-help{display:none}.mini-cover>span{font-size:22px}.mini-cover h3{font-size:16px;margin:4px}.mini-cover p{font-size:9px;margin:5px}.mini-start{font-size:11px;min-height:40px;padding:8px 13px}.playing-screen .beat-buttons button{min-height:48px}}
