:root{--bg:var(--tg-theme-bg-color,#fff);--surface:var(--tg-theme-secondary-bg-color,#f2f3f5);--text:var(--tg-theme-text-color,#101318);--muted:var(--tg-theme-hint-color,#707a86);--accent:var(--tg-theme-button-color,#2f6feb);--accent-text:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,#2f6feb);--border:color-mix(in srgb, var(--muted) 22%, transparent);--positive:#17a673;--warning:#d99117;--danger:#d8453b;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}a{color:var(--link);text-decoration:none}.app{max-width:720px;margin:0 auto;padding:16px 16px 88px}.header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.header h1{letter-spacing:-.01em;margin:0;font-size:20px}.header .subtitle{color:var(--muted);margin-top:2px;font-size:13px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px;padding:16px}.card.tight{padding:12px 14px}.card h2{margin:0 0 10px;font-size:15px}.card h3{margin:0 0 6px;font-size:14px}.balance{text-align:center;padding:22px 16px}.balance .amount{letter-spacing:-.02em;font-size:34px;font-weight:650}.balance .amount span{color:var(--muted);margin-left:6px;font-size:16px;font-weight:500}.balance .caption{color:var(--muted);margin-top:2px;font-size:13px}.stat-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:12px}.stat .value{font-size:19px;font-weight:640}.stat .label{color:var(--muted);margin-top:2px;font-size:12px}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.row:last-child{border-bottom:none}.row .primary{font-weight:550}.row .secondary{color:var(--muted);font-size:13px}.row .value{text-align:right;white-space:nowrap}.btn{border-radius:var(--radius-sm);background:var(--accent);width:100%;color:var(--accent-text);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{color:var(--link);border:1px solid var(--border);background:0 0}.btn.danger{background:var(--danger)}.btn.small{width:auto;padding:8px 14px;font-size:13px}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);margin-bottom:10px;padding:12px 14px;font-family:inherit;font-size:15px}.pill{letter-spacing:.02em;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.pill.ok{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--positive)}.pill.warn{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning)}.pill.bad{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.pill.neutral{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted)}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:8px 4px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:4px 10px;font-size:10.5px;display:flex}.nav a.active{color:var(--accent)}.nav .glyph{font-size:18px;line-height:1}.tabs{gap:6px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:13px}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:#0000}.quiz-option{text-align:left;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);cursor:pointer;margin-bottom:8px;padding:13px 15px;font-family:inherit;font-size:14.5px;display:block}.quiz-option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.quiz-option.correct{border-color:var(--positive);background:color-mix(in srgb, var(--positive) 12%, transparent)}.quiz-option.wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.quiz-option .explanation{color:var(--muted);margin-top:6px;font-size:12.5px;display:block}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.mt{margin-top:14px}.mb{margin-bottom:14px}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.notice{border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 14px;font-size:13.5px}.notice.error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.notice.info{background:color-mix(in srgb, var(--accent) 10%, transparent)}.notice.ok{background:color-mix(in srgb, var(--positive) 12%, transparent);color:var(--positive)}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.skeleton{border-radius:var(--radius);background:var(--surface);height:64px;margin-bottom:10px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}
