:root{--leaf:#2f5f8a;--leaf-bg:#dcebf5}.title-card .logo{color:#2b4f7a}.card{width:min(400px,100% - 24px);padding:10px 14px 12px;position:absolute;top:12px;left:12px}.card.pulse{animation:.9s ease-out objective-glow}.card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.belt-chip{border:2px solid var(--wood-dark);font-family:var(--font-pixel);font-size:var(--text-small);border-radius:999px;padding:2px 10px;font-weight:600}.card .level{font-size:var(--text-small);color:var(--ink-soft);font-weight:700}.equation{font-family:var(--font-body);font-weight:700;font-size:calc(var(--text) * 1.9);color:#2b1d1e;line-height:1.1}.prompt-text{margin-top:2px;font-weight:700}.hop-log{background:var(--paper-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;border-radius:6px;margin-top:6px;padding:4px 8px}.hint-box{top:calc(12px + var(--card-h,170px));background:#fff4c9;align-items:flex-start;gap:10px;width:min(400px,100% - 24px);padding:10px 12px;font-weight:700;line-height:1.35;display:flex;position:absolute;left:12px}.meter{text-align:center;padding:6px 12px 8px;position:absolute;top:12px;right:12px}.meter .place{font-family:var(--font-pixel);color:var(--wood-dark);margin-bottom:2px;font-weight:600}.stars{justify-content:center;gap:2px;display:flex}.pad{align-items:stretch;gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.pad-btn{color:#fff;background:#2f4a7a;border-color:#1a2a48;flex-direction:column;gap:0;min-width:72px;min-height:72px;padding:4px 8px;box-shadow:0 3px #1a2a48}.pad-btn:hover{background:#3a5a92}.pad-btn .n{font-family:var(--font-body);font-size:22px;font-weight:700;line-height:1}.pad-btn .pad-label{font-size:13px;font-weight:700}.pad-btn.big{background:#24395f}.pad-btn.land{background:var(--gold);color:#2a1a05;border-color:var(--wood-dark);min-width:110px;box-shadow:0 3px 0 var(--wood-dark)}.pad-btn.land:hover{background:#ffc75a}.pad-btn.land .pad-label{font-size:var(--text)}:root[data-talking=true] .pad,:root[data-talking=true] .result{display:none}.result{text-align:center;background:#f3fbe9;width:min(460px,100% - 24px);padding:14px 16px;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.res-eq{font-family:var(--font-body);font-size:calc(var(--text) * 1.7);color:#24521f;font-weight:700}.res-praise{justify-content:center;align-items:center;gap:8px;margin:6px 0 12px;font-weight:700;display:flex}.belt-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.belt-row{background:var(--paper-2);border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.belt-row.current{box-shadow:inset 0 0 0 3px var(--gold-dark)}.belt-row.locked{opacity:.7}.belt-swatch{border:2px solid var(--wood-dark);border-radius:3px;flex:none;width:36px;height:14px}.belt-info{min-width:0;font-size:var(--text-small);flex-direction:column;flex:1;gap:2px;display:flex}.belt-info strong{font-size:var(--text)}.belt-stars{gap:1px;display:flex}.table-wrap{overflow-x:auto}.progress-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.progress-table th,.progress-table td{text-align:left;border-bottom:2px solid var(--paper-3);vertical-align:top;padding:6px 8px}.toolbar{bottom:12px}@media (max-width:1060px){.toolbar{flex-direction:column;top:96px;bottom:auto;right:12px}.toolbar .btn{min-width:56px;min-height:48px}.toolbar .btn span:not(.kbd){display:none}}@media (max-width:640px){.card{width:calc(100% - 16px);padding:8px 10px;top:8px;left:8px}.equation{font-size:calc(var(--text) * 1.6)}.meter{padding:4px 8px;top:auto;bottom:96px;right:8px}.meter .place{display:none}.hint-box{width:calc(100% - 16px);left:8px}.pad{gap:6px;bottom:8px;left:8px;right:8px;transform:none}.pad-btn{flex:1;min-width:0;min-height:74px;padding:4px 2px}.pad-btn.land{flex:1.5;min-width:0}.pad-btn .pad-label{font-size:12px}.pad-btn.land .pad-label{font-size:15px}.toolbar{flex-direction:row;gap:6px;display:flex;top:auto;bottom:96px;left:8px;right:auto}.toolbar .btn{min-width:46px;min-height:46px;padding:2px}.toolbar .btn .kbd{display:none}.result{bottom:152px}.dialogue{bottom:8px}}
