:root{--bg:#f4f4f6;--surface:#fbfbfd;--ink:#1d1d1f;--ink-soft:#6e6e73;--ink-faint:#7e7e84;--mint:#7cc7a3;--mint-strong:#1d7a5a;--mint-soft:#e8f5ee;--accent-soft:#eef8f2;--accent-muted:#dcefe4;--accent-fill:#b8dec7;--accent-fill-hover:#a3d1b5;--accent-fill-active:#8fc4a3;--accent-on-fill:#163a2b;--accent-text:#397a5a;--accent-outline:#4f9b74;--accent-shadow:#4d916938;--line:#ececf0;--danger:#c05b5b;--danger-strong:#ad4545;--danger-soft:#fff0f0;--danger-border:#efb5b5;--error-text:#8c2e2e;--error-surface:#fff5f5;--media-bg:#f3f4f4;--media-bg-dark:#1b1c1d;--selection-overlay:#74bd9714;--space-modal-section:16px;--space-modal-control:10px;--space-modal-actions:18px;--control-touch:44px;--radius-lg:22px;--shadow-nav:0 2px 10px #1d1d1f14;--shadow-card:0 6px 18px #1d1d1f0d;--duration-page-enter:.22s;--duration-page-fade:.16s;--ease-page-enter:cubic-bezier(.23, 1, .32, 1)}@keyframes pageContentEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pageContentFade{0%{opacity:0}to{opacity:1}}body.bodyDark{--bg:#09090b;--surface:#151517;--ink:#f5f5f7;--ink-soft:#b5b5bb;--ink-faint:#85858d;--mint:#8bc9a5;--mint-strong:#72b98f;--mint-soft:#163b2c;--accent-soft:#163b2c;--accent-muted:#24543d;--accent-fill:#397a5a;--accent-fill-hover:#4b916d;--accent-fill-active:#2f684c;--accent-on-fill:#f3fff7;--accent-text:#9bd5b3;--accent-outline:#8bc9a5;--accent-shadow:#53a1714d;--line:#2b2b30;--danger:#f08383;--danger-strong:#ff9a9a;--danger-soft:#3a1f22;--danger-border:#653536;--error-text:#ffc7c7;--error-surface:#2a1718;--media-bg:#1b1c1d;--media-bg-dark:#151517;--selection-overlay:#74bd9724}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}body.bodyDark{background:#000}button{-webkit-tap-highlight-color:transparent;appearance:none;cursor:pointer;background:0 0;border:none;font-family:inherit}.loadingDots:after{content:"...";vertical-align:bottom;width:0;animation:1.3s steps(4,end) infinite loadingDots;display:inline-block;overflow:hidden}@keyframes loadingDots{to{width:1.05em}}@media (prefers-reduced-motion:reduce){.loadingDots:after{width:auto;animation:none}}
