@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-arabic-400-normal-DN15VWMM.woff2) format("woff2"),url(/assets/cairo-arabic-400-normal-CAYwymWN.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-ext-400-normal-xCL67Y2R.woff2) format("woff2"),url(/assets/cairo-latin-ext-400-normal-C_BIE9Qe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-400-normal-Dh7otpdh.woff2) format("woff2"),url(/assets/cairo-latin-400-normal-b1R3q6Pf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-arabic-600-normal-rkrvveqO.woff2) format("woff2"),url(/assets/cairo-arabic-600-normal-B3EOalmC.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-ext-600-normal-DuRnqffh.woff2) format("woff2"),url(/assets/cairo-latin-ext-600-normal-DAfLYaOC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-600-normal-mGS0uvCM.woff2) format("woff2"),url(/assets/cairo-latin-600-normal-buYOP1M3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-arabic-700-normal-D3nDedWX.woff2) format("woff2"),url(/assets/cairo-arabic-700-normal-CyOqhaeK.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-ext-700-normal-Cscux539.woff2) format("woff2"),url(/assets/cairo-latin-ext-700-normal-htXca11Z.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-700-normal-C3GYtKbV.woff2) format("woff2"),url(/assets/cairo-latin-700-normal-6fcUy4Rc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-arabic-800-normal-G1qvPr6G.woff2) format("woff2"),url(/assets/cairo-arabic-800-normal-CVTPwINa.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-latin-ext-800-normal-ChnkP8hn.woff2) format("woff2"),url(/assets/cairo-latin-ext-800-normal-RObK5hVW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-latin-800-normal-BBdTpBXf.woff2) format("woff2"),url(/assets/cairo-latin-800-normal-ReWrxM5E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/reem-kufi-arabic-700-normal-D4RhYlR1.woff2) format("woff2"),url(/assets/reem-kufi-arabic-700-normal-2X0LRV6P.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/reem-kufi-vietnamese-700-normal-CwRvvSSB.woff2) format("woff2"),url(/assets/reem-kufi-vietnamese-700-normal-C_zHpWh6.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/reem-kufi-latin-ext-700-normal-CbxOURXW.woff2) format("woff2"),url(/assets/reem-kufi-latin-ext-700-normal-BVODnn_J.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/reem-kufi-latin-700-normal-D4MLSEVm.woff2) format("woff2"),url(/assets/reem-kufi-latin-700-normal-CFkdsF2J.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fdf6e9;--card: #fffdf8;--ink: #3b2a1a;--muted: #8a7560;--line: #ead9bd;--primary: #e07a2f;--primary-dark: #b85d1c;--secondary: #2a8c88;--good: #2f9e57;--bad: #d9534f;--gold: #f5b82e;--radius: 18px;--shadow: 0 4px 0 rgba(122, 75, 34, .15), 0 8px 20px rgba(122, 75, 34, .1);--dir: 1;color-scheme:light}[dir=rtl]{--dir: -1}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Cairo,system-ui,sans-serif;font-size:17px;line-height:1.5;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}h1,h2{margin:0 0 .4em;line-height:1.25}h2{font-size:1.2rem}.screen{max-width:760px;margin:0 auto;min-height:100dvh;padding:12px 16px 24px;display:flex;flex-direction:column;gap:14px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.muted{color:var(--muted)}.btn{border:none;border-radius:14px;padding:10px 20px;font-weight:700;min-height:48px;box-shadow:0 4px #0000002e;transition:transform .08s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0000002e}.btn:disabled{opacity:.45}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:#fff;color:var(--secondary);border:2px solid var(--secondary)}.btn-danger{background:var(--bad);color:#fff}.btn-big{font-size:1.25rem;min-height:58px;width:100%}.btn-small{min-height:40px;padding:6px 12px;font-size:.9rem;width:100%}.icon-btn{border:none;background:#ffffffd9;border-radius:50%;width:44px;height:44px;font-size:1.2rem;flex-shrink:0;box-shadow:0 2px #0000001f}.pill{background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;box-shadow:0 2px #0000001a;white-space:nowrap;border:none}.pill-btn{min-height:40px}.chip{border:2px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font-weight:700;min-height:48px}.chip.selected{border-color:var(--primary);background:#fff1e3;color:var(--primary-dark)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.topbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.create{background:linear-gradient(#fbe3b3,var(--bg) 60%);max-width:none;align-items:center}.create>*{width:100%;max-width:520px}.create-lang{display:flex;justify-content:flex-end;gap:8px}.create-lang .pill-btn:first-child:not(:last-child){margin-inline-end:auto}.title{text-align:center;font-size:2.2rem;font-weight:800;color:var(--primary-dark);margin:0}.subtitle{text-align:center;margin:0;color:var(--muted)}.create-card{display:flex;flex-direction:column;gap:16px}.create-preview{display:flex;justify-content:center;align-items:flex-end;gap:4px}.field{display:flex;flex-direction:column;gap:6px;font-weight:600}.field small{font-weight:400;color:var(--muted)}.field input,.field select{font:inherit;font-size:1.15rem;padding:10px 14px;border-radius:12px;border:2px solid var(--line);min-height:52px}.field input:focus{outline:none;border-color:var(--primary)}.swatch{width:52px;height:52px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px var(--line)}.swatch.selected{box-shadow:0 0 0 4px var(--primary)}.outfits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.outfit{border:2px solid var(--line);background:#fff;border-radius:14px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:600;font-size:.9rem;line-height:1.3}.outfit.selected{border-color:var(--primary);background:#fff1e3;color:var(--primary-dark)}.map-screen{min-height:100dvh;background:radial-gradient(circle at 1px 1px,rgba(122,75,34,.12) 1px,transparent 1.5px) 0 0 / 18px 18px,#eadcc2}.topbar-sticky{position:sticky;top:0;z-index:10;flex-wrap:nowrap;padding:8px 12px;background:var(--bg);box-shadow:0 2px 10px #7a4b2226}.hero-chip{display:inline-flex;align-items:center;gap:6px;border:0;font:inherit;color:inherit;text-align:start;cursor:pointer;font-weight:800;background:#fff;border-radius:999px;padding:2px 4px;padding-inline-end:12px;box-shadow:0 2px #0000001a}.hero-chip-art{position:relative;width:30px;height:34px}.hero-chip-art>svg{height:34px;overflow:hidden}.hero-chip-badge{position:absolute;bottom:-4px;inset-inline-end:-7px;min-width:18px;height:18px;padding:0 3px;border-radius:9px;background:#8a63d2;color:#fff;border:2px solid #fff;font-size:.65rem;font-weight:800;line-height:14px;text-align:center}.map-wrap{position:relative;width:100%;overflow-x:clip;margin:0 auto;box-shadow:0 0 0 1px #7a4b2226,0 10px 40px #7a4b2240}.map-col{position:absolute;top:0;bottom:0}.map-scene{display:block;width:100%;height:auto}.map-banner{position:absolute;transform:translate(-50%,-50%);background:#fffdf8;padding:2px 18px;border-radius:999px;font-weight:800;font-size:1.05rem;white-space:nowrap;border:3px solid var(--gold);box-shadow:0 4px #00000026;pointer-events:none}.banner-desert{border-color:#e0a050}.banner-souq{border-color:#c94f3d}.banner-coast{border-color:#2f8fbf}.oasis-banner{border-color:#3f9e5a}.map-shop{position:absolute;transform:translate(-50%,-72%);border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;width:100px;z-index:2}.map-shop svg{width:84px;display:block}.map-shop span{background:var(--secondary);color:#fff;font-weight:800;border-radius:999px;padding:0 12px;box-shadow:0 3px #0003}.stop{position:absolute;transform:translate(-50%,-38%);border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px;width:104px;z-index:2}.stop-desert{--ring: #e0a050}.stop-souq{--ring: #c94f3d}.stop-coast{--ring: #2f8fbf}.medallion{width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#fbeed3);border:5px solid var(--ring);box-shadow:0 0 0 3px #fff,0 6px 0 3px #00000038;display:grid;place-items:center;transition:transform .1s}.medallion-art{width:58px;display:block}.medallion-art svg,.marker-hero svg,.marker-falcon svg,.hero-chip-art svg,.result-art svg{display:block}.stop.boss .medallion{width:90px;height:90px}.stop.boss .medallion-art{width:70px}.crown{position:absolute;top:-20px;font-size:1.5rem;z-index:1}.stop.locked .medallion{background:#ebe4d8;border-color:#b9ad9a}.stop:active:not(:disabled) .medallion{transform:scale(.94)}.stop.current .medallion{animation:pulse-ring 1.6s ease-out infinite}.stop-stars{background:#ffffffeb;border-radius:999px;padding:0 7px;line-height:1.35}.stop-name{font-weight:800;font-size:.85rem;background:#3b2a1acc;color:#fff;padding:0 10px;border-radius:999px;white-space:nowrap}.stop.locked .stop-name{background:#3b2a1a73}.lock{font-size:1.8rem}.star{color:#d8cbb6;font-size:1.05rem}.star.on{color:var(--gold)}.star.big{font-size:2.8rem;display:inline-block}.result-stars .star.big{animation:star-pop .45s ease-out both}.map-marker{--side: 1;position:absolute;transform:translate(calc(-50% + var(--side) * 66px),-82%);transition:left 1.3s ease-in-out,top 1.3s ease-in-out;border:none;background:none;padding:0;display:flex;align-items:flex-end;z-index:3}.map-marker:after{content:"";position:absolute;bottom:-4px;inset-inline:6px;height:8px;border-radius:50%;background:#0000002e;z-index:-1}.marker-hero{width:46px}.marker-falcon{width:30px;align-self:flex-start}.battle-screen{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.stage{--foe-w: min(32cqw, 280px);--arena-b: 5%;position:relative;flex:1 1 auto;min-height:250px;overflow:hidden;container-type:inline-size}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.stage-hud{position:absolute;top:10px;inset-inline:12px;display:flex;align-items:center;gap:10px;z-index:4}.hearts{display:flex;gap:2px;font-size:1.2rem;background:#ffffffc7;border-radius:999px;padding:2px 10px}.heart.lost{animation:heart-pop .4s ease-out}.toast{position:absolute;inset-inline-end:0;top:calc(100% + 8px);background:var(--secondary);color:#fff;font-weight:700;padding:8px 14px;border-radius:14px;animation:pop .3s ease-out;z-index:5;max-width:70%}.arena{position:absolute;inset-inline:5%;bottom:var(--arena-b);display:flex;justify-content:space-between;align-items:flex-end;z-index:2}.fighter.hero{display:flex;align-items:flex-end}.hero-art{width:clamp(72px,21cqw,190px)}.falcon-art{width:clamp(40px,11cqw,100px);align-self:center}.fighter.foe{position:relative;display:flex;flex-direction:column;align-items:center}.foe-art{width:clamp(110px,var(--foe-w),280px)}.hero-art svg,.falcon-art svg,.foe-art svg{display:block}.foe-hud{background:#ffffffdb;border-radius:12px;padding:3px 10px 6px;display:flex;flex-direction:column;align-items:center;margin-bottom:4px}.foe-name{font-weight:800;font-size:.95rem}.hpbar{width:clamp(90px,24cqw,200px);height:12px;background:#e6dccb;border-radius:6px;overflow:hidden}.hpbar-fill{height:100%;background:linear-gradient(90deg,#6cc56c,#3ea84a);transition:width .35s ease-out}[dir=rtl] .face-foe>svg{scale:-1 1}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.burst{position:absolute;inset-inline-end:calc(5% + var(--foe-w) / 2 - 70px);bottom:calc(var(--arena-b) + var(--foe-w) * .44 - 70px);width:140px;height:140px;background:radial-gradient(circle,#fff 0 18%,#ffe08a 19% 42%,#f5b82e 43% 60%,transparent 61%);clip-path:polygon(50% 0,60% 32%,93% 18%,70% 47%,100% 62%,66% 64%,74% 98%,50% 74%,26% 98%,34% 64%,0 62%,30% 47%,7% 18%,40% 32%);animation:burst .5s ease-out .35s both}.dmg{position:absolute;inset-inline-end:calc(5% + var(--foe-w) / 2 - 36px);bottom:calc(var(--arena-b) + var(--foe-w) * .69);font-size:1.4rem;font-weight:800;color:#fff;background:#e8493f;border:3px solid #fff;border-radius:999px;padding:0 12px;box-shadow:0 4px #0003;white-space:nowrap;animation:float-up 1s ease-out .35s both}.projectile{position:absolute;inset-inline-end:calc(5% + var(--foe-w) / 2 - 18px);bottom:calc(var(--arena-b) + var(--foe-w) * .375);width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--proj) 60%);box-shadow:0 0 14px var(--proj);animation:projectile .5s ease-in .12s both}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 90px 24px #d9534fb3;animation:flash .5s ease-out .5s both}.friend-hearts span{position:absolute;bottom:40%;left:calc(10% + var(--i) * 18%);font-size:1.5rem;animation:float-up 1.4s ease-out both;animation-delay:calc(var(--i) * .12s)}.panel{display:flex;flex-direction:column;gap:10px;padding:10px 16px 14px}.panel .answer-area{margin-top:0}@media(min-width:900px)and (min-aspect-ratio:1/1){.battle-screen{flex-direction:row;height:100dvh}.stage{flex:1.4 1 0;min-height:0}.battle-screen .panel{flex:1 1 0;max-width:520px;overflow-y:auto;justify-content:center;padding:24px}.prompt-eq{font-size:2.6rem}}.question{display:flex;flex-direction:column;gap:10px}.question-row{display:flex;align-items:flex-start;gap:8px}.prompt{flex:1;font-size:1.25rem;font-weight:600}.prompt-eq{font-size:2rem;font-weight:800;text-align:center}.rich-line+.rich-line{margin-top:2px}.frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.1;margin:0 .15em;font-weight:800}.frac-num{border-bottom:3px solid currentColor;padding:0 .2em}.frac-pic{width:100%;max-width:280px;margin:0 auto;display:block}.frac-pic-circle{max-width:140px}.blocks-pic{display:block;margin:4px auto;max-width:100%;max-height:150px;width:auto;height:150px}.choices.choices-wide{grid-template-columns:1fr}.choices-pics .choice{min-height:0;padding:8px}.blocks-pic-choice{height:76px;max-height:76px;margin:0 auto}.feedback{font-weight:800;font-size:1.15rem;text-align:center;animation:pop .25s ease-out}.feedback.good{color:var(--good)}.feedback.bad{color:var(--bad)}.tip{background:#eef8f7;border-inline-start:5px solid var(--secondary);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;animation:pop .25s ease-out}.tip.solution{background:#fff6e6;border-color:var(--primary)}.tip-head{display:flex;align-items:center;gap:6px}.tip-head .icon-btn{margin-inline-start:auto;width:38px;height:38px;font-size:1rem}.answer-area{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:auto}.answer-fields{display:flex;gap:10px;width:100%;max-width:360px}.answer-box{flex:1;background:#fff;border:3px solid var(--line);border-radius:14px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 8px}.answer-box.focused{border-color:var(--primary)}.answer-label{font-size:.8rem;color:var(--muted);font-weight:600}.answer-value{font-size:1.8rem;font-weight:800;letter-spacing:.05em;line-height:1.2}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:360px}.key{border:none;background:#fff;border-radius:14px;min-height:56px;font-size:1.6rem;font-weight:700;box-shadow:0 4px #7a4b2233}.key:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #7a4b2233}.key-back{background:#f5e8d3}.key-ok{background:var(--good);color:#fff;font-size:1.15rem}.key:disabled{opacity:.5}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:420px;margin:auto auto 0}.choice{border:3px solid var(--line);background:#fff;border-radius:16px;min-height:84px;font-size:1.7rem;box-shadow:0 4px #7a4b2226}.choice:active:not(:disabled){transform:translateY(3px)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3b2a1a73;display:grid;place-items:center;padding:16px;z-index:20}.screen>.result{align-self:center}.result{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:380px;width:100%;animation:pop .35s ease-out}.result-coins{font-size:1.3rem;font-weight:800;margin:0}.result-art{width:120px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-24px;width:10px;height:16px;border-radius:2px;animation:confetti-fall linear both}.shop-preview{display:flex;justify-content:center;align-items:flex-end;background:linear-gradient(135deg,#e7f6dc,#fff8e6)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;text-align:center}.shop-item.in-use{outline:3px solid var(--good)}.shop-art{height:80px;display:grid;place-items:center}.shop-name{font-weight:700}.gate{justify-content:center}.gate-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:400px;margin:0 auto;width:100%}.gate-card .answer-box{width:100%;max-width:360px}.parent-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 6px}.stat-label{font-size:.85rem;color:var(--muted)}.stat-value{font-size:1.5rem;font-weight:800}.weak-list{margin:0;padding-inline-start:1.2em}.weak-list p{margin:2px 0 10px}.table-card{overflow-x:auto;padding:8px}.skills{width:100%;border-collapse:collapse;font-size:.95rem}.skills th,.skills td{text-align:start;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.skills th{font-size:.85rem;color:var(--muted)}.bar{height:10px;background:#f1e6d3;border-radius:5px;overflow:hidden;min-width:60px}.bar-fill{height:100%}.bar-fill.low{background:var(--bad)}.bar-fill.mid{background:var(--gold)}.bar-fill.high{background:var(--good)}.switch-row{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600}.switch-row input{width:24px;height:24px;accent-color:var(--secondary)}.topbar-sticky .topbar-group{flex-wrap:nowrap;gap:6px}.topbar-sticky .topbar-group:first-child,.topbar-sticky .hero-chip,.hero-chip-text,.hero-chip-name{min-width:0}.topbar-sticky .hero-chip{flex-shrink:1}@media(max-width:420px){.topbar-sticky .pill{padding:6px 10px}.topbar-sticky .pill-btn{min-height:38px}}.goal-meta{display:flex;justify-content:space-between}.hero-chip-text{display:flex;flex-direction:column;line-height:1.1;gap:2px}.hero-chip-name{font-weight:800;max-width:6em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-chip-level{font-size:.72rem;font-weight:700;white-space:nowrap;color:var(--primary-dark)}.xpbar{display:block;width:64px;height:5px;border-radius:3px;background:#f1e6d3;overflow:hidden}.xpbar-fill{display:block;height:100%;background:linear-gradient(90deg,#8f6bd8,#b18cf2);transition:width .5s ease-out}.marker-friend{width:30px;align-self:flex-end}.marker-friend svg{display:block}.map-fabs{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));inset-inline-end:calc(16px + env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:12px;z-index:9}.fab{position:relative;width:52px;height:52px;border-radius:50%;border:3px solid #fff;background:var(--secondary);font-size:1.45rem;box-shadow:0 5px #0003,0 8px 18px #0000002e}.fab:active{transform:translateY(3px)}.fab-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:26px;height:26px;border-radius:13px;background:var(--bad);color:#fff;font-size:.9rem;font-weight:800;display:grid;place-items:center;border:2px solid #fff;animation:heart-pop 1.2s ease-in-out infinite}.sheet{width:100%;max-width:460px;display:flex;flex-direction:column;gap:12px;animation:pop .25s ease-out}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.sheet-head h2{margin:0}.streak{font-weight:800;color:var(--primary-dark);background:#fff1e3;border-radius:999px;padding:2px 12px}.goal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.goal{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#fbf5ea}.goal.done:not(.claimed){background:#eaf7ee;outline:2px solid var(--good)}.goal.claimed{opacity:.6}.goal-icon{font-size:1.6rem}.goal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.goal-text{font-weight:700;line-height:1.3}.goal-bar{display:block;height:8px;border-radius:4px;background:#ece2cf;overflow:hidden}.goal-bar-fill{display:block;height:100%;background:var(--good);transition:width .4s}.goal-meta{font-size:.85rem;color:var(--muted)}.goal-claim{width:auto;flex-shrink:0}.goal-claimed{font-weight:700;color:var(--good);white-space:nowrap}.result-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.reward-pill{display:inline-block;font-weight:800;font-size:1.1rem;background:#fff6dd;border:2px solid var(--gold);border-radius:999px;padding:2px 14px}.reward-pill.xp{background:#f1eafd;border-color:#8f6bd8}.levelup{position:relative}.levelup-badge{position:absolute;top:-26px;left:50%;translate:-50% 0;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#b18cf2,#7a52c9);color:#fff;font-size:1.8rem;font-weight:800;display:grid;place-items:center;border:4px solid #fff;box-shadow:0 5px #0003;animation:star-pop .5s ease-out both}.levelup p{margin:0}.book-head{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.book-head h1,.book-head p{margin:0}.book-section h2{margin-bottom:10px}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.friend{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px}.friend h3{margin:0;font-size:1.1rem}.friend.along{outline:3px solid var(--secondary)}.friend-art{width:96px}.friend-art svg{display:block}.silhouette{filter:brightness(0);opacity:.18}.friend-fact{margin:0;font-size:.9rem;line-height:1.45;flex:1}.friend-meta{font-size:.85rem;color:var(--muted)}.shop-item.locked .shop-art{filter:grayscale(.8);opacity:.55}.bob,.hover{animation:bob 1.8s ease-in-out infinite}.breathe{animation:breathe 3s ease-in-out infinite;transform-origin:50% 100%}.bounce{animation:bounce .8s ease-in-out infinite}.blink{transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite}.lantern-glow{animation:glow 2.4s ease-in-out infinite}.boat-rock{transform-box:fill-box;transform-origin:50% 100%;animation:rock 4s ease-in-out infinite}.cloud-drift{animation:drift 14s ease-in-out infinite alternate}.lunge{animation:lunge .5s ease-out}.dive{animation:dive .8s ease-in-out}.hit{animation:hit .55s ease-out .33s;transform-origin:50% 100%}.throw{animation:throw .45s ease-out;transform-origin:50% 100%}.flinch{animation:shake .45s .5s}.stage-shake .backdrop,.stage-shake .arena{animation:shake .4s .5s}.befriended{animation:happy .7s ease-in-out infinite;transform-origin:50% 100%}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes breathe{50%{transform:scale(1.015,1.035)}}@keyframes bounce{50%{transform:translateY(-10px) scale(1.04)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes glow{50%{opacity:.6}}@keyframes rock{25%{transform:rotate(-3deg) translateY(1px)}75%{transform:rotate(3deg) translateY(-1px)}}@keyframes drift{to{transform:translate(30px)}}@keyframes lunge{40%{transform:translate(calc(var(--dir) * 22px))}}@keyframes dive{45%{transform:translate(calc(var(--dir) * 50cqw),-6cqw) rotate(calc(var(--dir) * 18deg)) scale(1.2)}60%{transform:translate(calc(var(--dir) * 46cqw),-10cqw) rotate(calc(var(--dir) * -10deg))}}@keyframes hit{25%{transform:translate(calc(var(--dir) * 14px)) scale(1.12,.84);filter:brightness(1.7)}60%{transform:scale(.96,1.05)}}@keyframes throw{35%{transform:translate(calc(var(--dir) * -22px)) scale(1.06,.94)}}@keyframes shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}@keyframes happy{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-14%) rotate(-6deg)}60%{transform:translateY(0) rotate(5deg)}}@keyframes burst{0%{transform:scale(.2) rotate(0);opacity:1}to{transform:scale(1.35) rotate(40deg);opacity:0}}@keyframes float-up{0%{transform:translateY(10px) scale(.6);opacity:0}20%{transform:translateY(0) scale(1.15);opacity:1}to{transform:translateY(-60px) scale(1);opacity:0}}@keyframes projectile{0%{transform:translate(0) scale(.6);opacity:0}15%{opacity:1}50%{transform:translate(calc(var(--dir) * -30cqw),-50px) scale(1)}to{transform:translate(calc(var(--dir) * -58cqw)) scale(1.2);opacity:.2}}@keyframes flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes heart-pop{50%{transform:scale(1.5)}}@keyframes star-pop{0%{transform:scale(0) rotate(-90deg);opacity:0}70%{transform:scale(1.25) rotate(10deg);opacity:1}}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes pulse-ring{0%{box-shadow:0 0 0 3px #fff,0 6px 0 3px #00000038,0 0 0 3px #f5b82ee6}to{box-shadow:0 0 0 3px #fff,0 6px 0 3px #00000038,0 0 0 22px #f5b82e00}}@keyframes pop{0%{transform:scale(.9);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:700px){.prompt-eq{font-size:2.4rem}.numpad,.answer-fields{max-width:440px}.key{min-height:66px;font-size:1.9rem}.answer-box{min-height:66px}}.sadu-band{height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='14' viewBox='0 0 24 14'%3E%3Crect width='24' height='14' fill='%239b2226'/%3E%3Crect width='24' height='2' fill='%232b1a12'/%3E%3Crect y='12' width='24' height='2' fill='%232b1a12'/%3E%3Cpath d='M0 12 L6 3 L12 12 Z M12 12 L18 3 L24 12 Z' fill='%23f3e6c8'/%3E%3Cpath d='M12 4 L14 7 L12 10 L10 7 Z M0 4 L2 7 L0 10 Z M24 4 L22 7 L24 10 Z' fill='%23f0a43a'/%3E%3C/svg%3E") repeat-x center / auto 100%}.dialogue-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:linear-gradient(to top,#3b2a1a80,#3b2a1a0d 60%);animation:fade-in .3s ease-out}.dialogue{position:relative;width:100%;max-width:560px;padding:0 0 12px;overflow:hidden;border:3px solid #7a4b22;animation:slide-up .35s cubic-bezier(.2,.9,.3,1.2)}.dialogue-skip{position:absolute;top:20px;inset-inline-end:10px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;padding:4px 8px}.dialogue-body{display:flex;gap:12px;padding:14px 16px 4px;align-items:flex-start}.dialogue-portrait{flex:0 0 78px;height:78px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff6dc,#f3d9a4);border:3px solid var(--gold);display:grid;place-items:center;padding:8px;box-shadow:0 3px #7a4b2240}.dialogue-portrait.is-creature{padding:4px}.dialogue-portrait svg{width:100%;height:100%}.dialogue-main{flex:1;min-width:0}.dialogue-name{display:inline-block;background:#9b2226;color:#fff8e6;font-weight:800;font-size:.9rem;padding:0 12px;border-radius:999px;margin-bottom:4px}.dialogue-text{font-size:1.2rem;font-weight:700;line-height:1.7;min-height:3.4em;animation:line-in .35s ease-out}.dialogue-actions{display:flex;align-items:center;gap:10px;padding:0 16px}.dialogue-actions .btn{margin-inline-start:auto;min-width:120px}.dialogue-dots{display:flex;gap:5px}.dialogue-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.dialogue-dots i.on{background:var(--primary)}.tap-hint{position:absolute;left:100%;top:15%;direction:ltr;display:flex;align-items:center;gap:2px;pointer-events:none;z-index:3}.tap-bubble{background:#fffdf8;border:3px solid var(--gold);border-radius:14px;padding:2px 10px;font-weight:800;font-size:.9rem;line-height:1.4;width:max-content;max-width:7.5em;text-align:center;box-shadow:0 3px #00000026;animation:bob 1.6s ease-in-out infinite}.tap-hand{font-size:2rem;animation:tap-side 1s ease-in-out infinite;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.answer-wrap{position:relative;display:flex;flex-direction:column;margin-top:auto}.answer-hand{position:absolute;top:18px;left:50%;margin-left:-1rem;pointer-events:none;transform:none;animation:tap-up 1s ease-in-out infinite;z-index:2}.springs-count{display:block;font-size:.8rem;font-weight:700;color:#1f6f8b;text-align:center;line-height:1.2}.spring .sparkle{animation:twinkle 1.8s ease-in-out infinite}.spring-filling .spring-water{transform-box:fill-box;transform-origin:center;animation:spring-fill 2.4s .6s ease-out both}.spring-filling .spring-sand{transform-box:fill-box;transform-origin:center bottom;animation:sand-away 1.2s .3s ease-in both}.gift{overflow:hidden}.gift .sadu-band{align-self:stretch;margin:-16px -16px 8px}.gift-art{width:110px}.gift-art svg{display:block;width:100%;height:auto}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}}@keyframes tap-side{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}@keyframes tap-up{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:1}}@keyframes spring-fill{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes sand-away{to{transform:scaleY(0);opacity:0}}@media(prefers-reduced-motion:reduce){.tap-hand,.tap-bubble,.spring .sparkle{animation:none}}.term{font:inherit;color:inherit;background:none;border:0;padding:0;border-bottom:3px dotted var(--secondary);cursor:help}.term:active{background:#e3f4f2}.term-card{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:14px;background:#e9f6f4;border:2px solid #9fd3cd;font-size:1rem;font-weight:600;text-align:start;animation:line-in .25s ease-out}.term-def{flex:1}.term-icon{font-size:1.3rem}.term-close{border:0;background:none;color:var(--muted);font-size:1rem;padding:4px}.term-card .icon-btn{width:36px;height:36px;flex:0 0 auto}.chart{margin:6px auto 0;width:100%;max-width:420px}.chart-title{text-align:center;font-weight:800;font-size:.95rem;color:var(--secondary);margin-bottom:6px}.data-table{margin:0 auto;border-collapse:separate;border-spacing:0;border:2px solid #7a4b22;border-radius:12px;overflow:hidden;font-size:1.05rem;min-width:220px}.data-table th,.data-table td{padding:4px 14px;border-bottom:1px solid var(--line);text-align:start}.data-table thead th{background:#9b2226;color:#fff8e6;font-size:.9rem}.data-table td{text-align:center;font-weight:800;font-size:1.15rem}.data-table tbody tr:nth-child(2n){background:#fdf3e1}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.picto{display:flex;flex-direction:column;gap:2px;border:2px solid #7a4b22;border-radius:12px;padding:6px 8px;background:#fffdf8}.picto-row{display:grid;grid-template-columns:6.5em 1fr;align-items:center;border-bottom:1px dashed var(--line);padding:2px 0}.picto-label{font-weight:700;font-size:.95rem}.picto-icons{display:grid;grid-template-columns:repeat(10,1fr);font-size:clamp(.85rem,4.2vw,1.25rem);line-height:1.4;text-align:center}.picto-icons .icon{justify-self:center;width:100%!important;height:auto!important;max-width:1.35em!important;aspect-ratio:1}.picto-key{font-size:.85rem;font-weight:700;color:var(--muted);text-align:center;padding-top:2px}.bars{display:grid;grid-template-columns:auto 1fr;grid-template-rows:150px auto;column-gap:6px}.bars-axis{position:relative;width:2em;font-size:.72rem;font-weight:700;color:var(--muted)}.bars-axis span{position:absolute;inset-inline-end:0;transform:translateY(50%);line-height:1}.bars-plot{display:flex;align-items:flex-end;justify-content:space-around;border-inline-start:2px solid #7a4b22;border-bottom:2px solid #7a4b22;background-image:linear-gradient(to top,rgba(122,75,34,.18) 1px,transparent 1px);background-size:100% calc(100% / var(--steps));background-position:bottom}.bar-col{height:100%;width:18%;max-width:46px;display:flex;align-items:flex-end}.bar{width:100%;border-radius:6px 6px 0 0;border:2px solid rgba(0,0,0,.25);border-bottom:0}.bars-labels{display:flex;justify-content:space-around;font-size:.78rem;font-weight:700;text-align:center;padding-top:2px}.bars-labels span{width:18%;line-height:1.2}.question.drawing{min-height:250px}.question-tools{display:flex;flex-direction:column;gap:6px}.icon-btn.on{background:#fff1d6;outline:3px solid var(--gold)}.scratch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border-radius:var(--radius);border:3px dashed #9fb7d8;background:#f0f7ff40}.scratch-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.scratch-tools{position:absolute;bottom:8px;inset-inline-start:8px;display:flex;gap:6px;align-items:center;background:#fffdf8;border-radius:999px;padding:4px 8px;box-shadow:0 2px 6px #0000002e}.scratch-color{width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #0003}.scratch-color.on{box-shadow:0 0 0 3px var(--gold)}.scratch-btn{border:0;background:none;font-size:1.1rem;width:30px;height:30px;border-radius:50%}.scratch-btn.on{background:#fff1d6}.chest{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;border:2px dashed var(--line);background:#fffaf0}.chest p{margin:0;font-weight:700}.chest-art{font-size:2.4rem;filter:grayscale(.7);opacity:.6}.chest.ready{border:3px solid var(--gold);background:#fff4d6}.chest.ready .chest-art,.chest.opened .chest-art{filter:none;opacity:1}.chest.ready .chest-art{animation:wiggle 1.2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg) scale(1.1)}40%{transform:rotate(10deg) scale(1.1)}60%{transform:rotate(-6deg)}}:root{--display: "Reem Kufi", "Cairo", system-ui, sans-serif;--star-tile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23f0e3c6' stroke-width='1.3'%3E%3Crect x='18' y='18' width='20' height='20'/%3E%3Crect x='18' y='18' width='20' height='20' transform='rotate(45 28 28)'/%3E%3Ccircle cx='28' cy='28' r='3'/%3E%3C/g%3E%3C/svg%3E")}body,.battle-screen{background-image:var(--star-tile)}.title,.map-banner,.dialogue-name,.levelup-badge,.sheet-head h2,.shop-section h2{font-family:var(--display);font-weight:700;letter-spacing:0}.title{font-size:2.6rem;line-height:1.3}.map-banner{font-size:1.15rem}.deco-preview{width:100%;height:64px}.flame{transform-box:fill-box;transform-origin:center bottom;animation:flicker .6s ease-in-out infinite alternate}@keyframes flicker{to{transform:scaleY(1.15) scaleX(.92)}}.combo{background:#fff1d6;border:2px solid var(--gold);color:#b85d1c;font-weight:800;border-radius:999px;padding:0 10px;animation:pop .3s ease-out}.combo.charged{background:var(--gold);color:#fff;animation:pop .3s ease-out,glow 1s ease-in-out infinite}.falcon-art.super svg{filter:drop-shadow(0 0 6px #ffd23f) drop-shadow(0 0 14px #f5b82e)}.fx-layer.super .burst{width:210px;height:210px;inset-inline-end:calc(5% + var(--foe-w) / 2 - 105px);bottom:calc(var(--arena-b) + var(--foe-w) * .44 - 105px);background:radial-gradient(circle,#fff 0 20%,#fff3b0 21% 40%,#ffd23f 41% 62%,transparent 63%)}.fx-layer.super .dmg{background:#f5a623;font-size:1.7rem}.friend-power{position:relative;align-self:flex-end;width:clamp(50px,14cqw,130px);flex-shrink:0;margin-inline:-10px;padding:0;border:0;background:none;margin-bottom:2px}.ally-art{display:block}.ally-art svg{display:block;width:100%}.ally-icon{position:absolute;top:-10px;inset-inline-end:-8px;min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fff;border:3px solid var(--line);font-size:.95rem;box-shadow:0 2px #00000026}.friend-power.ready .ally-icon{border-color:var(--gold);animation:glow 1.2s ease-in-out infinite}.friend-power.ready{cursor:pointer}.friend-power.used:not(.active){opacity:.7}.friend-power.active .ally-art svg{filter:drop-shadow(0 0 6px #7fd0e6)}.friend-power-line{font-size:.85rem;font-weight:700;color:var(--secondary);margin:0}.players{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:40px}.players-q{font-family:var(--display);font-size:1.6rem;margin:0}.players-grid{display:grid;grid-template-columns:repeat(2,minmax(0,150px));gap:14px;justify-content:center;width:100%}.player{display:flex;flex-direction:column;align-items:center;gap:2px;border:3px solid transparent;font:inherit;color:inherit;cursor:pointer}.player:hover,.player:focus-visible{border-color:var(--gold)}.player-art{width:84px}.player-art svg{display:block;width:100%}.player-name{font-weight:800;font-size:1.15rem}.player-grade{font-weight:700;font-size:.9rem;color:var(--secondary)}.player-level{color:var(--muted);font-size:.9rem}.player-new{justify-content:center;border:3px dashed var(--line);background:transparent;box-shadow:none;min-height:170px}.player-plus{font-size:2.6rem;color:var(--primary);line-height:1}.medal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.medal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);opacity:.75}.medal small{color:var(--muted);line-height:1.4}.medal-disc{width:64px;height:64px;display:grid;place-items:center;font-size:2rem;border-radius:50%;background:#eee6d8;filter:grayscale(1)}.medal.earned{opacity:1}.medal.earned .medal-disc{filter:none;background:radial-gradient(circle at 40% 35%,#fff3c4,#f5b82e);border:4px solid #e2a21a;box-shadow:0 0 0 3px #9b2226,0 3px #0003}.medal.big .medal-disc{width:84px;height:84px;font-size:2.6rem}.medal-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.medal-row .medal{box-shadow:none;max-width:150px}.boss-shield{position:absolute;top:-8%;right:-12%;bottom:0;left:-12%;border-radius:50%;display:grid;place-items:center;opacity:calc(.45 + .45 * var(--strength));pointer-events:none;animation:shield-in .5s ease-out}.boss-shield>span:first-child{font-size:clamp(1.6rem,7cqw,3rem);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.shield-desert{background:radial-gradient(circle,rgba(233,180,95,.55) 0 40%,rgba(214,160,80,.75) 60%,transparent 72%);animation:shield-in .5s ease-out,glow 1.6s ease-in-out infinite}.shield-souq{background:radial-gradient(circle,rgba(255,255,255,.55) 0 45%,rgba(240,235,225,.8) 62%,transparent 72%)}.shield-coast{background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.7) 0 10%,rgba(127,208,230,.45) 30%,rgba(63,167,214,.6) 62%,transparent 70%);border:3px solid rgba(255,255,255,.7)}.shield-pips{position:absolute;bottom:6%;display:flex;gap:4px}.shield-pips i{width:12px;height:12px;border-radius:50%;background:#ffffff80;border:2px solid #fff}.shield-pips i.on{background:#7a4b22}.taunt{position:absolute;top:62px;left:50%;transform:translate(-50%);background:#fff;border:3px solid #7a4b22;border-radius:16px;padding:4px 14px;font-weight:800;font-size:.95rem;width:max-content;max-width:calc(100% - 32px);text-align:center;z-index:5;animation:pop .3s ease-out}@keyframes shield-in{0%{transform:scale(.3);opacity:0}}.balloon{animation:bob 2.4s ease-in-out infinite}.map-race{position:absolute;transform:translate(-50%,-50%);z-index:2;background:#fffdf8;border:3px solid #1f7a4a;border-radius:999px;padding:2px 12px;font:inherit;font-weight:800;font-size:.9rem;white-space:nowrap;box-shadow:0 3px #00000026}.map-race .fab-badge{top:-10px}.race{display:flex;flex-direction:column;gap:12px}.race-title{font-family:var(--display);text-align:center;margin:0}.race-sky{position:relative;border-radius:20px;background:linear-gradient(#9fd8ef,#e4f4fa 70%,#f6e3b5);padding:14px 10px 26px;overflow:hidden;border:3px solid #fff;box-shadow:var(--shadow)}.race-finish{position:absolute;inset-block:0;inset-inline-end:14px;width:10px;background:repeating-linear-gradient(#3b2a1a 0,#3b2a1a 10px,#fff 10px,#fff 20px);opacity:.8}.race-lane{position:relative;height:64px;border-bottom:2px dashed rgba(255,255,255,.8)}.race-bird{position:absolute;top:2px;width:64px;transform:scaleX(var(--dir));transition:inset-inline-start .35s ease-out}.race-bird.rival{transition:inset-inline-start .1s linear;filter:grayscale(.6) brightness(.85) hue-rotate(160deg)}.race-bird.wobble{animation:shake .35s}.race-time{position:absolute;bottom:8px;inset-inline:12px;height:8px;border-radius:999px;background:#fff9;overflow:hidden}.race-time span{display:block;height:100%;background:var(--primary);transition:width .1s linear}.race-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.race-card p{margin:0}.race-score{font-weight:800;color:var(--secondary)}.race-q{font-size:2.6rem;font-weight:800}.race-choices{grid-template-columns:repeat(3,1fr);margin:0}.race-count{text-align:center;font-family:var(--display);font-size:5rem;color:var(--primary);animation:pop .4s ease-out}.money-pic{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:6px 0}.money-note{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:74px;height:42px;padding:0 8px;border-radius:6px;border:2px solid rgba(0,0,0,.35);box-shadow:inset 0 0 0 3px #ffffff73,0 2px #00000026;line-height:1.05;color:#2b2116}.money-note b{font-size:1.15rem}.money-note small{font-size:.7rem;font-weight:700}.money-coin{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1b8,#e3b23c 60%,#b8861a);border:2px solid #8a6410;font-size:1rem;color:#3b2a07;box-shadow:0 2px #0000002e}.money-coin.silver{background:radial-gradient(circle at 35% 30%,#fff,#c9ced4 60%,#8f969e);border-color:#6b7178}.clock-pic{display:block;width:150px;height:150px;margin:4px auto}.clock-pic.blocks-pic-choice{width:92px;height:92px;max-height:92px}.clock-num{font:700 11px Cairo,system-ui,sans-serif;fill:#3b2a1a}.ruler-pic{display:block;width:100%;max-width:420px;margin:4px auto}.ruler-num{font:700 13px Cairo,system-ui,sans-serif;fill:#3b2a1a}.worked-steps{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.column-work{display:grid;justify-content:center;font-size:1.6rem;font-weight:800;line-height:1.25;background:#fffdf8;border-radius:12px;padding:6px 14px}.cw-cell{text-align:center;border-radius:6px;transition:background .2s}.cw-now{background:#ffe6b8}.cw-above{font-size:.95rem;color:var(--primary-dark);min-height:1.2em;animation:pop .3s ease-out}.cw-crossed{text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:3px;color:var(--muted)}.cw-op{text-align:center;color:var(--secondary)}.cw-rule{border-top:3px solid var(--ink);margin:2px 0}.cw-result{color:var(--good)}.steps-list{align-self:stretch;margin:0;padding-inline-start:1.4em;display:flex;flex-direction:column;gap:4px}.steps-list li{color:var(--muted)}[dir=rtl] .steps-list{list-style-type:arabic-indic}.steps-list li.step-now{color:var(--ink);font-weight:700;animation:pop .25s ease-out}.review,.placement{display:flex;flex-direction:column;gap:12px}.review-intro{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}.review-dots{display:flex;justify-content:center;gap:8px}.review-dots i{width:14px;height:14px;border-radius:50%;background:var(--line)}.review-dots i.done{background:var(--good)}.review-dots i.missed{background:var(--bad)}.review-dots i.now{background:var(--primary);transform:scale(1.25)}.review-dots i.again{box-shadow:inset 0 0 0 3px var(--secondary)}.review-again{text-align:center;font-weight:700;color:var(--secondary);margin:6px 0 0}.review-tomorrow{color:var(--muted);font-weight:700}.place-head{display:flex;justify-content:center;align-items:flex-end;gap:8px;padding-top:12px}.place-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.fab.fab-review{background:var(--primary)}.mastery{display:inline-block;white-space:nowrap;font-size:.85rem;font-weight:700;padding:1px 8px;border-radius:999px;background:#f1ece3}.mastery-mastered{background:#def3e4;color:#1f6b3a}.mastery-improving{background:#fff1d6;color:#8a5a14}.mastery-practice{background:#fde3e1;color:#9b2c27}.stage.stage-hidden{display:none}.stage:not(.stage-hidden) .arena{animation:pop .3s ease-out}.panel-hidden{display:none}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px}.friend-power.compact{width:46px;align-self:center;margin:0}.friend-power.compact .ally-icon{min-width:24px;height:24px;font-size:.8rem;top:-6px}.question{position:relative}.cheer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius);background:radial-gradient(circle,#fff6d6f7 0,#fff6d6f7 45%,#fffdf8eb 75%);animation:pop .25s ease-out;overflow:hidden}.cheer i{position:absolute;top:50%;left:50%;font-style:normal;font-size:1.7rem;animation:star-burst .9s ease-out var(--d) both}@keyframes star-burst{0%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.3);opacity:0}25%{opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a)) translateY(-130px) scale(1.1) rotate(180deg);opacity:0}}.cheer-orb{font-size:4rem;line-height:1;filter:drop-shadow(0 0 12px #ffd56b);animation:orb-pop .6s cubic-bezier(.3,1.6,.5,1) .15s both}.cheer.golden .cheer-orb{font-size:5rem;filter:drop-shadow(0 0 18px #f5b82e)}@keyframes orb-pop{0%{scale:0;rotate:-90deg}}.cheer-text{font-size:1.4rem;font-weight:800;color:var(--good);animation:pop .3s ease-out .3s both}.toast.toast-fixed{position:fixed;top:64px;inset-inline-end:12px;z-index:30}.falcon-art{position:relative}.charge-orb{position:absolute;top:-18%;left:50%;translate:-50% 0;font-size:clamp(1.6rem,7cqw,2.6rem);line-height:1;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 14px #ffd56b);animation:orb-in .4s ease-out both,orb-float 1.2s ease-in-out .4s infinite alternate}.charge-orb.golden{font-size:clamp(2rem,9cqw,3.2rem);filter:drop-shadow(0 0 10px #fff3b0) drop-shadow(0 0 22px #f5b82e)}@keyframes orb-in{0%{scale:.2;opacity:0}}@keyframes orb-float{to{translate:-50% -8px}}.foe-art.target{cursor:pointer;border-radius:50%;animation:target-glow 1s ease-in-out infinite}@keyframes target-glow{50%{filter:drop-shadow(0 0 14px #ffd56b) drop-shadow(0 0 4px #fff);scale:1.04}}.foe-hand{position:absolute;inset-inline-end:calc(5% + var(--foe-w) * .44);bottom:calc(var(--arena-b) + var(--foe-w) * .06);z-index:5;pointer-events:none;animation:tap-up 1s ease-in-out infinite}.stage-callout{position:absolute;top:62px;left:50%;translate:-50% 0;z-index:4;display:flex;flex-direction:column;align-items:center;max-width:88%;background:#fffdf8f0;border-radius:16px;padding:6px 16px;font-weight:800;font-size:1.15rem;text-align:center;box-shadow:var(--shadow);animation:pop .25s ease-out}.stage-callout.good{color:var(--good)}.stage-callout.bad{color:var(--bad)}.stage-callout small{color:var(--ink);font-size:.9rem;font-weight:700}@media(prefers-reduced-motion:reduce){.charge-orb,.foe-art.target,.foe-hand,.cheer i,.cheer-orb{animation:none}}@media(max-width:899px),(max-aspect-ratio:1/1){.stage{--foe-w: min(42cqw, 280px);--arena-b: 13%}.stage .hero-art{width:clamp(90px,27cqw,200px)}.stage .falcon-art{width:clamp(50px,14cqw,110px)}}@media(min-width:900px)and (min-aspect-ratio:1/1){.stage.stage-hidden{display:block}.stage-hidden .stage-hud{display:none}}@media(max-width:380px){.topbar-sticky{padding:8px;gap:6px}.topbar-sticky .topbar-group{gap:4px}}.report-heroes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700}.key-ok.key-wide{grid-column:1 / -1}.key-point{font-size:1.8rem;font-weight:900}.geo-pic{display:block;width:140px;height:140px;margin:4px auto}.geo-pic.blocks-pic-choice{width:84px;height:84px}.coords-pic{width:190px;height:190px}.grid-num{font:700 7px Cairo,system-ui,sans-serif;fill:#7a4b22}.grid-label{font:800 11px Cairo,system-ui,sans-serif;fill:#2a4d6e}.array-pic{display:block;max-width:220px;max-height:170px;margin:4px auto}.grid-pic{display:block;max-width:220px;max-height:160px;margin:4px auto}.rect-pic{display:block;width:100%;max-width:260px;max-height:150px;margin:4px auto}.rect-label{font:800 12px Cairo,system-ui,sans-serif;fill:#3b2a1a}.bag-pic{display:flex;justify-content:center;margin:6px auto}.bag-balls{display:grid;gap:6px;padding:14px 16px 18px;background:#c98f55;border:3px solid #7a4b22;border-radius:18px 18px 36px 36px;box-shadow:inset 0 6px #fff3}.ball{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(0,0,0,.25)}.decimal-pic{display:block;width:100%;max-width:240px;margin:4px auto}.mini-table{margin:4px auto;border-collapse:collapse;font-size:1.15rem;font-weight:700}.mini-table th,.mini-table td{border:2px solid var(--line);padding:4px 18px;text-align:center}.mini-table th{background:#fff1d6;font-size:.95rem}.mini-table td.missing{color:var(--primary-dark);background:#fff6e6}.question-tag{align-self:flex-start;font-size:.78rem;font-weight:700;color:var(--secondary);background:#eef8f7;border-radius:999px;padding:1px 10px}.question-tag.review{color:var(--primary-dark);background:#fff1d6}.place-count{align-self:center;min-width:40px;text-align:center;font-weight:800;color:var(--primary-dark);background:#fff1d6;border-radius:999px;padding:0 12px}.path-screen{display:flex;flex-direction:column;gap:10px}.path-sub{margin:0;text-align:center;font-weight:700;color:var(--muted)}.path-bar{height:10px}.path-done{text-align:center;font-weight:800;background:#def3e4;color:#1f6b3a}.path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.path-term{font-family:var(--display);font-weight:700;color:var(--muted);margin:8px 4px 2px}.path-node{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:10px 12px;font:inherit;color:inherit;text-align:start;cursor:pointer}.path-dot{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;background:#f1ece3}.path-step.done .path-dot{background:var(--good);color:#fff;font-weight:900}.path-step.now .path-dot{background:var(--gold);box-shadow:0 0 0 4px #fff3c4;animation:glow 1.4s ease-in-out infinite}.path-step.later .path-node{opacity:.65}.path-text{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}.path-text small{color:var(--muted);font-weight:700}.path-here{font-size:.8rem;font-weight:800;color:var(--primary-dark)}.path-stars{flex:none;font-size:.85rem;font-weight:700;color:var(--muted);white-space:nowrap}.path-lessons{list-style:none;margin:6px 12px 0;padding:8px 12px;background:#fffaf0;border-radius:14px;display:flex;flex-direction:column;gap:6px}.path-lessons li{display:flex;justify-content:space-between;gap:10px;font-weight:600}.lesson-stars{white-space:nowrap;color:#d9cfbd;letter-spacing:1px}.lesson-stars i{font-style:normal}.lesson-stars i.on{color:var(--gold)}.fab.fab-path{background:var(--gold)}.chapter-badge{display:flex;align-items:flex-end;justify-content:center;gap:4px;font-size:3rem}.promote-card{border:3px solid var(--gold);background:#fffbea}.chapter-report{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.chapter-row details{border:1px solid var(--line);border-radius:12px;padding:6px 10px}.chapter-row.current details{border-color:var(--gold);background:#fffbea}.chapter-row summary{cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.chapter-row summary .bar{display:block;grid-column:1 / -1;height:6px}.chapter-row summary .bar-fill{display:block;height:100%}.chapter-row-name{font-weight:700}.chapter-row-meta{display:flex;align-items:center;gap:6px}.lesson-report{list-style:none;margin:8px 0 2px;padding:0;display:flex;flex-direction:column;gap:4px}.lesson-report li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;font-size:.9rem}.stop-mountains{--ring: #6c8f4e}.medallion{position:relative}.medallion-icon{font-size:2rem;line-height:1}.stop.locked .medallion-icon{filter:grayscale(1);opacity:.4}.stop-lock{position:absolute;bottom:-4px;inset-inline-end:-4px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fffaf0;box-shadow:0 2px 4px #3b2a1a40;font-size:1rem}.stop.mastered .medallion{border-color:var(--gold);background:radial-gradient(circle at 35% 30%,#fffbe8,#ffe7a6)}.stop-check{position:absolute;bottom:-6px;inset-inline-end:-6px;width:26px;height:26px;border-radius:50%;background:var(--good);color:#fff;font-weight:900;display:grid;place-items:center;border:2px solid #fff}.stop-progress{display:flex;align-items:center;gap:6px;padding:1px 8px;border-radius:10px;background:#3b2a1ad1;color:#fff}.stop-bar{display:block;width:40px;height:9px;border-radius:999px;background:#ffffff47;overflow:hidden}.stop-bar i{display:block;height:100%;border-radius:inherit;background:#5fd36f}.stop.mastered .stop-bar i{background:var(--gold)}.stop-score{font-size:.72rem;font-weight:800;line-height:1.2;white-space:nowrap}.stop-score small{font-size:.66rem;opacity:.85}.stop.locked .stop-progress{display:none}.stop .stop-name{white-space:normal;width:max-content;max-width:156px;font-size:.78rem;line-height:1.3;padding:1px 10px;text-align:center}.lock-note{position:absolute;top:100%;margin-top:4px;width:180px;background:#fffdf8;color:var(--ink);border:2px solid var(--line);border-radius:12px;padding:6px 10px;font-size:.82rem;font-weight:700;box-shadow:var(--shadow);z-index:5;animation:pop .25s ease-out}.banner-count{font-size:.8rem;color:var(--muted);margin-inline-start:4px}.fab.fab-build{background:#3f9e5a}.result-score{display:flex;flex-direction:column;gap:2px;font-weight:700}.result-chapter{width:100%;display:grid;gap:4px;background:#fff8ea;border-radius:12px;padding:8px 12px;font-weight:700}.result-chapter small{color:var(--muted)}.result-more{justify-content:center}.result-more .btn{min-height:44px;padding-inline:14px}.overlay .result{max-height:calc(100dvh - 32px);overflow-y:auto}.missed-list{text-align:start;width:100%;margin:0;padding-inline-start:22px;display:grid;gap:10px}.missed-list li{background:#fff8ea;border-radius:12px;padding:8px 10px}.missed-list .question-pic,.missed-list svg{max-width:100%}.missed-solution{display:flex;gap:6px;align-items:flex-start;margin-top:6px;color:var(--secondary);white-space:pre-line}.build-screen{max-width:880px}.build-hint{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;min-height:2.6em}.garden{position:relative;width:min(100%,680px);margin:0 auto;border-radius:26px;background:radial-gradient(ellipse at 50% 55%,#f8e7bf 0,#f8e7bf 45%,#efd6a3 75%);box-shadow:inset 0 0 0 3px #ffffff80,var(--shadow)}.garden{overflow:hidden}.garden-scroll{overflow:auto;border-radius:inherit;scrollbar-width:none}.garden-board{position:relative;width:100%}.garden.zoomed .garden-board{width:190%}.garden.zoomed .garden-scroll{max-height:70dvh}.garden.zoomed .garden-svg{touch-action:pan-x pan-y}.garden.zoomed.editing .garden-svg{touch-action:none}.garden-zoom{position:absolute;z-index:4;top:10px;inset-inline-end:10px;display:flex;align-items:center;gap:2px;border:2px solid var(--line);border-radius:99px;background:#fffaf0eb;padding:4px 10px;font-size:1.1rem;box-shadow:0 2px 6px #3b2a1a33}.gitem.pressed>g:last-child>g{transform:translateY(2px) scale(1.04,.95);transform-box:fill-box;transform-origin:50% 100%}.gitem.selected>g:last-child>g{transform-box:fill-box;transform-origin:50% 100%;animation:sel-bob .9s ease-in-out infinite}@keyframes sel-bob{50%{transform:translateY(-5px)}}.garden-spark{transform-box:fill-box;transform-origin:center;animation:garden-spark .8s ease-out both}@keyframes garden-spark{0%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1}to{opacity:0;transform:translateY(-26px) scale(1.2) rotate(90deg)}}.life-bird{animation:bird-glide 22s linear infinite}@keyframes bird-glide{0%{transform:translate(-60px,90px)}50%{transform:translate(450px,40px)}to{transform:translate(980px,70px)}}.life-wings{transform-box:fill-box;transform-origin:center;animation:wings .35s ease-in-out infinite alternate}@keyframes wings{to{transform:scaleX(.25)}}.life-fly{animation:fly-a 9s ease-in-out infinite}.fly-1{animation-name:fly-b;animation-duration:11s}.fly-2{animation-name:fly-c;animation-duration:13s}@keyframes fly-a{25%{transform:translate(60px,-30px)}50%{transform:translate(110px,10px)}75%{transform:translate(40px,30px)}}@keyframes fly-b{30%{transform:translate(-70px,-20px)}60%{transform:translate(-30px,30px)}}@keyframes fly-c{20%{transform:translate(80px,20px)}50%{transform:translate(-60px,40px)}80%{transform:translate(-90px,-20px)}}.cloud-shade{animation:cloud-shade 26s linear infinite}@keyframes cloud-shade{0%{transform:translate(-200px)}to{transform:translate(1100px)}}@media(prefers-reduced-motion:reduce){.life-bird,.life-fly,.life-wings,.cloud-shade,.gitem.selected>g:last-child>g{animation:none}}.garden-svg{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none;touch-action:pan-y;outline:none}.garden.editing .garden-svg{touch-action:none}.gitem{cursor:grab;touch-action:none;outline:none}.gitem.lifted{cursor:grabbing;filter:drop-shadow(0 10px 6px rgba(0,0,0,.3));transform:translateY(-10px)}.gitem.selected>g{filter:drop-shadow(0 0 5px rgba(245,184,46,.95))}.gitem-land{transform-box:fill-box;transform-origin:50% 100%;animation:gitem-land .45s cubic-bezier(.3,1.6,.5,1) both}@keyframes gitem-land{0%{transform:translateY(-26px) scale(1.12,.9)}}.garden-grid path{fill:none;stroke:#ffffff8c;stroke-width:1.3}.garden-target{stroke-width:3;pointer-events:none}.garden-target.ok{fill:#50c85a73;stroke:#2f8a3f}.garden-target.no{fill:#e9574f73;stroke:#c0392b}.garden-target.sel{fill:#f5b82e59;stroke:#e0a630}.gghost{opacity:.85;pointer-events:none}.gghost>g{animation:ghost-bob 1.2s ease-in-out infinite}@keyframes ghost-bob{50%{translate:0 -8px}}.gghost.blocked{filter:grayscale(.7);opacity:.6}.gvisitor{pointer-events:none}.garden-puff circle{fill:#f3e6c8;animation:garden-puff .6s ease-out both}@keyframes garden-puff{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:translateY(-12px) scale(1.6)}}.garden-puff circle{transform-box:fill-box;transform-origin:center}.garden-bubble{position:absolute;z-index:3;transform:translate(-50%,-100%);display:flex;gap:6px;padding:5px;border-radius:99px;background:#fff;box-shadow:0 4px 12px #3b2a1a40;animation:pop .25s ease-out both}.garden-bubble button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2px solid var(--line);background:#fffaf0;font-size:1.2rem;font-weight:900}.garden-bubble .gb-ok{background:var(--good);border-color:var(--good);color:#fff}.garden-bubble .gb-ok:disabled{opacity:.35}.garden-bubble .gb-no{color:var(--bad)}@media(prefers-reduced-motion:reduce){.gghost>g,.gitem-land{animation:none}}.build-panel{display:grid;gap:12px}.build-panel .tabs{display:flex;gap:8px;flex-wrap:wrap}.build-group h3{margin:4px 0 8px;font-size:1rem}.build-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.build-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border:2px solid var(--line);border-radius:14px;background:#fff;font:inherit;font-weight:700;font-size:.85rem;color:inherit;cursor:pointer;min-height:132px}.build-card.selected{border-color:var(--primary);background:#fff1e3}.build-card.locked .build-preview{filter:grayscale(1) opacity(.45)}.build-preview{width:64px;height:72px;overflow:visible}.build-preview.big{width:140px;height:156px}.build-price{color:var(--primary-dark);font-weight:800;margin:0}.build-count{position:absolute;top:6px;inset-inline-end:6px;background:var(--secondary);color:#fff;border-radius:999px;padding:0 7px;font-size:.75rem}.build-empty{display:grid;gap:8px;justify-items:center;text-align:center;color:var(--muted)}.build-sheet{display:grid;gap:8px;justify-items:center;text-align:center;width:min(100%,360px);animation:pop .25s ease-out}.build-sheet h2{margin:0}.swing-sway{transform-origin:2px -84px;animation:swing 2.4s ease-in-out infinite alternate}@keyframes swing{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media(prefers-reduced-motion:reduce){.swing-sway{animation:none}}.world-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}.world-chip{display:grid;gap:4px;background:#fff8ea;border-radius:12px;padding:8px 10px;font-weight:700}.world-chip small{color:var(--muted)}.pet-pick{position:absolute;inset-inline:12px;top:64px;max-width:560px;margin-inline:auto;z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:var(--radius);background:#fffdf8f5;box-shadow:var(--shadow);animation:pop .3s ease-out}.pet-pick-row{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:4px 2px 6px}.pet-choice{flex:0 0 auto;width:84px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:3px solid var(--line);border-radius:14px;background:#fff}.pet-choice.selected{border-color:var(--primary);background:#fff1e3}.pet-choice-art{width:52px}.pet-choice-art svg{display:block;width:100%}.pet-choice-name{font-weight:800;font-size:.85rem}.pet-choice-icons{font-size:.85rem}.pet-pick-info{margin:0;font-size:.85rem;font-weight:700;color:var(--secondary);text-align:center}.friend-power.pet-jump .ally-art{animation:pet-jump .5s ease-out}@keyframes pet-jump{40%{transform:translateY(-22%) scale(1.08)}}.pet-shots span{position:absolute;inset-inline-end:calc(5% + var(--foe-w) / 2 - 16px);bottom:calc(var(--arena-b) + var(--foe-w) * .3 + var(--i) * 9px);font-size:1.9rem;animation:pet-shot .55s ease-in both;animation-delay:calc(.05s + var(--i) * .07s)}.fx-layer.super .pet-shots span{font-size:2.5rem}@keyframes pet-shot{0%{transform:translate(calc(var(--dir) * -48cqw)) scale(.6) rotate(0);opacity:0}20%{opacity:1}85%{opacity:1}to{transform:translate(0) scale(1.1) rotate(calc(var(--dir) * 220deg));opacity:0}}@media(prefers-reduced-motion:reduce){.pet-shots span,.friend-power.pet-jump .ally-art{animation:none;opacity:0}}.hero-edit{display:flex;flex-direction:column;gap:12px}.hero-edit h2{margin:0}.falcon-art:not(.pet-falcon){width:clamp(52px,15cqw,130px);align-self:flex-end}.pet-leap{animation:pet-leap .8s ease-in-out}@keyframes pet-leap{45%{transform:translate(calc(var(--dir) * 42cqw),-8cqw) scale(1.15)}60%{transform:translate(calc(var(--dir) * 40cqw)) scale(1.05,.92)}}.pet-choice.locked{opacity:.75;border-style:dashed;cursor:default}.pet-choice.locked .pet-choice-icons{font-size:.72rem;font-weight:700;color:var(--muted)}.new-pet-line{margin:0;font-weight:800;font-size:1.1rem}.marker-friend{width:34px}.house-screen,.house-room{min-height:100dvh;overflow-x:clip;padding:12px 16px 28px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(#cfeefc,#fdf6e9 55%)}.room-title{margin:0;text-align:center;font-family:var(--display);font-size:1.7rem;color:var(--primary-dark)}.dollhouse{position:relative;width:100%;max-width:680px;margin:0 auto;padding:0 34px;border-radius:24px;overflow:hidden;background:linear-gradient(#a9dbf3,#dff2fb 55%,#f4e6c4);transition:background .6s}.dollhouse.is-night{background:linear-gradient(#1c2757,#3a4a86 60%,#4b4a6e)}.dh-sky{display:block;width:calc(100% + 68px);margin:0 -34px -46px;height:120px}.dh-building{position:relative;z-index:1;filter:drop-shadow(0 12px 16px rgba(122,75,34,.3))}.dh-roof{display:block;width:100%;height:64px;overflow:visible}.dh-smoke circle{transform-box:fill-box;transform-origin:center;animation:dh-smoke 2.7s ease-out infinite both}@keyframes dh-smoke{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:.7}to{transform:translate(16px,-46px) scale(1.4);opacity:0}}.dh-floors{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;padding:12px;background:repeating-linear-gradient(0deg,rgba(122,75,34,.08) 0 2px,transparent 2px 22px),#d9a66b;position:relative}.dh-floors:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0 calc((100% - 24px) / 3 + 4px),#a87443 calc((100% - 24px) / 3 + 4px) calc((100% - 24px) / 3 + 16px));pointer-events:none;opacity:.55}@media(min-width:720px){.dh-floors{grid-template-columns:repeat(3,1fr)}}.dh-floors .room-tile{box-shadow:inset 0 14px 14px -8px #3b2a1a73,inset 0 0 0 4px #b98852;border-radius:6px}.dollhouse.is-night .dh-floors .room-tile .room-thumb{filter:brightness(.75) sepia(.25)}.dollhouse.is-night .dh-floors .room-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 30%,rgba(255,213,107,.25),transparent 70%);pointer-events:none}.dollhouse.is-night .dh-floors{filter:brightness(.85)}.dh-front{display:flex;justify-content:center;padding:10px 12px 0;background:#c48f55;border-top:6px solid #a87443}.dh-door{position:relative;display:flex;flex-direction:column;align-items:center;border:none;background:none;padding:0}.dh-door-arch{display:block;width:86px;height:92px;border-radius:43px 43px 0 0;border:6px solid #fffaf0;border-bottom:none;background:repeating-linear-gradient(90deg,#8a5a3b 0,#8a5a3b 12px,#7a4e32 12px,#7a4e32 14px);box-shadow:inset 0 0 0 3px #00000026;transition:transform .2s}.dh-door:active .dh-door-arch{transform:scale(.96)}.dh-door-sign{position:absolute;top:26px;padding:3px 12px;border-radius:99px;background:#fffdf8;font-weight:800;box-shadow:0 3px #00000026;white-space:nowrap}.dh-yard{display:block;width:calc(100% + 68px);height:46px;margin:-14px -34px 0}.dh-palm{position:absolute;bottom:18px;width:84px;height:112px;z-index:2;pointer-events:none}.dh-palm-a{inset-inline-start:-18px}.dh-palm-b{inset-inline-end:-14px;width:72px;height:96px}.dh-switch{display:flex;justify-content:center}.mode-btn.night-btn.on{background:#2c3a72;color:#fff}.walk-hero{transition:transform .8s ease-in-out}.walk-pet{transition:transform .95s ease-in-out .15s}.walk-bob{animation:walk-bob .28s ease-in-out infinite alternate}@keyframes walk-bob{to{translate:0 -5px}}.pet-hover{animation:pet-hover 1.6s ease-in-out infinite}@keyframes pet-hover{50%{translate:0 -6px}}.room-stage{animation:room-in .35s ease-out both}@keyframes room-in{0%{transform:scale(.9);opacity:0}}@media(prefers-reduced-motion:reduce){.dh-smoke circle,.walk-bob,.pet-hover{animation:none}}.room-tile{position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;background:#fffaf0;box-shadow:inset 0 0 0 3px #7a4b2240;transition:transform .12s}.room-tile:active{transform:scale(.97)}.room-thumb{display:block;width:100%;height:auto;pointer-events:none}.room-label{position:absolute;inset-inline-start:6px;bottom:6px;padding:1px 10px;border-radius:999px;background:#3b2a1ad1;color:#fff;font-weight:800;font-size:.85rem}.room-tile.locked .room-thumb{filter:grayscale(1) blur(1.5px);opacity:.55}.room-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;text-align:center;color:var(--ink);font-weight:700;line-height:1.3}.room-lock span{font-size:1.6rem}.room-lock small{font-size:.75rem;background:#fffdf8eb;border-radius:10px;padding:2px 8px}.room-stage{width:min(100%,calc((100dvh - 250px) * 400 / 440));min-width:min(100%,320px);margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 0 0 4px #fffaf0,0 10px 24px #7a4b2240}.room-svg{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none}.mode-switch{display:flex;justify-content:center;gap:10px}.mode-btn{min-height:52px;min-width:132px;padding:8px 20px;border:3px solid var(--line);border-radius:999px;background:#fff;font-size:1.1rem;font-weight:800;box-shadow:0 3px #0000001a}.mode-switch .mode-btn{flex:0 1 132px;min-width:0}.mode-switch .night-btn{flex:0 0 52px;padding:8px 0}.mode-btn.on{border-color:var(--primary);background:var(--primary);color:#fff}.room-hint{margin:0;text-align:center;color:var(--muted);font-weight:700}.home-btn{font-size:1.05rem}.h-obj.active{cursor:pointer}.h-obj.active:focus{outline:none}.h-obj.active:focus-visible{filter:drop-shadow(0 0 4px #e07a2f) drop-shadow(0 0 2px #e07a2f)}.mode-decorate .h-badge{animation:badge-pulse 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes badge-pulse{50%{transform:scale(1.15)}}.room-svg .breathe,.room-svg .h-hop,.room-svg .h-eat{transform-box:fill-box;transform-origin:50% 100%}.h-pet{transition:transform .8s ease-in-out}.h-hop{animation:h-hop .6s ease-out}@keyframes h-hop{35%{transform:translateY(-22%) scale(1.06,.96)}60%{transform:translateY(0) scale(1.05,.92)}}.h-eat{animation:h-eat .4s ease-in-out infinite}@keyframes h-eat{50%{transform:rotate(6deg) translateY(4%)}}.h-bounce{animation:h-bounce .7s ease-out}@keyframes h-bounce{30%{transform:translateY(-26px)}55%{transform:translateY(0) scale(1.08,.9)}75%{transform:translateY(-8px)}}.h-wiggle{animation:h-wiggle .6s ease-in-out}@keyframes h-wiggle{25%{transform:rotate(-6deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}.h-roll{animation:h-roll 1.4s ease-in-out}@keyframes h-roll{45%{transform:translate(-130px) rotate(-360deg)}}.h-zzz text,.h-float{animation:h-float 1.6s ease-out both}@keyframes h-float{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-34px)}}.h-swim{animation:h-swim 8s linear infinite}@keyframes h-swim{0%{transform:translate(0) scaleX(1)}49%{transform:translate(var(--swim)) scaleX(1)}50%{transform:translate(var(--swim)) scaleX(-1)}99%{transform:translate(0) scaleX(-1)}to{transform:translate(0) scaleX(1)}}.h-bob{animation:bob 2.4s ease-in-out infinite}.h-sway{animation:h-sway 3s ease-in-out infinite}@keyframes h-sway{50%{transform:rotate(6deg)}}.fish-tail{animation:fish-tail .9s ease-in-out infinite}@keyframes fish-tail{50%{transform:scaleX(.72) rotate(4deg)}}.fish-fin{animation:fish-fin 1.4s ease-in-out infinite}@keyframes fish-fin{50%{transform:rotate(-14deg)}}.fish-eye{transform-box:fill-box;transform-origin:center;animation:fish-eye 5.5s linear infinite}@keyframes fish-eye{0%,95%,to{transform:scaleY(1)}97.5%{transform:scaleY(.1)}}.reef-ray{opacity:.1;animation:reef-ray 6s ease-in-out infinite}@keyframes reef-ray{50%{opacity:.2}}.reef-glint{opacity:.2;animation:reef-glint 3.3s ease-in-out infinite}@keyframes reef-glint{50%{opacity:.55;transform:translate(8px)}}.reef-bubble{animation:reef-bubble 5.2s ease-in infinite}@keyframes reef-bubble{0%{transform:translateY(0);opacity:0}10%,90%{opacity:1}to{transform:translateY(var(--rise));opacity:0}}@media(prefers-reduced-motion:reduce){.fish-tail,.fish-fin,.fish-eye,.reef-ray,.reef-glint,.reef-bubble,.fish-spin,.fish-berry,.fish-rainbow,.reef-confetti{animation:none}}.fish-spin{transform-box:fill-box;transform-origin:center;animation:fish-spin .9s ease-in-out}@keyframes fish-spin{to{transform:rotate(360deg)}}.fish-berry{animation:fish-berry .9s ease-out infinite}@keyframes fish-berry{0%{transform:translateY(0);opacity:1}to{transform:translateY(-36px);opacity:0}}.fish-rainbow{stroke:#ef6f6c;animation:fish-rainbow 2s linear infinite}@keyframes fish-rainbow{25%{stroke:#ffd25e}50%{stroke:#5cd08a}75%{stroke:#6db7f2}}.reef-confetti{animation:reef-confetti 3s linear infinite}@keyframes reef-confetti{0%{transform:translateY(0)}to{transform:translateY(var(--fall))}}.treat-tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.treat{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;min-height:72px;padding:4px 1px;border:3px solid transparent;border-radius:14px;background:#fffaf0;box-shadow:0 2px 6px #7a4b222e;color:inherit;font:inherit;cursor:pointer}.treat.on{border-color:#f2a93b;background:#fff6d6}.treat:disabled{opacity:.55;cursor:default}.treat svg{width:30px;height:30px}.treat .icon,.treat-left svg{width:13px;height:13px}.treat-name{max-width:100%;font-size:12px;font-weight:700;line-height:1.15;text-align:center}.treat-left{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:800;white-space:nowrap}.h-gulp{transform-box:fill-box;transform-origin:center;animation:h-gulp .35s ease-out}@keyframes h-gulp{50%{transform:scale(1.15,.9)}}.h-bubbles circle{animation:h-rise 1.6s ease-in both}@keyframes h-rise{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-170px);opacity:0}}.h-dance{animation:h-dance .8s ease-in-out infinite}@keyframes h-dance{25%{transform:translateY(-6px) rotate(-6deg)}75%{transform:translateY(-6px) rotate(6deg)}}.h-door{animation:h-door 2.2s ease-in-out}@keyframes h-door{20%,80%{transform:scaleY(.12)}}.h-drive{animation:h-drive 2.2s ease-in-out}@keyframes h-drive{45%{transform:translate(330px);opacity:1}46%{transform:translate(330px);opacity:0}47%{transform:translate(-340px);opacity:0}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.h-dance,.h-swim,.h-sway,.h-bob,.h-eat,.mode-decorate .h-badge{animation:none}}.looks-sheet{position:fixed;inset-inline:0;bottom:0;z-index:30;width:100%;max-width:760px;max-height:58dvh;margin:0 auto;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--card);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px #3b2a1a40;animation:sheet-up .25s ease-out}@keyframes sheet-up{0%{transform:translateY(40%);opacity:0}}.looks-head{display:flex;align-items:center;justify-content:space-between;font-size:1.15rem}.looks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.look{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border:3px solid var(--line);border-radius:16px;background:#fff;font:inherit}.look.using{border-color:var(--primary);background:#fff1e3}.look:disabled{opacity:.55}.look-art{width:100%;height:64px}.look-name{font-weight:800;font-size:.85rem;line-height:1.25}.look-price{font-size:.8rem;font-weight:800;color:var(--primary-dark)}.look-price.have{color:var(--good)}.fish-row{display:flex;flex-wrap:wrap;gap:8px}.fish-chip{width:64px;height:46px;padding:4px;border:2px solid var(--line);border-radius:12px;background:#dff4fb}.fish-chip svg{width:100%;height:100%}.fish-chip.resting{background:#fffaf0;border-style:dashed}.fish-chip:disabled{opacity:.45}.room-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:640px;margin:0 auto}.room-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 4px 6px;border:3px solid var(--line);border-radius:14px;background:#fff;font-weight:800;font-size:.8rem}.room-chip.on{border-color:var(--primary);background:#fff1e3}.room-chip-art{display:block;width:100%;height:auto;border-radius:9px;pointer-events:none}@media(min-width:900px)and (min-aspect-ratio:1/1){.room-nav{grid-template-columns:repeat(6,1fr);max-width:900px}}@media(min-width:900px)and (min-aspect-ratio:1/1){.room-stage{width:min(100%,calc((100dvh - 360px) * 400 / 440))}}.map-screen{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.map-fabs{inset-inline:0;bottom:0;flex-direction:row;justify-content:center;gap:clamp(8px,3vw,22px);padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:2px solid var(--line);box-shadow:0 -4px 14px #7a4b2226}.map-fabs .fab{flex:none;width:48px;height:48px;font-size:1.35rem}.stop.fresh .stop-progress{display:none}@media(min-width:640px){.map-screen{padding-bottom:0}.map-fabs{inset-inline:auto calc(16px + env(safe-area-inset-right,0px));top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:14px;padding:12px 10px;border:2px solid var(--line);border-radius:999px;box-shadow:0 6px 20px #7a4b2233}.map-fabs .fab{width:52px;height:52px;font-size:1.45rem}.medallion{width:82px;height:82px}.stop{width:120px}.stop .stop-name{font-size:.86rem;max-width:180px}.stop-score{font-size:.78rem}}@media(min-width:640px)and (max-height:520px){.map-fabs{gap:8px;padding:8px 6px}.map-fabs .fab{width:44px;height:44px;font-size:1.2rem}}button.oasis-banner{pointer-events:auto;font:inherit;font-weight:800;font-size:1.05rem;color:inherit;cursor:pointer;z-index:3}button.oasis-banner:active{transform:translate(-50%,-50%) scale(.96)}.info-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#1f6f8b;color:#fff;font-size:.72rem;margin-inline-start:2px;vertical-align:1px}.spring-ring{transform-box:fill-box;transform-origin:center;animation:spring-ring 1.2s ease-out infinite}@keyframes spring-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.35);opacity:0}}@media(prefers-reduced-motion:reduce){.spring-ring{animation:none}}.confirm-buy{z-index:40}.confirm-art svg{width:96px;height:96px}.icon{display:inline-block;flex:none;width:var(--icon-size, 1.25em)!important;height:var(--icon-size, 1.25em)!important;max-width:none!important;max-height:none!important;vertical-align:-.28em;overflow:visible}.test-chapter{text-align:center;font-weight:700;margin:-4px 0 4px}.guardian{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px auto 8px;max-width:520px}.guardian-art.hit{animation:shake .4s}.guardian-shield{display:flex;gap:4px;margin:4px 0;font-size:1.3rem}.guardian-shield span{transition:opacity .3s,transform .3s,filter .3s}.guardian-shield span.broken{opacity:.3;filter:grayscale(1);transform:rotate(-18deg) scale(.85)}.test-weak{text-align:start;width:100%}.test-weak ul{margin:4px 0 0;padding-inline-start:20px;font-weight:700}.test-waiting{font-weight:700;color:var(--secondary)}.gate{position:absolute;transform:translate(-50%,-25%);border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:1}.gate-locked{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffaf0d9;box-shadow:0 2px 4px #3b2a1a33;font-size:1.2rem}.gate-locked .gate-lock{position:absolute;bottom:-5px;inset-inline-end:-6px;font-size:.7rem}.gate-trophy{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fffaf0;border:3px solid #e0a630;box-shadow:0 3px #0003;font-size:1.3rem}.gate-ready .gate-chest{position:relative;display:block;font-size:2.6rem;line-height:1;filter:drop-shadow(0 0 7px rgba(255,213,74,.95))}.gate-chest>.icon{animation:chest-wiggle 2.4s ease-in-out infinite}.gate-pet{position:absolute;bottom:70%;left:50%;width:34px;margin-left:-17px;animation:peek 1.8s ease-in-out infinite}.gate-pet b{position:absolute;top:-8px;inset-inline-end:-12px;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--secondary);font-size:.75rem;font-weight:900;display:grid;place-items:center;box-shadow:0 1px 3px #3b2a1a4d}@keyframes chest-wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-9deg)}82%{transform:rotate(8deg)}88%{transform:rotate(-5deg)}}.treasure{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.treasure-stage{position:relative;width:220px;height:200px;display:grid;place-items:center}.treasure-chest{position:relative;z-index:2;border:none;background:none;padding:0;font-size:6rem;line-height:1;filter:drop-shadow(0 0 16px rgba(255,213,74,.95))}.treasure-chest:disabled{opacity:1;cursor:default}.phase-arrive .treasure-chest{animation:chest-drop 1.1s cubic-bezier(.3,1.4,.5,1) .5s both}@keyframes chest-drop{0%{transform:translateY(-190px) scale(.2) rotate(-20deg);opacity:0}70%{transform:translateY(8px) scale(1.12) rotate(4deg);opacity:1}to{transform:none}}.treasure-beam{position:absolute;top:-40px;bottom:30px;left:50%;width:90px;margin-left:-45px;background:linear-gradient(to bottom,#ffec9600,#ffec96d9 60%,#ffec9600);border-radius:50%;opacity:0;filter:blur(4px)}.phase-arrive .treasure-beam{animation:beam 1.6s ease-out both}@keyframes beam{20%,60%{opacity:1}to{opacity:0}}.treasure-sparks span{position:absolute;left:50%;top:50%;margin:-12px 0 0 -12px;font-size:1.5rem;opacity:0}.phase-arrive .treasure-sparks span{animation:spark-in 1.1s ease-in both}@keyframes spark-in{0%{transform:rotate(var(--a)) translate(150px) scale(.4);opacity:0}30%{opacity:1}to{transform:rotate(calc(var(--a) + 220deg)) translate(0) scale(1.2);opacity:0}}.phase-open .treasure-sparks span{animation:spark-out .9s ease-out both}@keyframes spark-out{0%{transform:rotate(var(--a)) translate(10px) scale(.6);opacity:1}to{transform:rotate(calc(var(--a) + 40deg)) translate(130px) scale(1);opacity:0}}.phase-waiting .treasure-chest{cursor:pointer;animation:chest-float 2.2s ease-in-out infinite}@keyframes chest-float{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}62%{transform:translateY(-10px) rotate(-7deg)}70%{transform:translateY(-12px) rotate(7deg)}78%{transform:translateY(-10px) rotate(-3deg)}}.phase-opening .treasure-chest{animation:chest-rattle .13s linear infinite}@keyframes chest-rattle{25%{transform:translate(-5px,1px) rotate(-6deg) scale(1.04)}75%{transform:translate(5px,-1px) rotate(6deg) scale(1.08)}}.phase-open .treasure-chest{animation:chest-pop .5s ease-out both}@keyframes chest-pop{0%{transform:scale(1.25)}to{transform:scale(1)}}.treasure-rays{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:repeating-conic-gradient(#ffdc5a8c 0,#ffdc5a8c 12deg,#ffdc5a00 12deg,#ffdc5a00 30deg);mask:radial-gradient(circle,#000 30%,transparent 70%);opacity:0;z-index:0}.phase-open .treasure-rays{animation:rays-in .6s ease-out both,rays-spin 9s linear infinite}@keyframes rays-in{0%{opacity:0;transform:scale(.3)}to{opacity:1}}@keyframes rays-spin{to{rotate:360deg}}.treasure-peek{position:absolute;z-index:1;top:6px;width:64px;animation:peek 1.8s ease-in-out infinite}.treasure-peek b{position:absolute;top:-6px;inset-inline-end:-10px;background:#fff;color:var(--secondary);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:900;box-shadow:0 2px 4px #3b2a1a40}.phase-arrive .treasure-peek{opacity:0}@keyframes peek{0%,to{transform:translateY(14px)}50%{transform:translateY(0)}}.treasure-pet{position:absolute;z-index:3;width:120px;top:-30px;animation:pet-leap .9s cubic-bezier(.3,1.5,.5,1) both}@keyframes pet-leap{0%{transform:translateY(110px) scale(.1);opacity:0}60%{transform:translateY(-24px) scale(1.15);opacity:1}to{transform:none}}.treasure-coins span{position:absolute;z-index:3;left:50%;top:45%;margin:-14px 0 0 -14px;font-size:1.8rem;animation:coin-fly 1.2s cubic-bezier(.2,.7,.4,1) both}@keyframes coin-fly{0%{transform:translate(0) scale(.3);opacity:0}15%{opacity:1}50%{transform:translate(calc(var(--x) * .6),calc(var(--y) - 70px)) scale(1)}to{transform:translate(var(--x),calc(var(--y) + 30px)) scale(.9);opacity:0}}.treasure-hint{font-weight:800;color:var(--secondary);margin:0}.treasure-hint.tap{animation:pop .4s ease-out both}.treasure-prize{display:flex;flex-direction:column;align-items:center;gap:6px;animation:pop .45s ease-out .3s both}.treasure-title{font-size:1.3rem}.treasure-coins-won{font-size:1.35rem;padding:6px 18px}@keyframes gate-glow{50%{filter:drop-shadow(0 0 8px rgba(90,169,230,.95));transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.gate-ready .gate-chest,.gate-chest>.icon,.gate-chest,.treasure *,.treasure-chest{animation-duration:.01s!important;animation-iteration-count:1!important}}.path-test{display:block;font-size:.8rem;font-weight:700;color:var(--secondary)}.path-test.passed{color:#b8860b}.treasure-chest:focus{outline:none}.warm-road{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:4px auto 0;padding:0 12px;max-width:560px}.warm-road li{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fffaf0;border:2px solid var(--line);font-size:.8rem}.warm-road li .icon{filter:grayscale(1);opacity:.45}.warm-road li.passed .icon,.warm-road li.now .icon{filter:none;opacity:1}.warm-road li.passed{border-color:var(--good)}.warm-road li.now{border-color:var(--primary);transform:scale(1.25);box-shadow:0 0 0 3px #e07a2f40}.warm-chapter{text-align:center;margin:8px 12px 0;color:var(--muted)}.warm-chapter strong{color:var(--ink)}.warm-later{display:block;margin:4px auto 16px}.bonus-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:12px;background:#3b2a1a80}.bonus-card{position:relative;width:min(100%,560px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:24px;background:var(--card);box-shadow:0 12px 40px #0000004d;animation:pop .35s ease-out both;overflow:hidden}.bonus-head{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem}.bonus-score{font-weight:900;font-size:1.2rem}.bonus-rule{margin:0;text-align:center;font-weight:800;font-size:1.15rem;color:var(--secondary)}.bonus-time{height:8px;border-radius:99px;background:#f0e2c8;overflow:hidden}.bonus-time i{display:block;height:100%;background:linear-gradient(90deg,#3f9e5a,#f2a93b);transition:width 1s linear}.bonus-area{position:relative;height:min(52dvh,380px);border-radius:18px;overflow:hidden}.bonus-note{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#fff;border-radius:99px;padding:2px 14px;font-weight:800;color:var(--bad);box-shadow:0 2px 6px #00000026;z-index:5;animation:pop .25s ease-out both}.bonus-skip{align-self:center;border:none;background:none;color:var(--muted);font-size:.85rem;text-decoration:underline}.bonus-end{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 0 8px;text-align:center}.bonus-ready-icon{font-size:4.5rem;line-height:1;animation:bounce 1.2s ease-in-out infinite}.bonus-end h3{margin:0;font-size:1.4rem}.bonus .nope,.nope{animation:nope-shake .4s ease-in-out}@keyframes nope-shake{20%{transform:translate(-7px) rotate(-4deg)}60%{transform:translate(7px) rotate(4deg)}}.bonus-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#bfe6f7,#eaf7fc)}.balloon{position:absolute;bottom:-90px;height:78px;transform-origin:center;translate:-50% 0;border:none;border-radius:50% 50% 46% 46%;color:#fff;font-weight:900;font-size:1.05rem;box-shadow:inset -8px -10px #0000001f,inset 6px 6px #ffffff40;animation:balloon-rise linear infinite}.balloon:after{content:"";position:absolute;left:50%;bottom:-26px;width:1.5px;height:26px;background:#8b8f96}.balloon.nope{animation:balloon-rise linear infinite,nope-shake .4s ease-in-out}@keyframes balloon-rise{0%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(calc(min(52dvh,380px)*-.65)) rotate(3deg)}to{transform:translateY(calc(min(52dvh,380px)*-1.35)) rotate(-3deg)}}.balloon-burst{position:absolute;top:40%;width:70px;height:70px;margin-left:-35px;border-radius:50%;background:radial-gradient(circle,#ffd54a 0 20%,transparent 60%);animation:burst .5s ease-out both;pointer-events:none}@keyframes burst{0%{transform:scale(.3);opacity:1}to{transform:scale(1.6);opacity:0}}.bonus-camel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(#ffe9c4,#f2cf8f);padding:12px}.camel-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.date-card{border:3px solid #8a4b20;border-radius:999px/70%;background:radial-gradient(circle at 35% 30%,#c4783c,#8a4b20);color:#fff;font-weight:900;font-size:1.05rem;padding:10px 4px;transition:transform .4s ease-in,opacity .4s ease-in}.date-card.eaten{transform:translateY(160px) scale(.2);opacity:0}.camel-eater{align-self:center;width:120px;transition:transform .2s}.camel-eater.munch{animation:munch .5s ease-in-out}.camel-eater.no{animation:nope-shake .5s ease-in-out}@keyframes munch{30%,70%{transform:scale(1.12,.92)}50%{transform:scale(.95,1.05)}}.bonus-baskets{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px;background:linear-gradient(#eaf5df,#d8ecb6)}.basket-card-slot{display:grid;place-items:center;min-height:110px}.basket-card{display:grid;place-items:center;min-width:110px;padding:18px 22px;border-radius:18px;background:#fff;font-weight:900;font-size:1.6rem;box-shadow:0 6px #0000001f;animation:pop .3s ease-out both;transition:transform .4s ease-in,opacity .4s ease-in}.basket-card.drop-0{transform:translate(calc(var(--dir, 1) * 110px),170px) scale(.4);opacity:0}.basket-card.drop-1{transform:translate(calc(var(--dir, 1) * -110px),170px) scale(.4);opacity:0}[dir=rtl] .basket-card{--dir: -1}.basket-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.basket{display:flex;flex-direction:column;align-items:center;gap:4px;border:3px dashed #a06d3d;border-radius:18px;background:#fffaf0d9;padding:8px;font-weight:800}.basket-body{position:relative;font-size:3rem;line-height:1}.basket-body b{position:absolute;top:-6px;inset-inline-end:-14px;font-size:1rem;color:var(--secondary)}.bonus-wadi{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#e3be82 0 8%,transparent 8% 92%,#e3be82 92%),#e3be82}.wadi-water{position:absolute;top:12%;right:6%;bottom:12%;left:6%;border-radius:40px;background:repeating-linear-gradient(170deg,#5fb7d6 0,#5fb7d6 18px,#6cc3df 18px,#6cc3df 36px)}.stone{position:absolute;transform:translate(-50%,-50%);width:70px;height:52px;border:none;border-radius:50%;background:radial-gradient(circle at 40% 30%,#d9d2c4,#a89e8c);box-shadow:0 5px #7d7466;font-weight:900;font-size:1rem;color:var(--ink);z-index:2}.stone.done{background:radial-gradient(circle at 40% 30%,#bfe6a8,#6fb25a);box-shadow:0 5px #4d8a3c}.stone.nope{animation:nope-shake .4s ease-in-out}.wadi-hero{position:absolute;z-index:3;width:44px;transform:translate(-50%,-95%);transition:left .45s ease-out,top .45s ease-out;pointer-events:none}.wadi-hero svg{width:100%;height:auto}@media(prefers-reduced-motion:reduce){.balloon{animation-duration:20s!important}}.fur-drag{cursor:grab;touch-action:none}.fur-drag.dragging{cursor:grabbing;filter:drop-shadow(0 10px 6px rgba(0,0,0,.3))}.fur-ring{fill:#fff0;stroke:#e07a2f73;stroke-width:2;stroke-dasharray:6 5}.fur-ring.on{fill:#ffd56b2e;stroke:#e07a2f;stroke-width:3.5;animation:fur-ring .8s linear infinite}@keyframes fur-ring{to{stroke-dashoffset:-22}}.fur-off{filter:grayscale(.6) brightness(.8)}.fur-smoke circle{transform-box:fill-box;transform-origin:center;animation:dh-smoke 2.4s ease-out infinite both}.fur-clock-hand{animation:fur-clock 12s linear infinite}@keyframes fur-clock{to{transform:rotate(360deg)}}.fur-twinkle{transform-box:fill-box;transform-origin:center;animation:fur-twinkle 1.6s ease-in-out infinite}@keyframes fur-twinkle{50%{transform:scale(.3);opacity:.3}}.fur-tools{display:flex;justify-content:center;gap:8px;margin:8px auto 0;flex-wrap:wrap}.fur-shop-btn{display:flex;flex-direction:column;align-items:center;gap:2px;margin:6px auto 0;padding:10px 26px;font-size:1.15rem}.fur-shop-btn small{font-size:.8rem;font-weight:600;opacity:.9}.fur-look{position:relative}.fur-look.special{background:linear-gradient(#fff6d6,#ffe7a3);border-color:#e0a92f}.fur-ribbon{position:absolute;top:-8px;inset-inline-start:50%;translate:-50% 0;white-space:nowrap;padding:1px 8px;border-radius:99px;background:#e05a2f;color:#fff;font-size:.7rem;font-weight:800}[dir=rtl] .fur-ribbon{translate:50% 0}.cosy{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px auto 0}.cosy-label{font-weight:800}.cosy-stars span{font-size:1.5rem;color:#d9c9a8}.cosy-stars span.on{color:#f2a93b;text-shadow:0 2px 0 #c47d12}.cosy-stars.big{font-size:2.2rem;color:#f2a93b;margin:0}.cosy-chest{animation:cosy-pulse 1s ease-in-out infinite}.cosy-prize{text-align:center;max-width:340px}.cosy-prize-art{font-size:4.5rem;animation:h-hop .7s ease-out}@keyframes cosy-pulse{50%{transform:scale(1.06)}}.toy{cursor:grab;touch-action:none}.toy.dragging{cursor:grabbing;filter:drop-shadow(0 8px 4px rgba(0,0,0,.3))}.toy-steam{animation:toy-steam 1.6s ease-in-out infinite}@keyframes toy-steam{50%{translate:0 -4px;opacity:.4}}.sp-glint{opacity:0;animation:sp-glint 5s ease-in-out infinite}@keyframes sp-glint{0%,80%,to{opacity:0;transform:scale(.2) rotate(0)}88%{opacity:1;transform:scale(1.3) rotate(45deg)}}.sp-run{animation:sp-run 1.6s ease-in both}@keyframes sp-run{0%{transform:scale(.2);opacity:0}15%{transform:scale(1);opacity:1}35%{transform:translate(0)}90%{opacity:1}to{transform:translate(130px);opacity:0}}.sp-climb{animation:sp-climb 1.8s ease-in both}@keyframes sp-climb{0%{transform:scale(.2);opacity:0}15%{transform:scale(1);opacity:1}40%{transform:translate(0)}to{transform:translate(10px,-110px);opacity:0}}.sp-fly{animation:sp-fly 1.8s ease-in both}@keyframes sp-fly{0%{transform:scale(.2);opacity:0}15%{transform:scale(1);opacity:1}to{transform:translate(140px,-120px);opacity:0}}.sp-wing{transform-box:fill-box;transform-origin:100% 100%;animation:sp-wing .18s ease-in-out infinite alternate}.sp-wing-b{transform-origin:0% 100%}@keyframes sp-wing{to{transform:scaleY(.3)}}.sp-flutter{animation:sp-flutter 2.2s ease-in-out both}@keyframes sp-flutter{0%{transform:scale(.2);opacity:0}15%{transform:scale(1);opacity:1}40%{transform:translate(-30px,-30px)}65%{transform:translate(10px,-60px)}to{transform:translate(-40px,-120px);opacity:0}}.sp-drop{animation:sp-drop 2.4s ease-in-out both}@keyframes sp-drop{0%{transform:translateY(-30px)}30%{transform:translateY(70px)}40%{transform:translateY(58px)}70%{transform:translateY(66px)}to{transform:translateY(-40px)}}.sp-crawl{animation:sp-crawl 2s linear both}@keyframes sp-crawl{0%{transform:scale(.2);opacity:0}15%{transform:scale(1);opacity:1}90%{opacity:1}to{transform:translate(120px,-6px);opacity:0}}.sp-coin{animation:sp-coin 1.6s ease-out both}@keyframes sp-coin{0%{transform:translateY(10px) scale(.3);opacity:0}25%{transform:translateY(-20px) scale(1.2);opacity:1}80%{transform:translateY(-34px) scale(1);opacity:1}to{transform:translateY(-50px) scale(.9);opacity:0}}@media(prefers-reduced-motion:reduce){.sp-glint,.sp-wing,.toy-steam{animation:none}}.want{animation:want-in .4s ease-out both}@keyframes want-in{0%{opacity:0;transform:translateY(6px)}}.pet-gift{position:fixed;top:84px;left:50%;translate:-50% 0;z-index:30;padding:10px 20px;border-radius:99px;background:#fff6d6;border:3px solid #f2a93b;box-shadow:0 6px 18px #7a4b2240;font-weight:800;white-space:nowrap;animation:pet-gift 3.2s ease-out both}@keyframes pet-gift{0%{opacity:0;transform:translateY(-16px) scale(.8)}10%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.car-spin{transform-box:fill-box;transform-origin:center;animation:car-spin .45s linear infinite}@keyframes car-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.car-spin{animation:none}}.studio{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#1a2029;padding:0;--st-tile: 92px}.studio .topbar{padding:8px 12px;margin:0;background:#1a2029}.st-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.st-room{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.st-door{transform-box:fill-box;transition:transform .9s cubic-bezier(.6,0,.3,1)}.leaving .st-door{transform:translateY(-98%)}.st-ring{transform-box:fill-box;transform-origin:center}.st-top{position:absolute;top:8px;inset-inline:8px;display:flex;justify-content:space-between;gap:6px;z-index:3}.st-bays,.st-side{display:flex;gap:6px}.st-bay{width:56px;height:46px;padding:2px;border-radius:12px;border:2px solid transparent;background:#ffffffd1}.st-bay.on{border-color:var(--gold);background:#fff}.st-bay svg{width:100%;height:100%}.st-round{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:0;font-size:1.25rem;background:#ffffffdb}.st-car-box{position:absolute;inset-inline:0;bottom:13%;width:100%;max-height:72%;transform-origin:50% 90%;direction:ltr;z-index:2}.st-car-turn{position:relative;transition:transform .2s ease-out;transform-origin:50% 90%}.st-car{display:block;width:100%;max-height:100%;transition:transform .36s ease-out;transform-origin:50% 85%}.st-car+.st-car{position:absolute;top:0;right:0;bottom:0;left:0}[data-focus=wheels] .st-car{transform:scale(1.14)}.st-car.sweep{animation:st-sweep .8s ease-out}@keyframes st-sweep{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.leaving .st-car-box{transition:transform 1s ease-in .35s;transform:translate(120%)}.car-hood,.car-door{transition:transform .34s cubic-bezier(.3,1.5,.5,1)}.car-inside{opacity:0;transition:opacity .1s linear}.car-inside.on{opacity:1}.st-spot{fill:#fff;fill-opacity:.14;stroke:#fff;stroke-width:2.5;stroke-dasharray:6 6;pointer-events:none}.st-spot.glow{fill:#ffd54a;fill-opacity:.4;stroke:#ffd54a}.st-hint{fill:#fff;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:st-pulse 1.6s ease-in-out infinite}@keyframes st-pulse{50%{transform:scale(1.7);opacity:.35}}.st-pet{position:absolute;bottom:3%;inset-inline-start:4%;width:74px;z-index:3}.st-pet svg{width:100%;height:auto;display:block}.st-honk,.st-go,.st-wash{position:absolute;bottom:10px;min-height:56px;padding:0 18px;border:0;border-radius:28px;font:inherit;font-weight:800;z-index:4;display:flex;align-items:center;gap:6px}.st-honk{inset-inline-start:calc(4% + 84px);background:#fff;color:var(--ink)}.st-go{inset-inline-end:10px;background:var(--primary);color:#fff;font-size:1.15rem;box-shadow:0 4px 0 var(--primary-dark)}.st-wash{bottom:74px;inset-inline-end:10px;background:#4c9be6;color:#fff}.st-parked{position:absolute;top:60px;inset-inline:62px;text-align:center;z-index:4;padding:8px;border-radius:14px;color:#fff;background:#141c26cc}.st-goal{display:flex;align-items:center;gap:8px;flex:none;padding:6px 12px;border:0;font:inherit;font-size:.85rem;color:#fff;background:#2c333d}.st-goal-bar{flex:1;height:10px;border-radius:5px;overflow:hidden;background:#48515e}.st-goal-bar i{display:block;height:100%;background:var(--gold)}.st-buy{display:flex;align-items:center;gap:8px;flex:none;padding:8px 12px;background:#fff8e8;color:var(--ink)}.st-buy-text{display:flex;flex-direction:column;flex:1;min-width:0}.st-buy-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-sum{font-size:.9rem;color:var(--muted);white-space:nowrap}.st-buy .btn{margin-inline-start:auto;min-height:52px}.st-buy.done{background:#e4f6e9}.st-tray{flex:none;display:grid;grid-auto-flow:column;grid-auto-columns:var(--st-tile);gap:8px;padding:10px 12px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;background:#fff8e8}.tile{position:relative;height:108px;padding:6px 4px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;border:3px solid #ead9bd;border-radius:16px;background:#fff;font:inherit;color:var(--ink);touch-action:pan-x;user-select:none;-webkit-user-select:none;transition:transform .05s}.tile:active{transform:scale(.95)}.tile.on{border-color:var(--primary);background:#fff1dc}.tile-art{flex:1;min-height:0;width:100%}.tile>.icon,.tile>svg:not(.tile-art){flex:1;width:40px}.tile-name{font-size:.74rem;font-weight:700;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;max-width:100%}.tile-note{font-size:.72rem;color:var(--muted)}.st-hint-text{flex:none;margin:0;padding:2px 12px 6px;text-align:center;font-size:.82rem;color:var(--muted);background:#fff8e8}.st-dock{flex:none;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:2px solid #ead9bd;padding-bottom:env(safe-area-inset-bottom)}.st-dock button{min-height:68px;border:0;background:transparent;font:inherit;font-size:.76rem;font-weight:700;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.st-dock button .icon{font-size:1.5rem}.st-dock button.on{color:var(--primary-dark);background:#fff1dc}.st-drag{position:fixed;width:120px;height:60px;margin:-90px 0 0 -60px;pointer-events:none;z-index:40}.reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:radial-gradient(circle at 50% 45%,#414c5c,#10161f 72%);direction:ltr;touch-action:none}.reveal-beam{position:absolute;top:0;right:12%;bottom:30%;left:12%;background:linear-gradient(#fff6c9,transparent);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);opacity:.16}.reveal-table{position:absolute;inset-inline:2%;top:58%;height:11%;border-radius:50%;background:radial-gradient(#e7edf3,#7f8b99)}.reveal-car,.reveal-sheet{position:absolute;inset-inline:0;top:32%;width:100%}.reveal.off .reveal-car{animation:reveal-turn 3.6s ease-in-out infinite}@keyframes reveal-turn{50%{transform:perspective(700px) rotateY(16deg)}}.reveal.off .reveal-sheet{transition:transform .7s cubic-bezier(.5,0,.8,.6),opacity .7s;transform:translate(40%,-120%) rotate(24deg);opacity:0}.reveal-hint{position:absolute;inset-inline:0;bottom:14%;text-align:center;color:#fff;font-size:1.3rem;font-weight:800;animation:st-pulse-text 1.4s ease-in-out infinite}@keyframes st-pulse-text{50%{transform:translateY(-8px)}}.reveal-actions{position:absolute;inset-inline:12px;bottom:40px;display:flex;justify-content:center;gap:8px}.book{width:min(94vw,460px);max-height:86dvh;overflow:auto}.book-cars{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.book-car{display:flex;flex-direction:column;align-items:center;padding:6px;border:2px solid var(--line);border-radius:14px;background:#fff;font:inherit;color:var(--ink)}.book-car svg{width:100%;height:76px}.book-counts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:.9rem}.book-counts b{float:inline-end}.photo-card{width:min(92vw,520px);padding:12px 12px 4px;border-radius:8px;text-align:center;background:#fff;transform:rotate(-1.5deg);direction:ltr}.photo-card svg{width:100%;display:block}.photo-card p{margin:8px 0;font-weight:800}.parade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;overflow:hidden;background:linear-gradient(#6fc5ee,#ffe6b5 62%);direction:ltr}.parade-land{position:absolute;inset:auto 0 0 0;width:100%;height:60%}.parade-car{position:absolute;bottom:22%;left:0;width:66vw;max-width:420px;animation:parade-roll 6s linear both}@keyframes parade-roll{0%{transform:translate(-110%)}to{transform:translate(160vw)}}.parade-pets{position:absolute;bottom:3%;inset-inline:0;display:flex;justify-content:center;gap:8px}.parade-pets span{width:66px;animation:parade-hop .7s ease-in-out infinite}@keyframes parade-hop{50%{transform:translateY(-14px)}}.dune,.wash-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;overflow:hidden;background:#6fc5ee;direction:ltr;touch-action:none;user-select:none;-webkit-user-select:none}.dune-world{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dune-car{position:absolute;top:0;left:0;transform-origin:50% 100%;will-change:transform}.dune-car svg{display:block;width:100%}.dune-stars{position:absolute;top:12px;right:12px}.dune-pedals{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;padding:0 0 max(0px,env(safe-area-inset-bottom))}.dune-pedal{width:42%;height:112px;border:0;font:inherit;font-size:1.3rem;font-weight:800;color:#fff;touch-action:none}.dune-pedal.jump{order:-1;background:#2a8c88e6;border-start-end-radius:40px}.dune-pedal.go{background:#e07a2feb;border-start-start-radius:40px}.dune-pedal:active{filter:brightness(1.15)}.dune-hint{display:none}.dune-end{position:absolute;inset:26% 8% auto;text-align:center;padding:20px}.wash-page{background:linear-gradient(#b8e4f5,#eaf6fb 60%,#9fb0bf 60%)}.wash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px}.wash-title{margin:0;font-size:1.25rem;font-weight:800;text-align:center;color:var(--ink)}.wash-car{width:100%;max-width:560px;touch-action:none}.wash-foam{animation:wash-foam 1.2s ease-out both;pointer-events:none}@keyframes wash-foam{to{opacity:0;transform:translateY(-20px)}}.wash-shine{animation:wash-shine 1.1s ease-in-out;pointer-events:none;opacity:0}@keyframes wash-shine{0%{opacity:.8;transform:translate(0)}to{opacity:0;transform:translate(320px)}}.dh-car{position:absolute;bottom:4px;inset-inline-start:6%;width:22%;z-index:3;direction:ltr}@media(prefers-reduced-motion:reduce){.st-hint,.st-car.sweep,.reveal.off .reveal-car,.reveal-hint,.parade-pets span,.wash-foam,.wash-shine{animation:none}}.st-stage{container-type:size}.st-car-box{width:min(100cqw,112cqh);margin-inline:auto;bottom:max(13%,58px)}@media(max-height:660px){.st-hint-text{display:none}.tile{height:90px}.st-dock button{min-height:56px}.st-honk,.st-go{min-height:48px;padding:0 14px}.st-pet{width:54px}.st-honk{inset-inline-start:calc(4% + 60px)}}@media(max-width:350px){.st-bay{width:46px;height:42px}.st-round{width:42px;height:42px}}.reveal-table{display:grid;place-items:center;overflow:hidden}.reveal-table:after{content:"";width:94vw;height:94vw;flex:none;border-radius:50%;background:repeating-conic-gradient(#7f8b99 0 10deg,transparent 10deg 30deg);opacity:.55;transform:scaleY(.11)}.reveal.off .reveal-table:after{animation:reveal-table 5s linear infinite}@keyframes reveal-table{0%{transform:scaleY(.11) rotate(0)}to{transform:scaleY(.11) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.reveal.off .reveal-table:after{animation:none}}
