@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(./nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(./nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(./nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(./nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(./nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(./nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(./nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-cyrillic-ext-900-normal-BLeVovcl.woff2)format("woff2"),url(./nunito-cyrillic-ext-900-normal-DKFql_-q.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(./nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-vietnamese-900-normal-D6LWQAy_.woff2)format("woff2"),url(./nunito-vietnamese-900-normal-WV2-fBew.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-latin-ext-900-normal-Dllsvgjo.woff2)format("woff2"),url(./nunito-latin-ext-900-normal-CTBZd6bf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(./nunito-latin-900-normal-CVn49sIn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#5b3b4a;--ink-soft:#8a6a7a;--pink:#e86aa6;--pink-light:#ffd0e6;--lilac:#a77be0;--lilac-light:#ece2ff;--mint:#5fd0c8;--gold:#ffd24a;--sky-top:#a9dcff;--sky-bottom:#eaf7ff;--cream:#fff8fc;--bg:#fdeef6;--card:#fff;--shadow:0 6px 0 #5b3b4a2e;--radius:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none;margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:800}#app{height:100dvh;overflow:hidden}h1,h2,h3{margin:.3em 0;font-weight:900}.hidden{display:none!important}.svg-wrap svg,.preview svg,.thumb svg,.avatar-el svg,.rider-horse>svg,.gate-art svg{width:100%;height:100%;display:block}.btn{font:inherit;color:var(--ink);background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.55em 1.1em;font-size:clamp(16px,2.4vmin,22px);transition:transform 80ms}.btn:active{transform:translateY(4px);box-shadow:0 2px #5b3b4a2e}.btn:disabled{opacity:.45}.btn-primary{background:var(--pink);color:#fff}.btn-big{padding:.6em 1.4em;font-size:clamp(20px,3.2vmin,30px)}.btn-small{padding:.4em .9em;font-size:clamp(14px,2vmin,18px)}.btn-tiny{box-shadow:none;padding:.1em .6em;font-size:16px}.btn-ghost{box-shadow:none;color:var(--ink-soft);background:0 0;border-color:#0000}.btn-danger{color:#fff;background:#ff6b6b}.btn-round{justify-content:center;align-items:center;width:clamp(48px,7vmin,64px);height:clamp(48px,7vmin,64px);padding:0;font-size:clamp(22px,3.6vmin,32px);display:inline-flex}.btn-help{background:var(--gold)}.speak-btn{background:var(--lilac-light);border:2px solid var(--ink);cursor:pointer;border-radius:50%;flex:none;width:1.9em;height:1.9em;padding:0;font-size:clamp(20px,3vmin,28px)}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.gems{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:4px 16px 4px 10px;font-size:clamp(20px,3.4vmin,30px);display:inline-flex}.bubble{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 16px;font-size:clamp(17px,2.6vmin,24px);display:flex;position:relative}.bubble p{margin:0}.hint{color:var(--ink-soft);font-weight:600}.scene{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.topbar{z-index:5;padding:10px max(14px, env(safe-area-inset-left));flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.topbar .title{color:var(--pink);text-shadow:2px 2px #fff;text-align:center;font-size:clamp(20px,3.6vmin,34px);font-weight:900}.sky{background:linear-gradient(var(--sky-top), var(--sky-bottom));position:absolute;inset:0;overflow:hidden}.cloud{opacity:.95;width:140px;animation:60s linear infinite drift;position:absolute}.cloud.c1{top:8%;left:10%}.cloud.c2{width:100px;animation-duration:80s;top:18%;left:55%}.cloud.c3{width:120px;animation-duration:70s;top:4%;left:80%}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-120vw)}}.layer{background-repeat:repeat-x;position:absolute;left:0;right:0}.layer.hills{background-position:0 bottom;background-size:800px 200px;height:200px;bottom:22%}.layer.fence{background-size:160px 60px;height:60px;bottom:calc(22% - 8px)}.layer.grass{background-repeat:repeat;background-size:200px 40px;height:23%;bottom:0}.ground{background:#7ccf72;border-top:4px solid #5fb357;height:24%;position:absolute;bottom:0;left:0;right:0}.start-card{z-index:2;border:4px solid var(--ink);text-align:center;max-width:min(640px,94vw);box-shadow:var(--shadow);background:#ffffffeb;border-radius:32px;margin:auto;padding:24px 32px;position:relative}.start-card h1{color:var(--pink);font-size:clamp(30px,6vmin,54px)}.start-horse{width:min(300px,50vw);margin:0 auto}.start-card .bubble{justify-content:center;margin:12px 0 18px}.name-input{font:inherit;border:3px solid var(--ink);width:min(320px,70vw);color:var(--ink);-webkit-user-select:text;user-select:text;border-radius:18px;padding:.4em .7em;font-size:clamp(22px,3.6vmin,32px)}.name-input.small{width:220px;font-size:20px}.hof .barn-wrap{width:clamp(160px,28vmin,300px);position:absolute;bottom:22%;right:4%}.hof .layer.fence{bottom:calc(24% - 8px)}.hof .layer.hills{bottom:24%}.hof-center{z-index:2;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-height:0;padding-bottom:2vh;display:flex;position:relative}.hof-bubble{max-width:90vw;margin-bottom:8px}.hof-bubble:after{content:"";border:12px solid #0000;border-top-color:var(--ink);border-bottom:0;position:absolute;bottom:-14px;left:30%}.hof-chars{align-items:flex-end;gap:2vw;height:min(48vh,420px);display:flex}.hof-avatar{aspect-ratio:200/320;height:100%}.hof-horse{aspect-ratio:280/236;height:80%;position:relative}.horse-name{background:var(--card);border:3px solid var(--ink);border-radius:999px;padding:2px 14px;font-size:clamp(14px,2.2vmin,20px);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.hof-nav{z-index:3;padding:0 14px max(14px, env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);gap:12px;display:grid;position:relative}.nav-btn{border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;padding:10px 6px;font-size:clamp(16px,2.8vmin,26px);display:flex}.nav-icon{font-size:clamp(32px,6vmin,56px)}.nav-ride{background:#ffd0e6}.nav-shop{background:#ece2ff}.nav-mirror{background:#d7f5f2}.nav-stall{background:#fff1c2}.rider-horse{aspect-ratio:280/236;width:100%;position:relative}.rider{aspect-ratio:160/236;z-index:1;width:34%;position:absolute;bottom:48%;left:33%}.rider svg{width:100%;height:100%;display:block}.horse .leg{transform-box:fill-box;transform-origin:50% 0}.horse.running .leg-a{animation:.36s ease-in-out infinite alternate leg-a}.horse.running .leg-b{animation:.36s ease-in-out infinite alternate leg-b}@keyframes leg-a{0%{transform:rotate(-22deg)}to{transform:rotate(18deg)}}@keyframes leg-b{0%{transform:rotate(18deg)}to{transform:rotate(-22deg)}}.question{z-index:4;flex:none;justify-content:center;align-items:center;gap:16px;padding:4px 12px 10px;display:flex;position:relative}.q-text{background:var(--card);border:4px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);letter-spacing:.02em;padding:0 .5em;font-size:clamp(36px,8vmin,80px);font-weight:900}.progress{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.mark{background:#ffffffb3;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:clamp(20px,3.6vmin,32px);display:inline-flex}.mark-pending{filter:grayscale();opacity:.5}.mark.now{border-color:var(--pink);opacity:1;filter:none;animation:1s ease-in-out infinite pulse}.stage{border:4px solid var(--ink);border-radius:28px;flex:1;min-height:0;margin:0 12px 12px;position:relative;overflow:hidden}.stage .layer{animation-play-state:paused}.stage .layer.hills{animation:24s linear infinite paused scroll-hills}.stage .layer.fence{animation:1.6s linear infinite paused scroll-fence}.stage .layer.grass{animation:1.4s linear infinite paused scroll-grass}.stage.moving .layer.hills,.stage.moving .layer.fence,.stage.moving .layer.grass{animation-play-state:running}.stage:not(.moving) .horse .leg{animation-play-state:paused}.stage.moving .rider-horse{animation:.36s ease-in-out infinite alternate bob}@keyframes scroll-hills{to{background-position-x:-800px}}@keyframes scroll-fence{to{background-position-x:-160px}}@keyframes scroll-grass{to{background-position-x:-200px}}@keyframes bob{to{transform:translateY(-3%)}}.horse-wrap{z-index:3;transform-origin:50% 100%;width:clamp(170px,32vmin,360px);position:absolute;bottom:8%;left:3%}.gates{z-index:2;position:absolute;inset:0}.gate{--gw:clamp(110px, 17vmin, 190px);width:var(--gw);margin-left:calc(var(--gw) / -2);cursor:pointer;transition:opacity .3s;position:absolute;bottom:9%}.gate .gate-art{aspect-ratio:120/110;width:100%}.gate .sign{text-align:center;background:var(--card);border:4px solid var(--ink);width:fit-content;min-width:70%;box-shadow:var(--shadow);white-space:nowrap;border-radius:18px;margin:0 auto 6px;padding:.05em .4em;font-size:clamp(26px,5.4vmin,52px);font-weight:900}.gate:active .sign{transform:scale(.95)}.gate.fade{opacity:0;pointer-events:none}.gate.wrong .sign{background:#ffe0e0}.gate.glow .sign{box-shadow:0 0 0 6px var(--gold), 0 0 34px 10px #ffd24ae6;animation:.9s ease-in-out infinite pulse}.gate.magic .sign{background:linear-gradient(135deg,#fff6c2,#ffd24a,#ffb3d9)}.gate.magic{filter:drop-shadow(0 0 16px #ffd24ae6);left:44%!important}.stage-bubble{z-index:4;background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);max-width:60%;box-shadow:var(--shadow);padding:10px 16px;font-size:clamp(18px,3vmin,28px);animation:.25s ease-out pop;position:absolute;top:5%;left:3%}.magic-panel{z-index:5;border:4px solid var(--ink);border-radius:var(--radius);background:#fffffff2;flex-direction:column;justify-content:center;gap:8px;width:min(340px,38%);padding:10px;display:flex;position:absolute;top:4%;bottom:4%;right:2%}.magic-panel .expr{font-size:clamp(22px,4vmin,38px)}.magic-panel .keypad{flex:1;min-height:0}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad.disabled{opacity:.5;pointer-events:none}.key{font:inherit;color:var(--ink);background:var(--card);border:3px solid var(--ink);cursor:pointer;border-radius:16px;min-height:clamp(48px,8vmin,72px);font-size:clamp(24px,4.4vmin,40px);font-weight:900;box-shadow:0 4px #5b3b4a33}.key:active{box-shadow:none;background:var(--pink-light);transform:translateY(3px)}.key-ok{background:#9be89b}.key-back{background:#ffe0e0}.expr{white-space:pre;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25em;font-size:clamp(28px,5.6vmin,52px);font-weight:900;display:flex}.field{text-align:center;border:4px dashed var(--lilac);cursor:pointer;background:#fffbe6;border-radius:14px;min-width:2.6em;padding:0 .3em;display:inline-block}.field.cursor{border-style:solid;border-color:var(--pink)}.field.revealed{background:#e3f9e3;border-color:#5fb357}.rest-label{color:var(--lilac)}.modal-backdrop{z-index:50;background:#5b3b4a73;justify-content:center;align-items:center;padding:12px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--cream);border:4px solid var(--ink);border-radius:30px;width:100%;max-width:min(760px,96vw);max-height:96dvh;padding:18px 22px;animation:.25s ease-out pop;overflow-y:auto;box-shadow:0 10px #5b3b4a40}.rename{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.error{color:#d9455f;margin:0}.help{flex-direction:column;gap:10px;display:flex}.help-title{text-align:center;font-size:clamp(20px,3.4vmin,32px)}.help-title b{color:var(--pink)}.help-helper{align-items:center;gap:10px;display:flex}.help-horse{flex:none;width:clamp(90px,16vmin,150px)}.help-helper .bubble{flex:1}.done-steps{flex-direction:column;align-items:center;gap:2px;display:flex}.done-step{color:var(--ink-soft);font-size:clamp(20px,3.6vmin,32px)}.done-step .tick{color:#3fae3f}.current-step{flex-direction:column;align-items:stretch;gap:10px;display:flex}.current-step .explain{display:none}.current-step .keypad{width:100%;max-width:420px;margin:0 auto}.help-result{text-align:center;color:var(--pink);font-size:clamp(30px,6vmin,56px);font-weight:900}.current-step .btn{align-self:center}.carrots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.bucket{opacity:.45;border:3px dashed #d9c7b0;border-radius:12px;flex-wrap:wrap;gap:1px;max-width:7.5em;padding:4px 6px;font-size:clamp(14px,2.4vmin,22px);transition:all .3s;display:flex}.bucket.filled{opacity:1;background:#fff1dd;border-style:solid;border-color:#ffa94d}.bucket.rest.filled{border-color:var(--lilac);background:var(--lilac-light)}.shop-question{flex-direction:column;gap:12px;display:flex}.shop-head{align-items:center;gap:12px;display:flex}.shop-icon{font-size:56px}.shop-msg{flex:1;margin:0;font-size:clamp(18px,3vmin,26px)}.shop-question .keypad{width:100%;max-width:420px;margin:0 auto}.shop-question .btn-ghost{align-self:center}.finish{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.finish .rider-horse{width:min(300px,60vw)}.finish-title{color:var(--pink);font-size:clamp(26px,5vmin,44px)}.finish-marks{font-size:clamp(24px,4vmin,36px)}.finish-text{margin:0;font-size:clamp(18px,3vmin,26px)}.unlock{border:3px solid var(--ink);border-radius:var(--radius);background:linear-gradient(135deg,#fff6c2,#ffd0e6);padding:10px 18px;font-size:clamp(18px,3vmin,26px);animation:1.2s ease-in-out infinite pulse}.boutique,.spiegel,.stall,.eltern{background:linear-gradient(#fff3fa,#fde0ef)}.shop-main,.mirror-main{flex:1;grid-template-columns:minmax(220px,36%) 1fr;gap:14px;min-height:0;padding:0 14px 14px;display:grid}.preview-col{border:4px solid var(--ink);background:radial-gradient(circle at 50% 40%,#fff,#ffe3f1);border-radius:28px;flex-direction:column;align-items:center;gap:10px;min-height:0;padding:12px;display:flex}.preview{flex:1;width:100%;min-height:0}.preview-horse{align-items:center;display:flex}.preview-action{text-align:center;flex-direction:column;align-items:center;gap:8px;min-height:110px;display:flex}.item-title{font-size:clamp(20px,3.2vmin,28px);font-weight:900}.worn{color:#3fae3f;font-size:clamp(18px,2.8vmin,24px)}.missing,.reward-note{color:var(--ink-soft);max-width:320px;font-size:clamp(15px,2.2vmin,20px)}.price-tag{font-size:clamp(22px,3.4vmin,30px)}.shelf{flex-direction:column;gap:10px;min-height:0;display:flex}.tabs{flex:none;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.tab{border-radius:18px;flex-direction:column;align-items:center;padding:6px 12px;font-size:clamp(13px,1.9vmin,17px);display:flex}.tab-icon{font-size:clamp(24px,4vmin,34px)}.tab.active{background:var(--pink);color:#fff}.item-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(clamp(120px,17vmin,170px),1fr));align-content:start;gap:12px;padding:4px;display:grid;overflow-y:auto}.item-card{font:inherit;color:var(--ink);background:var(--card);border:3px solid var(--ink);cursor:pointer;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.item-card .thumb{aspect-ratio:1;width:100%}.item-card.selected{border-color:var(--pink);box-shadow:0 0 0 4px var(--pink), var(--shadow)}.item-card.owned{background:#f3fff3}.item-card.locked .thumb{filter:brightness(.3)saturate(0);opacity:.6}.item-name{text-align:center;font-size:clamp(14px,2vmin,18px)}.item-price{color:var(--pink);font-size:clamp(14px,2vmin,18px)}.mirror-frame{border-radius:50% 50% 20px 20px}.mirror-panel{border:4px solid var(--ink);background:#ffffffb3;border-radius:28px;min-height:0;padding:10px 18px 18px;overflow-y:auto}.mirror-panel h2{color:var(--pink);margin-top:18px}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:3px solid var(--ink);cursor:pointer;border-radius:50%;width:clamp(44px,7vmin,60px);height:clamp(44px,7vmin,60px)}.swatch.active{box-shadow:0 0 0 5px var(--pink)}.styles{flex-wrap:wrap;gap:10px;display:flex}.style-btn{font:inherit;color:var(--ink);background:var(--card);border:3px solid var(--ink);cursor:pointer;border-radius:18px;flex-direction:column;align-items:center;padding:6px;font-size:15px;display:flex}.style-btn.active{box-shadow:0 0 0 4px var(--pink)}.style-thumb{width:70px;height:105px}.style-thumb svg{width:100%;height:100%}.wardrobe-items{flex-wrap:wrap;gap:8px;display:flex}.wardrobe-item{font:inherit;color:var(--ink);background:var(--card);border:3px solid var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:clamp(14px,2.2vmin,18px)}.wardrobe-item.active{background:var(--pink);color:#fff}.stall-main{flex:1;grid-template-columns:minmax(240px,38%) 1fr;gap:14px;min-height:0;padding:0 14px 14px;display:grid}.stall-active{border:4px solid var(--ink);background:linear-gradient(#fff6e0,#ffe6b8);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex;position:relative;overflow:hidden}.stall-name{align-items:center;gap:10px;font-size:clamp(24px,4.4vmin,40px);font-weight:900;display:flex}.pet-area{cursor:pointer;width:100%;max-width:420px;position:relative}.horse-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(150px,22vmin,220px),1fr));align-content:start;gap:12px;padding:4px;display:grid;overflow-y:auto}.horse-card{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.horse-card .thumb{aspect-ratio:280/236;width:100%}.horse-card.active{box-shadow:0 0 0 4px var(--gold), var(--shadow)}.horse-card.not-owned .thumb{opacity:.75}.breed{color:var(--ink-soft);font-size:14px}.eltern-body{-webkit-user-select:text;user-select:text;flex:1;padding:0 18px 30px;font-weight:600;overflow-y:auto}.eltern section{border:3px solid var(--ink);background:#fff;border-radius:20px;margin-bottom:14px;padding:10px 18px 16px}.eltern .row{justify-content:flex-start}.stats{border-collapse:collapse;width:100%;font-size:16px}.stats th,.stats td{text-align:left;vertical-align:top;border-bottom:1px solid #f0dbe6;padding:6px 8px}.stats tr.off{opacity:.45}.level-label{color:var(--ink-soft);font-size:13px}.check{align-items:center;gap:8px;margin:8px 0;display:flex}.check input[type=checkbox]{width:22px;height:22px}.sparkle{z-index:60;pointer-events:none;font-size:26px;animation:1s ease-out forwards sparkle;position:absolute}body>.sparkle{position:fixed}@keyframes sparkle{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.2);opacity:0}}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes fade-in{0%{opacity:0}}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@media (orientation:portrait){.shop-main,.mirror-main,.stall-main{grid-template-rows:42% 1fr;grid-template-columns:1fr}.hof-nav{grid-template-columns:repeat(2,1fr)}.magic-panel{width:46%}.gate.magic{left:30%!important}}@media (prefers-reduced-motion:reduce){.cloud{animation:none}}.layer.far,.layer.mid,.layer.ground-layer{background-repeat:repeat-x;animation-name:scroll-tile;animation-timing-function:linear;animation-iteration-count:infinite;animation-play-state:paused}.layer.ground-layer{background-repeat:repeat}.layer.far{background-position:0 bottom}.stage.moving .layer.far,.stage.moving .layer.mid,.stage.moving .layer.ground-layer{animation-play-state:running}@keyframes scroll-tile{to{background-position-x:calc(-1 * var(--tile))}}.overlay{pointer-events:none;z-index:4;position:absolute;inset:0}.overlay-snow{opacity:.9;background-image:radial-gradient(circle,#fff 2px,#0000 3px),radial-gradient(circle,#fff 1.5px,#0000 2.5px);background-position:0 0,30px 40px;background-size:90px 90px,60px 60px;animation:6s linear infinite snow}@keyframes snow{to{background-position:-40px 90px,-10px 160px}}.overlay-sparkle{background-image:radial-gradient(circle,#fffffff2 1.5px,#0000 3px),radial-gradient(circle,#ffe066e6 1.5px,#0000 3px);background-position:10px 20px,60px 70px;background-size:120px 110px,170px 140px;animation:2.4s ease-in-out infinite alternate twinkle}@keyframes twinkle{0%{opacity:.3}to{opacity:1}}.confetti{z-index:80;pointer-events:none;border-radius:3px;width:12px;height:18px;animation:2.4s ease-in forwards confetti-fall;position:fixed;top:-20px}@keyframes confetti-fall{to{transform:translate(var(--drift), 110vh) rotate(var(--spin))}}.celebrate{z-index:79;border:5px solid var(--ink);text-align:center;pointer-events:none;background:linear-gradient(135deg,#fff6c2,#ffd0e6 60%,#e3d4ff);border-radius:32px;padding:18px 34px;animation:.45s cubic-bezier(.2,1.6,.4,1) celebrate-in;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px #5b3b4a40}.celebrate.out{opacity:0;transition:opacity .4s,transform .4s;transform:translate(-50%,-70%)}.celebrate-title{color:var(--pink);white-space:nowrap;font-size:clamp(30px,6.5vmin,60px);font-weight:900}.celebrate-sub{font-size:clamp(18px,3.2vmin,28px)}@keyframes celebrate-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}}.hof-badges{gap:8px;display:flex}.ticket-badge{font-size:clamp(16px,2.8vmin,24px)}.daily-widget{z-index:4;border:3px solid var(--ink);box-shadow:var(--shadow);background:#ffffffeb;border-radius:999px;align-self:center;gap:14px;padding:4px 18px;font-size:clamp(16px,2.8vmin,24px);display:flex;position:relative}.hof-nav{grid-template-columns:repeat(5,1fr)}.nav-album{background:#ffe3d1}.ausritt,.album,.memory,.markt,.pflege{background:linear-gradient(#fff3fa,#fde0ef)}.ausritt-body,.album-body{flex:1;padding:0 16px 24px;overflow-y:auto}.course-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(170px,26vmin,260px),1fr));gap:14px;display:grid}.course-card{font:inherit;color:var(--ink);background:var(--card);border:4px solid var(--ink);text-align:center;cursor:pointer;box-shadow:var(--shadow);border-radius:26px;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;display:flex}.course-card:active{transform:translateY(4px)}.course-icon{font-size:clamp(44px,9vmin,76px)}.course-name{color:var(--pink);font-size:clamp(18px,3vmin,26px);font-weight:900}.course-desc{color:var(--ink-soft);font-size:clamp(14px,2.1vmin,18px)}.course-meta{color:var(--lilac);font-size:14px}.course-card.locked{opacity:.8;background:#f3eef2}.course-card.locked .course-name{color:var(--ink-soft)}.course-card.no-ticket{opacity:.6}.course-grid.bonus .course-card{background:#fff8e0}.section-title{color:var(--pink);margin-top:22px}.theme-row{flex-wrap:wrap;gap:12px;display:flex}.theme-chip{font:inherit;color:var(--ink);border:4px solid var(--ink);cursor:pointer;width:clamp(130px,19vmin,180px);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.theme-chip.active{box-shadow:0 0 0 5px var(--pink), var(--shadow)}.theme-chip.not-owned{filter:saturate(.6)}.theme-icon{font-size:40px}.theme-name{background:#ffffffd9;border-radius:999px;padding:0 8px;font-size:15px}.theme-price{background:#fff;border-radius:999px;margin-top:4px;padding:0 10px;font-size:15px}.stage.fly .horse-wrap{transition:top .6s ease-in-out;top:36%;bottom:auto}.stage.fly .rider-horse{animation:1.4s ease-in-out infinite alternate float}@keyframes float{to{transform:translateY(-6%)}}.gate.ring{bottom:auto}.gate.ring .sign{z-index:1;margin:0;font-size:clamp(22px,4.4vmin,42px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage:not(.fly) .gate.magic{left:44%!important}.gate.magic{left:auto}.rest-hint{text-align:center;margin:0;font-size:14px}.rule-text{background:var(--card);border:4px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 16px;font-size:clamp(20px,3.8vmin,36px);font-weight:900}.shoe-counter{border:3px solid var(--ink);background:#fff6c2;border-radius:999px;padding:2px 14px;font-size:clamp(20px,3.4vmin,30px)}.shoe-field{z-index:3;position:absolute;inset:0}.shoe{aspect-ratio:1;cursor:pointer;touch-action:none;background:0 0;border:none;width:clamp(96px,15vmin,140px);padding:0;position:absolute;left:100%}.shoe-art{position:absolute;inset:0}.shoe-art svg{width:100%;height:100%}.shoe-label{border:3px solid var(--ink);font:inherit;color:var(--ink);white-space:nowrap;background:#fff;border-radius:14px;padding:0 8px;font-size:clamp(18px,3.4vmin,30px);font-weight:900;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.shoe.collected{animation:.6s ease-in forwards collected}@keyframes collected{to{opacity:0;transform:translateY(-140%)scale(1.4)}}.shoe.wrong-shoe .shoe-label{background:#ffe0e0}.shoe.wrong-shoe{animation:.6s ease-in forwards drop-away}@keyframes drop-away{to{opacity:0;transform:translateY(120%)rotate(40deg)}}.nl-options{gap:10px;display:flex}.nl-option{min-width:3.4em}.numline{z-index:2;height:70px;position:absolute;bottom:12%;left:6%;right:6%}.numline-bar{border:3px solid var(--ink);background:#fff;border-radius:6px;height:10px;position:absolute;top:18px;left:-2%;right:-2%}.tick{background:var(--ink);width:2px;height:14px;margin-left:-1px;position:absolute;top:16px}.tick.mid{width:3px;height:26px;top:10px}.tick.big{width:4px;height:38px;margin-left:-2px;top:4px}.tick-label{border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:10px;padding:0 6px;font-size:clamp(14px,2.4vmin,22px);position:absolute;top:40px;left:50%;transform:translate(-50%)}.nl-horse{z-index:3;width:clamp(100px,16vmin,160px);transition:left 1s ease-in-out;position:absolute;bottom:calc(12% + 46px);left:0;transform:translate(-62%)}.nl-pointer{border:10px solid #0000;border-top-color:var(--pink);position:absolute;bottom:-14px;left:62%;transform:translate(-50%)}.nl-flag{z-index:3;font-size:clamp(34px,6vmin,54px);animation:.3s ease-out pop;position:absolute;bottom:calc(12% + 52px + clamp(100px,16vmin,160px));transform:translate(-20%)}.nl-flag-label{background:var(--gold);border:3px solid var(--ink);border-radius:12px;padding:0 8px;font-size:clamp(18px,3vmin,28px);position:absolute;bottom:100%;left:0}.nl-tap{z-index:4;cursor:pointer;height:60%;position:absolute;bottom:0;left:0;right:0}.market-stall{border:4px solid var(--ink);background:#fff8ec;border-radius:28px;flex-direction:column;flex:1;min-height:0;margin:0 14px 14px;display:flex;overflow:hidden}.awning{border-bottom:4px solid var(--ink);background:repeating-linear-gradient(90deg,#ff8fc9 0 60px,#fff 60px 120px);border-radius:0 0 50% 50%/0 0 30px 30px;flex:none;height:34px}.market-panel{flex-direction:column;flex:1;gap:10px;padding:12px 18px;display:flex;overflow-y:auto}.market-story{align-items:center;gap:14px;display:flex}.seller{flex:none;font-size:clamp(56px,11vmin,100px)}.story-bubble{flex:1;font-size:clamp(18px,3.2vmin,28px)}.story-bubble p{margin:.2em 0}.story-question{color:var(--pink)}.market-picture .bucket{font-size:clamp(14px,2.4vmin,22px)}.market-answer{flex-direction:column;align-items:center;gap:8px;display:flex}.market-answer .keypad{width:min(420px,100%)}.market-msg{text-align:center;min-height:1.4em;margin:0;font-size:clamp(16px,2.8vmin,24px)}.unit{color:var(--ink-soft)}.memory-status{letter-spacing:2px;font-size:clamp(22px,4vmin,36px)}.memory-grid{flex:1;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:clamp(8px,1.6vmin,16px);min-height:0;padding:0 16px 16px;display:grid}.memory-card{font:inherit;perspective:800px;cursor:pointer;background:0 0;border:none;min-height:0;padding:0}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s;position:relative}.memory-card.flipped .card-inner,.memory-card.matched .card-inner{transform:rotateY(180deg)}.card-back,.card-front{backface-visibility:hidden;border:4px solid var(--ink);box-shadow:var(--shadow);border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.card-back{background:radial-gradient(circle at 30% 30%,#fff9 0 8px,#0000 9px) 0 0/40px 40px,linear-gradient(135deg,#ff8fc9,#b28cf0);font-size:clamp(30px,6vmin,56px)}.card-front{background:#fff;padding:6px;transform:rotateY(180deg)}.card-front.text{color:var(--ink);font-size:clamp(22px,4.6vmin,44px);font-weight:900}.card-front svg{width:100%;height:100%}.memory-emoji{font-size:clamp(40px,8vmin,72px)}.memory-card.matched .card-front{background:#eaffea;border-color:#3fae3f}.memory-card.hint-glow .card-back{box-shadow:0 0 0 6px var(--gold), 0 0 30px 10px #ffd24ae6}.btn.pulse{animation:.9s ease-in-out infinite pulse}.catch-time{border:3px solid var(--ink);background:#fff;border-radius:999px;padding:2px 16px;font-size:clamp(22px,4vmin,36px)}.catch-stage{touch-action:none}.catch-field{z-index:3;pointer-events:none;position:absolute;inset:0}.drop{font-size:clamp(36px,7vmin,60px);position:absolute;transform:translate(-50%,-50%)}.catch-horse{z-index:2;width:clamp(150px,26vmin,280px);position:absolute;bottom:6%;transform:translate(-50%)}.heart-bar{flex:none;justify-content:center;gap:4px;font-size:clamp(22px,4vmin,36px);display:flex}.heart.on{animation:.3s ease-out pop}.care-stage{border:4px solid var(--ink);touch-action:none;background:linear-gradient(#0000 70%,#e8c98f 70%),linear-gradient(#fff6e0,#ffe6b8);border-radius:28px;flex:1;justify-content:center;align-items:center;min-height:0;margin:0 14px;display:flex;position:relative;overflow:hidden}.care-horse{aspect-ratio:280/236;max-width:96%;height:92%;position:relative}.care-horse-art,.care-horse-art svg{width:100%;height:100%}.care-overlay{position:absolute;inset:0}.dirt{aspect-ratio:1.3;pointer-events:none;background:radial-gradient(#8a6232 0 45%,#8a623299 60%,#0000 72%);border-radius:50%;width:10%;transition:opacity .15s;position:absolute}.stone{cursor:pointer;background:0 0;border:none;padding:6px;font-size:clamp(22px,4vmin,36px);position:absolute;transform:translate(-50%,-50%)}.care-cursor{z-index:5;pointer-events:none;font-size:48px;position:absolute;transform:translate(-30%,-70%)rotate(-20deg)}.care-bubble{z-index:6}.care-tray{flex:none;justify-content:center;gap:12px;min-height:0;padding:8px;display:flex}.food{border:3px solid var(--ink);cursor:pointer;box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:4px 10px;font-size:clamp(36px,7vmin,60px)}.flying-food{z-index:70;pointer-events:none;font-size:48px;position:fixed}.care-tools{padding:0 14px max(14px, env(safe-area-inset-bottom));flex:none;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.care-tool.active{background:var(--pink-light);box-shadow:0 0 0 4px var(--pink), var(--shadow)}.care-tool.done{background:#eaffea}.tool-done{color:#3fae3f}.care-btn{align-items:center;gap:8px;display:inline-flex}.care-btn .nav-icon{font-size:1.3em}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(90px,14vmin,130px),1fr));gap:12px;display:grid}.sticker{font:inherit;aspect-ratio:1;color:var(--ink-soft);cursor:pointer;background:#fbf6f9;border:4px dashed #d9c7d0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.sticker.has{border:4px solid var(--ink);box-shadow:var(--shadow);color:var(--ink)}.sticker-emoji{font-size:clamp(34px,7vmin,60px)}.sticker-name{font-size:13px}.sticker-new .sticker-emoji{vertical-align:middle;font-size:44px}.trophy-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.trophy{background:#f5eff3;border:3px solid #d9c7d0;border-radius:18px;align-items:center;gap:12px;padding:10px 14px;display:flex}.trophy.has{border-color:var(--ink);background:linear-gradient(135deg,#fff6c2,#ffe3f1)}.trophy-icon{font-size:40px}.trophy-name{font-weight:900}.trophy-desc{color:var(--ink-soft);font-size:14px;font-weight:600}.trophy-reward{color:var(--pink);font-size:14px}.daily-progress{font-size:clamp(16px,2.8vmin,24px)}@media (orientation:portrait){.hof-nav,.memory-grid{grid-template-columns:repeat(3,1fr)}}.speak-btn.speaking{background:var(--gold);animation:.8s ease-in-out infinite pulse}
