:root{color-scheme:light;--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#f8f9fa;--bg-elevated:#fff;--bg-hover:#f0f0f0;--bg-active:#e8e8e8;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#999;--text-inverse:#fff;--border-primary:#e5e5e5;--border-secondary:#ddd;--border-tertiary:#eee;--border-focus:#0070f3;--primary:#0070f3;--primary-hover:#0051a8;--primary-light:#f0f7ff;--gradient-primary-start:#667eea;--gradient-primary-end:#764ba2;--gradient-secondary-start:#f093fb;--gradient-secondary-end:#f5576c;--success:#43a047;--success-light:#e8f5e9;--success-text:#2e7d32;--error:#e53935;--error-light:#ffebee;--error-text:#c62828;--warning:#ff9800;--warning-light:#fff3e0;--warning-text:#e65100;--shadow-color:rgba(0,0,0,.08);--shadow-color-heavy:rgba(0,0,0,.12);--shadow-overlay:rgba(0,0,0,.5);--input-bg:#fff;--input-border:#e5e5e5;--input-placeholder:#999;--button-disabled-bg:#ccc;--progress-bar-bg:#e0e0e0;--card-bg:#fff;--modal-bg:#fff;--drawer-bg:#fff;--drawer-handle:#ddd;--table-header-bg:#f8f9fa;--table-border:#e9ecef;--table-row-hover:#fafafa;--table-cell-focus:#f0f7ff;--flashcard-front-gradient:linear-gradient(135deg,#667eea,#764ba2);--flashcard-back-gradient:linear-gradient(135deg,#f093fb,#f5576c);--badge-shared:#10b981;--scrollbar-track:#f5f5f5;--scrollbar-thumb:#ccc;--scrollbar-thumb-hover:#aaa}:root[data-theme=dark]{color-scheme:dark;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#252525;--bg-elevated:#2d2d2d;--bg-hover:#383838;--bg-active:#404040;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-tertiary:grey;--text-inverse:#1a1a1a;--border-primary:#404040;--border-secondary:#333;--border-tertiary:#2d2d2d;--border-focus:#4dabf7;--primary:#4dabf7;--primary-hover:#74c0fc;--primary-light:#1a3a5c;--gradient-primary-start:#7b8ff0;--gradient-primary-end:#8b63b3;--gradient-secondary-start:#f5a8fc;--gradient-secondary-end:#f77d8e;--success:#66bb6a;--success-light:#1b3d1b;--success-text:#81c784;--error:#ef5350;--error-light:#3d1b1b;--error-text:#ef9a9a;--warning:#ffb74d;--warning-light:#3d2e1b;--warning-text:#ffd180;--shadow-color:rgba(0,0,0,.3);--shadow-color-heavy:rgba(0,0,0,.4);--shadow-overlay:rgba(0,0,0,.7);--input-bg:#2d2d2d;--input-border:#404040;--input-placeholder:#707070;--button-disabled-bg:#404040;--progress-bar-bg:#404040;--card-bg:#1e1e1e;--modal-bg:#252525;--drawer-bg:#1e1e1e;--drawer-handle:#404040;--table-header-bg:#252525;--table-border:#333;--table-row-hover:#2d2d2d;--table-cell-focus:#1a3a5c;--flashcard-front-gradient:linear-gradient(135deg,#5a6fd1,#6b4396);--flashcard-back-gradient:linear-gradient(135deg,#d77ee0,#d14d5b);--badge-shared:#34d399;--scrollbar-track:#1e1e1e;--scrollbar-thumb:#404040;--scrollbar-thumb-hover:#555}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#252525;--bg-elevated:#2d2d2d;--bg-hover:#383838;--bg-active:#404040;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-tertiary:grey;--text-inverse:#1a1a1a;--border-primary:#404040;--border-secondary:#333;--border-tertiary:#2d2d2d;--border-focus:#4dabf7;--primary:#4dabf7;--primary-hover:#74c0fc;--primary-light:#1a3a5c;--gradient-primary-start:#7b8ff0;--gradient-primary-end:#8b63b3;--gradient-secondary-start:#f5a8fc;--gradient-secondary-end:#f77d8e;--success:#66bb6a;--success-light:#1b3d1b;--success-text:#81c784;--error:#ef5350;--error-light:#3d1b1b;--error-text:#ef9a9a;--warning:#ffb74d;--warning-light:#3d2e1b;--warning-text:#ffd180;--shadow-color:rgba(0,0,0,.3);--shadow-color-heavy:rgba(0,0,0,.4);--shadow-overlay:rgba(0,0,0,.7);--input-bg:#2d2d2d;--input-border:#404040;--input-placeholder:#707070;--button-disabled-bg:#404040;--progress-bar-bg:#404040;--card-bg:#1e1e1e;--modal-bg:#252525;--drawer-bg:#1e1e1e;--drawer-handle:#404040;--table-header-bg:#252525;--table-border:#333;--table-row-hover:#2d2d2d;--table-cell-focus:#1a3a5c;--flashcard-front-gradient:linear-gradient(135deg,#5a6fd1,#6b4396);--flashcard-back-gradient:linear-gradient(135deg,#d77ee0,#d14d5b);--badge-shared:#34d399;--scrollbar-track:#1e1e1e;--scrollbar-thumb:#404040;--scrollbar-thumb-hover:#555}}*{box-sizing:border-box;padding:0;margin:0}html{max-width:100vw;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s ease,color .2s ease}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::selection{background-color:var(--primary);color:var(--text-inverse)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.AppBanner_banner__68cjo{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--gradient-primary-start) 0,var(--gradient-primary-end) 100%);z-index:9999;padding:max(12px,env(safe-area-inset-top)) 16px 12px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.AppBanner_content__k68b3{display:flex;align-items:center;justify-content:space-between;max-width:600px;margin:0 auto}.AppBanner_appInfo__3jXcm{display:flex;align-items:center;gap:12px}.AppBanner_icon__rJWxM{font-size:32px;line-height:1}.AppBanner_text__gOwdT{color:var(--text-inverse)}.AppBanner_title__qREXn{font-weight:600;font-size:16px}.AppBanner_subtitle__wXfsI{font-size:12px;opacity:.9}.AppBanner_actions__J7xY1{display:flex;align-items:center;gap:8px}.AppBanner_openButton__XoQoQ{background:var(--bg-secondary);color:var(--gradient-primary-start);border:none;padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s}.AppBanner_openButton__XoQoQ:active{transform:scale(.95)}.AppBanner_dismissButton__HSyiO{background:hsla(0,0%,100%,.2);color:var(--text-inverse);border:none;width:28px;height:28px;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.AppBanner_dismissButton__HSyiO:active{background:hsla(0,0%,100%,.3)}