:root{--ink: #2b2340;--ink2: #3d3260;--cream: #fff4e6;--cyan: #48f0ff;--coral: #ff7a5c;--gold: #ffcc33;--green: #5fe08a;--red: #ff4d5e;--font: 800 16px ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}#ui{position:fixed;inset:0;pointer-events:none;font:var(--font);color:var(--cream);z-index:2}#ui button{font:inherit;pointer-events:auto;cursor:pointer}#ui .hidden{display:none!important}#ui *,#ui *:before,#ui *:after{box-sizing:border-box}.hud{position:absolute;inset:0;padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l))}.hud .bar,.battery{background:#1b1530cc;border:3px solid var(--ink);border-radius:999px;overflow:hidden;box-shadow:0 3px #0006}.hud .fill{display:block;height:100%;width:0;border-radius:999px;transition:width .12s linear}.battery{position:absolute;left:calc(12px + var(--safe-l));top:calc(12px + var(--safe-t));width:clamp(90px,22vw,170px);height:24px;overflow:visible}.battery .fill{background:linear-gradient(#8dffb0,var(--green))}.battery .cap{position:absolute;right:-9px;top:5px;width:5px;height:8px;border-radius:0 3px 3px 0;background:var(--ink)}.battery.low .fill{background:linear-gradient(#ff8a95,var(--red))}.battery.low{animation:blink .5s steps(2,jump-none) infinite}@keyframes blink{50%{border-color:var(--red);box-shadow:0 0 14px var(--red)}}.hud .mid{position:absolute;left:50%;top:calc(10px + var(--safe-t));transform:translate(-50%);width:clamp(150px,38vw,380px);display:grid;gap:6px;justify-items:center}.clean{position:relative;width:100%}.clean .bar{height:26px}.clean .fill{background:linear-gradient(#a6fbff,var(--cyan))}.clean.done .fill{background:linear-gradient(#ffe48a,var(--gold))}.clean .pct{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;color:#fff;text-shadow:0 2px 0 var(--ink),0 0 4px var(--ink)}.xp{width:80%;display:flex;align-items:center;gap:6px}.xp .lvl{font-size:13px;text-shadow:0 2px 0 var(--ink);white-space:nowrap}.xp .bar{flex:1;height:10px;border-width:2px}.xp .fill{background:linear-gradient(#ffb3f0,#d46cff)}.boss{width:100%;display:flex;align-items:center;gap:6px;margin-top:4px}.boss span{color:var(--red);font-size:13px;text-shadow:0 2px 0 var(--ink)}.boss .bar{flex:1;height:14px}.boss .fill{background:linear-gradient(#ff9aa3,var(--red))}.hud .coins{position:absolute;left:calc(12px + var(--safe-l));top:calc(44px + var(--safe-t));display:flex;gap:6px;align-items:center;font-size:18px;text-shadow:0 2px 0 var(--ink)}.coin-i{display:inline-block;width:.9em;height:.9em;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3b0,var(--gold) 55%,#c98f00);color:transparent;font-size:inherit;line-height:0;vertical-align:-.1em;box-shadow:0 0 0 2px var(--ink);margin-right:4px}.touch48{min-width:48px;min-height:48px}.hud .pause{position:absolute;right:calc(10px + var(--safe-r));top:calc(8px + var(--safe-t));border:3px solid var(--ink);border-radius:14px;background:var(--cream);display:flex;gap:5px;align-items:center;justify-content:center;box-shadow:0 3px 0 var(--ink)}.hud .pause i{width:6px;height:18px;border-radius:2px;background:var(--ink)}@media(max-width:520px){.battery{width:calc(30vw - 24px);height:20px}.hud .mid{width:40vw}.clean .bar{height:22px}.clean .pct{font-size:13px}.hud .coins{top:calc(38px + var(--safe-t));font-size:16px}}.joy{position:absolute;left:0;top:0}.joy i{position:absolute;border-radius:50%}.joy .base{width:120px;height:120px;left:-60px;top:-60px;border:3px solid #fff6;background:#fff1}.joy .knob{width:54px;height:54px;left:-27px;top:-27px;background:#fffc;box-shadow:0 3px #0005}.screen{position:absolute;inset:0;display:flex;pointer-events:auto;background:#1b1530a6;padding:12px;overflow-y:auto;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.85);opacity:0}}.panel{margin:auto;width:min(100%,440px);background:var(--cream);color:var(--ink);border:4px solid var(--ink);border-radius:26px;padding:18px;display:grid;gap:12px;box-shadow:0 8px 0 var(--ink),0 20px 40px #0008;animation:pop .2s cubic-bezier(.2,1.4,.4,1)}.panel h1{margin:0;font-size:28px;text-align:center}.panel .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel .top h1{font-size:22px;text-align:left}.bank{display:flex;align-items:center;background:var(--ink);color:var(--gold);border-radius:999px;padding:4px 12px;font-size:18px}.panel button{border:3px solid var(--ink);border-radius:16px;background:#fff;color:var(--ink);min-height:48px;padding:6px 12px;box-shadow:0 4px 0 var(--ink);transition:transform .06s}.panel button:active:not([disabled]){transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.panel button[disabled]{opacity:.5;cursor:default}.panel button:focus-visible,.card:focus-visible{outline:4px solid var(--cyan);outline-offset:2px}.panel button.big{min-height:64px;font-size:24px;background:var(--green)}.panel .row{display:flex;gap:10px}.panel .row>*{flex:1}.ad{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;border-radius:6px;background:var(--gold);color:var(--ink);font-size:11px;vertical-align:1px}.end .stats{display:flex;justify-content:center;gap:22px}.end .stat{display:grid;justify-items:center;font-size:13px}.end .stat b{font-size:34px}.end .stat.coins{display:flex;align-items:center;font-size:30px}.end .stat.coins b{font-size:34px;color:#c98f00}.home .rooms{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home .room,.home .daily{display:grid;gap:2px;text-align:left;padding:10px 12px}.home .room{min-height:74px}.home .room .name,.home .daily .name{font-size:17px}.home .room .sub,.home .daily .sub{font-size:12px;opacity:.75}.home .r-living{background:#ffe1c4}.home .r-kitchen{background:#d9f4ff}.home .r-bedroom{background:#ffd9ef}.home .r-garage{background:#e2e2ea}.home .daily{background:#fff2b8}.list{display:grid;gap:8px}.meta,.skin{display:flex;align-items:center;gap:10px;background:#fff;border:3px solid var(--ink);border-radius:16px;padding:8px 10px}.meta .info{flex:1;display:grid;font-size:15px}.meta .info span{font-size:12px;opacity:.7}.meta .pips{display:grid;grid-template-columns:repeat(5,8px);gap:3px}.meta .pips i{width:8px;height:8px;border-radius:2px;background:#0002}.meta .pips i.on{background:var(--cyan);box-shadow:0 0 0 1px var(--ink)}.meta button,.skin button{min-width:88px}.skin b{flex:1}.swatch{width:38px;height:38px;border-radius:50%;border:3px solid var(--ink)}.set{display:flex;align-items:center;justify-content:space-between;gap:12px}.set input[type=range]{flex:1;max-width:220px;accent-color:var(--coral);pointer-events:auto}.set input[type=checkbox]{width:26px;height:26px;accent-color:var(--coral);pointer-events:auto}.segs{display:flex;gap:6px}.panel button.seg.on{background:var(--cyan)}.cards-screen{background:#1b153088}.cards{margin:auto;display:flex;gap:14px;justify-content:center;align-items:stretch;flex-wrap:wrap;max-width:760px}.card{position:relative;width:clamp(150px,27vw,210px);min-height:200px;display:grid;justify-items:center;align-content:start;gap:6px;padding:26px 12px 14px;background:var(--cream);color:var(--ink);border:4px solid var(--ink);border-radius:22px;box-shadow:0 7px 0 var(--ink);animation:pop .25s cubic-bezier(.2,1.4,.4,1) backwards;transition:transform .1s}.card:nth-child(2){animation-delay:.05s}.card:nth-child(3){animation-delay:.1s}.card:hover{transform:translateY(-6px) rotate(-1deg)}.card .icon{font-size:52px;line-height:1.1;filter:drop-shadow(0 3px 0 #0003)}.card .name{font-size:19px}.card .desc{font-size:13px;font-weight:700;opacity:.8;text-align:center}.card .key{position:absolute;left:10px;top:8px;width:24px;height:24px;border-radius:7px;background:var(--ink);color:var(--cream);display:grid;place-items:center;font-size:13px}.card .tag{position:absolute;right:10px;top:9px;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--coral);color:#fff}.coins-card{background:#fff2b8}@media(pointer:coarse){.card .key{display:none}}@media(max-width:520px){.cards{flex-direction:column;align-items:center;gap:10px}.card{width:min(86vw,340px);min-height:0;grid-template-columns:56px 1fr;justify-items:start;align-content:center;text-align:left;padding:12px 14px;column-gap:12px;row-gap:0}.card .icon{grid-row:span 2;font-size:42px}.card .desc{text-align:left}}@media(max-height:480px){.card{min-height:0;padding-top:22px}.card .icon{font-size:38px}}.onboard{position:absolute;inset:0;pointer-events:none;z-index:3}.onboard .skip{position:absolute;right:calc(12px + var(--safe-r));bottom:16px;pointer-events:auto;min-height:44px;padding:6px 18px;border:3px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 3px 0 var(--ink)}.onboard .word{font-size:28px;text-shadow:0 3px 0 var(--ink),0 0 12px #0008}.onboard .hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);display:grid;justify-items:center;gap:8px;animation:bob 1.2s ease-in-out infinite}@keyframes bob{50%{transform:translate(-50%,-6px)}}.keys{display:grid;justify-items:center;gap:4px}.keys .row{display:flex;gap:4px}.keys .or{display:flex;gap:4px;margin-top:6px;opacity:.85}kbd{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);font:var(--font);font-size:18px}kbd.arrow{width:30px;height:30px;font-size:15px}.joy-ghost{position:relative;width:110px;height:110px}.joy-ghost i{position:absolute;border-radius:50%}.joy-ghost .base{inset:0;border:3px solid #fff8;background:#fff2}.joy-ghost .knob{width:48px;height:48px;left:31px;top:31px;background:#fffd;animation:swirl 1.6s ease-in-out infinite}@keyframes swirl{25%{transform:translate(26px,-10px)}50%{transform:translateY(-26px)}75%{transform:translate(-26px,-6px)}}.onboard .pointer{position:absolute;left:0;top:0;transition:transform .25s ease-out}.onboard .pointer .in{display:grid;justify-items:center;transform:translate(-50%,calc(-100% - 12px))}.onboard .pointer .arrow{width:0;height:0;border:14px solid transparent;border-bottom:0;border-top:20px solid var(--gold);filter:drop-shadow(0 3px 0 var(--ink));animation:point .7s ease-in-out infinite}@keyframes point{50%{margin-top:8px}}.onboard.s2 .banner{position:absolute;left:50%;top:max(9%,calc(66px + var(--safe-t)));transform:translate(-50%);font-size:30px;text-shadow:0 3px 0 var(--ink),0 0 14px #000a}@media(max-height:480px)and (min-width:560px){.screen{padding:8px}.panel{width:min(100%,620px);padding:12px 14px;gap:8px;border-radius:20px}.panel h1{font-size:22px}.panel button{min-height:44px}.panel button.big{min-height:52px;font-size:20px}.home .rooms{grid-template-columns:repeat(4,1fr)}.home .room{min-height:58px;padding:6px 10px}.list{grid-template-columns:1fr 1fr}.meta .pips{display:none}.end .stat b,.end .stat.coins b{font-size:26px}}.panel .row.social button,.panel .row.social .user{font-size:.85em;white-space:nowrap;padding-left:4px;padding-right:4px}.panel .row.social .user{display:flex;align-items:center;justify-content:center;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel .share{font-size:.9em}
