@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--primary:#0a5c6b;--primary-mid:#1a8ca3;--primary-light:#e0f2f5;--accent:#38d9a9;--accent-dim:#c3fae8;--bg:#f4f7f8;--surface:#fff;--panel-bg:#0a3d47;--text-main:#1a2e35;--text-sub:#5e7a82;--text-muted:#93b0b8;--border:#d9e8eb;--border-strong:#b5cfd5;--error:#e63946;--success:#2dc888;--warning:#f4a261;--shadow-sm:0 1px 4px #0a3c4b12;--shadow-md:0 4px 16px #0a3c4b1a;--shadow-lg:0 8px 40px #0a3c4b21;--shadow-xl:0 20px 60px #0a323c33;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-sans:"DM Sans", system-ui, sans-serif;--font-display:"Playfair Display", Georgia, serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--ease:cubic-bezier(.4, 0, .2, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.35s}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background-color:#f4f7f8;font-size:16px}body{font-family:var(--font-sans);letter-spacing:.01em;color:var(--text-main);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:1rem;line-height:1.6}#root{background-color:var(--bg);width:100%;min-height:100svh;color:var(--text-main);flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);font-weight:700;line-height:1.2}h1{font-size:clamp(28px,4vw,48px)}h2{font-size:clamp(22px,3vw,32px)}h3{font-size:clamp(18px,2.5vw,24px)}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}p{color:var(--text-sub);line-height:1.7}a{color:var(--primary-mid);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease);text-decoration:underline}a:hover{color:var(--primary)}strong,b{color:var(--text-main);font-weight:600}small{color:var(--text-muted);font-size:.8em}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.875em}code{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);padding:2px 7px;font-weight:500}pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;line-height:1.6;overflow-x:auto}pre code{color:var(--text-main);background:0 0;padding:0}kbd{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-sub);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:.8em}img,video,svg{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#0000}button{cursor:pointer}input,textarea,select{outline:none}textarea{resize:vertical}ul,ol{padding-left:1.4em}li{line-height:1.7}hr{border:none;border-top:1px solid var(--border);margin:24px 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-dim,#c3fae8);color:var(--primary)}:focus-visible{outline:2px solid var(--primary-mid);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-container{background:var(--bg,#f4f7f8);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.home-sidebar{background:var(--panel-bg,#0a3d47);z-index:10;flex-direction:column;height:100vh;padding:36px 24px 28px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:#fff;letter-spacing:-.5px;flex-shrink:0;margin-bottom:36px;font-family:DM Sans,sans-serif;font-size:26px}.sidebar-brand span{color:var(--accent,#38d9a9)}.sidebar-profile{background:#ffffff12;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:12px;margin-bottom:32px;padding:14px 16px;display:flex}.profile-avatar{background:var(--accent,#38d9a9);width:40px;height:40px;color:var(--panel-bg,#0a3d47);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-info{overflow:hidden}.profile-greeting{color:#ffffff73;text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:500}.profile-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.sidebar-label{text-transform:uppercase;letter-spacing:1px;color:#ffffff4d;margin-bottom:8px;padding:0 4px;font-size:10px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-nav-btn{color:#ffffff8c;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-nav-btn:hover{color:#ffffffd9;background:#ffffff14}.sidebar-nav-btn .nav-icon{background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.sidebar-nav-btn:hover .nav-icon{background:#38d9a92e}.sidebar-nav-btn .coming-badge{color:#fff6;letter-spacing:.3px;background:#ffffff1a;border-radius:100px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:16px}.logout-link{color:#ffffff59;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.logout-link:hover{color:#e88;background:#e639461f}.mobile-menu-btn{display:none}.home-main{flex-direction:column;min-height:100vh;display:flex;overflow-y:auto}.home-header{border-bottom:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);justify-content:space-between;align-items:flex-end;gap:20px;padding:40px 48px 32px;display:flex}.header-text .welcome-msg{color:var(--primary-mid,#1a8ca3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:13px;font-weight:600}.app-title{color:var(--text-main,#1a2e35);letter-spacing:-.5px;margin:0;font-family:DM Sans,sans-serif;font-size:32px;font-weight:700}.stat-chip{text-align:center;background:var(--primary-light,#e0f2f5);border:1px solid var(--border,#d9e8eb);border-radius:12px;padding:10px 20px}.stat-chip .stat-value{color:var(--primary,#0a5c6b);font-family:DM Sans,sans-serif;font-size:22px;font-weight:700;line-height:1}.stat-chip .stat-label{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.5px;margin-top:3px;font-size:11px;font-weight:500}.content-area{flex:1;padding:36px 48px}.section-header{margin-bottom:24px}.section-title{color:var(--text-main,#1a2e35);margin-bottom:4px;font-family:DM Sans,sans-serif;font-size:20px}.section-subtitle{color:var(--text-sub,#5e7a82);font-size:13px;font-weight:400}.grid-container{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dash-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);cursor:pointer;text-align:left;border-left-width:4px;border-radius:16px;align-items:center;gap:16px;width:100%;padding:20px 20px 20px 18px;font-family:DM Sans,sans-serif;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #0a3c4b12}.dash-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0a3c4b1a}.dash-card.coming-soon{opacity:.7;cursor:default}.dash-card.coming-soon:hover{transform:none;box-shadow:0 1px 4px #0a3c4b12}.icon-box{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.card-text{flex:1;min-width:0}.card-title{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;overflow:hidden}.card-desc{color:var(--text-sub,#5e7a82);margin:0;font-size:12px;line-height:1.4}.card-badge{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);white-space:nowrap;border-radius:100px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.chevron{color:var(--text-muted,#93b0b8);flex-shrink:0;margin-left:4px}.view-wrapper{background:var(--bg,#f4f7f8);flex-direction:column;width:100%;min-height:100vh;display:flex}.top-nav{color:#fff;z-index:100;background:var(--primary,#0a5c6b);align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #00000026}.blue-nav,.orange-nav{background:var(--primary,#0a5c6b)}.back-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff40;border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:background .15s;display:flex}.back-btn:hover{background:#ffffff40}.nav-title{letter-spacing:-.3px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:600}@media (width<=768px){.home-container{grid-template-rows:auto 1fr;grid-template-columns:1fr}.home-sidebar{height:auto;min-height:unset;z-index:50;flex-direction:row;align-items:center;gap:0;padding:12px 16px;position:sticky;top:0;overflow:visible}.sidebar-brand{white-space:nowrap;flex-shrink:0;margin-bottom:0;margin-right:auto;font-size:20px}.sidebar-profile,.sidebar-label,.desktop-nav,.desktop-only{display:none}.mobile-menu-btn{cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s;display:flex}.mobile-menu-btn:hover{background:#fff3}.home-header{flex-direction:column;align-items:flex-start;gap:0;padding:20px 16px 16px}.header-stats{display:none}.app-title{font-size:24px}.content-area{padding:20px 16px}.grid-container{grid-template-columns:1fr}.top-nav{padding:12px 16px}.nav-title{font-size:17px}}.drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0a1e2399;align-items:stretch;display:flex;position:fixed;inset:0}.drawer{background:var(--panel-bg,#0a3d47);flex-direction:column;width:280px;max-width:85vw;padding:0;animation:.25s cubic-bezier(.4,0,.2,1) slideInLeft;display:flex;overflow-y:auto}@keyframes slideInLeft{0%{opacity:.5;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.drawer-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.drawer-brand{color:#fff;letter-spacing:-.5px;font-family:Playfair Display,serif;font-size:22px}.drawer-brand span{color:var(--accent,#38d9a9)}.drawer-close{cursor:pointer;color:#fff9;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s;display:flex}.drawer-close:hover{color:#fff;background:#ffffff26}.drawer-profile{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:12px;margin:12px 16px;padding:16px 20px;display:flex}.drawer-avatar{background:var(--accent,#38d9a9);width:38px;height:38px;color:var(--panel-bg,#0a3d47);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drawer-label{text-transform:uppercase;letter-spacing:1px;color:#ffffff4d;padding:8px 20px 6px;font-size:10px;font-weight:700}.drawer-nav{flex-direction:column;gap:2px;padding:4px 12px;display:flex}.drawer-nav-btn{color:#ffffffa6;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:13px 12px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:background .15s,color .15s;display:flex}.drawer-nav-btn:hover{color:#fff;background:#ffffff14}.drawer-nav-icon{background:#ffffff12;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.drawer-nav-btn:hover .drawer-nav-icon{background:#38d9a92e}.drawer-nav-text{flex:1}.drawer-coming-badge{color:#fff6;background:#ffffff1a;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:600}.drawer-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:16px 20px 28px}.drawer-logout{color:#fff6;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.drawer-logout:hover{color:#f87171;background:#e6394624}@media (width<=380px){.sidebar-brand{font-size:17px}}.us-container{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px 60px;font-family:DM Sans,sans-serif}.us-inner{width:100%;max-width:760px;margin:0 auto}.us-heading{text-align:center;margin-bottom:18px}.us-title{color:var(--text-main,#1a2e35);margin:0 0 4px;font-family:Playfair Display,serif;font-size:20px;font-weight:700}.us-subtitle{color:var(--text-sub,#5e7a82);margin:0;font-size:13px}.us-search{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);max-width:420px;color:var(--text-muted,#93b0b8);border-radius:12px;align-items:center;gap:10px;margin:0 auto 18px;padding:0 14px;display:flex}.us-search input{color:var(--text-main,#1a2e35);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-family:inherit;font-size:14px}.us-list{flex-direction:column;gap:10px;display:flex}.us-row{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;font-family:inherit;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #0a3c4b12}.us-row:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0a3c4b1a}.us-rank{text-align:center;width:28px;color:var(--text-muted,#93b0b8);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.us-rank-1{color:#d4a017}.us-rank-2{color:#8a98a0}.us-rank-3{color:#b87333}.us-avatar{background:var(--primary-light,#e0f2f5);width:40px;height:40px;color:var(--primary,#0a5c6b);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.us-avatar-lg{width:48px;height:48px;font-size:16px}.us-row-info{flex:1;min-width:0}.us-name{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.us-you{text-transform:uppercase;letter-spacing:.5px;background:var(--accent-dim,#c3fae8);color:var(--primary,#0a5c6b);border-radius:100px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:800}.us-meta{color:var(--text-sub,#5e7a82);margin-top:2px;font-size:12px}.us-total{text-align:right}.us-total-main{color:var(--primary,#0a5c6b);font-size:18px;font-weight:700;line-height:1.1}.us-total-sub{color:var(--text-muted,#93b0b8);font-size:11px}.us-chevron{color:var(--text-muted,#93b0b8);flex-shrink:0}.us-loader{color:var(--text-sub,#5e7a82);flex-direction:column;align-items:center;gap:12px;padding:80px 0;display:flex}.us-loader-sm{padding:30px 0}.us-spinner{color:var(--primary-mid,#1a8ca3);animation:1s linear infinite us-spin}@keyframes us-spin{to{transform:rotate(360deg)}}.us-empty{color:var(--text-sub,#5e7a82);justify-content:center;padding:30px 0;font-size:14px;display:flex}.us-overlay{z-index:1000;background:#0a283280;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.us-modal{background:var(--surface,#fff);border-radius:20px;width:100%;max-width:480px;max-height:88vh;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #0a323c33}.us-modal-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.us-modal-head-text{flex:1;min-width:0}.us-modal-head-text h3{color:var(--text-main,#1a2e35);margin:0 0 2px;font-family:Playfair Display,serif;font-size:18px}.us-modal-head-text p{color:var(--text-sub,#5e7a82);margin:0;font-size:13px}.us-modal-head-text strong{color:var(--primary,#0a5c6b)}.us-close{background:var(--bg,#f4f7f8);cursor:pointer;width:32px;height:32px;color:var(--text-sub,#5e7a82);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.us-modules{flex-direction:column;gap:12px;display:flex}.us-module{border:1px solid var(--border,#d9e8eb);border-radius:12px;padding:12px 14px}.us-module-empty{opacity:.6}.us-module-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.us-module-name{color:var(--text-main,#1a2e35);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.us-module-num{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border-radius:100px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:800}.us-module-score{color:var(--text-sub,#5e7a82);white-space:nowrap;font-size:14px}.us-module-score strong{color:var(--text-main,#1a2e35);font-size:17px}.us-not-taken{font-size:12px;font-style:italic}.us-bar{background:var(--border,#d9e8eb);border-radius:100px;height:6px;overflow:hidden}.us-bar-fill{border-radius:100px;height:100%;transition:width .4s}.us-module-date{color:var(--text-muted,#93b0b8);margin-top:6px;font-size:11px}@media (width<=640px){.us-container{padding:22px 16px 50px}.us-row{gap:10px;padding:12px}.us-rank{width:22px}.us-chevron{display:none}}.us-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:22px;display:flex}.us-page-btn{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);min-width:36px;height:36px;color:var(--text-main,#1a2e35);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.us-page-btn:hover:not(:disabled):not(.active){background:var(--primary-light,#e0f2f5)}.us-page-btn.active{background:var(--primary,#0a5c6b);border-color:var(--primary,#0a5c6b);color:#fff}.us-page-btn:disabled{opacity:.4;cursor:not-allowed}.us-page-gap{color:var(--text-muted,#93b0b8);padding:0 2px}.us-page-info{text-align:center;color:var(--text-muted,#93b0b8);margin-top:10px;font-size:12px}.create-bank-container{background:var(--bg,#f4f7f8);min-height:100%;padding-bottom:60px;font-family:DM Sans,sans-serif}.header-sticky{background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9e8eb);z-index:50;box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);justify-content:space-between;align-items:center;padding:14px 48px;display:flex;position:sticky;top:0}.header-sticky-left{align-items:center;gap:16px;display:flex}.header-sticky-title{color:var(--text-main,#1a2e35);font-family:DM Sans,sans-serif;font-size:18px;font-weight:700}.header-sticky-sub{color:var(--text-sub,#5e7a82);margin-top:1px;font-size:12px;font-weight:400}.back-link{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);color:var(--text-sub,#5e7a82);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.back-link:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border-color:var(--primary-mid,#1a8ca3)}.question-count-chip{color:var(--text-sub,#5e7a82);background:var(--primary-light,#e0f2f5);border:1px solid var(--border,#d9e8eb);border-radius:100px;padding:6px 14px;font-size:12px;font-weight:700}.save-btn-main{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.save-btn-main:hover:not(:disabled){background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 4px 14px #0a5c6b4d}.save-btn-main:disabled{cursor:not-allowed;box-shadow:none;background:#b5d4da;transform:none}.form-content{flex-direction:column;gap:20px;max-width:760px;margin:32px auto;padding:0 48px;display:flex}.header-card,.question-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);border-radius:18px;padding:24px 28px}.label-tiny{color:var(--primary-mid,#1a8ca3);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:800}.title-input-web{width:100%;color:var(--text-main,#1a2e35);caret-color:var(--primary-mid,#1a8ca3);background:0 0;border:none;outline:none;font-family:DM Sans,sans-serif;font-size:22px;font-weight:700}.title-input-web::placeholder{color:var(--text-muted,#93b0b8);font-weight:600}.divider{background:var(--border,#d9e8eb);height:1px;margin:18px 0}.setting-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.setting-label{color:var(--text-main,#1a2e35);margin:0 0 3px;font-size:14px;font-weight:600}.setting-sub{color:var(--text-sub,#5e7a82);margin:0;font-size:12px;font-weight:400}.question-card{border-left:4px solid var(--border,#d9e8eb);transition:border-color .2s}.question-card:focus-within{border-left-color:var(--primary-mid,#1a8ca3);box-shadow:var(--shadow-md,0 4px 16px #0a3c4b1a)}.q-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.q-badge{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--border,#d9e8eb);border-radius:100px;padding:4px 12px;font-size:11px;font-weight:800}.delete-btn{cursor:pointer;color:var(--text-muted,#93b0b8);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:flex}.delete-btn:hover{color:#f43f5e;background:#f43f5e14}.q-input{background:var(--bg,#f4f7f8);border:1.5px solid var(--border,#d9e8eb);width:100%;min-height:80px;color:var(--text-main,#1a2e35);resize:vertical;box-sizing:border-box;border-radius:12px;outline:none;margin-bottom:18px;padding:13px 15px;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.q-input:focus{border-color:var(--primary-mid,#1a8ca3);background:var(--surface,#fff);box-shadow:0 0 0 3px #1a8ca31a}.q-input::placeholder{color:var(--text-muted,#93b0b8)}.option-header{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;font-size:11px;font-weight:700}.options-stack{flex-direction:column;gap:8px;display:flex}.option-row{background:var(--bg,#f4f7f8);border:1.5px solid var(--border,#d9e8eb);border-radius:11px;align-items:center;gap:10px;padding:6px 12px 6px 6px;transition:border-color .15s,background .15s;display:flex}.option-row.active{background:#ecfdf5;border-color:#10b981}.option-letter-badge{background:var(--surface,#fff);border:1.5px solid var(--border,#d9e8eb);width:30px;height:30px;color:var(--text-sub,#5e7a82);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;transition:all .15s;display:flex}.option-row.active .option-letter-badge{color:#fff;background:#10b981;border-color:#10b981}.radio-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;transition:background .12s;display:flex}.radio-btn:hover{background:#10b9811a}.opt-input{color:var(--text-main,#1a2e35);background:0 0;border:none;outline:none;flex:1;padding:8px 4px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500}.opt-input::placeholder{color:var(--text-muted,#93b0b8);font-weight:400}.add-q-btn{border:2px dashed var(--border-strong,#b5cfd5);width:100%;color:var(--primary-mid,#1a8ca3);cursor:pointer;background:0 0;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.add-q-btn:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3);color:var(--primary,#0a5c6b)}.switch{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.loader-box{min-height:300px;color:var(--primary-mid,#1a8ca3);justify-content:center;align-items:center;display:flex}.spinner{animation:.8s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.header-sticky{padding:12px 16px}.header-sticky-title,.header-sticky-sub{display:none}.form-content{margin:20px auto;padding:0 16px}.header-card,.question-card{padding:18px 16px}.question-count-chip{display:none}}.quiz-page{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px 60px;font-family:DM Sans,sans-serif}.quiz-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.header-info{flex:1;min-width:0}.header-info h2{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:700;overflow:hidden}.header-info p{color:var(--text-sub,#5e7a82);margin:0;font-size:13px;font-weight:500}.header-score-chip{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);white-space:nowrap;border:1px solid var(--border,#d9e8eb);border-radius:100px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:700}.icon-btn{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);cursor:pointer;width:40px;height:40px;color:var(--text-sub,#5e7a82);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;box-shadow:0 1px 4px #0a3c4b12}.progress-section{margin-bottom:28px}.progress-meta{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.progress-fraction{color:var(--primary-mid,#1a8ca3);font-size:12px;font-weight:700}.progress-bar-container{background:var(--border,#d9e8eb);border-radius:100px;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary,#0a5c6b), var(--accent,#38d9a9));border-radius:100px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.quiz-body{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.quiz-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:20px;padding:36px 36px 32px;box-shadow:0 4px 16px #0a3c4b1a}.question-number-label{color:var(--primary-mid,#1a8ca3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;font-size:11px;font-weight:700}.question-text{color:var(--text-main,#1a2e35);margin-bottom:28px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:600;line-height:1.5}.options-list{flex-direction:column;gap:10px;display:flex}.option-button{text-align:left;border:1.5px solid var(--border,#d9e8eb);background:var(--bg,#f4f7f8);cursor:pointer;color:var(--text-main,#1a2e35);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;line-height:1.4;transition:border-color .15s,background .15s,transform .1s;display:flex}.option-letter{background:var(--surface,#fff);border:1.5px solid var(--border,#d9e8eb);width:28px;height:28px;color:var(--text-sub,#5e7a82);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .15s;display:flex}.option-text{flex:1}.option-button:hover:not(:disabled){border-color:var(--primary-mid,#1a8ca3);background:var(--primary-light,#e0f2f5);transform:translate(2px)}.option-button:hover:not(:disabled) .option-letter{background:var(--primary-mid,#1a8ca3);border-color:var(--primary-mid,#1a8ca3);color:#fff}.option-button.selected{border-color:var(--primary,#0a5c6b);background:var(--primary-light,#e0f2f5)}.option-button.correct{color:#065f46;background:#ecfdf5;border-color:#10b981}.option-button.correct .option-letter{color:#fff;background:#10b981;border-color:#10b981}.option-button.wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.option-button.wrong .option-letter{color:#fff;background:#f43f5e;border-color:#f43f5e}.option-button:disabled{cursor:default;transform:none}.next-button{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:24px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.next-button:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 4px 14px #0a5c6b4d}.quiz-side-panel{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.side-panel-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:16px;padding:20px;box-shadow:0 1px 4px #0a3c4b12}.side-panel-label{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.7px;margin-bottom:14px;font-size:11px;font-weight:700}.question-dots{flex-wrap:wrap;gap:7px;display:flex}.q-dot{border:1.5px solid var(--border,#d9e8eb);background:var(--bg,#f4f7f8);width:30px;height:30px;color:var(--text-sub,#5e7a82);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;transition:all .12s;display:flex}.q-dot:hover{border-color:var(--primary-mid,#1a8ca3);color:var(--primary,#0a5c6b)}.q-dot.dot-current{background:var(--primary,#0a5c6b);border-color:var(--primary,#0a5c6b);color:#fff}.q-dot.dot-correct{color:#065f46;background:#ecfdf5;border-color:#10b981}.q-dot.dot-wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.score-display{justify-content:space-between;align-items:center;gap:10px;display:flex}.score-number{color:var(--primary,#0a5c6b);font-family:DM Sans,sans-serif;font-size:36px;font-weight:700;line-height:1}.score-meta{text-align:right}.score-meta .score-pct{color:var(--accent,#38d9a9);font-size:18px;font-weight:700}.score-meta .score-sub{color:var(--text-muted,#93b0b8);font-size:11px;font-weight:500}.result-container{background:var(--bg,#f4f7f8);justify-content:center;align-items:center;min-height:100%;padding:48px;display:flex}.result-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);text-align:center;border-radius:24px;width:100%;max-width:540px;padding:52px 48px 44px;box-shadow:0 8px 40px #0a3c4b21}.award-icon{background:var(--primary-light,#e0f2f5);width:72px;height:72px;color:var(--primary,#0a5c6b);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.result-card h1{color:var(--text-main,#1a2e35);margin:0 0 8px;font-family:DM Sans,sans-serif;font-size:28px}.result-card>p{color:var(--text-sub,#5e7a82);margin-bottom:32px;font-size:14px}.result-score-ring{background:conic-gradient(var(--accent,#38d9a9) var(--pct,0%), var(--primary-light,#e0f2f5) var(--pct,0%));border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 32px;display:flex;position:relative}.result-score-ring:before{content:"";background:var(--surface,#fff);border-radius:50%;width:90px;height:90px;position:absolute}.result-score-inner{z-index:1;text-align:center;position:relative}.result-pct{color:var(--primary,#0a5c6b);font-family:DM Sans,sans-serif;font-size:26px;font-weight:700;line-height:1;display:block}.result-pct-label{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.stats-grid{background:var(--border,#d9e8eb);border:1px solid var(--border,#d9e8eb);border-radius:14px;grid-template-columns:1fr 1fr 1fr;gap:1px;margin-bottom:28px;display:grid;overflow:hidden}.stat-item{background:var(--surface,#fff);text-align:center;padding:16px 12px}.stat-item strong{color:var(--primary,#0a5c6b);margin-bottom:4px;font-family:DM Sans,sans-serif;font-size:26px;font-weight:700;line-height:1;display:block}.stat-item span{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.result-actions{flex-direction:column;gap:10px;display:flex}.primary-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s;display:flex}.primary-btn:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-1px)}.mistakes-btn{color:#e11d48;cursor:pointer;background:#fff1f2;border:1.5px solid #fda4af;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.mistakes-btn:hover{background:#ffe4e6;transform:translateY(-1px);box-shadow:0 4px 14px #f43f5e33}.secondary-row{gap:10px;display:flex}.secondary-row button{background:var(--surface,#fff);border:1.5px solid var(--border,#d9e8eb);cursor:pointer;color:var(--text-main,#1a2e35);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.secondary-row button:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3);color:var(--primary,#0a5c6b)}.review-page{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px 60px;font-family:DM Sans,sans-serif}.review-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.review-header-text h2{color:var(--text-main,#1a2e35);margin:0 0 2px;font-family:DM Sans,sans-serif;font-size:22px}.review-header-text p{color:var(--text-sub,#5e7a82);margin:0;font-size:13px}.review-summary-chips{gap:10px;margin-left:auto;display:flex}.review-chip.correct-chip{color:#065f46;background:#ecfdf5;border-color:#10b981}.review-chip.wrong-chip{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.review-list{flex-direction:column;gap:16px;display:flex}.review-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-left:4px solid var(--border,#d9e8eb);border-radius:16px;padding:24px;box-shadow:0 1px 4px #0a3c4b12}.review-card.card-correct{border-left-color:#10b981}.review-card.card-wrong{border-left-color:#f43f5e}.review-meta{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.review-meta span:first-child{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.status-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.status-badge.correct{color:#065f46;background:#ecfdf5;border:1px solid #10b981}.status-badge.wrong{color:#9f1239;background:#fff1f2;border:1px solid #f43f5e}.q-text{color:var(--text-main,#1a2e35);margin-bottom:16px;font-family:DM Sans,sans-serif;font-size:17px;font-weight:600;line-height:1.5}.options-grid{flex-direction:column;gap:8px;display:flex}.opt-item{background:var(--bg,#f4f7f8);border:1.5px solid var(--border,#d9e8eb);color:var(--text-sub,#5e7a82);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:13px;font-weight:500;display:flex}.opt-item.is-correct{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600}.opt-item.is-wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.loader-container{height:300px;color:var(--text-sub,#5e7a82);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite rotate}@media (width<=900px){.quiz-body{grid-template-columns:1fr}.quiz-side-panel{flex-flow:wrap;position:static}.side-panel-card{flex:1;min-width:220px}}@media (width<=640px){.quiz-page,.review-page{padding:20px 16px 40px}.result-container{padding:24px 16px}.result-card{padding:36px 24px 28px}.quiz-card{padding:24px 20px}.question-text{font-size:17px}.review-summary-chips{display:none}}.star-toggle-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.star-toggle-btn:hover{background:var(--primary-light,#e0f2f5);transform:scale(1.1)}.star-toggle-btn.is-starred svg{filter:drop-shadow(0 0 2px #f59e0b66)}.starred-retake-btn{color:#b45309;cursor:pointer;background:#fffbeb;border:1.5px solid #fde68a;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.starred-retake-btn:hover{background:#fef3c7;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b33}.testbank-container{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px;font-family:DM Sans,sans-serif;position:relative}.testbank-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.tab-bar{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:12px;width:fit-content;padding:4px;display:flex;box-shadow:0 1px 4px #0a3c4b12}.testbank-section-header{margin-bottom:20px}.testbank-section-title{color:var(--text-main,#1a2e35);margin:0 0 4px;font-family:DM Sans,sans-serif;font-size:20px}.testbank-section-sub{color:var(--text-sub,#5e7a82);font-size:13px}.tb-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding-bottom:100px;display:grid}.tb-card-item{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-left:4px solid var(--primary-mid,#1a8ca3);cursor:pointer;border-radius:16px;padding:18px 18px 14px;transition:transform .15s,box-shadow .15s,border-left-color .2s;box-shadow:0 1px 4px #0a3c4b12}.tb-card-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0a3c4b1a}.tb-card-item:active{transform:scale(.99)}.tb-card-item.favorited{border-left-color:#e63946}.tb-card-top{align-items:center;gap:14px;display:flex}.tb-icon-box{background:var(--primary-light,#e0f2f5);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.tb-card-mid{flex:1;min-width:0}.tb-card-title{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;overflow:hidden}.tb-card-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tb-count-tag{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border-radius:100px;padding:3px 9px;font-size:11px;font-weight:700}.tb-privacy-tag{color:var(--text-muted,#93b0b8);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.tb-more-btn{cursor:pointer;color:var(--text-sub,#5e7a82);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:flex}.tb-more-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b)}.tb-card-footer{border-top:1px solid var(--border,#d9e8eb);color:var(--text-muted,#93b0b8);align-items:center;gap:6px;margin-top:12px;padding-top:12px;font-size:12px;font-weight:500;display:flex}.tb-card-bottom-row{border-top:1px solid var(--border,#d9e8eb);justify-content:flex-start;align-items:center;margin-top:12px;padding-top:10px;display:flex}.tb-favorite-btn{border:1.5px solid var(--border,#d9e8eb);cursor:pointer;color:var(--text-muted,#93b0b8);background:0 0;border-radius:100px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.tb-card-footer .tb-favorite-btn{margin-left:auto}.tb-favorite-btn:hover{color:#e63946;background:#e6394612;border-color:#e63946}.tb-favorite-btn.active{color:#e63946;background:#e639461a;border-color:#e63946}.tb-favorite-btn.active svg{fill:#e63946;stroke:#e63946}.tb-favorite-btn:active{transform:scale(.95)}.tb-loader{color:var(--text-sub,#5e7a82);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:14px;padding:80px 20px;font-size:14px;display:flex}.tb-spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite tb-spin}@keyframes tb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tb-empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:14px;padding:80px 20px;display:flex}.tb-empty svg{opacity:.35;color:var(--text-muted,#93b0b8)}.tb-empty p{color:var(--text-sub,#5e7a82);margin:0;font-size:15px;font-weight:500}.tb-empty span{color:var(--text-muted,#93b0b8);font-size:13px}.tb-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0a1e238c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tb-menu-content{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:18px;width:100%;max-width:280px;padding:8px;animation:.18s cubic-bezier(.34,1.56,.64,1) tb-popIn;box-shadow:0 20px 60px #0a323c33}@keyframes tb-popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.tb-menu-header{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid var(--border,#d9e8eb);justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 14px 12px;font-size:11px;font-weight:800;display:flex}.tb-close-icon{cursor:pointer;color:var(--text-muted,#93b0b8);transition:color .15s}.tb-close-icon:hover{color:#e63946}.tb-menu-item{cursor:pointer;text-align:left;width:100%;color:var(--text-main,#1a2e35);background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .12s;display:flex}.tb-menu-item:hover{background:var(--primary-light,#e0f2f5)}.tb-menu-item.delete{color:#e63946}.tb-menu-item.delete:hover{background:#e6394614}.tb-menu-divider{background:var(--border,#d9e8eb);height:1px;margin:4px 10px}.web-fab{background:var(--primary,#0a5c6b);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:36px;right:36px;box-shadow:0 6px 20px #0a5c6b66}.web-fab:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-2px);box-shadow:0 10px 28px #0a5c6b73}.web-fab:active{transform:translateY(0)}.tb-search-wrapper{flex:1;align-items:center;max-width:340px;display:flex;position:relative}.tb-search-icon{color:var(--text-muted,#93b0b8);pointer-events:none;flex-shrink:0;position:absolute;left:12px}.tb-search-input{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);width:100%;color:var(--text-main,#1a2e35);border-radius:12px;outline:none;padding:10px 36px;font-family:DM Sans,sans-serif;font-size:13px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 4px #0a3c4b12}.tb-search-input::placeholder{color:var(--text-muted,#93b0b8)}.tb-search-input:focus{border-color:var(--primary-mid,#1a8ca3);box-shadow:0 0 0 3px #1a8ca31f}.tb-search-clear{cursor:pointer;color:var(--text-muted,#93b0b8);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;right:10px}.tb-search-clear:hover{color:#e63946}@media (width<=768px){.testbank-container{padding:20px 16px}.testbank-toolbar{flex-direction:column;align-items:stretch}.tab-bar{width:100%}.tb-cards-grid{grid-template-columns:1fr}.web-fab{bottom:24px;right:20px}.tb-search-wrapper{max-width:100%}}.flashcard-view-container{background:var(--bg,#f4f7f8);flex-direction:column;height:100dvh;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}.view-header{background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9e8eb);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 48px;display:flex;box-shadow:0 1px 4px #0a3c4b12}.view-header-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.view-title{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:DM Sans,sans-serif;font-size:17px;font-weight:700;overflow:hidden}.icon-btn{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);cursor:pointer;width:36px;height:36px;color:var(--text-sub,#5e7a82);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.icon-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border-color:var(--primary-mid,#1a8ca3)}.view-header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.progress-pill{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border:1px solid var(--border,#d9e8eb);border-radius:100px;padding:5px 12px;font-size:12px;font-weight:800}.header-stats{gap:8px;display:flex}.mini-stat{border:1px solid;border-radius:100px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;display:flex}.mini-stat.mastered-stat{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.mini-stat.review-stat{color:#e11d48;background:#fff1f2;border-color:#fda4af}.progress-track{background:var(--border,#d9e8eb);flex-shrink:0;height:3px}.progress-track-fill{background:linear-gradient(90deg, var(--primary,#0a5c6b), var(--accent,#38d9a9));height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.card-main{flex-direction:column;flex:.75;justify-content:center;align-items:center;gap:8px;min-height:0;padding:10px 48px 6px;display:flex;overflow:hidden}.swipe-hint{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:14px;font-size:11px;font-weight:600;display:flex}.swipe-hint span{align-items:center;gap:6px;display:flex}.swipe-hint-dot{background:var(--border-strong,#b5cfd5);border-radius:50%;width:4px;height:4px}.card-wrapper{cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;width:100%;max-width:520px;height:min(42vh,340px);position:relative}.card-wrapper:active{cursor:grabbing}.perspective-container{perspective:1200px;width:100%;height:100%}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.flip-card-front,.flip-card-back{backface-visibility:hidden;box-sizing:border-box;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0;box-shadow:0 8px 40px #0a3c4b21}.flip-card-front{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb)}.flip-card-back{background:var(--panel-bg,#0a3d47);border:1px solid #38d9a933;transform:rotateY(180deg)}.side-label{letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;position:absolute;top:14px;left:50%;transform:translate(-50%)}.side-label.front-label{color:var(--primary-mid,#1a8ca3)}.side-label.back-label{color:#38d9a9b3}.card-text-content{text-align:center;color:var(--text-main,#1a2e35);max-height:70%;margin:0;font-family:DM Sans,sans-serif;font-size:clamp(14px,1.8vw,20px);font-weight:600;line-height:1.5;overflow-y:auto}.card-text-content.light{color:#e2f0f2}.tap-hint{text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;opacity:.4;font-size:10px;font-weight:700;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.tap-hint.front-hint{color:var(--text-sub,#5e7a82)}.tap-hint.back-hint{color:#fff9}.swipe-indicator{pointer-events:none;opacity:0;border-radius:20px;justify-content:center;align-items:center;gap:10px;font-size:18px;font-weight:800;transition:opacity .1s;display:flex;position:absolute;inset:0}.swipe-indicator.review-indicator{color:#f43f5e;background:#f43f5e26;border:3px solid #f43f5e}.swipe-indicator.mastered-indicator{color:#10b981;background:#10b9811f;border:3px solid #10b981}.view-footer{flex-shrink:0;justify-content:center;gap:14px;padding:10px 48px;display:flex}.action-btn{cursor:pointer;border:1.5px solid #0000;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;max-width:200px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s;display:flex}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.action-btn:active{transform:scale(.96)}.action-btn.review{color:#e11d48;background:#fff1f2;border-color:#fda4af}.action-btn.review:hover{background:#ffe4e6;box-shadow:0 6px 16px #f43f5e33}.action-btn.master{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.action-btn.master:hover{background:#d1fae5;box-shadow:0 6px 16px #10b98133}.key-hints{flex-shrink:0;justify-content:center;gap:20px;padding:6px 48px 14px;display:flex}.key-hint{color:var(--text-muted,#93b0b8);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.key-badge{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);color:var(--text-sub,#5e7a82);border-bottom-width:2px;border-radius:5px;padding:2px 7px;font-family:monospace;font-size:10px;font-weight:700}.result-container{background:var(--bg,#f4f7f8);flex-direction:column;justify-content:center;align-items:center;height:100dvh;padding:32px 24px;display:flex}.trophy-box{background:var(--primary-light,#e0f2f5);border:1px solid var(--border,#d9e8eb);width:72px;height:72px;color:var(--primary,#0a5c6b);border-radius:20px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.result-title{color:var(--text-main,#1a2e35);margin:0 0 6px;font-family:DM Sans,sans-serif;font-size:26px;font-weight:700}.result-sub{color:var(--text-sub,#5e7a82);text-align:center;margin-bottom:24px;font-size:14px}.stats-row{gap:12px;width:100%;max-width:340px;margin-bottom:24px;display:flex}.stat-box{border:1.5px solid #0000;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px 12px;display:flex}.stat-box.mastered{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.stat-box.review{color:#e11d48;background:#fff1f2;border-color:#fda4af}.stat-number{font-family:DM Sans,sans-serif;font-size:32px;font-weight:700;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.5px;opacity:.75;font-size:11px;font-weight:700}.restart-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:10px;padding:13px 36px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.restart-btn:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 6px 18px #0a5c6b4d}.loader-container{background:var(--bg,#f4f7f8);justify-content:center;align-items:center;height:100dvh;display:flex}.loader-container svg{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.view-header{padding:10px 14px}.card-main{gap:6px;padding:8px 14px 6px}.view-footer{gap:10px;padding:8px 14px}.key-hints{gap:10px;padding:4px 14px 12px}.header-stats{display:none}.swipe-hint{gap:8px;font-size:10px}.card-wrapper{height:min(36vh,260px)}.flip-card-front,.flip-card-back{padding:20px 16px}.card-text-content{font-size:clamp(13px,3.5vw,16px)}.action-btn{padding:11px 12px;font-size:13px}.key-hint{font-size:10px}.key-badge{padding:2px 5px;font-size:9px}}.create-screen-container{background:var(--bg,#f4f7f8);min-height:100%;font-family:DM Sans,sans-serif}.create-header{z-index:100;background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9e8eb);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);justify-content:space-between;align-items:center;padding:14px 48px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:14px;display:flex}.header-left-text h2{color:var(--text-main,#1a2e35);margin:0 0 2px;font-family:DM Sans,sans-serif;font-size:18px;font-weight:700}.header-left-text span{color:var(--text-sub,#5e7a82);font-size:12px}.back-circle-btn{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);cursor:pointer;width:38px;height:38px;color:var(--text-sub,#5e7a82);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.back-circle-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);border-color:var(--primary-mid,#1a8ca3)}.header-actions{align-items:center;gap:10px;display:flex}.card-count-chip{color:var(--text-sub,#5e7a82);background:var(--primary-light,#e0f2f5);border:1px solid var(--border,#d9e8eb);border-radius:100px;padding:6px 14px;font-size:12px;font-weight:700}.save-action-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.save-action-btn:hover:not(:disabled){background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 4px 14px #0a5c6b4d}.save-action-btn:disabled{cursor:not-allowed;box-shadow:none;background:#b5d4da;transform:none}.create-content{flex-direction:column;gap:20px;max-width:760px;margin:32px auto;padding:0 48px;display:flex}.settings-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);border-radius:18px;padding:24px 28px}.section-label{color:var(--primary-mid,#1a8ca3);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:7px;margin-bottom:14px;font-size:10px;font-weight:800;display:flex}.title-web-input{width:100%;color:var(--text-main,#1a2e35);caret-color:var(--primary-mid,#1a8ca3);background:0 0;border:none;outline:none;padding:4px 0;font-family:DM Sans,sans-serif;font-size:22px;font-weight:700}.title-web-input::placeholder{color:var(--text-muted,#93b0b8);font-weight:600}.web-divider{background:var(--border,#d9e8eb);height:1px;margin:18px 0}.setting-toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.setting-text .label{color:var(--text-main,#1a2e35);margin-bottom:3px;font-size:14px;font-weight:600;display:block}.setting-text .sub{color:var(--text-sub,#5e7a82);font-size:12px;font-weight:400}.web-switch{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.web-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--border-strong,#b5cfd5);border-radius:100px;transition:all .25s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 4px #00000026}input:checked+.slider{background:var(--primary,#0a5c6b)}input:checked+.slider:before{transform:translate(20px)}.import-hint{color:var(--text-sub,#5e7a82);margin:0 0 16px;font-size:12.5px;line-height:1.5}.import-actions{flex-wrap:wrap;gap:10px;display:flex}.import-btn{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:flex}.import-btn.ghost{background:var(--surface,#fff);border:1.5px solid var(--border,#d9e8eb);color:var(--primary-mid,#1a8ca3)}.import-btn.ghost:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3)}.import-btn.solid{background:var(--primary,#0a5c6b);color:#fff;border:none}.import-btn.solid:hover:not(:disabled){background:var(--primary-mid,#1a8ca3);transform:translateY(-1px)}.import-btn.solid:disabled{cursor:not-allowed;background:#b5d4da;transform:none}.cards-list-web{flex-direction:column;gap:16px;display:flex}.edit-card-item{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-left:4px solid var(--border,#d9e8eb);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);border-radius:18px;padding:22px 24px;transition:border-left-color .2s,box-shadow .2s}.edit-card-item:focus-within{border-left-color:var(--primary-mid,#1a8ca3);box-shadow:var(--shadow-md,0 4px 16px #0a3c4b1a)}.edit-card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-number{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--border,#d9e8eb);border-radius:100px;padding:4px 12px;font-size:11px;font-weight:800}.delete-card-btn{cursor:pointer;color:var(--text-muted,#93b0b8);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px;transition:background .15s,color .15s;display:flex}.delete-card-btn:hover{color:#f43f5e;background:#f43f5e14}.card-inputs{grid-template-columns:1fr 1fr;gap:14px;display:grid}.input-group{flex-direction:column;gap:7px;display:flex}.input-group label{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.input-group.front-group label{color:var(--primary-mid,#1a8ca3)}.input-group.back-group label{color:var(--accent,#38d9a9);filter:brightness(.75)}.input-group textarea{background:var(--bg,#f4f7f8);border:1.5px solid var(--border,#d9e8eb);width:100%;color:var(--text-main,#1a2e35);resize:vertical;box-sizing:border-box;border-radius:12px;outline:none;min-height:90px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s,background .15s}.input-group textarea:focus{background:var(--surface,#fff);box-shadow:0 0 0 3px #1a8ca31a}.input-group.front-group textarea:focus{border-color:var(--primary-mid,#1a8ca3)}.input-group.back-group textarea:focus{border-color:var(--accent,#38d9a9)}.input-group textarea::placeholder{color:var(--text-muted,#93b0b8);font-weight:400}.add-card-dashed{border:2px dashed var(--border-strong,#b5cfd5);width:100%;color:var(--primary-mid,#1a8ca3);cursor:pointer;background:0 0;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.add-card-dashed:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3);color:var(--primary,#0a5c6b)}.loading-overlay{min-height:300px;color:var(--text-sub,#5e7a82);justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}.loading-spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite spin}.footer-spacer{height:60px}@media (width<=768px){.create-header{padding:12px 16px}.header-left-text h2{font-size:16px}.header-left-text span,.card-count-chip{display:none}.create-content{margin:20px auto;padding:0 16px}.settings-card,.edit-card-item{padding:18px 16px}.card-inputs{grid-template-columns:1fr}.import-actions{flex-direction:column}.import-btn{justify-content:center;width:100%}}.flash-list-container{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px;font-family:DM Sans,sans-serif;position:relative}.flash-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.tab-bar{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);border-radius:12px;width:fit-content;padding:4px;display:flex}.tab-item{cursor:pointer;color:var(--text-sub,#5e7a82);white-space:nowrap;background:0 0;border:none;border-radius:9px;flex:1;padding:10px 22px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:background .15s,color .15s}.tab-item.active{background:var(--primary,#0a5c6b);color:#fff;box-shadow:0 2px 8px #0a5c6b33}.flash-section-header{margin-bottom:20px}.flash-section-title{color:var(--text-main,#1a2e35);margin:0 0 4px;font-family:DM Sans,sans-serif;font-size:20px}.flash-section-sub{color:var(--text-sub,#5e7a82);font-size:13px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding-bottom:100px;display:grid}.flash-card-item{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-left:4px solid var(--primary-mid,#1a8ca3);box-shadow:var(--shadow-sm,0 1px 4px #0a3c4b12);cursor:pointer;border-radius:16px;padding:18px 18px 14px;transition:transform .15s,box-shadow .15s,border-left-color .2s}.flash-card-item:hover{box-shadow:var(--shadow-md,0 4px 16px #0a3c4b1a);transform:translateY(-2px)}.flash-card-item:active{transform:scale(.99)}.flash-card-item.bookmarked{border-left-color:#e63946}.card-top{align-items:center;gap:14px;display:flex}.flash-icon-box{background:var(--primary-light,#e0f2f5);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.card-mid{flex:1;min-width:0}.card-title-text{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;overflow:hidden}.card-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-count-tag{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b);letter-spacing:.2px;border-radius:100px;padding:3px 9px;font-size:11px;font-weight:700}.privacy-tag{color:var(--text-muted,#93b0b8);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.more-btn{cursor:pointer;color:var(--text-sub,#5e7a82);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:flex}.more-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b)}.card-footer{border-top:1px solid var(--border,#d9e8eb);color:var(--text-muted,#93b0b8);align-items:center;gap:6px;margin-top:12px;padding-top:12px;font-size:12px;font-weight:500;display:flex}.favorite-inline-btn{border:1.5px solid var(--border,#d9e8eb);cursor:pointer;color:var(--text-muted,#93b0b8);background:0 0;border-radius:100px;align-items:center;gap:5px;margin-left:auto;padding:4px 10px 4px 8px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.favorite-inline-btn:hover{color:#e63946;background:#e6394612;border-color:#e63946}.favorite-inline-btn.active{color:#e63946;background:#e639461a;border-color:#e63946}.favorite-inline-btn.active svg{fill:#e63946;stroke:#e63946}.favorite-inline-btn:active{transform:scale(.95)}.card-bottom-row{border-top:1px solid var(--border,#d9e8eb);justify-content:flex-start;align-items:center;margin-top:12px;padding-top:10px;display:flex}.bookmark-btn{border:1.5px solid var(--border,#d9e8eb);cursor:pointer;color:var(--text-sub,#5e7a82);background:0 0;border-radius:100px;align-items:center;gap:6px;padding:5px 12px 5px 9px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.bookmark-btn:hover{color:#e63946;background:#e6394612;border-color:#e63946}.bookmark-btn.active{color:#e63946;background:#e639461a;border-color:#e63946}.bookmark-btn.active svg{fill:#e63946;stroke:#e63946}.bookmark-btn:active{transform:scale(.95)}.flash-loader{color:var(--text-sub,#5e7a82);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:14px;padding:80px 20px;font-size:14px;display:flex}.flash-spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite spin}.empty-state{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:14px;padding:80px 20px;display:flex}.empty-state svg{opacity:.35;color:var(--text-muted,#93b0b8)}.empty-state p{color:var(--text-sub,#5e7a82);margin:0;font-size:15px;font-weight:500}.empty-state span{color:var(--text-muted,#93b0b8);font-size:13px}.float-fab{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;z-index:99;border:none;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:36px;right:36px;box-shadow:0 6px 20px #0a5c6b66}.float-fab:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-2px);box-shadow:0 10px 28px #0a5c6b73}.float-fab:active{transform:translateY(0)}.web-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0a1e238c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.web-menu-content{background:var(--surface,#fff);width:100%;max-width:280px;box-shadow:var(--shadow-xl,0 20px 60px #0a323c33);border:1px solid var(--border,#d9e8eb);border-radius:18px;padding:8px;animation:.18s cubic-bezier(.34,1.56,.64,1) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.menu-header{color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid var(--border,#d9e8eb);justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 14px 12px;font-size:11px;font-weight:800;display:flex}.close-icon{cursor:pointer;color:var(--text-muted,#93b0b8);transition:color .15s}.menu-item{cursor:pointer;text-align:left;width:100%;color:var(--text-main,#1a2e35);background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .12s;display:flex}.menu-item:hover{background:var(--primary-light,#e0f2f5)}.menu-item.delete{color:var(--error,#e63946)}.menu-item.delete:hover{background:#e6394614}.menu-divider{background:var(--border,#d9e8eb);height:1px;margin:4px 10px}@media (width<=768px){.flash-list-container{padding:20px 16px}.flash-toolbar{flex-direction:column;align-items:stretch}.tab-bar{width:100%}.cards-grid{grid-template-columns:1fr}.float-fab{bottom:24px;right:20px}}.chat-container{background:var(--bg,#f4f7f8);flex-direction:column;height:100%;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}.chat-header{background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9e8eb);flex-shrink:0;padding:16px 20px;box-shadow:0 1px 4px #0a3c4b12}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-room-name{color:var(--text-main,#1a2e35);margin:0;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700}.chat-status{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.chat-status.online{color:#16a34a;background:#22c55e1a}.chat-status.offline{color:#e63946;background:#e639461a}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:4px;padding:20px 16px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border,#d9e8eb);border-radius:10px}.chat-date-separator{text-align:center;align-items:center;gap:10px;margin:16px 0 12px;display:flex}.chat-date-separator:before,.chat-date-separator:after{content:"";background:var(--border,#d9e8eb);flex:1;height:1px}.chat-date-separator span{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;background:var(--bg,#f4f7f8);padding:0 6px;font-size:11px;font-weight:700}.chat-empty{color:var(--text-muted,#93b0b8);flex:1;justify-content:center;align-items:center;padding:40px 20px;font-size:14px;display:flex}.chat-system-msg{text-align:center;color:var(--text-muted,#93b0b8);margin:8px 0;padding:4px 12px;font-size:12px;font-style:italic}.chat-bubble-row{align-items:flex-end;gap:8px;margin:2px 0;display:flex}.chat-bubble-row.me{flex-direction:row-reverse}.chat-avatar{background:var(--primary-light,#e0f2f5);width:30px;height:30px;color:var(--primary,#0a5c6b);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.chat-bubble-wrap{flex-direction:column;gap:3px;max-width:68%;display:flex}.chat-bubble-row.me .chat-bubble-wrap{align-items:flex-end}.chat-username{color:var(--primary-mid,#1a8ca3);padding-left:4px;font-size:11px;font-weight:700}.chat-bubble{word-break:break-word;white-space:pre-wrap;border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.5}.bubble-me{background:var(--primary,#0a5c6b);color:#fff;border-bottom-right-radius:4px}.bubble-them{background:var(--surface,#fff);color:var(--text-main,#1a2e35);border:1px solid var(--border,#d9e8eb);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0a3c4b0f}.chat-time{color:var(--text-muted,#93b0b8);white-space:nowrap;padding:0 4px;font-size:10px}.chat-input-row{background:var(--surface,#fff);border-top:1px solid var(--border,#d9e8eb);flex-shrink:0;align-items:flex-end;gap:10px;padding:12px 16px;display:flex}.chat-input{resize:none;border:1px solid var(--border,#d9e8eb);color:var(--text-main,#1a2e35);background:var(--bg,#f4f7f8);border-radius:12px;outline:none;flex:1;max-height:120px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s;overflow-y:auto}.chat-input::placeholder{color:var(--text-muted,#93b0b8)}.chat-input:focus{border-color:var(--primary-mid,#1a8ca3);box-shadow:0 0 0 3px #1a8ca31f}.chat-send-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,transform .1s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #0a5c6b40}.chat-send-btn:hover:not(:disabled){background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 4px 12px #0a5c6b4d}.chat-send-btn:active:not(:disabled){transform:translateY(0)}.chat-send-btn:disabled{background:var(--border,#d9e8eb);color:var(--text-muted,#93b0b8);cursor:not-allowed;box-shadow:none}@media (width<=768px){.chat-bubble-wrap{max-width:80%}.chat-messages{padding:16px 12px}.chat-input-row{padding:10px 12px}}.modules-container{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px;font-family:DM Sans,sans-serif}.modules-title{color:var(--text-main,#1a2e35);margin:0 0 24px;font-family:Playfair Display,serif;font-size:20px;font-weight:700}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding-bottom:60px;display:grid}.module-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);cursor:pointer;text-align:left;border-left:4px solid;border-radius:16px;align-items:center;gap:16px;width:100%;padding:18px 18px 16px;font-family:DM Sans,sans-serif;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #0a3c4b12}.module-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0a3c4b1a}.module-icon-box{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.module-info{flex:1;min-width:0}.module-name{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;font-size:15px;font-weight:600;overflow:hidden}.module-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-block}.modules-loader{height:300px;color:var(--text-sub,#5e7a82);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.modules-spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite spin}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0a1e2399;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:24px;width:100%;max-width:420px;padding:28px;animation:.2s cubic-bezier(.34,1.56,.64,1) popIn;box-shadow:0 20px 60px #0a323c33}.modal-header{text-align:center;margin-bottom:20px}.modal-title{color:var(--text-main,#1a2e35);margin:0 0 4px;font-family:Playfair Display,serif;font-size:22px;font-weight:700}.modal-desc{color:var(--text-sub,#5e7a82);margin:0;font-size:13px}.slider-section{margin-bottom:20px}.slider-label{color:var(--primary,#0a5c6b);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.slider-value{font-family:Playfair Display,serif;font-size:20px;font-weight:700}.slider-track{background:var(--border,#d9e8eb);border-radius:100px;height:6px;margin:8px 0;position:relative}.slider-fill{border-radius:100px;height:100%;transition:width .1s;position:absolute;top:0;left:0}input[type=range]{appearance:none;cursor:pointer;background:0 0;border-radius:100px;outline:none;width:100%;height:6px;position:relative}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;z-index:1;border:2px solid #fff;border-radius:50%;width:20px;height:20px;position:relative;box-shadow:0 2px 6px #0003}.slider-ticks{justify-content:space-between;padding:0 2px;display:flex}.slider-tick{color:var(--text-muted,#93b0b8);font-size:11px;font-weight:500}.mode-buttons{flex-direction:column;gap:10px;display:flex}.mode-btn{cursor:pointer;text-align:left;background:0 0;border:1.5px solid;border-radius:12px;align-items:center;gap:12px;width:100%;padding:14px 18px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:filter .15s,transform .1s,box-shadow .15s;display:flex}.mode-btn:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.mode-btn:active{transform:scale(.98)}.mode-btn-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.mode-btn-text{flex:1}.mode-btn-label{font-size:15px;font-weight:700;display:block}.mode-btn-sub{opacity:.7;margin-top:1px;font-size:11px;font-weight:500;display:block}.cancel-btn{cursor:pointer;width:100%;color:var(--text-sub,#5e7a82);background:0 0;border:none;border-radius:10px;margin-top:4px;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:background .15s,color .15s}.cancel-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b)}.cancel-btn.danger{color:#e63946}.cancel-btn.danger:hover{background:#e6394614}.big-value{text-align:center;margin:12px 0 4px;font-family:Playfair Display,serif;font-size:48px;font-weight:700;line-height:1}.big-value-unit{text-align:center;color:var(--text-sub,#5e7a82);text-transform:uppercase;letter-spacing:.6px;margin-bottom:16px;font-size:13px;font-weight:600}@media (width<=768px){.modules-container{padding:20px 16px}.modules-grid{grid-template-columns:1fr}.modal-content{padding:22px 18px}}.quiz-screen{background:var(--bg,#f4f7f8);flex-direction:column;min-height:100%;font-family:DM Sans,sans-serif;display:flex}.quiz-screen-header{background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9e8eb);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 48px;display:flex;box-shadow:0 1px 4px #0a3c4b12}.quiz-screen-title{color:var(--text-main,#1a2e35);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-family:DM Sans,sans-serif;font-size:17px;font-weight:700;overflow:hidden}.quiz-progress-chip{color:var(--text-sub,#5e7a82);background:var(--primary-light,#e0f2f5);border:1px solid var(--border,#d9e8eb);white-space:nowrap;border-radius:100px;flex-shrink:0;padding:5px 14px;font-size:13px;font-weight:700}.timer-badge{font-variant-numeric:tabular-nums;color:#fff;border-radius:100px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:800;display:flex}.timer-badge.timer-normal{background:#e11d48}.timer-badge.timer-blitz{background:#d4a017}.timer-badge.timer-low{background:#dc2626;animation:.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.quiz-progress-track{background:var(--border,#d9e8eb);flex-shrink:0;height:3px}.quiz-progress-fill{background:linear-gradient(90deg, var(--primary,#0a5c6b), var(--accent,#38d9a9));height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.quiz-scroll{flex:1;padding:28px 48px 60px;overflow-y:auto}.question-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:20px;margin-bottom:20px;padding:32px;box-shadow:0 4px 16px #0a3c4b14}.question-number-tag{color:var(--primary-mid,#1a8ca3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;font-size:11px;font-weight:700}.question-body{color:var(--text-main,#1a2e35);margin-bottom:24px;font-family:DM Sans,sans-serif;font-size:19px;font-weight:600;line-height:1.6}.choices-list{flex-direction:column;gap:10px;display:flex}.choice-btn{text-align:left;border:1.5px solid var(--border,#d9e8eb);background:var(--bg,#f4f7f8);cursor:pointer;color:var(--text-main,#1a2e35);border-radius:12px;width:100%;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;line-height:1.5;transition:border-color .15s,background .15s,transform .1s}.choice-btn:hover:not(:disabled){border-color:var(--primary-mid,#1a8ca3);background:var(--primary-light,#e0f2f5);transform:translate(2px)}.choice-btn:disabled{cursor:default;transform:none}.choice-btn.correct{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600}.choice-btn.wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.explanation-box{border-left:4px solid var(--primary,#0a5c6b);background:var(--primary-light,#e0f2f5);border-radius:14px;margin-top:20px;padding:16px 18px;animation:.25s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.timeout-alert{color:#e11d48;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:700}.explanation-label{color:var(--primary,#0a5c6b);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:800}.explanation-text{color:var(--text-main,#1a2e35);font-size:14px;line-height:1.6}.next-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:18px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.next-btn:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-1px);box-shadow:0 4px 14px #0a5c6b4d}.quiz-center{min-height:300px;color:var(--text-sub,#5e7a82);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.quiz-spinner{color:var(--primary-mid,#1a8ca3);animation:.8s linear infinite spin}.summary-screen{background:var(--bg,#f4f7f8);flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:48px 24px;font-family:DM Sans,sans-serif;display:flex}.summary-title{color:var(--text-main,#1a2e35);margin:0 0 8px;font-family:DM Sans,sans-serif;font-size:28px;font-weight:700}.summary-sub{color:var(--text-sub,#5e7a82);margin-bottom:28px;font-size:14px}.score-ring{background:conic-gradient(var(--accent,#38d9a9) var(--pct,0%), var(--primary-light,#e0f2f5) var(--pct,0%));border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;margin-bottom:28px;display:flex;position:relative}.score-ring:before{content:"";background:var(--surface,#fff);border-radius:50%;width:96px;height:96px;position:absolute}.score-ring-inner{z-index:1;text-align:center;position:relative}.score-fraction{color:var(--primary,#0a5c6b);font-family:DM Sans,sans-serif;font-size:24px;font-weight:700;line-height:1;display:block}.score-pct{color:var(--text-sub,#5e7a82);font-size:13px;font-weight:600}.summary-actions{flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex}.summary-primary-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s;display:flex}.summary-primary-btn:hover{background:var(--primary-mid,#1a8ca3);transform:translateY(-1px)}.summary-secondary-btn{background:var(--surface,#fff);width:100%;color:var(--text-main,#1a2e35);border:1.5px solid var(--border,#d9e8eb);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.summary-secondary-btn:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3);color:var(--primary,#0a5c6b)}.review-screen{background:var(--bg,#f4f7f8);min-height:100%;font-family:DM Sans,sans-serif}.review-top-bar{background:var(--panel-bg,#0a3d47);z-index:10;align-items:center;gap:14px;padding:16px 48px;display:flex;position:sticky;top:0}.review-top-title{color:#fff;margin:0;font-family:DM Sans,sans-serif;font-size:18px;font-weight:700}.review-chips{gap:8px;margin-left:auto;display:flex}.review-chip{border:1px solid;border-radius:100px;padding:5px 12px;font-size:12px;font-weight:700}.review-chip.correct{color:#065f46;background:#ecfdf5;border-color:#10b981}.review-chip.wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.review-list{flex-direction:column;gap:16px;padding:24px 48px 60px;display:flex}.review-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-left:4px solid;border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #0a3c4b12}.review-card.correct-card{border-left-color:#10b981}.review-card.wrong-card{border-left-color:#f43f5e}.review-card.unanswered-card{border-left-color:#f59e0b}.review-card-header{justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.review-card-number{color:var(--text-muted,#93b0b8);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:800}.review-status-badge{text-transform:uppercase;letter-spacing:.4px;border:1px solid;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.badge-correct{color:#065f46;background:#ecfdf5;border-color:#10b981}.badge-wrong{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.badge-unanswered{color:#92400e;background:#fffbeb;border-color:#fcd34d}.review-card-body{padding:16px}.review-question-text{color:var(--text-main,#1a2e35);margin-bottom:14px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;line-height:1.5}.review-choices{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.review-choice{color:var(--text-sub,#5e7a82);background:var(--bg,#f4f7f8);border:1.5px solid var(--border,#d9e8eb);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.review-choice.correct-choice{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600}.review-choice.wrong-choice{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.your-answer-tag{text-transform:uppercase;letter-spacing:.3px;opacity:.7;white-space:nowrap;font-size:10px;font-weight:700}.review-explanation-box{background:var(--primary-light,#e0f2f5);border-left:3px solid var(--primary,#0a5c6b);border-radius:10px;padding:12px 14px}.review-explanation-label{color:var(--primary,#0a5c6b);text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px;font-size:11px;font-weight:800}.review-explanation-text{color:var(--text-main,#1a2e35);font-size:13px;line-height:1.6}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0a1e2399;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-box{background:var(--surface,#fff);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:28px;box-shadow:0 20px 60px #0a323c33}.confirm-title{color:var(--text-main,#1a2e35);margin:0 0 8px;font-family:DM Sans,sans-serif;font-size:20px;font-weight:700}.confirm-desc{color:var(--text-sub,#5e7a82);margin-bottom:24px;font-size:14px;line-height:1.5}.confirm-actions{flex-direction:column;gap:10px;display:flex}.confirm-leave-btn{color:#fff;cursor:pointer;background:#e11d48;border:none;border-radius:11px;width:100%;padding:13px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .15s}.confirm-leave-btn:hover{background:#be123c}.confirm-stay-btn{background:var(--surface,#fff);width:100%;color:var(--text-main,#1a2e35);border:1.5px solid var(--border,#d9e8eb);cursor:pointer;border-radius:11px;padding:12px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:background .15s}.confirm-stay-btn:hover{background:var(--primary-light,#e0f2f5);border-color:var(--primary-mid,#1a8ca3)}.quiz-back-btn{border:1px solid var(--border,#d9e8eb);background:var(--surface,#fff);cursor:pointer;width:36px;height:36px;color:var(--text-sub,#5e7a82);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.quiz-back-btn:hover{background:var(--primary-light,#e0f2f5);color:var(--primary,#0a5c6b)}@media (width<=768px){.quiz-screen-header{padding:12px 16px}.quiz-scroll{padding:16px 16px 50px}.question-card{padding:20px 16px}.review-top-bar{padding:12px 16px}.review-list{padding:16px 16px 50px}.review-chips{display:none}.summary-screen{padding:32px 16px}}.notewall-container{background:var(--bg,#f4f7f8);min-height:100%;padding:36px 48px;font-family:DM Sans,sans-serif}.notewall-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.notewall-title{color:var(--text-main,#1a2e35);margin:0 0 4px;font-family:DM Sans,sans-serif;font-size:20px}.notewall-subtitle{color:var(--text-sub,#5e7a82);margin:0;font-size:13px}.notewall-upload-btn{background:var(--primary,#0a5c6b);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:600;transition:filter .15s;display:flex;box-shadow:0 2px 8px #0a5c6b33}.notewall-upload-btn:hover{filter:brightness(1.08)}.notewall-empty{color:var(--text-sub,#5e7a82);background:var(--surface,#fff);border:1px dashed var(--border,#d9e8eb);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 24px;display:flex}.notewall-empty .spinner{animation:.8s linear infinite notewall-spin}@keyframes notewall-spin{to{transform:rotate(360deg)}}.notewall-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.notewall-card{background:var(--surface,#fff);border:1px solid var(--border,#d9e8eb);border-radius:14px;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0a3c4b0f}.notewall-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0a3c4b1f}.notewall-card-preview{cursor:pointer;background:#e0f2f5;justify-content:center;align-items:center;width:100%;height:150px;display:flex;overflow:hidden}.notewall-card-preview img{object-fit:cover;width:100%;height:100%}.notewall-file-icon{color:var(--primary,#0a5c6b);flex-direction:column;align-items:center;gap:6px;display:flex}.notewall-file-icon span{letter-spacing:.5px;font-size:11px;font-weight:700}.notewall-card-body{flex:1;padding:14px 16px 4px}.notewall-card-title{color:var(--text-main,#1a2e35);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:14px;font-weight:700;overflow:hidden}.notewall-card-desc{color:var(--text-sub,#5e7a82);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:12.5px;display:-webkit-box;overflow:hidden}.notewall-card-meta{color:var(--text-sub,#5e7a82);gap:6px;margin-bottom:2px;font-size:11.5px;display:flex}.notewall-card-date{color:#9db3b9;margin-bottom:10px;font-size:11px}.notewall-card-actions{gap:8px;padding:0 16px 14px;display:flex}.notewall-action-btn{border:1px solid var(--border,#d9e8eb);color:var(--primary,#0a5c6b);cursor:pointer;background:#f4f7f8;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.notewall-action-btn:hover{background:#e0f2f5}.notewall-action-btn.danger{color:#c0392b;border-color:#f3d3ce;flex:none}.notewall-action-btn.danger:hover{background:#fdf0ee}.notewall-modal{background:var(--surface,#fff);border-radius:16px;width:100%;max-width:440px;padding:24px;box-shadow:0 10px 40px #00000026}.notewall-form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.notewall-textarea{resize:none;font-family:DM Sans,sans-serif}.notewall-dropzone{border:1.5px dashed var(--border,#d9e8eb);color:var(--text-sub,#5e7a82);text-align:center;cursor:pointer;background:#f4f7f8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.notewall-dropzone:hover{border-color:var(--primary,#0a5c6b);background:#e0f2f5}.notewall-file-selected{color:var(--primary,#0a5c6b);word-break:break-all;font-weight:600}.notewall-dropzone-hint{color:#9db3b9;font-size:11px}.notewall-error{color:#c0392b;margin:0;font-size:12.5px}.notewall-preview-modal{background:var(--surface,#fff);border-radius:16px;flex-direction:column;width:100%;max-width:880px;max-height:92vh;padding:24px;display:flex;box-shadow:0 20px 60px #0a323c40}.notewall-preview-body{background:#eef4f5;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;overflow:hidden}.notewall-preview-body img{object-fit:contain;max-width:100%;max-height:75vh}.notewall-preview-body iframe{border:none;width:100%;height:75vh}.notewall-preview-hint{color:#9db3b9;margin:10px 0 0;font-size:11.5px;line-height:1.5}.notewall-preview-meta{color:var(--text-sub,#5e7a82);margin:10px 0 0;font-size:13px}.notewall-preview-footer{justify-content:flex-end;margin-top:16px;display:flex}.notewall-preview-footer .notewall-action-btn{flex:none;padding:9px 16px}:root{--primary:#0a5c6b;--primary-light:#e0f2f5;--primary-mid:#1a8ca3;--accent:#38d9a9;--accent-dim:#c3fae8;--bg:#f4f7f8;--card-bg:#fff;--panel-bg:#0a3d47;--text-main:#1a2e35;--text-sub:#5e7a82;--border:#d9e8eb;--error:#e63946;--radius:16px;--shadow:0 8px 40px #0a5c6b21}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-main);font-family:DM Sans,sans-serif}.playstore-banner{background:var(--panel-bg,#0a3d47);z-index:200;border-bottom:1px solid #38d9a933;width:100%;position:relative}.banner-inner{align-items:center;gap:14px;max-width:1200px;margin:0 auto;padding:10px 24px;display:flex}.banner-icon{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.banner-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.banner-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.banner-sub{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.banner-cta{background:var(--accent,#38d9a9);color:var(--panel-bg,#0a3d47);white-space:nowrap;letter-spacing:.2px;border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:8px 16px;font-size:12px;font-weight:800;text-decoration:none;transition:filter .15s,transform .1s;display:inline-flex}.banner-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.banner-close{color:#ffffff80;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.banner-close:hover{color:#fff;background:#ffffff29}@media (width<=500px){.banner-sub{display:none}.banner-inner{gap:10px;padding:10px 14px}.banner-cta{padding:7px 12px;font-size:11px}}.auth-page{background:var(--bg);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-left-panel{background:var(--panel-bg);flex-direction:column;justify-content:center;align-items:center;padding:60px 48px;display:flex;position:relative;overflow:hidden}.auth-left-panel:before{content:"";background:radial-gradient(circle,#38d9a92e 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-100px;right:-100px}.auth-left-panel:after{content:"";background:radial-gradient(circle,#1a8ca333 0%,#0000 70%);border-radius:50%;width:350px;height:350px;position:absolute;bottom:-80px;left:-60px}.panel-logo{color:#fff;letter-spacing:-1px;z-index:1;font-family:Playfair Display,serif;font-size:52px;position:relative}.panel-logo span{color:var(--accent)}.panel-tagline{color:#ffffff8c;text-align:center;z-index:1;max-width:260px;margin-top:14px;font-size:15px;line-height:1.7;position:relative}.panel-pills{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:48px;display:flex;position:relative}.panel-pill{color:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff24;border-radius:100px;padding:7px 16px;font-size:13px;font-weight:500}.auth-right-panel{justify-content:center;align-items:center;padding:40px 48px;display:flex}.auth-card{background:var(--card-bg);width:100%;max-width:440px;box-shadow:var(--shadow);border:1px solid var(--border);border-radius:24px;padding:44px 44px 40px}.auth-header{margin-bottom:32px}.brand-title{color:var(--primary);font-family:Playfair Display,serif;font-size:28px;font-weight:700}.brand-sub{color:var(--text-sub);margin-top:6px;font-size:14px;font-weight:400;line-height:1.5}.tab-container{background:var(--primary-light);border-radius:12px;margin-bottom:28px;padding:4px;display:flex}.tab-btn{cursor:pointer;color:var(--text-sub);background:0 0;border:none;border-radius:10px;flex:1;padding:11px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 3px 10px #0a5c6b40}.auth-form{flex-direction:column;gap:14px;display:flex}.name-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input-field{border:1.5px solid var(--border);width:100%;color:var(--text-main);background:#fafcfc;border-radius:10px;outline:none;padding:13px 16px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--primary-mid);background:#fff;box-shadow:0 0 0 3px #1a8ca31a}.input-field::placeholder{color:#b0c4c9}.password-wrapper{position:relative}.password-wrapper .input-field{padding-right:48px}.eye-toggle{cursor:pointer;color:var(--text-sub);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.eye-toggle:hover{color:var(--primary)}.link-btn{color:var(--primary-mid);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-end;padding:0;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:underline}.link-btn:hover{color:var(--primary)}.policy-row{color:var(--text-sub);align-items:center;gap:10px;font-size:14px;display:flex}.custom-checkbox{border:2px solid var(--primary-mid);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;transition:background .15s;display:flex}.custom-checkbox.checked{background:var(--primary);border-color:var(--primary)}.link-text{color:var(--primary-mid);cursor:pointer;text-underline-offset:2px;font-weight:600;text-decoration:underline}.submit-btn{background:var(--primary);color:#fff;cursor:pointer;letter-spacing:.2px;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:background .2s,transform .1s,box-shadow .2s;display:flex}.submit-btn:hover:not(:disabled){background:var(--primary-mid);transform:translateY(-1px);box-shadow:0 4px 16px #0a5c6b4d}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;box-shadow:none;background:#b5d4da;transform:none}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1e23a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border);background:#fff;border-radius:20px;width:100%;max-width:420px;padding:32px;box-shadow:0 20px 60px #0a323c40}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{color:var(--text-main);font-family:Playfair Display,serif;font-size:20px}.modal-sub{color:var(--text-sub);margin-bottom:18px;font-size:14px;line-height:1.6}.modal-scrollable{max-height:280px;color:var(--text-sub);flex-direction:column;gap:12px;margin-bottom:20px;padding-right:8px;font-size:14px;line-height:1.7;display:flex;overflow-y:auto}.modal-scrollable p b{color:var(--primary)}.close-icon,.back-icon{cursor:pointer;color:var(--text-sub);transition:color .15s}.close-icon:hover{color:var(--error)}.back-icon:hover{color:var(--primary)}.spinner{width:20px;height:20px;animation:.8s linear infinite rotate}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-left-panel{display:none}.auth-right-panel{min-height:100vh;padding:24px 20px}.auth-card{padding:32px 24px}}@media (width<=420px){.name-row{grid-template-columns:1fr}}
