:root{--bg: #f6f4f0;--surface: #fffdfa;--text: #1e1c1a;--text2: #6f6a63;--accent: #3b4cc8;--on-accent: #ffffff;--accent-soft: rgba(59, 76, 200, .07);--success: #2f7d55;--success-soft: rgba(47, 125, 85, .12);--error: #c0392b;--error-hint: rgba(192, 57, 43, .55);--error-soft: rgba(192, 57, 43, .08);--error-border: #ecc7c2;--warning-bg: #fdf3e3;--warning-border: #e8d5ab;--border: #e3ded6;--tooltip-bg: #1e1c1a;--tooltip-text: #ffffff;--keyboard-bg: #e7e3dc;--cal1: rgba(59, 76, 200, .16);--cal2: rgba(59, 76, 200, .34);--cal3: rgba(59, 76, 200, .6);--cal4: #3b4cc8;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 20px;--shadow-cta: 0 10px 24px rgba(59, 76, 200, .22);--shadow-toast: 0 8px 20px rgba(0, 0, 0, .18);--gutter: 18px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);color-scheme:light}[data-theme=dark]{--bg: #16151a;--surface: #1f1e24;--text: #f2efe9;--text2: #a29c93;--accent: #8fa0ff;--on-accent: #141319;--accent-soft: rgba(143, 160, 255, .12);--success: #6cc08c;--success-soft: rgba(108, 192, 140, .16);--error: #ff7a6d;--error-hint: rgba(255, 122, 109, .6);--error-soft: rgba(255, 122, 109, .12);--error-border: #5a3630;--warning-bg: #2b2519;--warning-border: #4a3f28;--border: #2f2d35;--tooltip-bg: #3a3842;--keyboard-bg: #26242b;--cal1: rgba(143, 160, 255, .22);--cal2: rgba(143, 160, 255, .45);--cal3: rgba(143, 160, 255, .72);--cal4: #8fa0ff;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}input,button,textarea{font-family:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.app{min-height:100dvh;max-width:520px;margin:0 auto;display:flex;flex-direction:column;padding-top:var(--safe-top)}.screen{flex:1;display:flex;flex-direction:column;gap:18px;padding:18px var(--gutter) calc(26px + var(--safe-bottom))}.h1{margin:0;font-size:22px;font-weight:600;line-height:1.25}.h2{margin:0;font-size:19px;font-weight:600}.overline{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text2)}.meta{font-size:12px;color:var(--text2)}.caption{font-size:13px;color:var(--text2)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:14px 16px}.row{display:flex;align-items:center;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.col{display:flex;flex-direction:column}.btn{border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:600;padding:15px 16px;background:var(--accent);color:var(--on-accent);transition:transform .12s ease-out,opacity .12s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn-hero{width:100%;padding:26px;border-radius:var(--radius-2xl);font-size:22px;box-shadow:var(--shadow-cta)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:400}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text2);font-size:13px;font-weight:500;border-radius:999px;padding:7px 13px}.btn-pill{background:var(--accent);color:var(--on-accent);border:none;font-size:13px;font-weight:500;border-radius:999px;padding:7px 13px}.btn-danger{background:transparent;border:1px solid var(--error-border);color:var(--error);font-size:15px;font-weight:400}.btn-dashed{background:transparent;border:1px dashed var(--border);color:var(--accent);font-size:15px;font-weight:400}.icon-btn{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center}.icon-btn.sm{width:36px;height:36px;border-radius:10px}.icon-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.icon-btn.recording{background:var(--error);color:#fff;border-color:var(--error);animation:pulse 1.2s infinite}.icon-btn:disabled{opacity:.45}.tag{font-size:12px;color:var(--text2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 10px;line-height:1.4}.pill{font-size:11px;border-radius:999px;padding:3px 10px;border:1px solid var(--accent);color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.link-btn{background:none;border:none;padding:0;font-size:12px;color:var(--accent)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes fadeup{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes skeleton{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.rt{font-size:16px;line-height:1.6}.rt h2{font-size:19px;margin:22px 0 10px}.rt h3{font-size:17px;margin:18px 0 8px}.rt p{margin:0 0 12px}.rt-table-wrap{overflow-x:auto;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--radius-md)}.rt table{border-collapse:collapse;min-width:100%;font-size:14px}.rt th,.rt td{border:1px solid var(--border);padding:8px 10px;text-align:left;white-space:nowrap}.rt th{background:var(--bg);font-weight:600}.rt tr td:first-child,.rt tr th:first-child{position:sticky;left:0;background:var(--surface);font-weight:500}.rt-callout{border-radius:12px;padding:12px 14px;margin:0 0 14px;background:var(--accent-soft);border:1px solid var(--border)}.rt-callout-exception,.rt-callout-warning{background:var(--warning-bg);border-color:var(--warning-border)}.rt-callout-example{background:var(--bg)}.rt-callout-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);margin-bottom:6px}.rt-callout p:last-child{margin-bottom:0}.rt-c-accent{color:var(--accent)}.rt-c-success{color:var(--success)}.rt-c-error{color:var(--error)}.rt-c-text-secondary{color:var(--text2)}.rt-bg-accent-soft{background:var(--accent-soft)}.rt-bg-success-soft{background:var(--success-soft)}.rt-bg-warning-bg{background:var(--warning-bg)}.rt-bg-bg{background:var(--bg)}.rt-bg-border{background:var(--border)}
