:root{--bg:#fff8e7;--ink:#3a2e5a;--red:#ff6b6b;--blue:#4dabf7;--green:#51cf66;--yellow:#ffd43b;--purple:#9775fa;--card:#fff;color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Comic Sans MS,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);-webkit-tap-highlight-color:transparent;min-height:100vh;margin:0}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3{margin:0 0 12px}.page{max-width:880px;margin:0 auto;padding:20px 16px 48px}.card{background:var(--card);border-radius:24px;padding:20px;box-shadow:0 6px #3a2e5a1f}.btn{cursor:pointer;background:var(--purple);color:#fff;touch-action:manipulation;border:0;border-radius:18px;padding:14px 24px;font-size:20px;font-weight:700;box-shadow:0 5px #0003}.btn:active{transform:translateY(3px);box-shadow:0 2px #0003}.btn:disabled{opacity:.5}.btn.ghost{color:var(--ink);border:3px solid var(--ink);background:#fff}.btn.small{border-radius:12px;padding:8px 14px;font-size:16px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{gap:16px;display:grid}input,textarea,select{background:#fff;border:3px solid #d0c8ee;border-radius:14px;width:100%;padding:10px 14px}textarea{min-height:160px;font-family:ui-monospace,monospace}label{margin:12px 0 6px;font-weight:700;display:block}.err{color:#d6336c;margin:8px 0;font-weight:700}.muted{opacity:.65}.avatar-pick{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.avatar-btn{cursor:pointer;background:#fff;border:0;border-radius:28px;padding:18px 28px;font-size:64px;box-shadow:0 6px #0000001f}.avatar-btn small{font-size:20px;font-weight:700;display:block}.pin-dots{justify-content:center;gap:14px;margin:12px 0 20px;display:flex}.pin-dots span{background:#d0c8ee;border-radius:50%;width:22px;height:22px}.pin-dots span.on{background:var(--purple)}.keypad{grid-template-columns:repeat(3,84px);justify-content:center;gap:12px;display:grid}.keypad .btn{padding:16px 0;font-size:28px}.task{color:#fff;text-align:left;cursor:pointer;border:0;border-radius:24px;align-items:center;gap:16px;width:100%;padding:20px;font-size:26px;font-weight:800;display:flex;box-shadow:0 6px #0000002e}.task:disabled{filter:grayscale(.8);opacity:.6;cursor:default}.task .emoji{font-size:48px}.task small{opacity:.9;font-size:16px;font-weight:600;display:block}.stars{letter-spacing:2px;margin-left:auto;font-size:28px}.progress{background:#e9e3ff;border-radius:99px;height:16px;margin-bottom:20px;overflow:hidden}.progress div{background:var(--yellow);height:100%;transition:width .3s}.speaker{cursor:pointer;background:#fff;border:0;border-radius:50%;width:160px;height:160px;margin:8px auto 24px;font-size:96px;display:block;box-shadow:0 8px #00000026}.options{grid-template-columns:1fr 1fr;gap:16px;display:grid}.option{cursor:pointer;touch-action:manipulation;background:#fff;border:4px solid #d0c8ee;border-radius:24px;min-height:120px;padding:20px 8px;font-size:32px;font-weight:800;box-shadow:0 6px #0000001a}.option .e{font-size:44px;display:block}.option.right{border-color:var(--green);background:#d3f9d8}.option.wrong{border-color:var(--red);background:#ffe3e3;animation:.3s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.big-stars{text-align:center;font-size:72px}.center{text-align:center}table{border-collapse:collapse;width:100%}td,th{text-align:left;border-bottom:1px solid #eee;padding:6px 8px}.warn{color:#e67700}.tabs{gap:8px;margin-bottom:16px;display:flex}.prompt{margin-bottom:20px}.prompt-text{letter-spacing:2px;margin:8px 0 16px;font-size:56px;font-weight:800}.prompt-emoji{font-size:96px;line-height:1.1}.prompt-img,.opt-img{object-fit:contain;border-radius:16px;max-width:160px;max-height:160px}.prompt .speaker{width:96px;height:96px;margin:8px auto;font-size:48px}.options{grid-template-columns:repeat(2,minmax(0,1fr))}.option{overflow-wrap:anywhere;line-height:1.2}.options.md .option{font-size:28px}.options.sm .option{font-size:22px}.options.xs .option{font-size:18px}.option.picked{border-color:var(--purple);background:#f3eeff}.option:disabled{cursor:default}.timer{background:#ffe3e3;border-radius:99px;height:12px;margin-bottom:12px;overflow:hidden}.timer div{background:var(--red);height:100%;transition:width 1s linear}.slots{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 24px;display:flex}.slot,.tile{cursor:pointer;text-transform:lowercase;background:#fff;border:4px solid #d0c8ee;border-radius:16px;width:64px;height:72px;font-size:40px;font-weight:800}.tile{background:var(--yellow);touch-action:manipulation;border-color:#f0b800;box-shadow:0 5px #0000001f}.tile:disabled{opacity:.25;box-shadow:none}.slots.right .slot{border-color:var(--green);background:#d3f9d8}.slots.wrong .slot{border-color:var(--red);background:#ffe3e3}.tiles{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.match{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px 16px;display:grid}.match .option{flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:12px 8px;font-size:28px;display:flex}.match .option .e{font-size:36px;line-height:1}.item-edit{background:#faf8ff;border-radius:12px;padding:12px}.checks{flex-wrap:wrap;gap:12px;display:flex}.checks label{align-items:center;gap:4px;margin:0;font-weight:600;display:flex}.checks input{width:auto}.toast{z-index:50;border-radius:16px;max-width:90vw;margin:0;padding:12px 20px;font-weight:700;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px #3a2e5a33}.prompt-sub{color:var(--purple);letter-spacing:2px;margin:-4px 0 12px;font-size:36px;font-weight:700}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 4px 0;display:flex}.chip{cursor:pointer;touch-action:manipulation;background:#fff;border:3px solid;border-radius:99px;padding:6px 14px;font-size:18px;font-weight:700}.order-answer{background:#fff;border:4px dashed #d0c8ee;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:96px;margin:8px 0 20px;padding:10px;display:flex}.order-answer.right{border-style:solid;border-color:var(--green);background:#d3f9d8}.order-answer.wrong{border-style:solid;border-color:var(--red);background:#ffe3e3}.order-pool{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.word-tile{cursor:pointer;touch-action:manipulation;background:#fff;border:3px solid #d0c8ee;border-radius:14px;padding:10px 16px;font-size:26px;font-weight:800;box-shadow:0 4px #0000001a}.word-tile.pool{background:var(--yellow);border-color:#f0b800}.word-tile:disabled{opacity:.3;box-shadow:none;cursor:default}.order-answer .word-tile:disabled{opacity:1}.tag{background:var(--purple);color:#fff;border-radius:99px;padding:2px 10px;font-size:14px;font-weight:700}.stats{gap:12px;margin-bottom:8px;display:flex}.stat{text-align:center;color:inherit;background:#fff;border:0;border-radius:20px;flex:1;padding:12px;font-family:inherit;font-size:32px;font-weight:800;box-shadow:0 5px #3a2e5a1f}button.stat{cursor:pointer}.stat small{opacity:.7;font-size:14px;font-weight:600;display:block}.badges{flex-wrap:wrap;gap:8px;margin:0 0 8px;display:flex}.badges span{background:#fff3bf;border-radius:99px;padding:4px 12px;font-size:15px;font-weight:700}.badge-new{background:#fff3bf;font-size:24px;font-weight:800;animation:.5s pop}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.08)}to{transform:scale(1)}}.reward-note{background:#fff3bf;border-radius:14px;margin:0 0 12px;padding:8px 12px;font-weight:700}.reward-note.got{background:#d3f9d8}.subject{margin-bottom:20px}.subject-head{color:#fff;border-radius:20px;align-items:center;gap:12px;padding:12px 16px;font-size:26px;font-weight:800;display:flex;box-shadow:0 5px #0000002e}.subject-head .emoji{font-size:40px}.subject-head small{opacity:.9;font-size:15px;font-weight:600;display:block}.progress-pill{color:var(--ink);background:#ffffffe6;border-radius:99px;margin-left:auto;padding:4px 14px;font-size:18px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.game-card{color:inherit;cursor:pointer;touch-action:manipulation;background:#fff;border:4px solid;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;font-family:inherit;display:flex;box-shadow:0 5px #0000001a}.game-card strong{font-size:24px}.game-card small{opacity:.75;font-size:15px;font-weight:700}.game-card.got{background:#d3f9d8}.game-card:disabled{opacity:.45;cursor:default}.reward-note.resume{background:#e7f5ff}.resume-tag{background:var(--blue);color:#fff;border-radius:99px;padding:2px 12px;font-size:14px;font-weight:700}.cal{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-head{text-align:center;opacity:.6;font-size:14px}.cal-day{aspect-ratio:1;background:#f1f3f5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex}.cal-day small{opacity:.6;font-size:12px}.cal-day.on{background:#8ce99a}.cal-day.some{background:#dee2e6}.bar{background:#e9ecef;border-radius:99px;height:12px;margin:6px 0;display:flex;overflow:hidden}.bar i{display:block}.bar .g{background:#51cf66}.bar .y{background:#ffd43b}.bar .r{background:#ff8787}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
