:root{font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color:#fff8e8;background:#090a24}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:radial-gradient(circle at 50% 10%,#45316c,#0a0b24 68%)}button,input{font:inherit}button{border:0;cursor:pointer}.app{position:relative;isolation:isolate;width:min(100%,520px);height:100dvh;min-height:620px;margin:auto;overflow:hidden;background:#111334;box-shadow:0 0 60px #000;animation:screen-in .28s ease-out}.app.leaving{animation:screen-out .24s ease-in forwards}.town-map{position:absolute;inset:0;background:#13143d url("assets/dream-town/main-town-small-coin-v1.png") center/cover no-repeat}.town-map:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(#05072070,transparent 20%,transparent 78%,#07091b45)}.town-top,.sub-top{position:absolute;z-index:8;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:7px}.pill,.res,.back-button{display:flex;align-items:center;gap:6px;min-height:39px;border:1px solid #fff7;border-radius:999px;background:#151630e8;box-shadow:0 4px 14px #0008,0 0 12px #876aff2b;color:#fff8e8;font-weight:900;backdrop-filter:blur(8px)}.pill{padding:8px 12px;font-size:12px}.pill small{opacity:.8}.resbox{display:flex;gap:6px}.res{min-width:67px;justify-content:center;padding:7px 10px;font-size:13px}.gem{color:#c8a9ff;font-size:20px;text-shadow:0 0 10px #82e4ff}.coin{font-size:18px}.map-character{position:absolute;z-index:4;top:65%;left:50%;width:150px;height:238px;pointer-events:none;transform:translate(-50%,-50%);background:url("assets/dream-town/kkumi-main-character.gif") center/contain no-repeat}.quick-actions{position:absolute;z-index:6;left:2%;right:2%;bottom:max(1.8%,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:2.5%;height:12.5%}.quick-actions button,.coin-shortcut{border-radius:24px;background:transparent;color:transparent}.quick-actions button:focus-visible,.coin-shortcut:focus-visible,.menu-hit:focus-visible{outline:4px solid #ffe27b;outline-offset:-3px}.coin-shortcut{position:absolute;z-index:7;right:2%;bottom:20.5%;width:11%;aspect-ratio:1}.dream-menu-view{background:#090a27 url("assets/dream-town/dream-menu-quest-facilities-v1.png") center/cover no-repeat}.menu-back{position:absolute;z-index:7;top:1.5%;left:2.5%;width:24%;height:7%;border-radius:999px;background:transparent;color:transparent}.menu-resources{position:absolute;z-index:8;top:1.5%;right:2.2%;display:flex;gap:9px}.menu-resources .res{min-width:77px;min-height:44px;border-color:#ffe0a080;background:linear-gradient(145deg,#282349f2,#11132ff5);box-shadow:inset 0 0 10px #8a62ff30,0 4px 12px #0009}.menu-hit{position:absolute;z-index:6;border-radius:34px;background:transparent;color:transparent;transition:.16s}.menu-hit:hover,.menu-hit:active{background:#fff1;box-shadow:inset 0 0 0 4px #ffe495aa,0 0 25px #a887ff88;transform:scale(.985)}.menu-hit.quest{top:43.2%;left:8.3%;width:39.5%;height:23.4%}.menu-hit.arcade{top:43.2%;right:8.3%;width:39.5%;height:23.4%}.menu-hit.facilities{top:68%;left:8.3%;width:39.5%;height:23.4%}.menu-hit.settings{top:68%;right:8.3%;width:39.5%;height:23.4%}.sub-view{background:radial-gradient(circle at 50% 18%,#49317d 0,#17133b 37%,#090a23 100%)}.sub-view:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.6px);background-size:47px 47px;opacity:.24}.back-button{padding:8px 13px;color:#fff7e7;font-size:12px}.sub-title{position:absolute;left:50%;max-width:42%;overflow:hidden;color:#ffe5a6;font-size:23px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;transform:translateX(-50%);text-shadow:0 2px 10px #000}.sub-content{position:absolute;z-index:2;top:68px;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));overflow:auto;padding:6px 2px 24px;scrollbar-width:thin;scrollbar-color:#d7ab5a #ffffff12}.panel{padding:16px;border:1px solid #f3cf8b8c;border-radius:24px;background:linear-gradient(150deg,#28244eea,#10122de8);box-shadow:inset 0 0 22px #6e5ddd20,0 12px 30px #0007;backdrop-filter:blur(10px)}.panel-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#ffe5aa;font-size:18px}.quest-card,.facility-card{position:relative;padding:14px;border:1px solid #ffffff26;border-radius:17px;background:#ffffff09}.quest-card+.quest-card{margin-top:10px}.quest-card b,.facility-card b{display:block}.quest-card p,.facility-card small{margin:5px 0;color:#d9d6ef;font-size:12px;line-height:1.45}.reward{color:#ffda76;font-size:12px;font-weight:900}.progress{height:10px;margin-top:10px;overflow:hidden;border-radius:99px;background:#07081d}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7de4ff,#b985ff,#ffcf69)}.section-gap{margin-top:14px}.facility-filters{display:flex;gap:7px;margin-bottom:12px;overflow:auto}.facility-filters button{flex:0 0 auto;padding:8px 12px;border:1px solid #ffffff2b;border-radius:999px;background:#171936;color:#ece9ff;font-size:11px;font-weight:900}.facility-filters button.active{border-color:#ffd876;background:#58426e;color:#fff0ae}.facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.facility-card{min-height:120px;padding-top:48px}.facility-card:before{content:attr(data-icon);position:absolute;top:10px;left:13px;font-size:29px}.facility-card.ready{border-color:#e9bc6f7d}.facility-card.locked{opacity:.58}.facility-tag{position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;background:#ffffff14;color:#d8d5ed;font-size:9px;font-weight:900}.settings-panel{padding:13px}.settings-section{padding:12px 0;border-bottom:1px solid #f2cb8240}.settings-section:first-child{padding-top:2px}.settings-section:last-of-type{border-bottom:0}.settings-section h2{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#ffe2a0;font-size:17px}.setting-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(145px,1.65fr);align-items:center;gap:10px;min-height:53px;padding:8px 10px;border:1px solid #ffffff1f;border-radius:13px;background:#ffffff08}.setting-row+.setting-row{margin-top:7px}.setting-row label,.setting-row>span:first-child{font-size:13px;font-weight:900}.range-wrap{display:grid;grid-template-columns:1fr 40px;align-items:center;gap:8px}.range-wrap output{color:#ffe3a0;font-size:12px;font-weight:900;text-align:right}input[type=range]{width:100%;accent-color:#b485ff}.toggle{justify-self:end;min-width:63px;padding:8px 11px;border:1px solid #ffe3a080;border-radius:999px;background:#181933;color:#aaa8c0;font-size:11px;font-weight:1000}.toggle.on{background:linear-gradient(100deg,#8d62ce,#f0b94f);color:#fff}.segments{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid #ffffff35;border-radius:10px;overflow:hidden}.segments button{padding:8px 6px;background:#12142f;color:#cac8de;font-size:11px;font-weight:900}.segments button.active{background:linear-gradient(100deg,#7c57bd,#d69b43);color:#fff7d8}.value-button{justify-self:end;padding:7px 10px;border-radius:9px;background:#ffffff0d;color:#fff0c4;font-size:11px;font-weight:900}.settings-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:13px}.secondary,.primary{padding:12px;border-radius:13px;font-weight:1000}.secondary{border:1px solid #e8c77c80;background:#201d42;color:#ffe9b4}.primary{background:linear-gradient(100deg,#ffd773,#e99d54);color:#412500}.footer-links{display:flex;justify-content:center;gap:8px;margin-top:12px}.footer-links button{padding:7px;background:transparent;color:#d9d5eb;font-size:11px;text-decoration:underline}.backdrop{position:absolute;z-index:30;display:grid;place-items:end center;inset:0;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#030414b8;backdrop-filter:blur(5px)}.modal{position:relative;width:min(100%,490px);max-height:76dvh;overflow:auto;padding:45px 18px 18px;border:1px solid #fff7;border-radius:23px;background:linear-gradient(145deg,#302b61,#11132e);box-shadow:0 16px 45px #000c;animation:modal-in .2s ease-out}.modal h2{margin:0 0 8px;color:#ffe1a0}.modal p{color:#e4e1ef;font-size:13px;line-height:1.6}.popup-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#ffffff1c;color:#fff;font-size:20px;font-weight:900}.profile-card{padding:12px;border:1px solid #ffffff2b;border-radius:17px;background:#ffffff0b}.profile{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}.portrait{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#11122c;font-size:44px}.name{display:flex;gap:7px;margin-top:14px}.name input{min-width:0;flex:1;padding:10px;border:1px solid #fff3;border-radius:10px;background:#090a20;color:#fff}.save{padding:9px 12px;border-radius:10px;background:#f4c75d;color:#3b2500;font-weight:1000}.toast{position:absolute;z-index:40;top:92px;left:50%;max-width:85%;padding:10px 14px;border:1px solid #fff7;border-radius:999px;background:#2d2855ee;box-shadow:0 5px 18px #0008;color:#fff8e8;font-size:12px;font-weight:900;white-space:nowrap;transform:translateX(-50%);animation:toast 2.3s both}.splash{position:absolute;inset:0;display:flex;width:100%;height:100%;align-items:flex-end;justify-content:center;padding:0 20px max(42px,calc(env(safe-area-inset-bottom) + 24px));overflow:hidden;background:#090b25 url("assets/dream-town/dream-town-splash-v2.png") center/cover no-repeat;color:#fff}.splash:before{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#07081cd9)}.splash-prompt{position:relative;z-index:1;padding:11px 17px;border:1px solid #fff8;border-radius:999px;background:#11142bd9;box-shadow:0 6px 20px #0009,0 0 18px #9f7cff66;color:#fff;font-size:13px;font-weight:1000;animation:pulse 1.6s ease-in-out infinite}.portal-burst:after{content:"";position:absolute;z-index:20;right:7%;bottom:4%;width:90px;height:90px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff 0 5%,#9a72ff 18%,#452b8b 42%,transparent 70%);animation:portal-burst .38s ease-in forwards}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes screen-in{from{opacity:0;transform:scale(.985)}}@keyframes screen-out{to{opacity:0;transform:scale(1.015)}}@keyframes modal-in{from{opacity:0;transform:translateY(16px)}}@keyframes toast{0%,100%{opacity:0;transform:translate(-50%,-10px)}15%,80%{opacity:1;transform:translate(-50%,0)}}@keyframes pulse{50%{opacity:.66;transform:translateY(-2px)}}@keyframes portal-burst{to{right:-35%;bottom:-20%;width:170%;height:125%;opacity:.98}}@media(max-width:390px){.pill{padding:7px 9px;font-size:11px}.res{min-width:60px;padding:7px 8px}.map-character{width:135px;height:214px}.sub-title{font-size:20px}.facility-grid{gap:7px}.setting-row{grid-template-columns:minmax(82px,1fr) minmax(128px,1.55fr);padding:7px}.menu-resources .res{min-width:69px}}
@media(max-width:520px) and (max-height:980px){.sub-view .sub-content{top:60px;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));padding:3px 1px 6px}.sub-view .settings-panel{padding:8px 10px;border-radius:20px}.sub-view .settings-section{padding:6px 0}.sub-view .settings-section:first-child{padding-top:0}.sub-view .settings-section h2{gap:5px;margin:0 0 4px;font-size:14px}.sub-view .setting-row{grid-template-columns:minmax(84px,1fr) minmax(140px,1.65fr);min-height:39px;gap:7px;padding:4px 8px;border-radius:11px}.sub-view .setting-row+.setting-row{margin-top:4px}.sub-view .setting-row label,.sub-view .setting-row>span:first-child{font-size:12px}.sub-view .range-wrap{grid-template-columns:1fr 34px;gap:5px}.sub-view .range-wrap output{font-size:10px}.sub-view .toggle{min-width:55px;padding:6px 9px}.sub-view .segments button{padding:6px 5px}.sub-view .value-button{padding:5px 8px}.sub-view .settings-actions{gap:7px;margin-top:7px}.sub-view .secondary,.sub-view .primary{padding:9px 7px;font-size:12px}.sub-view .footer-links{margin-top:4px}.sub-view .footer-links button{padding:4px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Stable resource icons: never depend on platform emoji rendering. */
.res .gem{display:inline-block;flex:0 0 auto;width:19px;height:19px;background:linear-gradient(135deg,#f1d4ff 8%,#c18aff 47%,#6fdbff 100%);clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%);filter:drop-shadow(0 0 5px #b887ff);font-size:0}.res .coin{position:relative;display:inline-block;flex:0 0 auto;width:21px;height:21px;border:2px solid #fff0a9;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff2a0 0 10%,#ffc83c 25%,#df8519 72%,#8e4c12 100%);box-shadow:inset 0 0 0 2px #b76812,0 0 5px #ffbd45;font-size:0}.res .coin:after{content:"";position:absolute;inset:5px;border:1px solid #fff2a9;border-radius:50%;box-shadow:inset 0 0 0 1px #a95a12}

/* Functional portrait claw reward screen. */
.claw-view{background:radial-gradient(circle at 50% 8%,#64416e,#211839 45%,#090b22 100%)}.claw-view:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,#fff 0 1px,transparent 1.6px);background-size:43px 43px;opacity:.16}.claw-top{position:absolute;z-index:5;top:max(8px,env(safe-area-inset-top));left:9px;right:9px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:6px}.claw-top>strong{color:#ffe9b1;font-size:17px;text-align:center;text-shadow:0 2px 8px #000}.claw-back{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffe3a181;border-radius:14px;background:#211e43e8;color:#ffe9bc;font-size:24px}.claw-resources{display:flex;gap:5px}.claw-resources .res{min-width:55px;min-height:38px;padding:6px 7px;font-size:11px}.claw-stage{position:absolute;z-index:2;top:58px;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.claw-sign{padding:8px 12px;border:2px solid #ffd899;border-radius:20px;background:linear-gradient(#ec6e7b,#b63e5b);box-shadow:inset 0 3px 9px #fff4,0 6px 15px #0007;text-align:center}.claw-sign b{display:block;color:#fff8e8;font-size:22px;letter-spacing:.07em;text-shadow:0 3px 0 #8f3046}.claw-sign small{display:block;margin-top:2px;color:#fff4dc;font-size:11px;font-weight:900}.claw-machine{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 58px;padding:8px 8px 0;border:3px solid #f9d79d;border-radius:24px 24px 16px 16px;background:linear-gradient(90deg,#f4bd8f,#ffe7ba 12%,#9bdaca 13%,#83cabc 87%,#ffe4b4 88%,#f2b684);box-shadow:inset 0 0 18px #fff8,0 10px 24px #0008}.claw-glass{position:relative;min-height:0;overflow:hidden;border:3px solid #fff5d6;border-radius:16px;background:linear-gradient(145deg,#d7f3ff 0 13%,#9bd6ee 13% 19%,#b9e8f4 19% 100%);box-shadow:inset 0 0 28px #58a6c755}.claw-glass:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#fff7 0 7%,transparent 7% 15%,#fff4 15% 18%,transparent 18%)}.claw-rail{position:absolute;z-index:7;top:11%;left:7%;right:7%;height:10px;border:3px solid #56636f;border-radius:99px;background:linear-gradient(#f7f7ef,#8f9ba2);box-shadow:0 3px 5px #0005}.claw-carriage{position:absolute;z-index:8;top:7%;left:var(--claw-x);width:58px;height:155px;transform:translateX(-50%);transition:left .18s ease}.claw-carriage:before{content:"★";position:absolute;z-index:2;top:0;left:5px;display:grid;place-items:center;width:48px;height:42px;border:3px solid #b53c54;border-radius:10px;background:#ef6878;color:#ffe17a;font-size:20px;box-shadow:inset 0 3px 4px #fff5}.claw-cable{position:absolute;top:39px;left:27px;width:5px;height:66px;border-radius:5px;background:repeating-linear-gradient(#34383e 0 5px,#8a8f90 5px 8px);transform-origin:top}.claw-grabber{position:absolute;top:101px;left:8px;width:43px;height:41px;border-top:9px solid #5b646b;border-radius:50%}.claw-grabber b{position:absolute;top:1px;width:9px;height:36px;border-radius:9px;background:linear-gradient(90deg,#8f9ca2,#40494f);transform-origin:top}.claw-grabber b:first-child{left:2px;transform:rotate(29deg)}.claw-grabber b:last-child{right:2px;transform:rotate(-29deg)}.claw-machine.is-dropping .claw-carriage{animation:claw-drop 1.2s ease-in-out}

.plush-pile{position:absolute;z-index:4;left:3%;right:3%;bottom:0;height:54%}.plush{position:absolute;width:66px;height:61px;border:3px solid #7b5361;border-radius:48% 48% 43% 43%;background:#f2a4b8;box-shadow:inset 0 -8px 12px #9b5b7244,0 5px 6px #35668055}.plush-ear{position:absolute;top:-12px;width:27px;height:29px;border:3px solid #7b5361;background:inherit;transform:rotate(45deg);border-radius:4px 70% 4px 70%}.plush-ear.left{left:5px}.plush-ear.right{right:5px;transform:rotate(135deg)}.plush-face{position:absolute;inset:13px 8px 7px;border-radius:50%;background:#fff2}.plush-face:before{content:"";position:absolute;top:12px;left:9px;width:7px;height:9px;border-radius:50%;background:#38262d;box-shadow:25px 0 #38262d}.plush-face:after{content:"";position:absolute;top:24px;left:23px;width:8px;height:6px;border-radius:50% 50% 60% 60%;background:#b95e70;box-shadow:-5px 5px 0 -3px #573742,5px 5px 0 -3px #573742}.plush.white{background:#fff7ed}.plush.gray,.plush.silver{background:#aeb3bd}.plush.orange,.plush.peach{background:#f3ad57}.plush.black{background:#55505e}.plush.calico{background:linear-gradient(120deg,#fff3e1 0 35%,#df884b 35% 60%,#61525a 60%)}.plush.mint{background:#9cd8c3}.plush.cream{background:#f5dda4}.plush.lavender{background:#b9a5db}.plush.coral{background:#ee8f91}.plush.pink{background:#f2a4b8}.plush.p1{left:0;bottom:0}.plush.p2{left:16%;bottom:12%}.plush.p3{left:34%;bottom:0}.plush.p4{left:50%;bottom:16%}.plush.p5{left:68%;bottom:0}.plush.p6{right:0;bottom:15%}.plush.p7{left:6%;bottom:41%}.plush.p8{left:27%;bottom:38%}.plush.p9{left:47%;bottom:48%}.plush.p10{right:18%;bottom:39%}.plush.p11{left:38%;bottom:69%}.plush.p12{right:2%;bottom:63%}.claw-chute{position:relative;display:flex;align-items:flex-start;justify-content:center}.claw-chute span{position:absolute;z-index:2;top:-7px;padding:4px 16px;border:2px solid #ffd69c;border-radius:99px;background:#dc5267;color:#fff7e5;font-size:11px;font-weight:1000}.claw-chute i{display:block;width:39%;height:42px;margin-top:8px;border:5px solid #c6485b;border-radius:8px 8px 17px 17px;background:linear-gradient(#461c32,#120c22);box-shadow:inset 0 7px 8px #0007}.claw-controls{display:grid;grid-template-columns:1.45fr 1fr;gap:9px;padding:8px;border:2px solid #fff0bd;border-radius:22px;background:linear-gradient(#9ce0cf,#58a997);box-shadow:inset 0 5px 10px #fff6,0 7px 16px #0008}.claw-pad{display:grid;grid-template-columns:1fr 54px 1fr;align-items:end;gap:3px;min-height:76px;padding:8px;border-radius:17px;background:#6ab5a8}.claw-pad button{height:52px;border-radius:14px;background:#f7f4df;color:#477873;font-size:22px;font-weight:1000;box-shadow:0 4px 0 #36796f}.claw-stick{position:relative;align-self:end;width:50px;height:48px;border-radius:50%;background:#24333d;box-shadow:inset 0 4px 7px #0008}.claw-stick i{position:absolute;left:20px;bottom:23px;width:11px;height:43px;border-radius:8px;background:linear-gradient(90deg,#71838b,#d9e4df);box-shadow:0 -18px 0 9px #54bca6}.claw-drop{border:3px solid #fff1a9;border-radius:50%;aspect-ratio:1;align-self:center;background:radial-gradient(circle at 35% 28%,#fff09a,#ffc82c 44%,#df7c12 75%);box-shadow:inset 0 5px 9px #fff8,0 7px 0 #9d5411;color:#9c3e24;font-size:18px;font-weight:1000}.claw-drop:disabled,.claw-pad button:disabled{filter:saturate(.55);opacity:.72}

.backdrop.claw-win-modal{place-items:center}.modal.claw-win-modal{width:min(88%,400px);padding:32px 20px 24px;border:2px solid #f3ce7e;border-radius:28px;background:radial-gradient(circle at 50% 0,#3b2f68,#12142f 68%)}.claw-win{display:flex;flex-direction:column;align-items:center;text-align:center}.claw-win-plush{position:relative;width:105px;height:96px;margin:-8px 0 12px;border:4px solid #7b5361;border-radius:48%;background:#f3a4b9;box-shadow:0 0 25px #be8cff66}.claw-win-plush:before,.claw-win-plush:after{content:"";position:absolute;top:-17px;width:40px;height:42px;border:4px solid #7b5361;background:#f3a4b9;transform:rotate(45deg);border-radius:7px 70% 7px 70%;z-index:-1}.claw-win-plush:before{left:8px}.claw-win-plush:after{right:8px;transform:rotate(135deg)}.claw-win-plush i:before{content:"";position:absolute;top:35px;left:25px;width:10px;height:13px;border-radius:50%;background:#34272c;box-shadow:46px 0 #34272c}.claw-win-plush i:after{content:"";position:absolute;top:57px;left:48px;width:10px;height:8px;border-radius:50%;background:#b95f70}.claw-win h2{font-size:25px}.claw-win p{margin:2px 0 20px}.claw-win strong{color:#ffd96e;font-size:18px}@keyframes claw-drop{0%,100%{transform:translateX(-50%) translateY(0)}48%,62%{transform:translateX(-50%) translateY(190px)}}@media(max-width:390px){.claw-sign b{font-size:19px}.claw-sign small{font-size:10px}.plush{width:59px;height:55px}.claw-controls{grid-template-columns:1.5fr .9fr}.cat-menu-resources .res,.claw-resources .res{min-width:51px}.shop-soon-art img{width:128px;height:128px}.shop-closed-sign{width:92px;height:75px}}

/* Shop unavailable dialog — matches the approved navy, gold and mint concept. */
.backdrop.shop-soon-modal{place-items:center;padding:18px;background:#030414d9;backdrop-filter:blur(8px)}.modal.shop-soon-modal{width:min(91%,440px);max-height:none;overflow:visible;padding:28px 22px 25px;border:2px solid #e7c275;border-radius:30px;background:radial-gradient(circle at 50% 5%,#30295d,#11142f 70%);box-shadow:inset 0 0 0 3px #ffffff12,inset 0 0 32px #8164cf25,0 20px 48px #000d,0 0 22px #b391ff35}.shop-soon-modal .popup-close{top:13px;right:13px;width:38px;height:38px;border:1px solid #ffffff22;border-radius:13px;background:#38345f;color:#fff5de;font-size:26px}.shop-soon{display:flex;flex-direction:column;align-items:center;padding:0;text-align:center}.shop-soon-art{display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%;height:150px;margin:-8px 0 4px}.shop-soon-art img{width:145px;height:145px;object-fit:contain;filter:drop-shadow(0 9px 10px #0008)}.shop-closed-sign{position:relative;width:104px;height:83px;margin:0 0 17px -18px;border:4px solid #b58b55;border-radius:9px;background:#282451;box-shadow:0 6px 12px #0008}.shop-closed-sign:before{content:"";position:absolute;top:-5px;left:-5px;right:-5px;height:28px;border:3px solid #b58b55;border-radius:8px 8px 4px 4px;background:repeating-linear-gradient(90deg,#ece2c5 0 15px,#8c6ac1 15px 30px);clip-path:polygon(0 0,100% 0,94% 100%,83% 77%,72% 100%,61% 77%,50% 100%,39% 77%,28% 100%,17% 77%,6% 100%)}.shop-closed-sign:after{content:"";position:absolute;left:34px;bottom:0;width:28px;height:36px;border:3px solid #e9d7a8;border-bottom:0;border-radius:13px 13px 0 0}.modal.shop-soon-modal .shop-soon h2{margin:2px 0 23px;color:#ffe4a1;font-size:clamp(25px,7vw,34px);line-height:1.2;text-shadow:0 3px 11px #000}.modal.shop-soon-modal .shop-soon-confirm{min-width:72%;padding:14px 28px;border:2px solid #f6dc89;border-radius:18px;background:linear-gradient(100deg,#8ce4d8,#edd276 72%);box-shadow:inset 0 2px 8px #fff9,0 7px 16px #0008;color:#203837;font-size:18px;font-weight:1000}
.cat-menu-view{background:#090a27 url("assets/dream-town/main-town-small-coin-v1.png") center/cover no-repeat}.cat-menu-view:before{content:"";position:absolute;inset:0;background:linear-gradient(#060719bb,#111135cf);backdrop-filter:blur(3px)}.cat-menu-top{position:absolute;z-index:4;top:max(10px,env(safe-area-inset-top));left:11px;right:11px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px}.cat-menu-top strong{color:#ffe9af;font-size:18px;letter-spacing:.08em;text-align:center;text-shadow:0 2px 9px #000}.cat-menu-back{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffe4a47a;border-radius:15px;background:#171735e8;color:#ffe8b2;font-size:25px;box-shadow:0 4px 14px #0008}.cat-menu-resources{display:flex;gap:5px}.cat-menu-resources .res{min-width:57px;min-height:38px;padding:6px 8px;font-size:11px}.cat-menu-panel{position:absolute;z-index:3;top:86px;left:16px;right:16px;bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;gap:12px;padding:22px 17px;border:1px solid #f5d78d9c;border-radius:31px;background:linear-gradient(145deg,#25234cfa,#10112cfa);box-shadow:inset 0 0 34px #8068ca2b,0 18px 38px #0009}.cat-menu-panel:before{content:"";position:absolute;inset:10px;border:1px solid #ffffff1d;border-radius:24px;pointer-events:none}.cat-menu-paw{position:relative;z-index:1;display:grid;place-items:center;width:49px;height:49px;margin:0 auto -4px;border:1px solid #f7d17b8c;border-radius:18px;background:radial-gradient(circle at 35% 25%,#b487ff,#5d458c);box-shadow:0 0 20px #aa86ff7d;color:#ffedb5;font-size:25px}.cat-menu-panel h1{position:relative;z-index:1;margin:0;color:#ffe8ad;font-size:27px;text-align:center;text-shadow:0 2px 10px #000}.cat-menu-panel>p{position:relative;z-index:1;margin:-5px 0 9px;color:#ded8ee;font-size:13px;text-align:center}.cat-menu-card{position:relative;z-index:1;display:grid;grid-template-columns:76px 1fr 24px;align-items:center;gap:12px;width:100%;min-height:128px;padding:14px;border:1px solid #f1ca7e8a;border-radius:23px;background:linear-gradient(135deg,#443464dc,#1a1a3fdc);box-shadow:inset 0 0 20px #b385ff26,0 9px 20px #0006;color:#fff;text-align:left;transition:transform .16s,box-shadow .16s}.cat-menu-card:hover,.cat-menu-card:active{box-shadow:inset 0 0 24px #ffd78246,0 0 25px #9c79ff73;transform:scale(.985)}.cat-menu-card.claw{background:linear-gradient(135deg,#403462dc,#171a43dc);border-color:#c9a2ff8a}.cat-menu-card-icon{display:grid;place-items:center;width:70px;height:70px;border:1px solid #fff5;border-radius:22px;background:linear-gradient(145deg,#f2c672,#a35f7e);box-shadow:inset 0 3px 10px #fff5,0 5px 12px #0007;font-size:36px}.cat-menu-card.claw .cat-menu-card-icon{background:linear-gradient(145deg,#ac8cff,#5968b9)}.cat-menu-card b{display:block;color:#fff0bc;font-size:25px;letter-spacing:.07em;text-shadow:0 2px 8px #000}.cat-menu-card small{display:block;margin-top:5px;color:#e4dcf4;font-size:13px;font-weight:800}.cat-menu-card i{color:#ffe4a2;font-size:35px;font-style:normal}.shop-soon,.claw-reward{display:flex;flex-direction:column;align-items:center;padding:3px 4px 6px;text-align:center}.shop-soon-cat,.claw-reward>span{display:grid;place-items:center;width:90px;height:90px;margin:-18px auto 6px;border:1px solid #f7d18499;border-radius:28px;background:radial-gradient(circle at 35% 27%,#775bab,#2b2557);box-shadow:0 0 26px #a98bff75;font-size:52px}.shop-soon h2,.claw-reward h2{margin:7px 0;color:#ffe4a6;font-size:25px}.shop-soon p,.claw-reward p{margin:0 0 18px}.shop-soon-confirm{min-width:65%;padding:13px 24px;border:1px solid #fff0ae;border-radius:15px;background:linear-gradient(100deg,#91e1d4,#f1c465);box-shadow:inset 0 2px 5px #fff8,0 5px 13px #0007;color:#24322f;font-size:16px;font-weight:1000}

/* Keep the image-backed dream menu and its live controls on the same grid. */
.dream-menu-view{background-size:100% 100%}
.dream-menu-view:before{content:"";position:absolute;z-index:7;top:0;right:0;width:49%;height:76px;pointer-events:none;background:radial-gradient(circle at 78% 18%,#242957 0,#101330 48%,#080a24 82%);mask-image:linear-gradient(90deg,transparent 0,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%)}
.menu-resources{z-index:8}
.menu-hit{transform:none}
.menu-hit:hover,.menu-hit:active{transform:none}

/* Approved CAT MENU artwork and exact interaction map. */
.approved-cat-menu-view{background:#080a24 url("assets/dream-town/approved-cat-menu.png") center/100% 100% no-repeat}
.approved-cat-menu-view:before{content:"";position:absolute;z-index:3;top:0;right:0;width:47%;height:8.6%;pointer-events:none;background:radial-gradient(circle at 72% 25%,#242950 0,#11152f 46%,#080a22 83%);mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.approved-menu-resources{position:absolute;z-index:4;top:1.8%;right:4.4%;display:flex;gap:7px}.approved-menu-resources .res{width:clamp(64px,16vw,84px);min-width:0;min-height:44px;padding:7px 9px;border-color:#ffe3a080;background:linear-gradient(145deg,#282349f5,#11132ff7);box-shadow:inset 0 0 10px #8a62ff30,0 4px 12px #0009;font-size:13px}.approved-menu-resources .res:last-child{width:clamp(72px,18vw,94px)}
.approved-menu-close,.approved-menu-hit{position:absolute;z-index:5;background:transparent;color:transparent}.approved-menu-close{top:13.6%;right:12.3%;width:10.7%;height:5.9%;border-radius:50%}.approved-menu-hit{left:13.1%;right:13.1%;height:23.2%;border-radius:8%/12%}.approved-menu-hit.shop{top:22.3%}.approved-menu-hit.claw{top:47.5%}.approved-menu-close:focus-visible,.approved-menu-hit:focus-visible{outline:4px solid #ffe5a0;outline-offset:-4px}

/* Approved shop-coming-soon state: use the signed-off composition without reinterpretation. */
.backdrop.approved-shop-modal{inset:0;padding:0;place-items:stretch;background:#080a24 url("assets/dream-town/approved-shop-soon.png?v=20260823-shop-only-v1") center/100% 100% no-repeat;backdrop-filter:none}.modal.approved-shop-modal{position:absolute;inset:0;width:100%;height:100%;max-height:none;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;animation:none}.modal.approved-shop-modal .popup-close{top:37.7%;right:21.2%;width:8.6%;height:5.2%;border-radius:50%;background:transparent;color:transparent}.approved-shop-actions button{position:absolute;top:57.5%;left:32.2%;width:35.6%;height:5.7%;border-radius:999px;background:transparent;color:transparent}.modal.approved-shop-modal .popup-close:focus-visible,.approved-shop-actions button:focus-visible{outline:4px solid #fff0ac;outline-offset:-4px}
.modal.approved-shop-modal:before{content:"";position:absolute;z-index:1;top:0;right:0;width:47%;height:8.6%;pointer-events:none;background:radial-gradient(circle at 72% 25%,#1a1d38 0,#0d1025 48%,#060718 84%);mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}.approved-popup-resources{position:absolute;z-index:2;top:1.8%;right:4.4%;display:flex;gap:7px;opacity:.52;filter:brightness(.72)}.approved-popup-resources .res{width:clamp(64px,16vw,84px);min-width:0;min-height:44px;padding:7px 9px;border-color:#ffe3a080;background:linear-gradient(145deg,#282349f5,#11132ff7);font-size:13px}.approved-popup-resources .res:last-child{width:clamp(72px,18vw,94px)}.modal.approved-shop-modal .popup-close,.approved-shop-actions button{z-index:3}

/* Approved cat-only claw artwork. The previous synthetic plush shapes are intentionally not rendered. */
.approved-claw-view{background:#f7b9a7 url("assets/dream-town/approved-cat-claw.png") center/100% 100% no-repeat}.approved-claw-back{position:absolute;z-index:6;top:1.2%;right:2.4%;display:grid;place-items:center;width:44px;height:44px;border:2px solid #fff0c9;border-radius:50%;background:#bd4b55e8;box-shadow:0 4px 12px #6a263c88;color:#fff7df;font-size:24px;font-weight:1000}.approved-claw-coin{position:absolute;z-index:4;top:6.3%;left:15.3%;display:grid;place-items:center;width:12.5%;height:3.8%;color:#a74645;font-size:clamp(15px,4.5vw,24px);font-weight:1000;text-shadow:0 1px #fff}.approved-claw-position{display:none}.approved-claw-left,.approved-claw-right,.approved-claw-drop{position:absolute;z-index:5;background:transparent;color:transparent}.approved-claw-left,.approved-claw-right{top:82.5%;width:14%;height:9%;border-radius:28%}.approved-claw-left{left:2.5%}.approved-claw-right{left:23.5%}.approved-claw-drop{top:78.3%;right:3.4%;width:29%;height:16%;border-radius:50%}.approved-claw-left:focus-visible,.approved-claw-right:focus-visible,.approved-claw-drop:focus-visible{outline:4px solid #fff1a3;outline-offset:-4px}.approved-claw-view.is-dropping:before{content:"";position:absolute;z-index:4;top:78.3%;right:3.4%;width:29%;height:16%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff9 0,transparent 68%);animation:pulse .6s ease-in-out infinite}.claw-win-cat{display:block;width:138px;height:138px;margin:-16px auto 4px;object-fit:contain;filter:drop-shadow(0 8px 12px #0007)}
.approved-claw-cost{position:absolute;z-index:5;top:9.1%;left:7.2%;display:flex;align-items:center;justify-content:center;gap:5px;width:22%;min-height:26px;padding:3px 7px;border:1px solid #d55a5e;border-radius:999px;background:#fff1dce8;box-shadow:0 3px 8px #743e3b55;color:#a33f42;font-size:clamp(10px,2.8vw,14px);font-weight:1000}.approved-claw-cost .coin{display:inline-block;width:15px;height:15px;border:2px solid #fff2a1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4a1,#ffbc2d 42%,#d97413 78%);box-shadow:0 0 4px #ffbd45}.approved-claw-cost.done{left:5.2%;width:26%;border-color:#78c7b8;background:#e5fff5e8;color:#28776c}.approved-claw-cost.done .coin{display:none}

/* Dynamic claw results: same approved coral/mint popup, with reward-specific cat artwork. */
.backdrop.claw-result-modal,.backdrop.claw-notice-modal{place-items:center;background:#160c18c9;backdrop-filter:blur(6px)}.modal.claw-result-modal,.modal.claw-notice-modal{width:min(88%,410px);max-height:82dvh;padding:22px 18px 20px;border:5px solid #f06770;border-radius:34px;background:#fff1d6;box-shadow:inset 0 0 0 4px #fff9d7,0 18px 46px #2f1425cc;color:#132c4c;text-align:center}.modal.claw-result-modal .popup-close,.modal.claw-notice-modal .popup-close{top:10px;right:10px;z-index:4;width:34px;height:34px;border:2px solid #fff0c3;border-radius:50%;background:#d7515b;color:#fff8e2}.claw-result-art{height:190px;overflow:hidden;margin:2px 0 14px;border:3px solid #ef7778;border-radius:24px;background:#75cab8}.claw-result-art img{width:100%;height:100%;object-fit:cover;object-position:center 31%}.claw-result.diamond .claw-result-art img{object-position:center 36%}.claw-result.miss .claw-result-art img{object-position:center 32%}.claw-result h2,.claw-notice h2{margin:0 0 8px;color:#de4552;font-size:clamp(26px,7vw,35px);font-weight:1000;text-shadow:0 2px #fff}.claw-result.diamond h2{color:#7150d4}.claw-result p,.claw-notice p{margin:0 0 18px;color:#122d4c;font-size:clamp(15px,4vw,19px);font-weight:900}.claw-result-confirm{width:min(86%,330px);padding:14px 20px;border:2px solid #137f75;border-radius:999px;background:linear-gradient(#55d0bd,#22a993);box-shadow:inset 0 3px 5px #fff8,0 5px 0 #0a6d68;color:#fff;font-size:20px;font-weight:1000}.claw-notice{padding:28px 4px 8px}.claw-notice strong{color:#d14550;font-size:1.15em}@media(max-width:390px){.claw-result-art{height:168px}.modal.claw-result-modal,.modal.claw-notice-modal{padding:19px 15px 17px;border-width:4px}.approved-claw-cost{top:9%;min-height:24px}}

/* 2026-08 final menu approval: image-backed art with app-safe responsive hit maps. */
.dream-menu-view,.dream-submenu-view,.cat-collection-menu-view{background:#090a27}
.menu-artboard{position:absolute;top:max(0px,env(safe-area-inset-top));right:0;bottom:max(0px,env(safe-area-inset-bottom));left:0;overflow:hidden;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
.dream-menu-artboard{background-image:url("assets/dream-town/dream-menu-final-v3.png")}
.shop-menu-artboard{background-image:url("assets/dream-town/dream-shop-menu-v1.png")}
.collection-menu-artboard{background-image:url("assets/dream-town/cat-collection-menu-v2.png")}
.cat-collection-artboard{background-image:url("assets/dream-town/cat-collection-menu-v1.png")}
.menu-artboard:before{content:"";position:absolute;z-index:3;top:0;right:0;width:48%;height:8.8%;pointer-events:none;background:radial-gradient(circle at 72% 26%,#242950 0,#11152f 48%,#080a22 84%);mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.menu-back,.cat-menu-back,.submenu-back{position:absolute;z-index:7;display:block;top:.8%;left:1.5%;width:24%;height:5.5%;border-radius:999px;background:transparent;color:transparent;box-shadow:none}
.menu-resources,.cat-menu-resources,.submenu-resources{position:absolute;z-index:8;top:1%;right:4.5%;display:flex;gap:7px}
.menu-resources .res,.cat-menu-resources .res,.submenu-resources .res{width:clamp(64px,16vw,84px);min-width:0;min-height:44px;padding:7px 9px;border-color:#ffe0a080;background:linear-gradient(145deg,#282349f5,#11132ff7);box-shadow:inset 0 0 10px #8a62ff30,0 4px 12px #0009;font-size:13px}
.menu-resources .res:last-child,.cat-menu-resources .res:last-child,.submenu-resources .res:last-child{width:clamp(72px,18vw,94px)}
.menu-hit,.cat-menu-hit,.submenu-hit{position:absolute;z-index:6;left:auto;right:auto;background:transparent;color:transparent;transition:background-color .16s,box-shadow .16s,transform .16s}
/* Every main-menu card uses one shared width and height; only its row/column changes. */
.menu-hit{width:40.8%;height:26.4%;border-radius:10%/8%}
.menu-hit.arcade{top:39.1%;left:6.7%}
.menu-hit.shop{top:39.1%;right:6.7%}
.menu-hit.collection{top:67.2%;left:6.7%}
.menu-hit.settings{top:67.2%;right:6.7%}
.submenu-hit{border-radius:8%/7%}
.shop-menu-artboard .submenu-hit{left:8%;right:8%;height:34%}
.shop-menu-artboard .submenu-hit.shop{top:21.9%}
.shop-menu-artboard .submenu-hit.claw{top:57.9%}
.collection-menu-artboard .submenu-hit{left:18%;right:18%;height:35.5%}
.collection-menu-artboard .submenu-hit.cats{top:22%}
.collection-menu-artboard .submenu-hit.facilities{top:60.6%}
.cat-menu-hit{left:18.5%;right:18.5%;height:34.8%;border-radius:8%/7%}
.cat-menu-hit.cats{top:19.5%}
.cat-menu-hit.facilities{top:55.3%}
.menu-hit:hover,.menu-hit:active,.cat-menu-hit:hover,.cat-menu-hit:active,.submenu-hit:hover,.submenu-hit:active{background:#fff1;box-shadow:inset 0 0 0 4px #ffe495aa,0 0 25px #a887ff88;transform:scale(.985)}
.menu-back:focus-visible,.cat-menu-back:focus-visible,.submenu-back:focus-visible,.menu-hit:focus-visible,.cat-menu-hit:focus-visible,.submenu-hit:focus-visible{outline:4px solid #ffe5a0;outline-offset:-4px}

.collection-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding:10px 12px;border:1px solid #f4d18a55;border-radius:14px;background:#ffffff08;color:#dcd7ec;font-size:12px;font-weight:900}
.collection-summary strong{color:#ffe19a;font-size:16px}
.cat-collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.cat-collection-card{position:relative;min-height:190px;padding:11px;border:1px solid #eecb8170;border-radius:19px;background:linear-gradient(150deg,#342b5c,#151633);overflow:hidden}
.cat-collection-card.locked{border-color:#ffffff1f;filter:saturate(.45);opacity:.67}
.cat-collection-portrait{display:grid;place-items:center;height:112px;margin-bottom:9px;overflow:hidden;border:1px solid #ffffff2b;border-radius:15px;background:radial-gradient(circle at 50% 40%,#67558c,#171831 72%)}
.cat-collection-portrait img{width:100%;height:100%;object-fit:contain;object-position:center 42%}
.cat-collection-portrait span{display:grid;place-items:center;width:56px;height:56px;border:2px solid #ffffff35;border-radius:50%;color:#d9d2e8;font-size:29px;font-weight:1000}
.cat-collection-card b{display:block;color:#ffe3a2;font-size:16px}
.cat-collection-card small{display:block;margin-top:4px;color:#d9d4e7;font-size:10px;line-height:1.4}
.cat-collection-card em{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:999px;background:#bd8aff2b;color:#e7d5ff;font-size:9px;font-style:normal;font-weight:900}
.cat-collection-card .facility-tag{top:9px;right:9px;background:#15162fcc;backdrop-filter:blur(5px)}
@media(max-width:390px){.menu-resources .res,.cat-menu-resources .res{min-width:0;padding:6px 7px;font-size:11px}.cat-collection-card{min-height:174px}.cat-collection-portrait{height:96px}}

/* Approved CAT MENU with MY HOME entry and bottom house shortcut. */
.cat-home-menu-view{background:#080a24 url("assets/dream-town/cat-menu-home-v2.png") center/100% 100% no-repeat}
.cat-home-menu-view:before{content:"";position:absolute;z-index:3;top:0;right:0;width:47%;height:8.5%;pointer-events:none;background:radial-gradient(circle at 72% 25%,#242950 0,#11152f 48%,#080a22 84%);mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.cat-home-menu-view .cat-menu-resources{z-index:8;top:1.3%;right:4.5%}
.cat-home-close,.cat-home-hit,.cat-home-nav{position:absolute;z-index:7;background:transparent;color:transparent}
.cat-home-close{top:13.1%;right:11.3%;width:11.5%;height:6.2%;border-radius:50%}
.cat-home-hit{left:13.2%;right:13.2%;border-radius:8%/12%}
.cat-home-hit.shop{top:21.7%;height:23.4%}
.cat-home-hit.claw{top:46.1%;height:23.8%}
.cat-home-hit.home-card{top:70.2%;height:10.6%;border-radius:18px}
.cat-home-nav{top:83.6%;width:23.5%;height:15.6%;border-radius:18%}
.cat-home-nav.facilities{left:.8%}
.cat-home-nav.house{left:25.5%}
.cat-home-nav.cats{left:50.8%}
.cat-home-nav.menu{right:.8%}
.cat-home-close:focus-visible,.cat-home-hit:focus-visible,.cat-home-nav:focus-visible{outline:4px solid #ffe5a0;outline-offset:-4px}
.cat-home-hit:hover,.cat-home-hit:active,.cat-home-nav:hover,.cat-home-nav:active{background:#fff1;box-shadow:inset 0 0 0 3px #ffe49599,0 0 20px #a887ff66}
