.fs-toggle{position:fixed;top:4px;right:4px;z-index:30;width:34px;height:34px;padding:0;font-size:18px;line-height:1;border-radius:10px;opacity:.55}.fs-toggle:active{opacity:1}:root{--bg: #eaf6ff;--card: #fff;--ink: #1d2b3a;--muted: #5b6b7b;--accent: #2b8a5a;--accent-ink: #fff;--danger: #b3382c;--line: #cfdce8;--radius: 20px;font-family:Andika,Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100dvh;font-size:18px}h1{margin:0 0 8px;font-size:1.7rem}h2{margin:24px 0 8px}.big{font-size:2.4rem}.muted{color:var(--muted);font-size:.95rem}.error{color:var(--danger);font-weight:600}.center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:0 2px 10px #1e3c5a1a;display:flex;flex-direction:column;gap:14px;text-align:left;max-width:560px;width:100%}.auth{max-width:420px}label{display:flex;flex-direction:column;gap:6px;font-weight:600}input,select{font:inherit;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;min-height:48px}input:focus,select:focus,button:focus-visible{outline:3px solid #2f6fd6;outline-offset:2px}button{font:inherit;cursor:pointer;border:0;border-radius:14px;padding:12px 18px;min-height:48px}.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.secondary{background:#e3edf5;color:var(--ink)}.danger{color:var(--danger)}.link{background:none;color:#1f5fb8;text-decoration:underline;min-height:0}button:disabled{opacity:.6;cursor:default}.big-btn{font-size:1.4rem;padding:18px 32px;min-height:72px}.avatars{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.avatar-card{background:var(--card);width:180px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 12px #1e3c5a26;border-radius:28px}.avatar-card:active{transform:scale(.97)}.avatar-emoji{font-size:4.5rem;line-height:1}.avatar-emoji.huge{font-size:8rem}.avatar-name{font-size:1.5rem;font-weight:700}.parent-link{margin-top:32px}.speech{background:#fff;border-radius:24px;padding:14px 22px;font-size:1.4rem;box-shadow:0 2px 8px #0000001a}.parent{max-width:720px;margin:0 auto;padding:24px 16px 64px;display:flex;flex-direction:column;gap:12px}.parent .card{max-width:none}.child-row{flex-direction:row;align-items:flex-start;flex-wrap:wrap}.child-row .avatar-emoji{font-size:3rem}.grow{flex:1;min-width:200px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:6px}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.pick{font-size:2rem;background:#f0f5fa;border:3px solid transparent}.pick.selected{border-color:var(--accent);background:#e2f5ea}footer{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}details{margin-top:6px}summary{cursor:pointer;color:#1f5fb8}.gate{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gate button{font-size:2rem;min-height:80px;background:#e3edf5}.gate button.done{background:#bfe8cf}.shake{animation:shake .4s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media(prefers-reduced-motion:reduce){.shake{animation:none}.avatar-card:active{transform:none}}.worlds{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.world{background:#fff;width:170px;min-height:170px;border-radius:28px;font-size:1.4rem;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 3px 12px #1e3c5a26}.world span{font-size:3.6rem}.world{transition:transform .2s,box-shadow .2s}.world.speaking{transform:scale(1.1);box-shadow:0 0 0 6px var(--accent),0 6px 18px #1e3c5a4d}.world.main{background:var(--accent);color:#fff;width:220px}.play{min-height:100dvh;padding:12px 16px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.play-bar{width:100%;max-width:900px;display:flex;align-items:center;gap:16px}.progress{display:flex;gap:10px;flex:1;justify-content:center}.dot{width:18px;height:18px;border-radius:50%;background:#c7d6e4}.dot.filled{background:var(--accent)}.dot.current{background:#f2b84b;transform:scale(1.25)}.bonus{background:#fff6d6;border-radius:16px;padding:8px 16px;font-weight:700;margin:0}.task{width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;gap:20px;flex:1;justify-content:center}.prompt{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;position:relative}.shown{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;background:#fff;border-radius:24px;padding:14px 20px;min-height:120px}.prompt-text{font-size:1.9rem;font-weight:600;max-width:760px;white-space:pre-wrap;background:#fff;border-radius:20px;padding:14px 20px;margin:0;line-height:1.5}.prompt-text.code{text-align:left;font-family:ui-monospace,DejaVu Sans Mono,monospace;font-size:1.5rem;font-weight:500}.replay{background:#fff;font-size:2rem;border-radius:50%;width:72px;height:72px;padding:0;box-shadow:0 2px 8px #0000001f}.options{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;width:100%}.options.list{flex-direction:column;align-items:stretch;max-width:640px}.option{background:#fff;min-width:150px;min-height:150px;border-radius:28px;box-shadow:0 3px 12px #1e3c5a2e;border:4px solid transparent;display:flex;align-items:center;justify-content:center;padding:10px 18px}.options.list .option{min-height:72px;min-width:0;justify-content:flex-start;font-size:1.5rem}.option.dim{opacity:.35}.option.glow{border-color:#f2b84b;background:#fffbe6;animation:pulse .9s ease-in-out infinite alternate}.option.wobble,.selbar.wobble{animation:wobble .45s}@keyframes wobble{20%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}}@keyframes pulse{to{transform:scale(1.06)}}.v-emoji{font-size:5rem;line-height:1.1}.v-text{font-size:1.5rem;font-weight:600}.v-number{font-size:4.2rem;font-weight:800}.v-short{font-size:3.4rem;font-weight:800;letter-spacing:.05em}.v-blank{font-size:4rem;font-weight:800;border:4px dashed #8aa;border-radius:16px;width:90px;text-align:center;color:#8aa}.shown .v-emoji{font-size:3.6rem}.shown .v-word{font-size:1.5rem;font-weight:700}.dots-line{display:flex;gap:4px;flex-wrap:wrap;font-size:2.6rem;max-width:520px;justify-content:center}.dots-scatter{position:relative;width:190px;height:130px;font-size:2.2rem}.dots-scatter span{position:absolute;transform:translate(-50%,-50%)}.option .dots-scatter{width:220px;height:160px}.dice{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:120px;height:120px;background:#fff;border:4px solid var(--ink);border-radius:20px;padding:10px;font-size:1.9rem;place-items:center}.tenframe{display:grid;grid-template-columns:repeat(5,54px);gap:4px}.tenframe .cell{border:2px solid var(--ink);height:54px;display:grid;place-items:center;font-size:2rem;border-radius:6px}.count-grid{display:grid;gap:14px;justify-content:center}.count-item{background:#fff;border-radius:24px;min-height:100px;position:relative;box-shadow:0 2px 8px #0000001f}.count-item.next{outline:4px solid #f2b84b}.count-item.counted{background:#dff3e7}.count-badge{position:absolute;bottom:4px;right:10px;font-weight:800;font-size:1.5rem}.big-count{font-size:5rem;font-weight:800;color:var(--accent)}.memory{display:grid;gap:14px;justify-content:center}.card-back{background:#7bb6e8;border-radius:22px;min-height:110px;font-size:3rem;color:#fff;box-shadow:0 2px 8px #00000026}.card-back.shown{background:#fff;color:var(--ink)}.row-btn{display:flex;gap:16px}@media(prefers-reduced-motion:reduce){.option.glow,.option.wobble,.selbar.wobble,.spot{animation:none}}.symbol{width:84px;height:84px}.shown .symbol{width:64px;height:64px}.option .symbol{width:104px;height:104px}.fraction,.clock{width:96px;height:96px}.fraction.fbar{width:150px;height:64px}.shown .fraction,.shown .clock{width:150px;height:150px}.shown .fraction.fbar{width:230px;height:98px}.option .fraction,.option .clock{width:112px;height:112px}.option .fraction.fbar{width:160px;height:68px}.robo-board{display:grid;gap:6px;background:#cfe8d5;padding:10px;border-radius:22px}.robo-board{grid-template-columns:repeat(var(--cols),var(--rc));--rc: max(48px, min(84px, calc((100vw - 56px) / var(--cols))))}.robo-cell{width:var(--rc);height:var(--rc);background:#fff;border-radius:14px;display:grid;place-items:center;padding:0;border:3px solid transparent;position:relative}.robo-cell:nth-child(2n){background:#f6fbf4}.robo-cell.wall{background:#d9c3a5}.robo-cell.goal{background:#fff6d8}.robo-cell.glow{border-color:#f2b84b;background:#fffbe6;animation:pulse .9s ease-in-out infinite alternate}.robo-cell .art{width:86%;height:86%}.robo{display:grid;place-items:center;width:100%;height:100%;transition:transform .4s ease}.robo .robo-art{width:92%;height:92%}.robo-dot{width:22%;height:22%;border-radius:50%;background:#7bb6e8;opacity:.7}.robo-cheer{position:absolute;inset:-14%;pointer-events:none;animation:cheer .9s ease-out both}.robo-cheer .art{width:100%;height:100%}@keyframes cheer{0%{transform:scale(.3) rotate(-30deg);opacity:0}60%{opacity:1}to{transform:scale(1.15) rotate(10deg);opacity:.9}}.robo-program,.robo-palette{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}.robo-card{width:78px;height:78px;border-radius:18px;background:#fff;box-shadow:0 2px 8px #00000026;padding:10px;display:grid;place-items:center}.robo-card .card-art{width:100%;height:100%}.robo-card.placed{background:#dff3e7}.robo-card.running{background:#ffe9a8;box-shadow:0 0 0 4px #f2b84b;transform:translateY(-4px)}.robo-card.picked{background:#cfe3ff;box-shadow:0 0 0 4px var(--accent)}.robo-card.glow{box-shadow:0 0 0 4px #f2b84b;animation:pulse .9s ease-in-out infinite alternate}.robo-card.loop-card{background:#e8dcff}.robo-card.loop-card.used{opacity:.4}.robo-card.empty{background:transparent;border:3px dashed #8aa;box-shadow:none;display:inline-block}.robo-card.small{width:62px;height:62px;padding:8px;border-radius:14px}.robo-loop{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:22px;background:#efe6ff;border:3px solid #b9a2f0;position:relative}.robo-loop.open{border-color:var(--accent);background:#e4d6ff}.loop-count{display:flex;flex-direction:column;align-items:center;width:64px;padding:4px;background:#fff;border-radius:14px;font-size:1.4rem;font-weight:800}.loop-count .card-art{width:36px;height:36px}.loop-body{display:flex;gap:6px}.loop-x{position:absolute;top:-12px;right:-10px;width:30px;height:30px;min-height:0;padding:0;border-radius:50%;font-size:.9rem;background:#fff;box-shadow:0 1px 4px #00000040}.robo-card.call-card{background:#fff0c2}.robo-trick,.robo-rule{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:22px;background:#fff6d8;border:3px solid #f2d27a}.robo-trick.open,.robo-rule.open{border-color:var(--accent);background:#ffefb8}.robo-program.open-row{outline:3px solid var(--accent);outline-offset:6px;border-radius:20px}.trick-star{width:48px;height:48px;display:block}.trick-star .art{width:100%;height:100%}.robo-rules{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.robo-rule{background:#f1f7ff;border-color:#b9d4f5}.robo-rule.running{box-shadow:0 0 0 4px #f2b84b}.rule-cond{width:56px;height:56px;display:block;background:#fff;border-radius:14px;padding:4px}.rule-cond .art{width:100%;height:100%}.rule-arrow{font-size:2rem;font-weight:800}.robo-star{width:64%;height:64%;display:block}.robo-star .art{width:100%;height:100%}.robo-counter{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.8rem;font-weight:800;margin:0}.robo-counter.full{color:#2e7d4f}.counter-star{width:36px;height:36px;display:block}.counter-star .art{width:100%;height:100%}.rule-cond.sign{padding:6px}.robo-go{width:110px;height:78px;font-size:2.4rem}.reward{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.reward-item{background:#fff;border-radius:20px;padding:10px 18px;font-size:2rem;font-weight:800;box-shadow:0 2px 8px #0000001f}.island-screen{min-height:100dvh;padding:8px 12px 16px;display:flex;flex-direction:column;align-items:center;gap:10px}.island-bar{width:100%;max-width:1100px;display:flex;align-items:center;gap:14px}.materials{display:flex;gap:16px;flex:1;justify-content:center;font-size:1.6rem;font-weight:800}.requests{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.request{background:#fff6d6;border-radius:22px;padding:8px 16px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:130px;box-shadow:0 2px 8px #0000001f;border:3px solid #f2b84b}.req-who{font-size:2rem}.req-where{font-size:.8rem;font-weight:800;color:var(--pair)}.pair-math{--pair: #2f7fd0}.pair-language{--pair: #2e9e57}.pair-logic{--pair: #d9702b}.pair-memory{--pair: #8a55c4}.request[class*=pair-]{border-color:var(--pair)}.landmark[class*=pair-]{filter:drop-shadow(0 0 .25em var(--pair))}.landmark[class*=pair-] .lm-name{background:var(--pair);color:#fff}.site .site-name{position:absolute;top:100%;left:50%;transform:translate(-50%,8%);z-index:1;white-space:nowrap;background:var(--pair);color:#fff;border-radius:10px;padding:0 8px;font-size:calc(var(--t) * .3);font-weight:800}.req-what{font-weight:800}.req-reward{font-size:1.1rem}.island{--t: min(calc(94vw / var(--w)), calc((100vh - 340px) / var(--h)));position:relative;width:calc(var(--t) * var(--w));height:calc(var(--t) * var(--h));border-radius:24px;overflow:hidden;background:#8fd0f0;touch-action:manipulation;box-shadow:0 4px 14px #0000002e}.free-tile{position:absolute;background:#ffffff61;outline:1px dashed rgba(255,255,255,.85);outline-offset:-1px;pointer-events:none}.ghost-fp{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;border:3px solid;border-radius:6px}.ghost-fp.ok{border-color:#2e9e5b;background:#2e9e5b59}.ghost-fp.bad{border-color:#d9534f;background:#d9534f4d}.ghost-fp b{background:#0000008c;color:#fff;font-size:.8rem;padding:1px 6px;border-radius:8px}.island.target{outline:4px solid #f2b84b;outline-offset:-4px}.terrain{position:absolute;inset:0;width:100%;height:100%;display:block}.art{display:block;overflow:visible}.art.fill{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.landmark,.site{position:absolute;pointer-events:none;text-align:center;line-height:1.1}.landmark .lm-name{position:absolute;left:50%;bottom:-2%;transform:translate(-50%);white-space:nowrap;background:#ffffffd9;border-radius:10px;padding:0 8px;font-size:calc(var(--t) * .3);font-weight:800}.landmark .lm-stage{position:absolute;left:50%;top:-4%;transform:translate(-50%);font-size:calc(var(--t) * .3);color:#c98a00;text-shadow:0 0 3px #fff,0 0 3px #fff}.site{display:flex;flex-direction:column;align-items:center;justify-content:center}.site .lm-stage{position:absolute;bottom:0;left:0;right:0;font-size:calc(var(--t) * .3);color:#c98a00}.lm-emoji{font-size:calc(var(--t) * .9)}.obj{position:absolute;padding:0;background:transparent;border-radius:12px;line-height:1}.obj small{position:absolute;left:50%;top:4%;transform:translate(-50%);white-space:nowrap;font-size:calc(var(--t) * .3);font-weight:800;background:#fff;border-radius:8px;padding:0 5px}.obj.picked{outline:4px solid #f2b84b;background:#fffbe680;animation:pulse .9s ease-in-out infinite alternate}.island-side{display:contents}@media(orientation:landscape){.island-screen{height:100dvh;min-height:0;padding:6px 10px;flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start;align-items:stretch;gap:8px;overflow:hidden}.island-screen .island-bar{max-width:none;flex:0 0 100%;gap:10px}.island-screen .island-bar button{min-height:44px;padding-block:4px}.island-screen .island-bar .avatar-emoji{font-size:1.8rem}.island-screen .materials{font-size:1.2rem;gap:12px}.island-screen .requests{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:140px;overflow-y:auto;max-height:calc(100dvh - 70px)}.island-screen .req-who svg{width:36px;height:36px}.island-screen .req-what{font-size:.9rem}.island-screen .req-reward{font-size:.85rem}.island-screen .request{min-width:0;padding:6px 8px}.island-screen .island{--t: min(calc((100vw - 140px - 210px - 40px) / var(--w)), calc((100dvh - 70px) / var(--h)));flex:none;align-self:flex-start}.island-screen .island-side{display:flex;flex-direction:column;gap:8px;flex:1;min-width:190px;overflow-y:auto;max-height:calc(100dvh - 70px)}.island-screen .shop{max-height:none;overflow:visible}.island-screen .shop-item{width:96px}.island-screen .selbar{position:static}}.pip-face{display:inline-block;vertical-align:middle}.hint{margin:0}.selbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;background:#fff;border-radius:20px;padding:10px 16px;font-weight:700}.shop{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:1100px;max-height:34vh;overflow-y:auto}.shop-item{background:#fff;border-radius:20px;width:110px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 2px 8px #0000001f}.shop-item .v-emoji{font-size:2.6rem}.shop-item .art{margin:2px 0}.shop-item.expand{background:#e6f6ff;border:3px solid #74bde4}.shop-item.dim{opacity:.4}.spot{position:absolute;z-index:3;border:3px dashed #fff;border-radius:14px;background:#ffeb788c;font-size:calc(var(--t) * .7);animation:pulse .9s ease-in-out infinite alternate;cursor:pointer;padding:0}.celebration{position:fixed;inset:0;background:#fff6d6eb;display:flex;align-items:center;justify-content:center;z-index:20}.celebration-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;max-width:600px}.celebration-emoji{font-size:6rem;animation:celebrate-pop 1.2s ease-out}@keyframes celebrate-pop{0%{transform:scale(.3)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.celebration-emoji{animation:none}}.gallery-row{display:flex;gap:16px;align-items:flex-end;margin-bottom:12px}.gallery-row.wrap{flex-wrap:wrap}.gallery-row figure{margin:0;padding:8px;border-radius:14px;text-align:center;background:#ffffff80}.gallery-row figcaption{font-size:.8rem;font-weight:700}.report{display:flex;flex-direction:column;gap:10px;margin-top:8px}.progress-domain{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid #e3e9ef}.bar-row{display:flex;align-items:center;gap:8px}.bar-label{width:3.2rem;font-size:.9rem}.bar{height:12px;border-radius:6px;background:#7bb6e8;max-width:40%}.play-bar,.island-bar{position:sticky;top:0;z-index:6;background:var(--bg);padding:4px 0}.top-nav{position:sticky;top:0;z-index:6;align-self:stretch;background:var(--bg);padding:4px 0;text-align:left}.home{justify-content:flex-start}.nav-bottom{position:sticky;bottom:0;z-index:6;background:var(--bg);padding:10px 0;margin-top:16px}.selbar{position:sticky;bottom:4px;z-index:6;box-shadow:0 2px 10px #0003}.progress{flex-wrap:wrap}.count-item .v-emoji{font-size:min(5rem,12vw)}.count-item{min-height:min(100px,22vw)}@media(max-width:600px)and (orientation:portrait){.center{padding:12px;gap:10px}.big{font-size:1.8rem}.avatar-emoji.huge{font-size:4.5rem}.avatars{gap:12px}.avatar-card{width:150px;min-height:160px}.avatar-emoji{font-size:3.4rem}.speech{font-size:1.15rem;padding:10px 16px}.worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:400px}.world,.world.main{width:auto;min-height:clamp(84px,13dvh,140px);font-size:1rem;padding:6px}.world.main{grid-column:1 / -1}.world span{font-size:2.2rem}.big-btn{font-size:1.15rem;padding:12px 20px;min-height:60px}.row-btn{flex-wrap:wrap;justify-content:center}.parent{padding:12px 12px 0}.play{padding:8px 12px 16px;gap:8px}.task{gap:12px}.prompt-text{font-size:1.4rem}.shown{min-height:80px;padding:10px 12px}.options{gap:12px}.option{min-width:120px;min-height:110px;border-radius:22px}.v-emoji{font-size:3.6rem}.v-number{font-size:3.2rem}.v-short{font-size:2.6rem}.robo-card{width:60px;height:60px;padding:8px}.robo-card.small{width:50px;height:50px;padding:6px}.loop-count{width:54px;font-size:1.1rem}.robo-go{width:90px;height:60px}.island-screen{padding:4px 8px 12px;gap:6px}.island-bar{gap:6px}.island-bar button{padding:8px 10px;min-height:44px}.island-bar .avatar-emoji{font-size:2rem}.materials{font-size:1rem;gap:6px;flex-wrap:wrap}.requests{gap:6px;flex-wrap:nowrap;width:100%}.request{flex:1;min-width:0;padding:6px 4px;border-radius:16px}.req-who svg{width:36px;height:36px}.req-what{font-size:.85rem;text-align:center}.req-reward{font-size:.8rem}.shop{max-height:34dvh}.shop-item{width:92px}.island{--t: min(calc(96vw / var(--w)), calc((100dvh - 330px) / var(--h)))}}@media(max-height:700px){.avatar-emoji.huge{font-size:3rem}.world,.world.main{min-height:72px}.world span{font-size:1.8rem}.center h1.big{font-size:1.5rem;margin:0}}.play{height:100dvh;min-height:0;overflow:hidden}.fit-outer{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.play .fit-outer{max-width:900px}.center.fixed{height:100dvh;min-height:0;padding:12px;overflow:hidden;justify-content:flex-start;gap:0}.fit-inner.col{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.fit-inner{flex:none;width:100%;transform-origin:center center}.fit-inner>.task{flex:none;justify-content:flex-start}.center,.island-screen,.parent{overflow-x:hidden}@media(orientation:landscape)and (max-height:500px){.island-screen .requests{gap:4px;width:128px}.island-screen .request{padding:3px 6px;border-radius:14px}.island-screen .req-who svg{width:26px;height:26px}.island-screen .req-what{font-size:.78rem;line-height:1.1}.island-screen .req-reward{display:none}.island-screen .request{display:grid;grid-template-columns:28px 1fr;grid-template-areas:"who where" "who what";column-gap:6px;align-items:center;justify-items:start;text-align:left}.island-screen .req-who{grid-area:who}.island-screen .req-where{grid-area:where;font-size:.68rem;line-height:1.1}.island-screen .req-what{grid-area:what}.island-screen .island{--t: min(calc((100vw - 128px - 200px - 40px) / var(--w)), calc((100dvh - 62px) / var(--h)))}}@media(orientation:landscape)and (max-height:340px){.island-screen .requests{gap:3px}.island-screen .request{padding:1px 6px;grid-template-columns:22px 1fr}.island-screen .req-who svg{width:22px;height:22px}.island-screen .req-what{font-size:.72rem}.island-screen .req-where{font-size:.62rem}}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #e3eaf2}.info-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.parent details.card h3{margin:12px 0 4px}.probe-link{font-weight:600;white-space:nowrap}.actors{position:absolute;inset:0;pointer-events:none}.actor{position:absolute;width:max(calc(var(--t) * 1.7),46px);height:max(calc(var(--t) * 1.7),46px);padding:0;background:transparent;border:0;border-radius:50%;transform:translate(-50%,-82%);transition-property:left,top;transition-timing-function:linear;pointer-events:auto;cursor:pointer}.actor-flip{position:absolute;inset:0;display:block}.actor .art{transform-origin:50% 100%}.actor.walking .art{animation:step .36s ease-in-out infinite alternate}.actor.act-wave .art{animation:wave .7s ease-in-out infinite alternate}.actor.act-hammer .art,.actor.act-play .art{animation:lean .5s ease-in-out infinite alternate}.actor.act-cheer .art{animation:hop .45s ease-out 2}.actor.is-pip{filter:drop-shadow(0 0 4px rgba(255,190,70,.9))}@keyframes step{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-9%) rotate(4deg)}}@keyframes wave{0%{transform:rotate(-6deg) scale(1.04)}to{transform:rotate(6deg) scale(1.1)}}@keyframes lean{0%{transform:rotate(-3deg)}to{transform:rotate(5deg) translateY(2%)}}@keyframes hop{0%{transform:translateY(0)}50%{transform:translateY(-18%) scale(1.06)}to{transform:translateY(0)}}.hammer{position:absolute;right:-32%;top:-4%;width:62%;height:62%;overflow:visible}.hammer-swing{transform-origin:29px 54px;animation:swing .5s ease-in infinite alternate}@keyframes swing{0%{transform:rotate(-60deg)}to{transform:rotate(15deg)}}.puffs{position:absolute;left:70%;bottom:-4%;width:40%;height:40%}.puffs i{position:absolute;bottom:0;width:38%;aspect-ratio:1;border-radius:50%;background:#ffffffd9;opacity:0;animation:puff .9s ease-out infinite}.puffs i:nth-child(1){left:0}.puffs i:nth-child(2){left:30%;animation-delay:.3s}.puffs i:nth-child(3){left:60%;animation-delay:.6s}@keyframes puff{0%{opacity:.9;transform:translateY(0) scale(.4)}to{opacity:0;transform:translateY(-160%) scale(1.3)}}.cheer{position:absolute;left:50%;top:-22%;transform:translate(-50%);white-space:nowrap;color:#f5b83d;font-size:calc(var(--t) * .55);font-weight:800;text-shadow:0 0 4px #fff,0 0 4px #fff;animation:rise-fade 1.2s ease-out}@keyframes rise-fade{0%{opacity:0;transform:translate(-50%,30%)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)}}.picker-pos{position:absolute;z-index:100;pointer-events:auto}.pick-row{box-sizing:border-box;width:100%;display:flex;justify-content:center;gap:6px;padding:6px 8px;background:#fffcf0f7;border:3px solid #f2b84b;border-radius:20px;box-shadow:0 4px 14px #00000047;animation:pick-in .22s ease-out}@keyframes pick-in{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.pick-card{flex:1 1 0;min-width:0;max-width:78px;height:78px;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#fff;border:3px solid #e4d9b8;border-radius:16px;box-shadow:none;font:inherit;color:inherit}.pick-card.speaking{border-color:#f2a21e;background:#fff1c9;transform:scale(1.06)}.pick-emoji{font-size:2rem;line-height:1.1}.pick-all{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:#fff8e6}.pick-all-bar{flex:none;display:flex;align-items:center;gap:12px;padding:8px 12px;font-weight:800;font-size:1.1rem;background:#f2b84b}.pick-all-back{min-width:48px;min-height:48px;font-size:1.5rem}.pick-all-grid{flex:1;min-height:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;padding:12px;overflow:hidden}.pick-label{font-size:.72rem;font-weight:800;line-height:1.05;text-align:center}.house{overflow:visible}.layer-pop{transform-box:fill-box;transform-origin:50% 100%;animation:layer-pop .7s cubic-bezier(.3,1.6,.5,1)}@keyframes layer-pop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.site.empty .lm-stage{color:#c98a00}.moment{position:absolute;pointer-events:none;z-index:2}.moment .art{filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}.moment-new{animation:layer-pop .8s cubic-bezier(.3,1.6,.5,1);transform-origin:50% 100%}.moment.bye{animation-duration:4.4s;animation-fill-mode:forwards;animation-timing-function:ease-in}.moment.bye-wave{animation-name:bye-wave}.moment.bye-wave:after{content:"";position:absolute;left:-120%;right:-120%;bottom:-10%;height:70%;border-radius:50%;background:radial-gradient(ellipse at center,#fffffff2 0 30%,#8fd0f0cc 31% 100%);opacity:0;animation:wave-run 4.4s ease-in-out forwards}.moment.bye-float{animation-name:bye-float}.moment.bye-twinkle{animation-name:bye-twinkle}@keyframes bye-wave{0%,45%{opacity:1;transform:none}80%{opacity:.5;transform:translateY(10%) scale(.85)}to{opacity:0;transform:translateY(18%) scale(.5)}}@keyframes wave-run{0%,25%{opacity:0;transform:translate(-45%)}50%{opacity:1}85%{opacity:1;transform:translate(45%)}to{opacity:0;transform:translate(60%)}}@keyframes bye-float{0%,20%{opacity:1;transform:none}to{opacity:0;transform:translate(25%,-340%) rotate(14deg) scale(.7)}}@keyframes bye-twinkle{0%{opacity:1}15%,45%,75%{opacity:.35}30%,60%{opacity:1}to{opacity:0;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){.actor .art,.hammer-swing,.puffs i,.cheer,.pick-row{animation:none!important}.moment.bye{animation-duration:.01s!important}.moment.bye:after{display:none}}.bye-text{position:absolute;left:50%;top:6px;transform:translate(-50%);z-index:90;max-width:92%;margin:0;padding:4px 12px;font-size:.95rem;text-align:center;pointer-events:none;animation:pick-in .3s ease-out}.sea{position:absolute;pointer-events:none;animation:sea-swim 11s ease-in-out forwards}.sea-drift{animation:sea-drift 11s ease-in-out forwards}.sea-life{width:100%;height:100%;transform-origin:50% 80%;animation:sea-surface 11s ease-in-out forwards}.sea-drift .sea-life{animation:sea-fade 11s ease-in-out forwards}.sea-art{display:block;width:100%;height:100%;animation:sea-bob 2.2s ease-in-out infinite;transform-origin:50% 60%}.sea-whale .sea-art{animation-duration:3.6s}.sea-turtle .sea-art{animation-duration:3.2s}.sea-drift .sea-art{animation:sea-hover 3s ease-in-out infinite}.sea-tail{transform-box:fill-box;transform-origin:100% 50%;animation:sea-flap .5s ease-in-out infinite alternate}.sea-whale .sea-tail{animation-duration:.9s}.sea-flipper{transform-box:fill-box;transform-origin:80% 20%;animation:sea-paddle .9s ease-in-out infinite alternate}.sea-wiggle{animation:sea-wiggle .5s ease-in-out infinite alternate}.sea-pulse{transform-box:fill-box;transform-origin:50% 20%;animation:sea-pulse 1.6s ease-in-out infinite}.sea-spin{transform-box:fill-box;transform-origin:50% 50%;animation:sea-spin 11s ease-in-out forwards}.sea-spout{animation:sea-spout 3.6s ease-out infinite;transform-box:fill-box;transform-origin:50% 100%}.sea-splash{position:absolute;left:20%;right:20%;bottom:-6%;height:22%;border-radius:50%;border:3px solid rgba(255,255,255,.85);opacity:0;animation:sea-splash 11s ease-out forwards}.sea-art-static{display:block}@keyframes sea-swim{0%,12%{transform:translate(0) scaleX(1)}38%{transform:translate(var(--run)) scaleX(1)}38.1%{transform:translate(var(--run)) scaleX(-1)}66%{transform:translate(0) scaleX(-1)}66.1%{transform:translate(0) scaleX(1)}88%,to{transform:translate(calc(var(--run) * .5)) scaleX(1)}}@keyframes sea-drift{0%{transform:translate(0)}to{transform:translate(calc(var(--run) * .7))}}@keyframes sea-surface{0%{opacity:0;transform:translateY(45%) scale(.5) rotate(18deg)}9%{opacity:1;transform:translateY(-18%) scale(1.05) rotate(-12deg)}14%,84%{opacity:1;transform:none}94%{opacity:1;transform:translateY(-14%) scale(1) rotate(-10deg)}to{opacity:0;transform:translateY(55%) scale(.5) rotate(25deg)}}@keyframes sea-fade{0%{opacity:0;transform:scale(.6)}10%,88%{opacity:1;transform:none}to{opacity:0;transform:scale(.6)}}@keyframes sea-splash{0%,to{opacity:0;transform:scaleX(.4)}8%{opacity:.9;transform:scaleX(.9)}20%{opacity:0;transform:scaleX(1.5)}90%{opacity:0;transform:scaleX(.6)}95%{opacity:.9;transform:scaleX(1)}}@keyframes sea-bob{0%,to{transform:translateY(6%) rotate(3deg)}50%{transform:translateY(-8%) rotate(-4deg)}}@keyframes sea-hover{0%,to{transform:translateY(8%)}50%{transform:translateY(-10%)}}@keyframes sea-flap{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@keyframes sea-paddle{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@keyframes sea-spin{to{transform:rotate(50deg)}}@keyframes sea-wiggle{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}@keyframes sea-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08,.9)}}@keyframes sea-spout{0%,55%{opacity:0;transform:scaleY(.2)}65%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.2)}}@media(prefers-reduced-motion:reduce){.sea,.sea-life,.sea-art,.sea-tail,.sea-flipper,.sea-wiggle,.sea-pulse,.sea-spin,.sea-spout,.sea-splash{animation:none}.sea-splash{display:none}}.lab{max-width:960px}.lab-filter{display:flex;flex-wrap:wrap;gap:8px}.lab-filter button{padding:8px 14px;font-size:.95rem}.lab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lab-list li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lab-game{flex:1 1 320px;text-align:left;background:#fff;border:2px solid #e4dcc4;border-radius:12px;padding:10px 14px;font:inherit;cursor:pointer}.lab-rungs{display:flex;flex-wrap:wrap;gap:4px;font-size:.9rem}.lab-rungs a{min-width:2em;padding:4px 6px;text-align:center;border:1px solid currentColor;border-radius:6px;text-decoration:none}.lab-bar{position:sticky;top:0;z-index:6;background:var(--bg);display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;width:100%;box-sizing:border-box}.lab-title{margin-right:auto}.lab-info{font-size:.85rem;margin:0 8px}.sea-demo{position:relative;width:calc(var(--t) * 6);height:calc(var(--t) * 1.4);background:#8fd0f0;border-radius:12px;overflow:hidden}.sea-demo .sea{top:calc(var(--t) * .2)!important}.gfx{max-width:760px;margin:0 auto;padding:0 12px 40px;color:#1d2a33;min-height:100vh;background:#f4f7f9;font:16px/1.5 system-ui,sans-serif}.gfx-top{display:flex;gap:12px;align-items:center;padding:10px 0;position:sticky;top:0;background:#f4f7f9;z-index:5}.gfx-top a{color:#1f7a8c;text-decoration:none}.gfx-save{margin-left:auto;font-size:.8rem;color:#5d6d78}.gfx-bar{height:4px;background:#dbe3e8}.gfx-bar div{height:100%;background:#1f7a8c;transition:width .25s}.gfx-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0;font-size:.875rem}.gfx-tools span{margin-right:auto;color:#5d6d78}.gfx button,.gfx select{font:inherit;font-size:.9rem;padding:6px 10px;border-radius:8px;border:1px solid #dbe3e8;background:#fff;cursor:pointer}.gfx-card{background:#fff;border:1px solid #dbe3e8;border-radius:18px;padding:16px;text-align:center;box-shadow:0 6px 24px #00000014}.gfx-card h2{margin:6px 0}.gfx-card code,.gfx-list code{color:#5d6d78;font-size:.75rem;word-break:break-all}.gfx-hint{color:#5d6d78;font-size:.85rem;margin:4px 0}.gfx-prev{background:#fff4d6;border:1px solid #e0a100;border-radius:8px;padding:6px 10px;font-size:.85rem;text-align:left}.gfx-stage{display:flex;justify-content:center;align-items:center;padding:16px 0;overflow:auto}.gfx-stage.small{transform-origin:top left;zoom:.5;justify-content:flex-start}.gfx-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:flex-end}.gfx-fig{margin:0;padding:8px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.gfx-fig figcaption{font-size:.8rem;color:#455}.gfx-actions{display:flex;gap:12px;justify-content:center;margin:10px 0 0}.gfx-actions button{flex:1;max-width:220px;padding:14px 8px;font-size:1.15rem;font-weight:700;border-width:2px}.gfx-actions .no{color:#d6453d;border-color:#d6453d}.gfx-actions .yes{color:#1b9e55;border-color:#1b9e55}.gfx-actions small{display:block;font-weight:400;font-size:.7rem}.gfx-note{text-align:left}.gfx-note textarea,.gfx-list textarea{width:100%;box-sizing:border-box;font:inherit;min-height:4.5em;margin:6px 0}.gfx-done{text-align:center;padding:40px 10px}.gfx-list{list-style:none;padding:0}.gfx-list li{background:#fff;border:1px solid #dbe3e8;border-radius:10px;padding:10px 12px;margin:10px 0}.paint-svg{display:block;width:min(92vw,480px);height:auto;touch-action:manipulation;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001f}.paint-cell{cursor:pointer}.paint-cell.wobble{animation:paint-wobble .4s;transform-box:fill-box;transform-origin:center}@keyframes paint-wobble{0%,to{transform:translate(0)}25%{transform:translate(-.12px)}75%{transform:translate(.12px)}}.paint-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.swatch{width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px var(--line);color:#fff;font-size:1.3rem;font-weight:700;text-shadow:0 0 3px rgba(0,0,0,.6)}.swatch.sel{box-shadow:0 0 0 5px var(--ink);transform:scale(1.1)}.swatch.hint{animation:swatch-pulse .9s infinite}@keyframes swatch-pulse{50%{transform:scale(1.18);box-shadow:0 0 0 6px var(--accent)}}.paint-book{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:560px}.paint-card{position:relative;width:150px;padding:8px;border-radius:var(--radius);background:var(--card);border:2px solid var(--line);display:block}.paint-card .paint-svg{width:100%;box-shadow:none}.paint-card.done{border-color:var(--accent)}.paint-card.locked{opacity:.6}.paint-mark{position:absolute;top:4px;right:8px;font-size:1.6rem}@media(max-height:520px){.swatch{width:46px;height:46px;min-height:46px}.paint-palette{gap:6px}.paint-card{width:110px}}@media(max-width:400px){.paint-card{width:130px}}.lamps{display:grid;grid-template-columns:repeat(auto-fit,130px);gap:18px;justify-content:center;width:100%;max-width:300px}.lamp{width:130px;height:130px;border-radius:50%;background:var(--lamp);opacity:.45;border:6px solid #fff;box-shadow:0 3px 12px #1e3c5a40;color:#fff;font-size:3rem;text-shadow:0 0 4px rgba(0,0,0,.5);transition:opacity .1s,transform .1s}.lamp.lit{opacity:1;transform:scale(1.1);box-shadow:0 0 34px 10px var(--lamp)}.lamp.help{animation:pulse .9s ease-in-out infinite alternate;opacity:.8}.lamp.wobble{animation:wobble .45s}.lamp-progress{display:flex;gap:8px;justify-content:center}.missing-row{display:grid;grid-template-columns:repeat(auto-fit,96px);gap:10px;justify-content:center;width:100%;max-width:540px}.missing-item{width:96px;height:96px;background:#fff;border-radius:22px;border:3px solid var(--line);font-size:3rem;display:flex;align-items:center;justify-content:center}.missing-item.gap{border-style:dashed;background:#f3f8fc}.rule-banner{display:flex;align-items:center;gap:14px;background:#fff;border-radius:24px;padding:8px 18px;box-shadow:0 2px 8px #0000001a}.rule-glyph .symbol,.rule-glyph .swatch-big{width:56px;height:56px;display:block}.swatch-big{border-radius:50%;border:4px solid var(--ink)}.rule-text{font-size:1.5rem;font-weight:800}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,104px);gap:12px;justify-content:center;width:100%;max-width:560px}.rule-item{width:104px;height:104px;background:#fff;border-radius:22px;border:4px solid transparent;box-shadow:0 2px 8px #1e3c5a2e;padding:10px}.rule-item .symbol{width:100%;height:100%}.rule-item.found{opacity:.35;border-color:var(--accent)}.rule-item.wobble{animation:wobble .45s}.go-nogo{display:flex;flex-direction:column;align-items:center;gap:14px}.gn-legend{display:flex;align-items:center;gap:12px;background:#fff;border-radius:24px;padding:8px 14px;box-shadow:0 2px 8px #0000001a}.gn-card{position:relative;width:72px;height:72px;border-radius:18px;border:4px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:2.4rem}.gn-card.go{border-color:var(--accent);background:#eaf8ef}.gn-card.nogo{border-color:#d98b8b;background:#fbeeee}.gn-card.nogo .v-emoji{opacity:.6}.gn-card.glow{border-color:#f2b84b;animation:pulse .9s ease-in-out infinite alternate}.gn-mark{position:absolute;right:-8px;bottom:-10px;font-size:1.4rem}.gn-stage{width:220px;height:220px;border-radius:50%;background:#e8f3fb;border:6px solid #fff;box-shadow:0 3px 14px #1e3c5a40;display:flex;align-items:center;justify-content:center;font-size:6.5rem}.gn-stage.hit{background:#d9f3e2}.gn-stage.slip{background:#fbeeee}.gn-animal{display:block}.gn-animal.hop{animation:pulse .3s ease-in-out 2 alternate}.gn-animal.wobble{animation:wobble .45s}@media(max-height:520px){.gn-stage{width:150px;height:150px;font-size:4.5rem}.gn-card{width:56px;height:56px;font-size:1.9rem}}.rule-item.glow{border-color:#f2b84b;animation:pulse .9s ease-in-out infinite alternate}@media(max-height:520px){.lamp{width:84px;height:84px;font-size:2rem}.missing-item{width:64px;height:64px;font-size:2rem}.rule-item{width:70px;height:70px;padding:6px}.rule-text{font-size:1.15rem}}.trace-svg{width:min(86vw,calc((100dvh - 180px)*.77),340px);touch-action:none;user-select:none;-webkit-user-select:none;background:#fffdf6;border-radius:24px;border:4px solid #fff;box-shadow:0 3px 12px #1e3c5a33}.trace-track{fill:none;stroke:#cfe3f5;stroke-linecap:round;stroke-linejoin:round}.trace-ink{fill:none;stroke:#2e9e5b;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.trace-ink.done{stroke:#4fbf7d}.trace-start{fill:#f5b400;stroke:#fff;stroke-width:2;animation:pulse .9s ease-in-out infinite alternate}.trace-arrow{fill:none;stroke:#1d2b3a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trace-num{pointer-events:none;font-size:9px;font-weight:700;fill:#1d2b3a}.trace-demo{fill:#e53935;opacity:.85}.clock.clock-drag{width:min(80vw,calc(100dvh - 330px),320px);height:auto;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.clock-target{font-size:2.4rem;font-weight:800;color:#1d2b3a}.hand-glow{animation:pulse .9s ease-in-out infinite alternate;filter:drop-shadow(0 0 3px #f2b84b)}.price-tag{display:inline-flex;align-items:center;gap:8px;font-size:1.8rem;font-weight:800;background:#fff;border-radius:14px;padding:6px 14px;box-shadow:0 2px 8px #1e3c5a33}.price-tag.paid{font-size:1.2rem;background:#e8f4ff}.tray{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;min-height:92px;width:min(92vw,420px);padding:8px;background:#fffdf6;border:3px dashed #cfe3f5;border-radius:18px}.tray-empty{color:#7a8a99}.tray-sum{font-weight:700;color:#1f5fb8}.purse{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:min(92vw,420px)}.coin-btn{background:none;border:none;padding:0;min-width:52px;min-height:52px}.money.coin{width:64px;height:64px}.money.note{width:100px;height:54px}@media(max-height:520px){.money.coin{width:46px;height:46px}.money.note{width:76px;height:42px}.tray{min-height:58px}.clock-target{font-size:1.6rem}}.explain{display:flex;flex-direction:column;align-items:center;gap:12px}.explain .speech{max-width:760px}.explain .clock{width:min(46vh,80vw);height:auto}.ex-money,.ex-cards{display:flex;flex-direction:column;align-items:center;gap:10px}.ex-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ex-item{font-size:3rem}.ex-price{font-size:1.8rem;background:#fff;border-radius:12px;padding:4px 12px}.ex-tray{min-height:70px}.ex-frames{width:min(86vw,440px);height:auto}.ex-card{background:#fff;border:3px solid #1d2b3a;border-radius:12px;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;padding:4px}.ex-card svg{width:100%;height:100%}.ex-loop{width:auto;gap:4px;background:#fff7e0;padding:4px 8px}.ex-rep{display:inline-flex;align-items:center;gap:2px;width:auto;font-size:1.3rem}.ex-rep svg{width:36px;height:36px}.ex-label{font-size:1.8rem}.ex-letter{display:flex;align-items:center;gap:24px;background:#fff;border-radius:24px;padding:12px 28px;box-shadow:0 2px 8px #0000001a}.ex-letter b{font-size:5.5rem;line-height:1}.ex-letter span{font-size:5rem;line-height:1}@media(max-height:520px){.ex-card{width:44px;height:44px}.ex-letter b,.ex-letter span{font-size:3.5rem}.ex-item{font-size:2.2rem}}.tangram{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.tangram-svg{touch-action:none;-webkit-user-select:none;user-select:none}.tg-hole{fill:#dfeaf3;stroke:#fff;stroke-width:.06}.tg-ghost{fill:none;stroke:#f2b84b;stroke-width:.1;stroke-dasharray:.25 .15}.tg-piece{cursor:grab}.tg-piece rect{stroke:#1e2b3a8c;stroke-width:.05}.tg-piece.lifting{opacity:.85;filter:drop-shadow(0 .15px .25px rgba(0,0,0,.4))}.tg-piece.wobble{animation:wobble .45s}.tg-piece.glow rect{stroke:#f2b84b;stroke-width:.14}
