
/* Quiz games polish: tactile cards, glossy bubbles, letter tiles, game-show board. Loaded last. */
#app .prompt{background:radial-gradient(circle at 20% 0%,#fff 0,#ffe8ef 60%,#f9dbe8 100%)!important;border:3px solid #fff!important;border-radius:26px!important;box-shadow:0 14px 28px -14px #e2457a66!important;padding:20px!important;text-align:center}
#app .prompt .eyebrow{font-weight:900!important;letter-spacing:.06em;text-transform:uppercase;font-size:12px!important;color:#b92e5e!important}
#app .hebrew,#app .he,#app .option.he,#app .bubble.he{font-family:"Frank Ruhl Libre","David","Arial Hebrew","Noto Sans Hebrew",serif!important;font-weight:900!important}
#app .prompt .hebrew{font-size:clamp(46px,13vw,74px)!important;color:#e2457a!important;text-shadow:0 3px 0 #fff,0 6px 14px #e2457a33}
#app .prompt .meaning{font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif!important;font-size:clamp(24px,6vw,34px)!important;color:#4a2338!important}
#app .options{gap:12px!important}
#app .option{background:linear-gradient(#fff,#fff6f9)!important;border:2px solid #f3d6dc!important;border-radius:22px!important;box-shadow:0 6px 0 #f3d6dc!important;min-height:92px!important;font-size:clamp(30px,8vw,42px)!important;color:#4a2338!important;transition:transform .12s,box-shadow .12s}
#app .option:active{transform:translateY(4px);box-shadow:0 2px 0 #f3d6dc!important}
#app .option.correct{background:linear-gradient(#e9fbf3,#d2f3e5)!important;border-color:#5cc6a8!important;box-shadow:0 6px 0 #5cc6a8!important;animation:qpPop .35s}
#app .option.wrong{background:#fff2f5!important;border-color:#ffb3c8!important;animation:qpShake .4s}
@keyframes qpPop{50%{transform:scale(1.06)}}@keyframes qpShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
/* memory */
#app .memory{gap:10px!important;perspective:800px}
#app .memory .tile{aspect-ratio:1;border:0!important;border-radius:18px!important;font-size:clamp(16px,4.6vw,22px)!important;font-weight:900!important;color:transparent!important;
  background:radial-gradient(circle at 30% 25%,#ffffff55 0 18%,transparent 19%),repeating-linear-gradient(45deg,#f28db2 0 10px,#ee7ea6 10px 20px)!important;box-shadow:0 6px 0 #c9567f,inset 0 0 0 4px #ffffff88!important;transition:transform .35s,background .2s}
#app .memory .tile::after{content:"✦";color:#fff;font-size:26px;position:absolute;inset:0;display:grid;place-items:center;opacity:.9}
#app .memory .tile{position:relative}
#app .memory .tile.open,#app .memory .tile.matched{color:#4a2338!important;background:linear-gradient(#fff,#fff6f9)!important;box-shadow:0 6px 0 #f3d6dc,inset 0 0 0 3px #f3d6dc!important;transform:rotateY(360deg)}
#app .memory .tile.open::after,#app .memory .tile.matched::after{content:none}
#app .memory .tile.matched{background:linear-gradient(#e9fbf3,#d2f3e5)!important;box-shadow:0 6px 0 #5cc6a8!important}
/* bubbles */
#app .bubblefield{background:linear-gradient(#bfe7ff,#e9f7ff)!important;border-radius:26px!important;border:3px solid #fff!important;padding:18px!important;gap:16px!important}
#app .bubble{border:0!important;border-radius:50%!important;aspect-ratio:1;color:#2a4a6a!important;font-weight:900!important;
  background:radial-gradient(circle at 30% 28%,#ffffff 0 10%,#ffffffaa 11% 18%,transparent 19%),radial-gradient(circle at 50% 50%,#ffffff22 0 55%,#9fd8ff88 70%,#c8a2ffaa 100%)!important;
  box-shadow:inset -6px -8px 18px #7cc4f255,inset 6px 6px 14px #ffffffaa,0 8px 18px -6px #4a7aa055!important;animation:qpFloat 3.4s ease-in-out infinite alternate}
#app .bubble:nth-child(2){animation-delay:-1.1s}#app .bubble:nth-child(3){animation-delay:-2.2s}#app .bubble:nth-child(4){animation-delay:-.6s}
@keyframes qpFloat{to{transform:translateY(-10px) rotate(2deg)}}
#app .bubble.pop{animation:qpBurst .35s forwards!important}@keyframes qpBurst{to{transform:scale(1.4);opacity:0}}
/* builder letters */
#app .buildslots{gap:10px!important;direction:rtl}
#app .slot{border-radius:16px!important;border:3px dashed #e9a7bf!important;background:#fff!important;min-width:64px!important;min-height:72px!important;font-family:"Frank Ruhl Libre","David","Arial Hebrew",serif!important;font-size:40px!important;font-weight:900!important;color:#e2457a!important}
#app .letterbank{gap:10px!important}
#app .letter{min-width:64px!important;min-height:70px!important;border-radius:14px!important;border:0!important;font-family:"Frank Ruhl Libre","David","Arial Hebrew",serif!important;font-size:38px!important;font-weight:900!important;color:#5a3a20!important;
  background:linear-gradient(#fbe7c6,#efcf9a)!important;box-shadow:0 6px 0 #c9a06a,inset 0 2px 0 #fff8!important}
#app .letter:active{transform:translateY(4px);box-shadow:0 2px 0 #c9a06a!important}
/* game show */
#app .show-grid{gap:8px!important}
#app .show-category>div:first-child,#app .show-category strong{font-weight:900!important}
#app .show-cell{border:0!important;border-radius:14px!important;background:linear-gradient(#5b55c9,#3f3a9e)!important;color:#ffd25e!important;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif!important;font-size:22px!important;font-weight:800!important;box-shadow:0 5px 0 #2a2670,inset 0 2px 0 #ffffff33!important;text-shadow:0 2px 0 #2a2670}
#app .show-cell:disabled{opacity:.35!important}
#app .show-spotlight{background:radial-gradient(circle at 50% 0%,#fff3c4 0,#ffe3ea 60%)!important;border-radius:24px!important;border:3px solid #fff!important}
/* pairs */
#app .match-btn{border:2px solid #f3d6dc!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 0 #f3d6dc!important;font-weight:900!important;min-height:58px!important;color:#4a2338!important}
#app .match-col:first-child .match-btn{font-family:"Frank Ruhl Libre","David","Arial Hebrew",serif!important;font-size:30px!important}
#app .match-btn.picked{border-color:#7cc4f2!important;box-shadow:0 5px 0 #7cc4f2!important;background:#eef8ff!important}
#app .match-btn.solved{border-color:#5cc6a8!important;box-shadow:0 5px 0 #5cc6a8!important;background:#e9fbf3!important;opacity:.85}
@media (prefers-reduced-motion:reduce){#app .bubble,#app .option.correct,#app .option.wrong{animation:none!important}}

/* Fixes (Claude, Oct 29) */
/* Header: brand on top, one swipeable row of buttons, matches the sparkle theme */
.top{min-width:0;max-width:100%;background:#fff1e8f2!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px -12px #4a233855!important;border:0!important;border-radius:0 0 22px 22px!important;padding:10px 12px!important;flex-direction:column;align-items:stretch!important;gap:8px!important}
.top .brand{font-size:clamp(18px,5vw,26px)!important;letter-spacing:-.02em!important;color:#4a2338!important}
.top .brand span{color:#e2457a!important}
.top .stats{min-width:0;max-width:100%;width:100%;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px!important;padding-bottom:2px}
.top .stats::-webkit-scrollbar{display:none}
.top .stats>*{flex:none}
.top .smallbtn,.top .pill{padding:7px 11px!important;font-size:13px!important;border-radius:999px!important;background:#fff!important;border:2px solid #f3d6dc!important;color:#4a2338!important;box-shadow:none!important}
.top .sound-settings{flex:none;display:flex;gap:6px}
.top .sound-settings[hidden]{display:none!important}
/* Game list: two columns, grouped, compact cards */
.games{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.games .games-group{grid-column:1/-1;margin:10px 2px 0;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:1.2rem;color:#4a2338}
.games .gamecard{min-height:0!important;padding:10px 10px 12px!important;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}
.games .gamecard .emoji{font-size:34px;line-height:1}
.games .gamecard .emoji.emoji-3d{width:100%;aspect-ratio:1.25;max-width:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff,#ffeef4);border-radius:16px;margin-bottom:2px}
.games .gamecard .emoji.emoji-3d img{width:88%;height:100%;object-fit:contain}
.games .gamecard strong{font-size:15px!important;line-height:1.15}
.games .gamecard p{display:none}
.games .gamecard .tag{font-size:11px!important}
@media (min-width:700px){.games{grid-template-columns:repeat(3,minmax(0,1fr))!important}.games .gamecard p{display:block;font-size:13px}}
/* Game screens: drop the repeated "music / level" line (coins are in the header) */
[data-live-coins-summary]{display:none!important}
/* Game Show and other English answer cards: readable size that fits */
#app .option:not(.he){font-family:"Nunito","Segoe UI",system-ui,sans-serif!important;font-size:clamp(17px,4.8vw,22px)!important;line-height:1.2!important;padding:10px!important;overflow-wrap:anywhere;hyphens:auto}
/* Word wheel: labels stay upright while the wheel turns */
.wheel-label{transition:transform 3.5s cubic-bezier(.12,.75,.12,1);white-space:nowrap}
/* Adventure worlds: show the badge you're working toward instead of a padlock */
.quest-island.locked{opacity:.55!important;filter:grayscale(.5)}
/* Decorate screen: fewer buttons. Dragging the room turns it; Shop is already in the top tabs */
#orbitLeft,#orbitRight,#dreamShop,#playHouse{display:none!important}
.top .stats #gamesShortcut{background:#e2457a!important;color:#fff!important;border-color:#e2457a!important;box-shadow:none!important}

/* Polish batch 1 (Claude, Oct 29) */
/* Decorate screen: when the 3D room is showing, shrink the dollhouse header so the room sits near the top */
#app:has(.rk3-room) .house-head{padding:10px 12px!important;margin-bottom:8px!important}
#app:has(.rk3-room) .house-head>.spark,#app:has(.rk3-room) .house-head>h1,#app:has(.rk3-room) .house-head>p,#app:has(.rk3-room) .house-head>.house-banner{display:none!important}
#app:has(.rk3-room) .house-head .house-nav{margin:0!important}
.dream-panel .dream-heading p{display:none}
.dream-panel .dream-heading h2{margin:0 0 6px!important;font-size:1.25rem!important}
.dream-panel{padding-top:12px!important}
/* Leftover purple: active tabs and selections use the pink theme color */
.room-tabs button.active,.house-nav button.active,.life-rooms button.active,.shop-categories button.active,.subcats button.active{background:#e2457a!important;border-color:#e2457a!important;color:#fff!important;box-shadow:0 3px 0 #b92e5e!important}
.dream-inventory-item.active,.dream-inventory button.active{outline:3px solid #e2457a!important;outline-offset:2px}
/* Bubble Pop: bigger bubbles, text always fits */
#app .bubblefield{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(104px,1fr))!important;justify-items:center;gap:14px!important}
#app .bubble{width:clamp(104px,30vw,132px)!important;height:auto!important;padding:10px!important;font-size:clamp(14px,4vw,17px)!important;line-height:1.15!important;overflow-wrap:anywhere;hyphens:auto;display:grid;place-items:center;text-align:center}

/* Learning + fun batch (Claude, Oct 29) */
.st-cards.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.rk-say{border:0;background:#fff;border-radius:999px;width:42px;height:42px;font-size:20px;box-shadow:0 3px 0 #f3d6dc,0 0 0 2px #f3d6dc;cursor:pointer;vertical-align:middle;margin:6px auto 0;display:inline-grid;place-items:center}
.rk-say.on{background:#ffe3ea;animation:rkPulse .6s ease-in-out infinite alternate}
.st-order .rk-say{margin:0 0 0 8px;flex:none}
@keyframes rkPulse{to{transform:scale(1.12)}}
.rk-star{margin-top:8px;font-weight:900;color:#3c9c82;font-size:13px}
.rk-spark{position:fixed;width:11px;height:11px;border-radius:50%;z-index:9999;pointer-events:none;animation:rkFly .95s ease-out forwards}
@keyframes rkFly{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.rk-launchpad{overflow:visible!important}
.rk-launch{animation:rkLaunch 1.3s cubic-bezier(.5,0,.75,0) forwards;position:relative}
.rk-launch::after{content:"🔥";position:absolute;left:50%;top:78%;transform:translateX(-50%) rotate(180deg);font-size:34px;animation:rkFlame .12s ease-in-out infinite alternate}
@keyframes rkLaunch{0%{transform:translateY(0)}15%{transform:translateY(6px) rotate(-3deg)}30%{transform:translateY(0) rotate(3deg)}100%{transform:translateY(-480px) rotate(0);opacity:.2}}
@keyframes rkFlame{to{transform:translateX(-50%) rotate(180deg) scale(1.25)}}
.rk-stamp{position:absolute;right:8px;bottom:8px;border:4px solid #e2457a;color:#e2457a;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-weight:800;font-size:15px;letter-spacing:.06em;padding:1px 8px;border-radius:10px;transform:rotate(-12deg);background:#fff8;animation:rkStamp .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes rkStamp{from{transform:rotate(-12deg) scale(2.4);opacity:0}}
.rk-hop{animation:rkHop .5s ease-out both}
@keyframes rkHop{40%{transform:translateY(-14px) scale(1.08)}}
.sel-scene .sel-illustration{line-height:1!important}
.rk-sel-img{width:100%;max-width:420px;height:auto;display:block;margin:0 auto}
.rk-prog{display:flex;flex-direction:column;gap:12px}
.rk-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rk-tiles div{background:#fff;border:2px solid #f3d6dc;border-radius:18px;padding:10px 6px;text-align:center}
.rk-tiles b{display:block;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:1.6rem;color:#e2457a;font-variant-numeric:tabular-nums}
.rk-tiles span{font-size:12px;font-weight:800;color:#8a6577}
.rk-prog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rk-prog-list li{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:8px;align-items:center;background:#fff;border:2px solid #f3d6dc;border-radius:16px;padding:6px 10px}
.rk-prog-list .rk-say{width:34px;height:34px;font-size:16px;margin:0}
.rk-prog-he{font-family:"Frank Ruhl Libre","David","Arial Hebrew",serif;font-weight:900;font-size:24px;color:#e2457a;direction:rtl}
.rk-prog-mean{font-weight:800;font-size:13px;min-width:0;overflow-wrap:anywhere}
.rk-bar{height:10px;background:#ffe3ea;border-radius:999px;overflow:hidden;min-width:40px}
.rk-bar i{display:block;height:100%;background:#5cc6a8;border-radius:999px}
.rk-prog-num{font-size:12px;font-weight:800;color:#8a6577;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:420px){.rk-prog-list li{grid-template-columns:auto 1fr auto;grid-template-areas:"he mean say" "bar bar num"}.rk-prog-he{grid-area:he}.rk-prog-mean{grid-area:mean}.rk-prog-list .rk-say{grid-area:say}.rk-bar{grid-area:bar}.rk-prog-num{grid-area:num}}
@media (prefers-reduced-motion:reduce){.rk-launch,.rk-stamp,.rk-hop,.rk-say.on{animation:none}}

/* Home hub, simpler header, easier decorating (Claude, Oct 29) */
.top .stats>button:not(#gamesShortcut):not(#hubHomeBtn):not(#hubSocialBtn):not(#rkShopShortcut):not(#rkDollsShortcut):not(#settingsToggle):not(#sound):not(#fullscreen):not(#musicToggle),.top #streak{display:none!important}
.top #hubHomeBtn{background:#e2457a!important;color:#fff!important;border-color:#e2457a!important}
.hub-hide{display:none!important}
.hub{display:flex;flex-direction:column;gap:14px;padding-block:6px 10px}
.hub-hi h1{margin:0;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:clamp(30px,8vw,40px);color:#4a2338;line-height:1.05}
.hub-hi p{margin:2px 0 0;font-weight:800;color:#8a6577;font-size:1.05rem}
.hub-today{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:0;border-radius:24px;padding:16px 18px;background:linear-gradient(135deg,#e2457a,#f58fb2);color:#fff;box-shadow:0 6px 0 #b92e5e;cursor:pointer}
.hub-today b{font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:1.6rem;line-height:1.1}
.hub-today span{font-weight:800;opacity:.92}
.hub-today-tag{font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:#ffffff33;border-radius:999px;padding:2px 10px}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hub-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:2px solid #f3d6dc;border-radius:24px;padding:16px 14px;box-shadow:0 6px 0 #f3d6dc;min-height:150px;cursor:pointer;color:#4a2338}
.hub-tile:active,.hub-today:active{transform:translateY(3px)}
.hub-ic{font-size:44px;line-height:1;margin-bottom:6px}
.hub-tile b{font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:1.25rem;line-height:1.1}
.hub-tile span:last-child{font-size:13px;font-weight:800;color:#8a6577}
.hub-progress{align-self:center;background:none;border:0;color:#8a6577;font-weight:800;text-decoration:underline;padding:8px;cursor:pointer}
.hub-back{margin:4px 0 10px!important}
/* decorating */
.rk3-hidden{display:none!important}
.rk3-front{position:absolute;right:10px;top:10px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:#ffffffe6;font-size:20px;box-shadow:0 2px 8px #0002;cursor:pointer}
.rk3-bar{position:relative;margin:8px 0 0;z-index:3;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#ffffffee;border-radius:18px;padding:8px 10px;box-shadow:0 6px 18px -6px #4a233866}
.rk3-bar[hidden]{display:none!important}
.rk3-bar span{flex:1;min-width:0;font-weight:900;color:#4a2338;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk3-bar button{border:0;border-radius:999px;padding:9px 12px;font-weight:900;font-size:14px;background:#ffe3ea;color:#4a2338;cursor:pointer}
.rk3-bar #rk3BarDone{background:#e2457a;color:#fff}
.rk3-bar button[hidden]{display:none}
.rk3-tray{margin:10px 0 6px}
.rk3-tray-title{font-weight:900;color:#4a2338;margin:0 2px 6px;font-size:15px}
.rk3-tray .dream-inventory{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:10px!important;padding:4px 2px 10px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rk3-tray .dream-inventory>*{flex:0 0 96px!important;width:96px!important;scroll-snap-align:start}
.rk3-tray [data-dream-inventory]{position:relative;border:2px solid #f3d6dc!important;border-radius:18px!important;background:#fff!important;padding:6px!important;min-height:0!important;font-size:12px!important;font-weight:800!important;line-height:1.15;color:#4a2338!important}
.rk3-tray [data-dream-inventory] .furniture-svg,.rk3-tray [data-dream-inventory] img{width:100%!important;height:70px!important;object-fit:contain}
.rk3-tray .rk3-in-room{border-color:#5cc6a8!important}
.rk3-tray .rk3-in-room::after{content:"✓";position:absolute;top:4px;right:6px;width:20px;height:20px;border-radius:50%;background:#5cc6a8;color:#fff;font-size:12px;display:grid;place-items:center}
.rk3-tray .rk3-unavailable{opacity:.55;filter:saturate(.7)}
.rk3-copy-count{display:block;margin-top:4px;padding:3px 5px;border-radius:999px;background:#f8eee8;color:#805f52;font-size:10px;font-weight:900;line-height:1.1}
.rk3-in-room .rk3-copy-count{background:#ddf5ec;color:#397967}
.rk3-bar{row-gap:7px!important}
#rk3BarSmaller,#rk3BarBigger{background:#fff7e8!important;color:#684237!important}
.rk3-more{background:#fff;border:2px solid #f3d6dc;border-radius:18px;padding:0 12px;margin:10px 0}
.rk3-more>summary{cursor:pointer;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-weight:800;font-size:1.1rem;padding:12px 0;color:#4a2338;list-style:none}
.rk3-more>summary::-webkit-details-marker{display:none}
.rk3-more>summary::after{content:"▾";float:right;transition:transform .2s}
.rk3-more[open]>summary::after{transform:rotate(180deg)}
.rk3-more[open]{padding-bottom:12px}
.hub-alef{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(#fbe7c6,#efcf9a);box-shadow:0 4px 0 #c9a06a;color:#5a3a20;font-family:"Frank Ruhl Libre","David","Arial Hebrew",serif;font-weight:900;font-size:28px;direction:rtl}
#app:has(.rk3-room) #backArcade{display:none!important}
#app:has(.rk3-room) .house-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}
#app:has(.rk3-room) .house-nav button{padding:9px 6px!important;font-size:13px!important}
.hub-tile .hub-alef{font-size:30px!important;line-height:1}

/* 3D decorating bar: name on its own line, buttons wrap */
.rk3-bar #rk3BarName{flex:1 0 100%;white-space:normal}
.rk3-bar.preview{background:#fff7d6ee}
.rk3-bar #rk3BarPlace{background:#5cc6a8;color:#fff}

/* Live comic (Claude, Oct 29) */
.comic-theater{display:grid;gap:10px;margin:10px 0}
.comic-panel{position:relative;display:grid;grid-template-columns:76px 1fr;align-items:center;gap:10px;background:#fff;border:3px solid #4a2338;border-radius:16px;padding:10px 12px;box-shadow:4px 4px 0 #4a2338;opacity:.18;transform:scale(.96);transition:opacity .35s,transform .35s}
.comic-panel.on{opacity:1;transform:none}
.comic-num{position:absolute;top:-10px;left:-8px;width:26px;height:26px;border-radius:50%;background:#e2457a;color:#fff;font-weight:900;display:grid;place-items:center;font-size:13px;border:2px solid #4a2338}
.comic-actor{font-size:52px;line-height:1;text-align:center}
.comic-panel.on .comic-pop{animation:comicPop .6s cubic-bezier(.3,1.6,.5,1)}
.comic-panel.on .comic-think{animation:comicThink 1.6s ease-in-out infinite}
.comic-panel.on .comic-talk{animation:comicTalk .35s ease-in-out 6 alternate}
@keyframes comicPop{from{transform:scale(.3) rotate(-15deg)}}
@keyframes comicThink{50%{transform:translateY(-6px) rotate(6deg)}}
@keyframes comicTalk{to{transform:scale(1.12,.9)}}
.comic-bubble{position:relative;background:#fff7d6;border:2px solid #4a2338;border-radius:14px;padding:8px 10px;min-height:56px;font-weight:800;color:#4a2338;line-height:1.3}
.comic-bubble::before{content:"";position:absolute;left:-9px;top:20px;border:8px solid transparent;border-right-color:#4a2338;border-left:0}
.comic-bubble b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b92e5e}
.comic-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.comic-controls [hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.comic-panel,.comic-actor{animation:none!important;transition:none}}

/* Game screens fit one phone screen (Claude, Oct 29) */
body:has(#app .gamehead) .top .brand{display:none}
#app .gamehead{margin-bottom:6px!important;gap:6px}
#app .gamehead .secondary{padding:7px 12px!important;font-size:14px!important}
#app section.panel:has(.gamehead){padding-top:10px!important}
#app .st{gap:8px}
#app .st-order{padding:8px 12px}
#app .st-stage{height:var(--rk-stage-h,clamp(170px,calc(100svh - 560px),380px))}
#app .st-card{padding:4px 4px 8px}
#app .st-card img,#app .st-card .ph{aspect-ratio:1.15}
#app .st-ask{font-size:14px}
/* Claw question answers (ChatGPT's new step) styled like the other choices */
#app .st-claw-question{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}
#app .st-claw-question p{flex:1 0 100%;margin:0;text-align:center;font-weight:800}
#app .st-claw-answer{flex:1 1 30%;min-width:96px;padding:12px 8px;border-radius:16px;border:2px solid #f3d6dc;background:#fff;box-shadow:0 4px 0 #f3d6dc;font-weight:900;font-size:15px;color:#4a2338;cursor:pointer}
#app .st-claw-answer:disabled{opacity:.5}

/* Claw Arcade (Claude, Oct 29) */
.cm{display:flex;flex-direction:column;gap:10px}
.cm-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:800;color:#8a6577;font-size:13px}
.cm-dots{display:flex;gap:6px}.cm-dots i{width:12px;height:12px;border-radius:50%;background:#f3d6dc}.cm-dots i.on{background:#5cc6a8}.cm-dots i.now{background:#e2457a;transform:scale(1.2)}
.cm-stage{position:relative;height:clamp(250px,calc(100svh - 430px),460px);border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#fff 0,#ffe8f1 55%,#f2d6ea 100%);border:3px solid #fff;box-shadow:0 14px 30px -14px #e2457a66;touch-action:manipulation}
.cm-stage canvas{display:block;width:100%;height:100%}
.cm-banner{position:absolute;left:10px;right:10px;top:10px;z-index:2;background:#ffffffee;border-radius:18px;padding:10px 14px;text-align:center;box-shadow:0 6px 18px -8px #4a233866;animation:cmIn .45s cubic-bezier(.3,1.6,.5,1)}
.cm-banner b{display:block;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:1.3rem;line-height:1.15;color:#4a2338}
.cm-banner span{display:block;font-weight:800;color:#8a6577;font-size:14px}
.cm-banner.rare{background:linear-gradient(135deg,#fff3c4,#ffd6ec,#d9ccff);border:2px solid #f2c94c}
.cm-banner.gold{background:linear-gradient(135deg,#fff3c4,#ffe08a);border:2px solid #f2c94c}
.cm-rare{display:inline-block!important;font-size:12px!important;letter-spacing:.1em;color:#b8860b!important;background:#fff;border-radius:999px;padding:1px 10px;margin-bottom:2px}
@keyframes cmIn{from{transform:translateY(-14px) scale(.9);opacity:0}}
.cm-burst{position:absolute;left:50%;top:55%;pointer-events:none}
.cm-burst i{position:absolute;width:11px;height:11px;border-radius:50%;animation:cmFly .95s ease-out forwards}
@keyframes cmFly{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.cm-panel{display:flex;flex-direction:column;gap:10px;min-height:90px}
.cm-big{width:100%;border:0;border-radius:24px;padding:20px 12px;font-family:"Baloo 2","Trebuchet MS",system-ui,sans-serif;font-size:clamp(24px,7vw,32px);font-weight:800;color:#fff;cursor:pointer;letter-spacing:.02em}
.cm-grab{background:linear-gradient(135deg,#e2457a,#ff7aa8);box-shadow:0 7px 0 #b92e5e;animation:cmPulse 1.4s ease-in-out infinite}
.cm-coin{background:linear-gradient(135deg,#f2b632,#ffd25e);color:#5a3a00;box-shadow:0 7px 0 #c98f12;animation:cmPulse 1.4s ease-in-out infinite}
.cm-mystery{background:linear-gradient(135deg,#7b5cd6,#c8a2ff);box-shadow:0 7px 0 #5534a6;animation:cmPulse 1.4s ease-in-out infinite}
.cm-house{background:linear-gradient(135deg,#3fb393,#7fd8bf);box-shadow:0 7px 0 #2a8c70}
.cm-big:active{transform:translateY(4px);box-shadow:0 3px 0 #0003}
.cm-big:disabled{animation:none;opacity:.75}
@keyframes cmPulse{50%{transform:scale(1.03)}}
.cm-small{align-self:center;border:2px solid #f3d6dc;background:#fff;border-radius:999px;padding:10px 18px;font-weight:900;color:#4a2338;cursor:pointer}
.cm-end{display:flex;flex-direction:column;gap:10px}
#app .cm-q{padding:10px 14px!important}
#app .cm-q .hebrew{font-size:clamp(40px,11vw,60px)!important;line-height:1.1}
.cm-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cm-answers.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.cm-ans{border:0;border-radius:20px;padding:16px 6px;min-height:76px;font-weight:900;font-size:clamp(15px,4.4vw,19px);line-height:1.15;color:#2a1d2a;cursor:pointer;overflow-wrap:anywhere}
.cm-ans.c0{background:#7cc4f2;box-shadow:0 6px 0 #4f97c6}.cm-ans.c1{background:#ffb648;box-shadow:0 6px 0 #d48a1c}.cm-ans.c2{background:#5cc6a8;box-shadow:0 6px 0 #3c9c82}.cm-ans.c3{background:#b28af0;box-shadow:0 6px 0 #8460c8}
.cm-ans:active{transform:translateY(3px)}
.cm-ans.bad{opacity:.4;animation:stShake .4s}
.cm-ans.good{color:#fff;background:#e2457a!important;box-shadow:0 6px 0 #b92e5e!important;animation:qpPop .35s}
.cm-hint{margin:0;background:#fff7d6;border-radius:14px;padding:8px 12px;font-weight:800;color:#6a4b2a}
@media (prefers-reduced-motion:reduce){.cm-grab,.cm-coin,.cm-mystery,.cm-banner,.cm-burst i{animation:none!important}}


/* Clay art preview: four equal home cards, compact illustrations and matching game art. */
.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;grid-auto-rows:1fr}
.hub-grid .hub-tile{grid-column:auto;min-width:0;min-height:172px;padding:14px;gap:5px;overflow:hidden}
.hub-grid .hub-tile b{font-size:clamp(17px,4.6vw,20px);line-height:1.2;margin:0}
.hub-grid .hub-tile>span:last-child{font-size:12px;line-height:1.35}
.hub-grid .hub-ic{display:grid;place-items:center;width:100%;height:80px;flex:none;font-size:0!important;margin:0 0 5px;background:none}
.hub-grid .hub-ic>*{display:none!important}
.hub-grid .hub-ic::before{content:"";display:block;width:80px;height:80px;background-image:url('../images/clay/icons.webp');background-size:400% 400%;background-position:var(--clay-x,0%) var(--clay-y,0%);background-repeat:no-repeat}
#hubSocial{--clay-x:33.333333%}#hubShop{--clay-x:66.666667%}
#hubHouse .hub-ic::before{background-image:url('../images/clay/dollhouse.webp');background-size:contain;background-position:center}
/* Fixed art slots keep titles and descriptions aligned, even on a narrow phone. */
.games .gamecard .emoji{display:grid!important;place-items:center;width:100%!important;height:88px!important;aspect-ratio:auto!important;margin:0 0 6px!important;font-size:0!important;background:#fff7f2!important;border-radius:16px}
.games .gamecard .emoji img{display:none!important}
.games .gamecard .emoji::before{content:"";display:block;width:80px;height:80px;background-image:url('../images/clay/icons.webp');background-size:400% 400%;background-position:var(--clay-x,0%) var(--clay-y,0%);background-repeat:no-repeat}
.games .gamecard .emoji.game-card-art::before{display:none}
.shop-item,.interior-product{border-radius:22px!important;background:linear-gradient(155deg,#fffdf9,#fff5f0)!important;border-color:#efd8ce!important;box-shadow:0 5px 0 #ead3c7!important}
.shop-item .pic{border-radius:17px;background:radial-gradient(ellipse at 50% 30%,#fffefa,#f9ece2);padding:6px;overflow:hidden}
.shop-item .pic .rk3-thumb{filter:drop-shadow(0 5px 4px #865d4720)}
.shop-item .name{line-height:1.3;overflow-wrap:break-word}
.shop-item button:focus-visible,.hub-tile:focus-visible,.gamecard:focus-visible{outline:3px solid #8a4b6a;outline-offset:4px}
@media(max-width:360px){.hub-grid{gap:10px}.hub-grid .hub-tile{padding:12px;min-height:168px}.hub-grid .hub-tile b{font-size:17px}.hub-grid .hub-ic{height:72px}.hub-grid .hub-ic::before{width:72px;height:72px}}
.games .gamecard[data-game="detective"],.games .gamecard[data-extra="detective"],.games .gamecard[data-creative="detective"],.games .gamecard[data-special="detective"]{--clay-x:100.000000%;--clay-y:0.000000%;}
.games .gamecard[data-game="bubbles"],.games .gamecard[data-extra="bubbles"],.games .gamecard[data-creative="bubbles"],.games .gamecard[data-special="bubbles"]{--clay-x:0.000000%;--clay-y:33.333333%;}
.games .gamecard[data-game="builder"],.games .gamecard[data-extra="builder"],.games .gamecard[data-creative="builder"],.games .gamecard[data-special="builder"]{--clay-x:33.333333%;--clay-y:33.333333%;}
.games .gamecard[data-game="memory"],.games .gamecard[data-extra="memory"],.games .gamecard[data-creative="memory"],.games .gamecard[data-special="memory"]{--clay-x:66.666667%;--clay-y:33.333333%;}
.games .gamecard[data-game="show"],.games .gamecard[data-extra="show"],.games .gamecard[data-creative="show"],.games .gamecard[data-special="show"]{--clay-x:100.000000%;--clay-y:33.333333%;}
.games .gamecard[data-game="pairs"],.games .gamecard[data-extra="pairs"],.games .gamecard[data-creative="pairs"],.games .gamecard[data-special="pairs"]{--clay-x:66.666667%;--clay-y:33.333333%;}
.games .gamecard[data-game="sort"],.games .gamecard[data-extra="sort"],.games .gamecard[data-creative="sort"],.games .gamecard[data-special="sort"]{--clay-x:33.333333%;--clay-y:33.333333%;}
.games .gamecard[data-game="wheel"],.games .gamecard[data-extra="wheel"],.games .gamecard[data-creative="wheel"],.games .gamecard[data-special="wheel"]{--clay-x:100.000000%;--clay-y:33.333333%;}
.games .gamecard[data-game="cupcakes"],.games .gamecard[data-extra="cupcakes"],.games .gamecard[data-creative="cupcakes"],.games .gamecard[data-special="cupcakes"]{--clay-x:0.000000%;--clay-y:66.666667%;}
.games .gamecard[data-game="cake"],.games .gamecard[data-extra="cake"],.games .gamecard[data-creative="cake"],.games .gamecard[data-special="cake"]{--clay-x:33.333333%;--clay-y:66.666667%;}
.games .gamecard[data-game="dressup"],.games .gamecard[data-extra="dressup"],.games .gamecard[data-creative="dressup"],.games .gamecard[data-special="dressup"]{--clay-x:66.666667%;--clay-y:66.666667%;}
.games .gamecard[data-game="pets"],.games .gamecard[data-extra="pets"],.games .gamecard[data-creative="pets"],.games .gamecard[data-special="pets"]{--clay-x:100.000000%;--clay-y:66.666667%;}
.games .gamecard[data-game="boutique"],.games .gamecard[data-extra="boutique"],.games .gamecard[data-creative="boutique"],.games .gamecard[data-special="boutique"]{--clay-x:66.666667%;--clay-y:66.666667%;}
.games .gamecard[data-game="claw"],.games .gamecard[data-extra="claw"],.games .gamecard[data-creative="claw"],.games .gamecard[data-special="claw"]{--clay-x:0.000000%;--clay-y:100.000000%;}
.games .gamecard[data-game="aquarium"],.games .gamecard[data-extra="aquarium"],.games .gamecard[data-creative="aquarium"],.games .gamecard[data-special="aquarium"]{--clay-x:33.333333%;--clay-y:100.000000%;}
.games .gamecard[data-game="quest"],.games .gamecard[data-extra="quest"],.games .gamecard[data-creative="quest"],.games .gamecard[data-special="quest"]{--clay-x:100.000000%;--clay-y:0.000000%;}
.games .gamecard[data-game="giftwrap"],.games .gamecard[data-extra="giftwrap"],.games .gamecard[data-creative="giftwrap"],.games .gamecard[data-special="giftwrap"]{--clay-x:66.666667%;--clay-y:100.000000%;}
.games .gamecard[data-game="garden"],.games .gamecard[data-extra="garden"],.games .gamecard[data-creative="garden"],.games .gamecard[data-special="garden"]{--clay-x:100.000000%;--clay-y:100.000000%;}

/* In-room furniture play: retain the room canvas and zoom into the selected piece. */
.rk3-room.rk-storage-focus{height:clamp(390px,69dvh,650px);touch-action:none;scroll-margin-top:110px}
.rk-storage-toolbar{position:absolute;z-index:5;inset:10px 10px auto;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
.rk-storage-toolbar button,.rk-storage-toolbar strong{background:#fffaf0ed;border:2px solid #e8d5c0;border-radius:14px;padding:9px 12px;font:800 13px/1.2 system-ui;color:#654333;pointer-events:auto}
.rk-storage-toolbar strong{max-width:44%;text-align:right}
.rk-storage-tray{background:#fffaf3;border:2px solid #efdcc9;border-radius:22px;padding:12px;margin:10px 0}
.rk-storage-help{margin:0 0 10px;font-size:14px;line-height:1.4;font-weight:800;color:#674637}
.rk-storage-objects{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;max-height:220px;overflow-y:auto;padding:3px}
.rk-storage-objects>button{min-width:0;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #ecdac8;border-radius:15px;padding:6px;color:#674637;touch-action:none;user-select:none;-webkit-user-select:none}
.rk-storage-objects>button.active{border-color:#bd6d8a;background:#fff0f3;box-shadow:0 0 0 2px #edb8c9}
.rk-storage-objects .furniture-svg,.rk-storage-objects .rk3-thumb{width:100%!important;height:64px!important;object-fit:contain;pointer-events:none}
.rk-storage-objects small{font:700 11px/1.2 system-ui;overflow-wrap:break-word;pointer-events:none}
.rk-storage-objects>p{grid-column:1/-1;font-size:14px}
.rk-storage-active .rk3-bar,.rk-storage-active .rk3-tray,.rk-storage-active .rk3-front,.rk-storage-active .riki3d-hud{display:none!important}
.rk-storage-toolbar button:focus-visible,.rk-storage-objects button:focus-visible{outline:3px solid #bd6d8a;outline-offset:2px}

/* Keep the four main home choices aligned; retain the newer dolls activity beneath them. */
.hub-grid{grid-auto-rows:auto}
.hub-grid #hubPlay{grid-column:1/-1;min-height:96px;display:grid;grid-template-columns:70px 1fr;column-gap:14px;--clay-x:66.666667%;--clay-y:66.666667%}
.hub-grid #hubPlay .hub-ic{grid-row:1/3;width:64px;height:64px;margin:0}
.hub-grid #hubPlay .hub-ic::before{width:64px;height:64px}

/* Browse horizontally; vertical gestures lift an item into the room. */
.rk-storage-scroll{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:6px;align-items:center}
.rk-storage-objects{display:flex;flex-wrap:nowrap;min-width:0;max-height:none;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cba58d #f3e7d9;padding:4px 3px 10px}
.rk-storage-objects>button{flex:0 0 92px;touch-action:pan-x;scroll-snap-align:start}
.rk-storage-prev,.rk-storage-next{width:36px;min-height:64px;border:1px solid #e5cdb6;border-radius:12px;background:#fff5e7;color:#895d44;font:bold 28px system-ui;touch-action:manipulation;cursor:pointer}
.rk-storage-scroll button:focus-visible{outline:3px solid #bd6d8a;outline-offset:2px}
/* Keep the open furniture and its item tray together on a phone screen. */
#app:has(.rk-storage-active) .house-head{display:none!important}
.rk-storage-active .dream-heading,.rk-storage-active .room-tabs,.rk-storage-active .riki3d-legend,.rk-storage-active .rk3-selection-tools,.rk-storage-active .dream-message,.rk-storage-active .rk3-more{display:none!important}
.rk3-room.rk-storage-focus{height:clamp(260px,calc(100svh - 350px),560px)}

/* Curated clay boutique: short pages and clear, swipeable room/collection browsing. */
.catalog-shop{min-width:0!important;padding:18px!important;background:#fffaf4!important}
.catalog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.catalog-eyebrow{color:#a36c64;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.catalog-heading h2{font-size:clamp(25px,6vw,34px);line-height:1.1;color:#684237;margin:4px 0 7px}
.catalog-heading p{color:#947064;font-size:13px;line-height:1.4;margin:0;max-width:360px}
.catalog-wallet{flex:none;background:#fff1d6;border:1px solid #ead6af;border-radius:14px;padding:10px;color:#765a35;font-size:13px;font-weight:900;white-space:nowrap}
.catalog-decorate{font-size:13px!important;margin:0 0 14px!important}
.catalog-nav{padding:12px 0;border-top:1px solid #eedecf;border-bottom:1px solid #eedecf;margin:0 0 14px;min-width:0}
.catalog-nav-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 0 6px;color:#765a4a;font-size:13px}
.catalog-nav-title:not(:first-child){margin-top:12px}
.catalog-nav-title span{font-size:11px;font-weight:600;color:#a17d69}
.catalog-scroll-row{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:5px;min-width:0}
.catalog-scroll-row>button{min-width:0;width:28px;height:42px;padding:0!important;background:#fff3e5;border:1px solid #e8d5bf;border-radius:10px;color:#8b654a;font-size:24px;font-weight:bold;touch-action:manipulation}
.catalog-tabs{display:flex;gap:7px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:3px 2px 8px;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#d6b59d #f5e8db;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.catalog-tabs>button{flex:none;scroll-snap-align:start;min-height:40px;padding:9px 12px!important;border-radius:13px;border:1px solid #e6d4c4;background:#fff;color:#85614e;font:800 13px/1.2 system-ui;white-space:nowrap;touch-action:pan-x}
.catalog-tabs>button.active,.catalog-filters>button.active{background:#e9b7c5!important;border-color:#d795ab!important;color:#603d3d!important;box-shadow:0 2px 0 #d49bad}
.catalog-tools{display:flex;gap:8px;align-items:center;min-width:0;margin-bottom:10px}
.catalog-tools input[type="search"]{padding-left:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2388654f' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 12px center}
.catalog-search{flex:1;min-width:0}
.catalog-tools input,.catalog-tools select{width:100%;min-width:0;min-height:42px;border:1px solid #e3cdbb;border-radius:12px;padding:10px;background:#fff;color:#6c4c3d;font:600 13px system-ui}
.catalog-tools>label:last-child{flex:0 0 145px;min-width:0}
.catalog-filters{display:flex;gap:6px;overflow-x:auto;padding:3px 1px 8px;scrollbar-width:thin;touch-action:pan-x}
.catalog-filters>button{flex:none;min-height:36px;padding:7px 10px;border:1px solid #e8d4c2;border-radius:999px;background:#fff;color:#88634f;font:700 12px system-ui;touch-action:pan-x}
.catalog-card.owned .price{color:#397967;background:#e8f7f1;border-radius:10px;padding:6px 8px}
.catalog-count{font:700 12px system-ui;color:#a17b67;margin:6px 0 12px}
.catalog-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;min-width:0}
.catalog-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:10px!important;text-align:left!important;background:linear-gradient(150deg,#fffefa,#fff5eb)!important;border:1px solid #ead7c5!important;border-radius:22px!important;box-shadow:0 4px 0 #ead6c4!important;overflow:hidden}
.catalog-card .pic{width:100%;height:138px;display:grid;place-items:center;margin:0 0 8px!important;border-radius:16px;background:radial-gradient(ellipse at 50% 30%,#fffef9,#f5e8d9)!important;overflow:hidden}
.catalog-card .pic>.rk3-done{display:contents}
.catalog-card .pic .furniture-svg,.catalog-card .pic .rk3-thumb{width:100%!important;height:100%!important;max-height:138px!important;object-fit:contain!important;filter:drop-shadow(0 5px 4px #865d4720)}
.catalog-placeholder{display:grid;place-items:center;width:80px;height:100px;font-size:45px;opacity:.65}
.catalog-card .name{font:900 15px/1.25 system-ui!important;color:#6b443a!important;margin:5px 0!important;min-height:38px;overflow-wrap:break-word}
.catalog-badges{display:flex;gap:4px;flex-wrap:wrap;min-height:18px}
.catalog-badges span{background:#f5e6c8;color:#997342;border-radius:999px;padding:3px 7px;font:800 9px/1.2 system-ui}
.catalog-purpose{color:#ab8571;font:600 11px/1.35 system-ui;margin:0 0 8px;min-height:30px}
.catalog-card .price{margin-top:auto!important;font:900 13px system-ui;color:#8a614a;padding-bottom:8px}
.catalog-card [data-catalog-buy]{width:100%;min-height:39px;font:800 12px/1.2 system-ui!important;padding:9px 5px!important;border-radius:12px!important;background:#e9b7c5!important;border:1px solid #dca3b4!important;color:#654244!important;box-shadow:0 3px 0 #d69dac!important}
.catalog-card [data-catalog-buy]:disabled{background:#f4eadf!important;border-color:#e5d7c8!important;color:#af9480!important;box-shadow:none!important;opacity:1!important}
.catalog-card.owned{border-color:#b8d2ba!important}
.catalog-notice{background:#edf4e7;border:1px solid #c5d8bd;border-radius:13px;padding:12px;font:700 13px/1.4 system-ui;color:#627e59}
.catalog-empty{grid-column:1/-1;text-align:center;padding:30px 12px;color:#9a7563}
.catalog-empty>span{font-size:40px}
.catalog-paging{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px;padding:6px 0}
.catalog-paging button{min-height:42px;border:1px solid #e2cdb8;border-radius:12px;background:#fff2df;color:#8a6346;padding:9px 12px;font:800 13px system-ui}
.catalog-paging span{font:800 12px system-ui;color:#a17b67;white-space:nowrap}
.catalog-paging button:disabled{opacity:.4}
#catalogProducts{scroll-margin-top:110px}
.catalog-shop button:focus-visible,.catalog-shop input:focus-visible,.catalog-shop select:focus-visible{outline:3px solid #b76b87;outline-offset:2px}
.catalog-shop .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:700px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.catalog-card .pic{height:170px}.catalog-card .pic .furniture-svg,.catalog-card .pic .rk3-thumb{max-height:170px!important}}
@media(min-width:1050px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:420px){.catalog-shop{padding:12px!important}.catalog-heading{gap:6px}.catalog-wallet{padding:8px;font-size:11px}.catalog-heading h2{font-size:26px}.catalog-tools{flex-wrap:wrap}.catalog-search{flex-basis:100%}.catalog-tools>label:last-child{flex-basis:100%}.catalog-card .pic{height:115px}.catalog-card .pic .furniture-svg,.catalog-card .pic .rk3-thumb{max-height:115px!important}.catalog-grid{gap:10px!important}.catalog-card{padding:8px!important}}
/* Shopping starts with the catalog, without the repeated large dollhouse welcome panel. */
#app:has(.catalog-shop) .house-head{padding:10px 12px!important;margin-bottom:12px!important}
#app:has(.catalog-shop) .house-head>.spark,#app:has(.catalog-shop) .house-head>h1,#app:has(.catalog-shop) .house-head>p,#app:has(.catalog-shop) .house-head>.house-banner,#app:has(.catalog-shop) .house-head .wh3d-open{display:none!important}
#app:has(.catalog-shop) .house-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;margin:0!important}
#app:has(.catalog-shop) .house-nav>button{font-size:12px!important;padding:8px 5px!important}

/* Calm surfaces, readable labels and a clear rose action color. */
body{background:#f7f4f8!important;color:#443247}
.top{background:#fff9fdf5!important}
.panel{border-color:#e3d9e5!important}
.catalog-shop{background:#fffcfe!important}
.catalog-heading h2,.catalog-card .name{color:#493448!important}
.catalog-heading p,.catalog-purpose,.catalog-count,.catalog-nav-title,.catalog-nav-title span{color:#725d70!important}
.catalog-card{background:#fff!important;border-color:#e3d6df!important;box-shadow:0 4px 0 #e9dde5!important}
.catalog-card .pic{background:radial-gradient(ellipse at 40% 25%,#fcf7fa,#eee5ed)!important}
.catalog-card .price{color:#574257!important}
.catalog-tabs>button,.catalog-filters>button{color:#62495f!important;border-color:#d7c6d5!important;background:#fff!important}
.catalog-tabs>button.active,.catalog-filters>button.active{background:#a94772!important;color:#fff!important;border-color:#91385f!important;box-shadow:0 2px 0 #8f3d60!important}
.catalog-card [data-catalog-buy]{background:#a94772!important;color:#fff!important;border-color:#91385f!important;box-shadow:0 3px 0 #8f3d60!important}
.catalog-card [data-catalog-buy]:disabled{background:#eee9ef!important;color:#706477!important;border-color:#ddd3df!important;box-shadow:none!important}
.catalog-badges span{background:#f5e8d0!important;color:#795b31!important}
.catalog-tools input,.catalog-tools select{color:#4d3b51!important;border-color:#cdbdce!important;background:#fff!important}
.catalog-tools input::placeholder{color:#7b6b7e;opacity:1}
#rkDollsShortcut{background:#f6e6f1!important;border-color:#dcbcd5!important;color:#714163!important}
.pd{background:#fffbfe!important}
.pd-col{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.pd-card{padding:13px 9px 12px!important;background:linear-gradient(145deg,#fff,#fcf0f7)!important;border:1px solid #e4cedd!important;border-radius:24px!important;box-shadow:0 5px 0 #e7cddc!important;gap:6px}
.pd-card .pd-doll{width:105px!important;max-width:100%;height:165px!important;object-fit:contain}
.pd-card .pd-pet{width:106px!important;height:125px!important;max-width:100%}
.pd-card.locked svg{filter:none!important;opacity:1!important}
.pd-card b{color:#583950!important;font-size:16px!important}
.pd-card span{color:#844368!important;background:#fae9f3;border-radius:999px;padding:5px 9px;font-size:12px!important}
.pd-card.on{border-color:#b96791!important;box-shadow:0 5px 0 #c584a7,0 0 0 2px #be759d!important;background:#fff0f8!important}
.pd-opts{gap:9px!important}
.pd-opt{min-width:44px!important;height:44px!important;border:1px solid #decadb!important;box-shadow:none!important}
.pd-opt.on{outline:3px solid #a94772;outline-offset:1px}
.pd-top{flex-wrap:wrap;line-height:1.4}
.pd-spots{gap:10px!important}
.pd-spot{min-height:52px;color:#593e53!important;background:#fffafc!important;border:1px solid #e0c9da!important}
.pd-hint,.pd-srow>b{color:#70566d!important}
.pd-actor{width:27%!important}
.pd-petw{width:19%!important}
.letterbank .letter{touch-action:none;cursor:grab}
.learning-letter-ghost{position:fixed;z-index:10000;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:72px;border:2px solid #c995af;border-radius:16px;background:#fff0d8;box-shadow:0 8px 22px #63415f44;color:#62422f;font:bold 40px serif;pointer-events:none}
.learning-rocket-field{height:220px;position:relative;overflow:hidden;margin:12px 0;border:2px solid #d0c5e6;border-radius:22px;background:linear-gradient(#514775,#83749e);touch-action:none}
.learning-rocket-field p{position:absolute;inset:8px 12px auto;margin:0;color:#fff;font-size:13px;font-weight:800;text-align:center}
.learning-star{position:absolute;right:22px;top:52px;font-size:42px}
.learning-planet{position:absolute;left:12px;top:55px;font-size:34px;opacity:.55}
.learning-rocket{position:absolute;left:28px;top:148px;width:58px;height:58px;border:0;border-radius:16px;background:#fff7;box-shadow:0 3px 0 #392d5c;font-size:38px;touch-action:none;cursor:grab}
.learning-rocket.launched{transition:transform .7s ease-in,opacity .7s;transform:translate(160px,-190px) rotate(20deg);opacity:0}
#app .bubblefield{position:relative!important;display:block!important;min-height:320px;padding:0!important;background:linear-gradient(#e6f3fd,#f3f8fc)!important}
#app .bubblefield .bubble{position:absolute!important;width:110px!important;height:110px!important;font-size:15px!important;left:calc(22% - 55px);top:30px}
#app .bubblefield .bubble:nth-child(2){left:calc(75% - 55px);top:65px}
#app .bubblefield .bubble:nth-child(3){left:calc(47% - 55px);top:192px}
@media(min-width:700px){.pd-col{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pd-card .pd-doll{width:140px!important;height:205px!important}}
@media(prefers-reduced-motion:reduce){.learning-rocket.launched{transition:none}}
/* Keep the four main destinations visible instead of pushing Shop off-screen. */
.top .stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;overflow:visible!important}
.top .stats>#hubHomeBtn,.top .stats>#hubSocialBtn,.top .stats>#rkDollsShortcut,.top .stats>#rkShopShortcut{grid-row:1;min-width:0;min-height:42px;font-size:11px!important;line-height:1.15!important;padding:6px 4px!important;white-space:normal!important;justify-content:center}
.top .stats>#hubHomeBtn{grid-column:1}.top .stats>#hubSocialBtn{grid-column:2}.top .stats>#rkDollsShortcut{grid-column:3}.top .stats>#rkShopShortcut{grid-column:4}
.top .stats>#coins{grid-row:2;grid-column:1/3;text-align:center;padding:5px!important;font-size:12px!important}
.top .stats>#settingsToggle{grid-row:2;grid-column:3/5;min-height:31px;padding:5px!important;font-size:11px!important}
.top .stats>.sound-settings{grid-column:1/-1;flex-wrap:wrap}
.rk3-room.rk-storage-focus{height:clamp(245px,calc(100svh - 395px),540px)}
.primary:not(:disabled){background:#a94772!important;color:#fff!important;border-color:#91385f!important}

/* Keep the situation visible while choosing a practical response. */
.zz-instruction{text-align:center;font-weight:850;color:#68465e;font-size:16px;margin:12px 0 8px}
.zz-scenario:disabled{opacity:1!important;color:#513b4d!important;background:#fff8ef!important;cursor:default;box-shadow:0 2px 0 #ead9cf!important}
.sl-choice.zz-helpful{background:#e1f3e8!important;color:#205b43!important;opacity:1!important;border:2px solid #68aa88}
.pd-card .pd-doll{height:200px!important;width:124px!important}
@media(min-width:700px){.pd-card .pd-doll{height:220px!important;width:140px!important}}
/* A clothing rail and shoe shelves, with a live dressing preview. */
.wd-tabs,.wd-kinds,.wd-links{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.wd-tabs button,.wd-kinds button{flex:1;min-height:44px;border:1px solid #dab9cb;border-radius:14px;background:#fff;color:#694158;font:800 14px system-ui;padding:10px}.wd-tabs button[aria-pressed=true],.wd-kinds button[aria-pressed=true]{background:#a94772;color:#fff}.wd-preview{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;background:#fff5f0;border-radius:20px;padding:12px;border:1px solid #efdbd1}.wd-model{height:200px;display:grid;place-items:center;background:radial-gradient(ellipse at bottom,#eddbd8,transparent 65%)}.wd-model svg{height:195px;width:110px}.wd-preview label{display:block;font-weight:850;color:#684158}.wd-preview select{width:100%;min-height:44px;background:#fff;border:1px solid #d8b6c5;border-radius:10px;padding:6px;font:800 16px system-ui;color:#684158}.wd-preview p,.wd-guide{font-size:13px;line-height:1.5;color:#755c6c}.wd-cupboard{border:8px solid #d7b6c4;border-radius:15px;background:#fbf1e8;padding:10px;box-shadow:inset 0 3px 8px #8f647322}.wd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.wd-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:8px 5px 12px;border-bottom:5px solid #ddbfac;border-radius:8px;background:#fffaf4;min-width:0}.wd-object{height:110px;width:100%;display:flex;align-items:center;justify-content:center;border-top:3px solid #bea9a2}.wd-object svg{width:105px;height:105px}.wd-item b{font-size:13px;line-height:1.3;min-height:34px;color:#654155}.wd-item small{font-size:11px;color:#785f6f}.wd-item button{margin-top:auto;min-height:44px;max-width:100%;width:100%;border:0;border-radius:12px;background:#a94772;color:#fff;font:800 12px system-ui;padding:7px}.wd-item button:disabled{background:#eee0e6;color:#72556a;opacity:1}.wd-item.wearing{outline:2px solid #9bbca7;background:#f1faf3}.wd-open{margin-top:10px;width:100%;min-height:44px}.wd .pd-top{flex-wrap:wrap}.wd-links>*{flex:1;min-height:44px}.wd .wd-preview .secondary{font-size:12px;padding:8px;min-height:44px}@media(min-width:700px){.wd-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wd-preview{grid-template-columns:160px 1fr}.wd-model{height:225px}.wd-model svg{height:220px;width:130px}}
/* Keep accessory collections easy to browse on a phone. */
.wd-kinds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.wd-kinds button{grid-column:span 2}.wd-kinds button{min-width:0;font-size:12px;padding:8px 4px;line-height:1.3}.wd-kinds button:nth-last-child(-n+2){grid-column:span 3}.wd-takeoff{min-height:44px;font-size:12px}.wd-takeoff:disabled{opacity:.5;cursor:default}.pd-col.pets .pd-pet{height:145px!important;width:125px!important}@media(min-width:700px){.wd-kinds{grid-template-columns:repeat(5,minmax(0,1fr))}.wd-kinds button,.wd-kinds button:nth-last-child(-n+2){grid-column:auto}}
/* Use the dressed dolls and pets throughout the learning games. */
.game-title-with-doll{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.game-title-doll{display:block;width:42px;height:46px;flex:none;overflow:hidden}.game-title-doll svg{width:100%;height:100%}.st-av{width:64px!important;height:72px!important;background:#fff4f6!important;border-radius:18px!important;overflow:hidden}.st-av svg{width:100%;height:100%}.game-social-avatar{display:block;width:100px;height:110px;flex:none}.game-social-avatar svg{width:100%;height:100%}.game-social-cast{display:flex;justify-content:center;gap:12px;height:170px}.game-social-cast svg{width:125px;height:165px}.gamecard .game-card-art{display:flex!important;align-items:center;justify-content:center;height:108px!important;width:100%!important;filter:drop-shadow(0 5px 3px #9e7c8833)!important}.game-card-art>svg{height:105px;width:100%;max-width:140px}.game-art-marker{display:none!important}.learning-rocket svg{width:100%;height:100%;pointer-events:none}.pg-model .pd-pet{width:120px;height:170px}.pg-model{min-width:0}.wd-preview .pg-model+div select{width:100%;min-height:44px;border:1px solid #d8b6c5;border-radius:10px;padding:6px;background:#fff;color:#684158;font:800 16px system-ui}@media(max-width:420px){.game-title-doll{width:34px;height:40px}.gamehead .game-title-with-doll{font-size:14px}.gamecard .game-card-art{height:90px!important}.game-card-art>svg{height:88px}}
.pd-speech-mouth{display:none!important}.pd-native-mouth-window{pointer-events:none}.pd-native-mouth-motion{transform:scale(1);transform-origin:60px 84.5px;transition:transform 70ms ease-out}.riki-speaking.riki-mouth-open:not(.riki-mouth-wide) .pd-native-mouth-motion,.sl-actor.talk.riki-mouth-open:not(.riki-mouth-wide) .pd-native-mouth-motion{transform:scaleY(1.16)}.riki-speaking.riki-mouth-open.riki-mouth-wide .pd-native-mouth-motion,.sl-actor.talk.riki-mouth-open.riki-mouth-wide .pd-native-mouth-motion{transform:scale(1.04,1.3)}.riki-speaking .pd-doll,.sl-actor.talk .pd-doll,.comic-panel.on .comic-actor.riki-speaking .pd-doll{animation:none!important}.comic-actor{height:78px;display:grid;place-items:center}.comic-actor .pd-doll{width:68px;height:78px}@media(prefers-reduced-motion:reduce){.pd-native-mouth-motion{transition:none}}
.gamecard .game-card-art{align-items:center!important;justify-content:center!important;padding:4px!important;overflow:visible!important}.game-card-art>.game-icon-svg{display:block!important;width:96px!important;height:96px!important;max-width:96px!important;overflow:visible!important;flex:none}@media(max-width:420px){.game-card-art>.game-icon-svg{width:82px!important;height:82px!important;max-width:82px!important}}
/* Keep complete dolls visible inside cards at every screen width. */
.pd-card{overflow:hidden!important}
.pd-card .pd-doll{display:block!important;width:min(118px,100%)!important;height:200px!important;padding:8px 7px 10px!important;box-sizing:border-box!important;overflow:visible!important;flex:none!important}
.wd-model .pd-doll{display:block!important;padding:8px 7px 10px!important;box-sizing:border-box!important;overflow:visible!important}
@media(min-width:700px){.pd-card .pd-doll{width:min(136px,100%)!important;height:220px!important;padding:10px 9px 12px!important}}

/* Shared character motions used by speech, choices, feedback, and hands-on games. */
.rk-motion-target{transform-origin:50% 78%;will-change:transform}
.rk-motion-talk{animation:rkTalk 2.4s ease-in-out infinite alternate!important}
.rk-motion-listen{animation:rkListen 1.05s ease-in-out!important}
.rk-motion-think{animation:rkThink 1.35s ease-in-out!important}
.rk-motion-reach{animation:rkReach .72s ease-in-out!important}
.rk-motion-nod{animation:rkNod .76s ease-in-out!important}
.rk-motion-retry{animation:rkRetry .72s ease-in-out!important}
.rk-motion-celebrate{animation:rkCelebrate 1.15s cubic-bezier(.2,.72,.24,1)!important}
.rk-motion-look-up{animation:rkLookUp 1.1s ease-in-out!important}
.rk-motion-track{animation:rkTrack 1.25s ease-in-out!important}
@keyframes rkTalk{from{transform:translateX(-.6px) rotate(-.22deg)}to{transform:translateX(.6px) rotate(.22deg)}}
@keyframes rkListen{0%,100%{transform:none}38%,68%{transform:translateX(2px) rotate(1.4deg)}}
@keyframes rkThink{0%,100%{transform:none}34%,72%{transform:translateX(-2px) rotate(-2deg)}}
@keyframes rkReach{0%,100%{transform:none}38%,68%{transform:translate(4px,1px) rotate(1.2deg) scale(1.015)}}
@keyframes rkNod{0%,100%{transform:none}34%{transform:translateY(2px) scaleY(.985)}62%{transform:translateY(-1px)}}
@keyframes rkRetry{0%,100%{transform:none}28%{transform:translateX(-3px) rotate(-1.2deg)}58%{transform:translateX(3px) rotate(1.2deg)}}
@keyframes rkCelebrate{0%,100%{transform:none}26%{transform:translateY(-10px) rotate(-2deg)}52%{transform:translateY(-2px) rotate(1.5deg)}72%{transform:translateY(-6px)}}
@keyframes rkLookUp{0%,100%{transform:none}34%,70%{transform:translateY(-2px) rotate(-1.5deg)}}
@keyframes rkTrack{0%,100%{transform:none}25%{transform:translateX(-2px) rotate(-1deg)}62%{transform:translateX(2px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.rk-motion-target{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Keep Shoreshim accessible from every Arcade section. Older nav rules hid #gamesShortcut. */
.top .stats>#gamesShortcut{display:block!important;visibility:visible!important;grid-row:1;grid-column:2;min-width:0;min-height:44px;font-size:12px!important;line-height:1.2!important;padding:7px 4px!important;white-space:normal!important;background:#e2457a!important;color:#fff!important;border-color:#e2457a!important}
.top .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.top .stats>#hubHomeBtn{grid-row:1;grid-column:1}
.top .stats>#hubSocialBtn{grid-row:1;grid-column:3}
.top .stats>#rkDollsShortcut{grid-row:2;grid-column:1/3}
.top .stats>#rkShopShortcut{grid-row:2;grid-column:3}
.top .stats>#coins{grid-row:3;grid-column:1/3}
.top .stats>#settingsToggle{grid-row:3;grid-column:3}

/* Consistent five permanent destinations: same sizing, spacing, and tap targets. */
.top .stats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
.top .stats>#hubHomeBtn,.top .stats>#gamesShortcut,.top .stats>#hubSocialBtn,.top .stats>#rkDollsShortcut,.top .stats>#rkShopShortcut{
 grid-row:1!important;grid-column:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-width:0!important;min-height:48px!important;box-sizing:border-box!important;
 margin:0!important;padding:7px 5px!important;font-size:12px!important;line-height:1.2!important;
 white-space:normal!important;text-align:center!important;border-radius:14px!important
}
.top .stats>#hubHomeBtn{grid-column:1!important}
.top .stats>#gamesShortcut{grid-column:2!important}
.top .stats>#hubSocialBtn{grid-column:3!important}
.top .stats>#rkDollsShortcut{grid-column:4!important}
.top .stats>#rkShopShortcut{grid-column:5!important}
.top .stats>#coins{grid-row:2!important;grid-column:1/3!important}
.top .stats>#settingsToggle{grid-row:2!important;grid-column:3/6!important}
.top .stats>.sound-settings{grid-row:3!important;grid-column:1/-1!important}
@media(max-width:540px){
 .top .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
 .top .stats>#hubHomeBtn{grid-row:1!important;grid-column:1!important}
 .top .stats>#gamesShortcut{grid-row:1!important;grid-column:2!important}
 .top .stats>#hubSocialBtn{grid-row:1!important;grid-column:3!important}
 .top .stats>#rkDollsShortcut{grid-row:2!important;grid-column:1!important}
 .top .stats>#rkShopShortcut{grid-row:2!important;grid-column:2/4!important}
 .top .stats>#coins{grid-row:3!important;grid-column:1/3!important}
 .top .stats>#settingsToggle{grid-row:3!important;grid-column:3!important}
 .top .stats>.sound-settings{grid-row:4!important}
}

/* Compact persistent wallet: coins are a status badge, never a navigation tab. */
.top{position:sticky!important;top:0!important;z-index:1000!important;isolation:isolate}
.top .brand{padding-right:94px!important;min-height:34px;display:flex;align-items:center}
.top .stats{position:static!important}
.top .stats>#coins{
 position:absolute!important;top:10px!important;right:12px!important;left:auto!important;
 grid-row:auto!important;grid-column:auto!important;display:inline-flex!important;
 align-items:center!important;justify-content:center!important;
 width:auto!important;min-width:0!important;max-width:88px!important;height:34px!important;
 margin:0!important;padding:4px 10px!important;box-sizing:border-box!important;
 border-radius:999px!important;border:2px solid #f3d6dc!important;
 background:#fff!important;color:#4a2338!important;font:800 13px/1 "Nunito",sans-serif!important;
 font-variant-numeric:tabular-nums;white-space:nowrap!important;box-shadow:none!important;
 pointer-events:none
}
.top .stats>#settingsToggle{grid-row:2!important;grid-column:5!important;justify-self:end!important;width:auto!important;min-height:36px!important}
.top .stats>.sound-settings{grid-row:3!important}
@media(max-width:540px){
 .top .brand{padding-right:82px!important;font-size:clamp(15px,4vw,21px)!important}
 .top .stats>#coins{top:10px!important;right:10px!important;max-width:76px!important;padding:4px 7px!important;font-size:12px!important}
 .top .stats>#settingsToggle{grid-row:3!important;grid-column:3!important}
 .top .stats>.sound-settings{grid-row:4!important}
}

/* Home hub art safe area: preserve full illustrated icon inside rounded choices. */
.hub-grid .hub-tile{overflow:visible;min-width:0}
.hub-grid .hub-ic{box-sizing:border-box;overflow:visible;min-width:0;min-height:88px;height:88px;padding:5px 0;flex-shrink:0}
.hub-grid .hub-ic::before{box-sizing:border-box;width:72px;height:72px;max-width:100%;flex-shrink:0}
#hubHouse .hub-ic::before{background-size:contain}
.hub-grid #hubPlay .hub-ic{width:70px;height:76px;min-height:76px;grid-row:1/3;padding:5px 0}
.hub-grid #hubPlay .hub-ic::before{width:60px;height:60px}
@media(max-width:360px){.hub-grid .hub-ic{height:82px;min-height:82px}.hub-grid .hub-ic::before{width:68px;height:68px}}

/* Little Clay Boutique: two-level navigation keeps the first decision simple. */
.catalog-simple-nav{margin:14px 0 18px}.catalog-simple-nav h3{margin:0 0 12px;font-size:1.2rem}
.catalog-main-choices{display:grid;grid-template-columns:1fr;gap:12px}
.catalog-main-group,.catalog-collections{border:2px solid #ead9e8;border-radius:18px;padding:12px;background:#fff9fd}
.catalog-main-group summary,.catalog-collections summary{cursor:pointer;font-weight:900;font-size:17px;list-style:revert;min-height:42px;align-content:center;color:#563456}
.catalog-main-group p{font-weight:800;font-size:14px;margin:8px 0}
.catalog-main-group .catalog-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none;overflow:visible}
.catalog-main-group .catalog-tabs button{white-space:normal;min-height:54px}
.catalog-special-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.catalog-special-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:88px;padding:10px 5px;border-radius:16px;border:2px solid #ead9e8;background:#fff;color:#543752;font-weight:900;cursor:pointer}
.catalog-special-choices button span{font-size:27px}
.catalog-special-choices button.active{background:#fce5ef;border-color:#db91b2}
.catalog-collections{margin-top:12px}.catalog-collections .catalog-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0}
.catalog-simple-nav button:focus-visible,.catalog-simple-nav summary:focus-visible{outline:3px solid #9556b4;outline-offset:3px}
@media(min-width:750px){.catalog-main-choices{grid-template-columns:1fr 1.5fr}.catalog-special-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* No giant product list before Riki chooses a shop section. */
.catalog-choosing .catalog-tools,.catalog-choosing .catalog-filters,.catalog-choosing #catalogProducts,.catalog-choosing .catalog-collections{display:none}

/* Keep the full hugging-hearts Social Skills illustration inside its atlas cell. */
#hubSocial .hub-ic::before{background-size:400% 400%;background-position:33.333333% 0%;transform:scale(.83);transform-origin:center center;}

/* Dedicated full-art crop: hearts overlap their original 4x4 sprite cell. */
#hubSocial .hub-ic::before{background-image:url('../images/clay/social-hearts-complete.svg');background-size:contain;background-position:center;background-repeat:no-repeat;transform:none}

/* Social Skills > Feelings & Calming: use the same complete art as the home hub. */
.sk-g.ct-tile[data-cat="calm"] > b{display:block;width:90px;height:74px;flex-shrink:0;font-size:0!important;line-height:0!important;background:url('../images/clay/social-hearts-complete.svg') center / contain no-repeat}

/* Shop discovery: allow guests to search/filter the full catalog before choosing a room. */
.catalog-shop.catalog-choosing .catalog-tools,
.catalog-shop.catalog-choosing .catalog-filters,
.catalog-shop.catalog-choosing #catalogProducts{display:flex!important}
.catalog-shop.catalog-choosing #catalogProducts{display:block!important}
.catalog-shop.catalog-choosing .catalog-tools{flex-wrap:wrap;gap:8px}
.catalog-shop.catalog-choosing .catalog-filters{flex-wrap:wrap;gap:7px}
.catalog-shop .catalog-notice:not([hidden]){padding:12px 14px;background:#fff5cf;border:2px solid #f2c969;border-radius:14px;font-weight:800}
.catalog-shop .catalog-notice button{margin-left:8px;min-height:44px}
@media(max-width:540px){.catalog-shop .catalog-tools{flex-direction:column;align-items:stretch}.catalog-shop .catalog-tools input,.catalog-shop .catalog-tools select{max-width:100%;width:100%;box-sizing:border-box}}

/* In an empty room, avoid repeating the shop prompt above the inventory placeholder. */
.rk3-tray:has(.dream-inventory > p) .rk3-tray-title{display:none}

/* Grok #145: keep acted Social Skills scenes out from under the sticky header.
   .top is position:sticky (163px tall on tablet/desktop, ~208-230px on phones). The Social Detective
   choice handler calls .sd-theater.scrollIntoView({block:'nearest'}), and browsers align to the very top
   of the viewport unless scroll-padding is set, so the top of the scene (and the characters' heads)
   slid under the header. Scroll padding = header height + a little air. Scroll behaviour only; no layout change. */
html{scroll-padding-top:240px}
@media (min-width:430px){html{scroll-padding-top:220px}}
@media (min-width:600px){html{scroll-padding-top:180px}}
@media (min-width:700px){html{scroll-padding-top:175px}}
.sd-theater,.riki-story-scene,.sel-feedback{scroll-margin-top:8px;scroll-margin-bottom:12px}
/* Grok #145: on laptop/desktop screens the acted scene (345px) + choices + feedback (~720px total) is taller
   than the space under the sticky header (605px at 1366x768), so revealing the feedback pushed the acting
   characters out of view. From 1000px wide, put the scene beside the choices and feedback so the acting,
   the answer and Next/Watch again are visible together. Social Detective (.riki-story-game) only. */
@media (min-width:1000px){
 #app .riki-story-game{display:grid;grid-template-columns:minmax(0,540px) minmax(320px,1fr);column-gap:24px;align-items:start}
 #app .riki-story-game>*{grid-column:1/-1}
 #app .riki-story-game>.sd-theater{grid-column:1;grid-row:5/span 3;margin:12px 0 0;width:100%}
 #app .riki-story-game>.sd-theater~h3{grid-column:2;grid-row:5;margin:12px 0 0}
 #app .riki-story-game>.riki-story-options{grid-column:2;grid-row:6;grid-template-columns:1fr;gap:8px;margin:8px 0 0}
 #app .riki-story-game>.riki-story-options .sel-choice{padding:12px 14px;min-height:48px}
 #app .riki-story-game>.sel-feedback{grid-column:2;grid-row:7;margin:10px 0 0;padding:12px 14px}
 #app .riki-story-game>.sel-feedback p{margin:8px 0}
}


/* Compact the informational test notice instead of letting it consume the phone viewport.
   The warning stays visible and readable; no header buttons are hidden. */
@media(max-width:600px){
  body .app > [role="status"][aria-label="Testing version"]{
    margin:4px auto 3px!important;
    padding:5px 9px!important;
    border-width:1px!important;
    border-radius:10px!important;
    font-size:11px!important;
    font-weight:750!important;
    line-height:1.25!important;
    max-width:calc(100% - 20px)!important;
    box-sizing:border-box;
  }
}
/* Isolate Hebrew glyph runs from surrounding English punctuation without changing
   the visual order of buttons, card layouts, or left-to-right English instructions. */
#app .hebrew,#app .he,#app .rk-prog-he,#app [lang="he"]{
  direction:rtl!important;
  unicode-bidi:isolate;
}
#app [dir="rtl"]{
  unicode-bidi:isolate;
}

/* Grok (L3): Social Skills "Grown-ups" button meets the 44px minimum tap target on phones. */
@media (max-width: 820px){
  .sk .sk-grown,#scGrown{min-height:44px;min-width:44px;padding-top:10px;padding-bottom:10px;display:inline-flex;align-items:center;justify-content:center}
}


/* Six-room touch QA: keep camera controls clear of the front-view button.
   Narrow screens don't have room for the repeated "Drag to look around" hint. */
@media(max-width:600px){
 #app .rk3-room .riki3d-hud{
  left:9px!important;right:58px!important;top:9px!important;
  display:flex!important;justify-content:flex-start!important;
  align-content:flex-start!important;gap:6px!important;flex-wrap:wrap!important;
 }
 #app .rk3-room .riki3d-hud>span:first-of-type{
  flex:0 0 100%;width:max-content!important;max-width:100%;
  box-sizing:border-box;padding:6px 9px!important;font-size:12px!important;
  white-space:normal!important;
 }
 #app .rk3-room .riki3d-hud>span:nth-of-type(2){display:none!important}
 #app .rk3-room .riki3d-hud>button{
  min-height:44px!important;min-width:44px!important;
  flex:0 0 auto!important;padding:6px!important;
 }
 #app .rk3-room .rk3-front{
  right:9px!important;top:9px!important;
  min-width:44px!important;min-height:44px!important;
 }
}
/* Desktop/laptop studio layout (Grok, Nov 1): choices sit beside the 3D stage so the stage can be big
   instead of being squeezed to ~135px by the fit-to-screen pass. Phones/portrait keep the stacked layout. */
@media (min-width:900px) and (min-aspect-ratio:5/4){
 #app .st:not(.st-end){display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);grid-auto-flow:row dense;column-gap:16px;row-gap:8px;align-items:start;align-content:start}
 #app .st:not(.st-end)>*{grid-column:2}
 #app .st:not(.st-end)>.st-stage{grid-column:1;grid-row:1/span 12;height:var(--rk-desk-stage-h,clamp(340px,calc(100svh - 290px),760px))!important;align-self:start}
 #app .st:not(.st-end) .st-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .st:not(.st-end) .st-cards.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #app .st:not(.st-end) .st-card img,#app .st:not(.st-end) .st-card .ph{max-height:22svh}
 #app .st:not(.st-end) .st-cards.four:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #app .st:not(.st-end) .st-cards.four .st-card img,#app .st:not(.st-end) .st-cards.four .st-card .ph{max-height:14svh}
}
/* #145 follow-up (Grok, Nov 1): the equal-size nav (#318/#320) made the sticky header ~300px tall, which hid
   game content on laptop screens. During games on desktop the header scrolls away with the page instead of covering it. */
@media (min-width:900px){body:has(#app .gamehead) .top,body:has(#app .sd-theater) .top{position:relative!important}}
/* Claw on phones: six prizes in three columns so every choice fits without scrolling (cards stay ~110px wide). */
@media (max-width:540px){
 #app .st:not(.st-end) .st-cards.four:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}
 #app .st:not(.st-end) .st-cards.four:has(>:nth-child(5)) .st-card img,#app .st:not(.st-end) .st-cards.four:has(>:nth-child(5)) .st-card .ph{aspect-ratio:1.35}
 #app .st:not(.st-end) .st-cards.four:has(>:nth-child(5)) .st-card span{font-size:.8rem;min-height:2em}
}

/* Navigation equalization: every destination occupies one grid cell; no double-width Shop. */
.top .stats>#hubHomeBtn,.top .stats>#gamesShortcut,.top .stats>#hubSocialBtn,.top .stats>#rkDollsShortcut,.top .stats>#rkShopShortcut{
 height:50px!important;min-height:50px!important;max-height:50px!important;
 padding:6px 4px!important;box-sizing:border-box!important;align-self:stretch!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 text-align:center!important;line-height:1.15!important;vertical-align:middle!important;
}
@media(max-width:540px){
 .top .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .top .stats>#rkDollsShortcut{grid-row:2!important;grid-column:1!important}
 .top .stats>#rkShopShortcut{grid-row:2!important;grid-column:2!important}
 .top .stats>#hubHomeBtn,.top .stats>#gamesShortcut,.top .stats>#hubSocialBtn,.top .stats>#rkDollsShortcut,.top .stats>#rkShopShortcut{font-size:11px!important}
}
/* Uniform top tabs (Claude, Nov 2): every tab the same size in a tidy 5×2 grid. Higher specificity (header.top) wins over earlier overrides. */
html body header.top .stats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:6px!important;align-items:stretch!important}
html body header.top .stats>#hubHomeBtn,html body header.top .stats>#gamesShortcut,html body header.top .stats>#rkMathShortcut,html body header.top .stats>#hubSocialBtn,html body header.top .stats>#houseShortcut,html body header.top .stats>#rkDollsShortcut,html body header.top .stats>#rkShopShortcut,html body header.top .stats>#rikiParentMenuButton,html body header.top .stats>#settingsToggle,html body header.top .stats>#coins{width:100%!important;min-width:0!important;max-width:none!important;height:50px!important;min-height:50px!important;max-height:50px!important;margin:0!important;padding:4px 3px!important;box-sizing:border-box!important;border-radius:16px!important;font-size:12px!important;font-weight:800!important;line-height:1.15!important;flex-direction:row!important;flex-wrap:wrap!important;gap:0 3px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;position:static!important;top:auto!important;right:auto!important;left:auto!important;justify-self:stretch!important;align-self:stretch!important}
html body header.top .stats>#rikiShoreshTab,html body header.top .stats>#rikiShoreshimTab,html body header.top .stats>#streak,html body header.top .stats>#rkProgressBtn{display:none!important}
html body header.top .stats>#hubHomeBtn{grid-area:1/1/2/2!important}
html body header.top .stats>#gamesShortcut{grid-area:1/2/2/3!important}
html body header.top .stats>#rkMathShortcut{grid-area:1/3/2/4!important}
html body header.top .stats>#hubSocialBtn{grid-area:1/4/2/5!important}
html body header.top .stats>#houseShortcut{grid-area:1/5/2/6!important}
html body header.top .stats>#rkDollsShortcut{grid-area:2/1/3/2!important}
html body header.top .stats>#rkShopShortcut{grid-area:2/2/3/3!important}
html body header.top .stats>#rikiParentMenuButton{grid-area:2/3/3/4!important}
html body header.top .stats>#settingsToggle{grid-area:2/4/3/5!important}
html body header.top .stats>#coins{grid-area:2/5/3/6!important}
html body header.top .stats>#soundSettings{grid-area:3/1/4/6!important}
html body header.top .stats>#rikiParentPanel{grid-area:4/1/5/6!important}
@media (min-width:700px){html body header.top .stats>#hubHomeBtn,html body header.top .stats>#gamesShortcut,html body header.top .stats>#rkMathShortcut,html body header.top .stats>#hubSocialBtn,html body header.top .stats>#houseShortcut,html body header.top .stats>#rkDollsShortcut,html body header.top .stats>#rkShopShortcut,html body header.top .stats>#rikiParentMenuButton,html body header.top .stats>#settingsToggle,html body header.top .stats>#coins{font-size:14px!important;height:44px!important;min-height:44px!important;max-height:44px!important}}

/* Mini Dollhouse is reached from the Multiply hub; keep the top tabs a tidy 5×2 grid. */
html body header.top .stats>#rkDollShortcut{display:none!important}
/* owned tray: scrollable grid by touch, wheel and scrollbar (grok v29) */
.rk3-tray .dream-inventory{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;flex-wrap:wrap!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:min(46vh,330px);scroll-snap-type:none!important;overscroll-behavior:contain;touch-action:pan-y!important;scrollbar-width:thin;scrollbar-color:#e2457a #fbe6ef;padding-right:6px!important}
.rk3-tray .dream-inventory>*{width:auto!important;min-height:44px}
.rk3-tray .dream-inventory [data-dream-inventory],.rk3-tray .dream-inventory [data-dream-inventory] *{touch-action:pan-y!important}
.rk3-tray .dream-inventory::-webkit-scrollbar{width:8px}.rk3-tray .dream-inventory::-webkit-scrollbar-thumb{background:#e2457a;border-radius:8px}
#pdFx .pd-spark{display:block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#ffb3d1 55%,#f27aa8);box-shadow:0 0 8px #ffd0e4}
.house-head .spark{display:none!important}
#app:has(.house-head) :is(button:not([data-dream-inventory]),h1,h2,h3,h4,summary,label,.rk3-room-name,.riki3d-hud,.house-head) .clay-emo:not(.dream-inventory .clay-emo){display:none!important}
/* shop: sticky search/sort + filter row (grok v29) */
.catalog-shop .catalog-tools{position:sticky;top:0;z-index:6;background:#fffafc;padding:8px 0 6px;margin:0;box-shadow:0 6px 10px -8px #a0597a55}
.catalog-shop .catalog-filters{position:sticky;top:var(--rk-tools-h,58px);z-index:5;background:#fffafc;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px;padding:6px 0 8px;touch-action:pan-x;scrollbar-width:thin}
.catalog-shop .catalog-filters button{flex:0 0 auto;min-height:44px}
.catalog-shop .catalog-filters button[data-catalog-filter="owned"]{order:-1;border-width:2px;font-weight:900}
/* decorate: bigger, clearer controls (grok v29) */
.rk3-bar button,.riki3d-hud button{min-width:48px;min-height:48px;font-size:16px}
.rk3-bar{position:sticky;bottom:8px;z-index:7}
.rk3-tray [data-dream-inventory]{min-height:120px!important}
.rk3-undo{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:8;min-height:48px;min-width:110px;padding:10px 20px;border-radius:24px;background:#4a2338;color:#fff;font-weight:900;border:0;box-shadow:0 6px 14px #4a233855}
.rk3-undo[hidden]{display:none}
body.rk3-dragging,body.rk3-dragging *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.rk3-tray [data-dream-inventory]{-webkit-touch-callout:none;user-select:none}
.catalog-shop :is(button:not([data-dream-inventory]),h1,h2,h3,h4,label,.catalog-wallet,.catalog-eyebrow,.catalog-badge) .clay-emo{display:none!important}
