:root{--ink:#152a27;--muted:#7c8a85;--line:#e7ece8;--paper:#fff;--canvas:#f5f7f6;--green:#1f6758;--green-dark:#174e43;--mint:#e6f3ed;--coral:#d8755c;--gold:#d6aa5d;--shadow:0 16px 48px #20332a0d}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr;background:#fff}.auth-brand{background:#174e43;color:#f8fffa;padding:62px clamp(36px,8vw,132px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:530px;height:530px;border:1px solid #ffffff17;border-radius:50%;right:-260px;bottom:-150px;box-shadow:0 0 0 46px #ffffff08,0 0 0 98px #ffffff06}.brand-mark{width:48px;height:48px;background:#fff;color:#184e43;border-radius:15px;display:grid;place-items:center;font:800 calc(26px * var(--text-scale, 1)) Manrope,sans-serif;margin-bottom:52px;box-shadow:0 8px 25px #082b2140}.brand-mark span,.brand-dot{color:var(--coral)}.eyebrow,.panel-kicker,.side-label{font-size:calc(10px * var(--text-scale, 1));letter-spacing:1.8px;font-weight:700}.eyebrow.light{color:#9fc4b4}.auth-brand h1{font:700 calc(clamp(42px,5.3vw,72px) * var(--text-scale, 1))/1.05 Manrope,sans-serif;letter-spacing:-3px;margin:20px 0}.auth-brand p{max-width:370px;color:#bed2c8;line-height:1.8;font-size:calc(15px * var(--text-scale, 1))}.auth-foot{position:absolute;bottom:38px;color:#8eafa1;font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.4px;font-weight:700}.auth-foot i{display:inline-block;width:4px;height:4px;background:var(--coral);border-radius:50%;margin:0 10px 2px}.auth-panel{width:min(440px,calc(100% - 56px));margin:auto;padding:60px 0}.auth-mobile-mark{display:none}.panel-kicker{color:var(--green);margin-bottom:14px}.auth-panel h2{font:700 calc(32px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-1px;margin:0 0 9px}.auth-panel>p{color:var(--muted);font-size:calc(14px * var(--text-scale, 1));margin:0 0 35px}#authForm label{display:block;color:#52635e;font-size:calc(12px * var(--text-scale, 1));font-weight:600;margin:19px 0}input{display:block;width:100%;height:49px;margin-top:9px;border:1px solid #e0e6e2;border-radius:9px;background:#fbfcfb;padding:0 14px;color:var(--ink);outline:none;transition:.2s}input:focus{border-color:#6caa94;box-shadow:0 0 0 3px #1f675812}.button{border:0;border-radius:9px;font-weight:700;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button.primary{height:48px;padding:0 17px;background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.primary span{float:right;font-size:calc(18px * var(--text-scale, 1))}.button.full{width:100%;margin-top:4px}.auth-switch{display:flex;justify-content:center;gap:7px;margin:19px 0;color:var(--muted);font-size:calc(12px * var(--text-scale, 1))}.link-button{border:0;background:none;padding:0;color:var(--green);font-weight:700;font-size:calc(12px * var(--text-scale, 1))}.form-error{min-height:18px;color:#bd5745;text-align:center;font-size:calc(12px * var(--text-scale, 1))}.device-note{margin-top:30px;padding:13px;background:#f7f9f7;border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;align-items:center;color:#6f7c77;font-size:calc(11px * var(--text-scale, 1))}.device-note b{color:var(--ink)}.device-icon{font-size:calc(17px * var(--text-scale, 1));color:var(--green)}
.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;flex:0 0 244px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:26px 17px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 calc(20px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-1px;padding:0 9px 40px}.brand-mark.small{width:34px;height:34px;border-radius:11px;font-size:calc(20px * var(--text-scale, 1));margin:0;box-shadow:none}.brand-dot{margin-left:-3px}.side-label{color:#a3aea9;font-size:calc(9px * var(--text-scale, 1));padding:0 11px 12px}.sidebar nav{display:grid;gap:4px}.nav-item{height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;border:0;border-radius:8px;background:transparent;text-align:left;color:#73807a;font-size:calc(12px * var(--text-scale, 1));font-weight:600}.nav-item:hover{background:#f7f9f7;color:var(--ink)}.nav-item.active{background:#eaf4ef;color:#21604f}.nav-icon{width:18px;text-align:center;font-size:calc(16px * var(--text-scale, 1))}.side-bottom{margin-top:auto}.offline-card{border:1px solid var(--line);padding:12px 10px;border-radius:9px;display:flex;align-items:flex-start;gap:9px;margin-bottom:15px}.online-dot,.status-dot{width:7px;height:7px;border-radius:50%;background:#53a982;box-shadow:0 0 0 3px #53a98222;display:inline-block;margin-top:4px;flex:none}.offline-card b{font-size:calc(10px * var(--text-scale, 1));display:block}.offline-card small{display:block;color:#9aa59f;font-size:calc(9px * var(--text-scale, 1));margin-top:4px}.signout{border:0;background:none;color:#819089;padding:10px;font-size:calc(11px * var(--text-scale, 1))}.signout span{font-size:calc(16px * var(--text-scale, 1));margin-right:6px}.main-column{width:calc(100% - 244px);margin-left:244px}.topbar{height:70px;position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,60px);z-index:3}.crumb{display:flex;gap:10px;align-items:center;font-size:calc(11px * var(--text-scale, 1));color:#a0aaa5}.crumb b{color:#ccd3cf;font-weight:400}.crumb strong{color:#475a53;font-weight:600}.top-user{display:flex;align-items:center;gap:10px;font-size:calc(11px * var(--text-scale, 1));color:#5e7068}.top-user .status-dot{margin:0}.avatar{width:30px;height:30px;background:#e3f0e9;color:#286451;border-radius:50%;display:grid;place-items:center;font-size:calc(12px * var(--text-scale, 1));font-weight:700}.page-content{max-width:1300px;margin:auto;padding:42px clamp(24px,4vw,60px) 60px}.greeting-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:29px}.greeting-row h1{font:700 calc(29px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-1px;margin:0 0 7px}.greeting-row p{font-size:calc(12px * var(--text-scale, 1));color:var(--muted);margin:0}.eyebrow.green{color:var(--green);font-size:calc(9px * var(--text-scale, 1));letter-spacing:1.4px;margin-bottom:9px}.date-label{font-size:calc(10px * var(--text-scale, 1));color:#9aa59f}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:27px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px 18px 15px;box-shadow:var(--shadow)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#87938d;font-size:calc(10px * var(--text-scale, 1))}.metric-icon{width:27px;height:27px;background:#eff6f2;border-radius:8px;display:grid;place-items:center;color:var(--green);font-size:calc(13px * var(--text-scale, 1))}.metric-value{font:700 calc(26px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-1px;margin:14px 0 3px}.metric-note{font-size:calc(9px * var(--text-scale, 1));color:#a0aaa5}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:center;padding:18px 19px 13px}.card-title{font:700 calc(13px * var(--text-scale, 1)) Manrope,sans-serif}.subtle{color:#98a49e;font-size:calc(10px * var(--text-scale, 1))}.text-button{border:0;background:none;color:var(--green);font-size:calc(10px * var(--text-scale, 1));font-weight:700;padding:5px}.recent-list{padding:0 19px 9px}.recent-row{display:grid;grid-template-columns:34px minmax(0,1fr) 75px 55px;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #f0f3f1}.recent-symbol{width:31px;height:31px;border-radius:9px;background:#edf5f0;display:grid;place-items:center;color:#32715f;font-size:calc(12px * var(--text-scale, 1))}.recent-name{font-size:calc(11px * var(--text-scale, 1));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-meta{font-size:calc(9px * var(--text-scale, 1));color:#9aa59f;margin-top:4px}.percent{text-align:right;font:700 calc(12px * var(--text-scale, 1)) Manrope,sans-serif}.percent-caption{text-align:right;color:#a4aea9;font-size:calc(8px * var(--text-scale, 1));margin-top:3px}.empty-row{padding:28px 8px;text-align:center;color:#94a19a;font-size:calc(11px * var(--text-scale, 1));line-height:1.8}.quick-card{padding:19px}.quick-card h3,.card h3{font:700 calc(13px * var(--text-scale, 1)) Manrope,sans-serif;margin:0 0 6px}.quick-card p{color:#899690;font-size:calc(10px * var(--text-scale, 1));line-height:1.6;margin:0 0 17px}.quick-icon{width:35px;height:35px;background:#e9f4ee;border-radius:10px;display:grid;place-items:center;color:#286450;margin-bottom:17px;font-size:calc(16px * var(--text-scale, 1))}.button.soft{height:38px;padding:0 13px;color:var(--green);background:#eaf4ef;font-size:calc(10px * var(--text-scale, 1))}.button.soft:hover{background:#dceee4}.bank-strip{background:#1c594b;border-radius:11px;color:#fff;padding:21px 22px;display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.bank-strip h3{font:700 calc(14px * var(--text-scale, 1)) Manrope,sans-serif;margin:0 0 6px}.bank-strip p{font-size:calc(10px * var(--text-scale, 1));color:#c1d8cb;margin:0}.bank-strip .button{background:#fff;color:#1d5a4b;height:36px;padding:0 13px;font-size:calc(10px * var(--text-scale, 1))}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px}.searchbox{position:relative;flex:1}.searchbox span{position:absolute;left:12px;top:12px;color:#9ba7a0;font-size:calc(13px * var(--text-scale, 1))}.searchbox input{height:39px;margin:0;padding-left:34px;background:#fff;font-size:calc(11px * var(--text-scale, 1))}.select{height:39px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#667770;font-size:calc(10px * var(--text-scale, 1));padding:0 10px;min-width:155px}.test-list{display:grid;gap:9px}.test-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 17px;display:flex;align-items:center;gap:14px}.test-symbol{width:36px;height:36px;background:#eef5f0;color:#34705f;border-radius:10px;display:grid;place-items:center;flex:none}.test-info{flex:1;min-width:0}.test-info h4{font:700 calc(11px * var(--text-scale, 1)) Manrope,sans-serif;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-info p{margin:0;color:#9aa59f;font-size:calc(9px * var(--text-scale, 1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-count{text-align:right;font-size:calc(10px * var(--text-scale, 1));color:#596c64;white-space:nowrap}.test-count small{display:block;color:#a3aea8;font-size:calc(8px * var(--text-scale, 1));margin-top:4px}.button.start{height:34px;padding:0 12px;background:#e9f4ed;color:#24604f;font-size:calc(9px * var(--text-scale, 1));white-space:nowrap}.button.start:hover{background:#d7ecdf}.section-header{margin-bottom:20px}.section-header h1{font:700 calc(26px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-.7px;margin:0 0 6px}.section-header p{color:#8a9891;font-size:calc(11px * var(--text-scale, 1));margin:0}.history-table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.history-table th{text-align:left;background:#fafbfa;color:#98a49e;font-size:calc(9px * var(--text-scale, 1));letter-spacing:.6px;text-transform:uppercase;padding:13px 14px}.history-table td{border-top:1px solid #eef1ef;padding:13px 14px;font-size:calc(10px * var(--text-scale, 1));color:#61726b}.history-table td:first-child{font-weight:600;color:var(--ink)}.bar-wrap{width:90px;height:5px;border-radius:9px;background:#edf0ee;display:inline-block;margin-right:6px;vertical-align:middle}.bar{height:100%;border-radius:9px;background:#5b9d7f}.accuracy{font-weight:700;color:#36745f}.quiz-shell{max-width:850px;margin:auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.quiz-back{border:0;background:none;padding:8px 0;color:#73837b;font-size:calc(10px * var(--text-scale, 1))}.quiz-title{font:700 calc(12px * var(--text-scale, 1)) Manrope,sans-serif}.progress-wrap{height:4px;background:#e5ebe7;border-radius:5px;margin-bottom:21px;overflow:hidden}.progress-fill{height:100%;background:#39836b;border-radius:5px;transition:width .25s}.quiz-meta{display:flex;justify-content:space-between;color:#8e9b94;font-size:calc(10px * var(--text-scale, 1));margin-bottom:11px}.question-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;box-shadow:var(--shadow)}.question-text{font:600 calc(16px * var(--text-scale, 1))/1.7 Manrope,sans-serif;color:#203b32;margin-bottom:23px}.question-text p{margin:0 0 10px}.question-text img,.explanation img{max-width:100%;height:auto}.option-list{display:grid;gap:9px}.option{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;border:1px solid #e7ece8;background:#fff;border-radius:9px;padding:13px;color:#53645d;font-size:calc(11px * var(--text-scale, 1));line-height:1.55;transition:.15s}.option:hover{border-color:#a9cbb8;background:#fbfdfb}.option.selected{border-color:#4c9978;background:#edf7f1;color:#225c48}.option.correct{border-color:#4b9c73;background:#eaf6ee}.option.incorrect{border-color:#d98372;background:#fff2ef}.option-label{width:22px;height:22px;border-radius:6px;background:#f1f4f2;color:#60736a;display:grid;place-items:center;font-size:calc(9px * var(--text-scale, 1));font-weight:700;flex:none}.option.selected .option-label{background:#d8ebdf;color:#28604e}.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.quiz-actions .button.primary{min-width:130px}.skip-button{border:0;background:none;color:#84928b;font-size:calc(10px * var(--text-scale, 1))}.answer-panel{margin-top:17px;background:#f4f8f5;border:1px solid #deebe2;border-radius:9px;padding:17px}.answer-panel h4{font:700 calc(11px * var(--text-scale, 1)) Manrope,sans-serif;color:#27664e;margin:0 0 7px}.answer-panel p{font-size:calc(10px * var(--text-scale, 1));color:#576c62;line-height:1.7;margin:0}.answer-panel .explanation{font-size:calc(11px * var(--text-scale, 1));line-height:1.75;color:#50635b}.explanation p{margin:0 0 10px}.explanation table{border-collapse:collapse;max-width:100%;font-size:calc(10px * var(--text-scale, 1))}.explanation td,.explanation th{border:1px solid #dce5de;padding:6px;vertical-align:top}.summary-card{text-align:center;padding:48px 25px}.summary-check{width:62px;height:62px;margin:0 auto 18px;background:#e6f4eb;color:#33805c;border-radius:50%;display:grid;place-items:center;font-size:calc(25px * var(--text-scale, 1))}.summary-card h2{font:700 calc(25px * var(--text-scale, 1)) Manrope,sans-serif;margin:0 0 7px}.summary-card>p{color:#89968f;font-size:calc(11px * var(--text-scale, 1))}.summary-metrics{display:flex;justify-content:center;gap:48px;margin:28px 0}.summary-metrics b{display:block;font:700 calc(23px * var(--text-scale, 1)) Manrope,sans-serif}.summary-metrics span{display:block;color:#8b9991;font-size:calc(9px * var(--text-scale, 1));margin-top:4px}.toast{position:fixed;left:50%;top:17px;transform:translate(-50%,-20px);background:#203b32;color:#fff;border-radius:8px;padding:10px 16px;font-size:calc(11px * var(--text-scale, 1));box-shadow:0 8px 30px #152a2730;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.quick-card{display:flex;align-items:center;gap:16px}.quick-card .quick-icon{margin:0}.quick-card .quick-copy{flex:1}.quick-card p{margin:5px 0 0}.auth-brand{padding-left:48px;padding-right:48px}}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr;min-height:100vh;background:#fff}.auth-brand{display:none}.auth-panel{padding:38px 0;width:min(440px,calc(100% - 40px))}.auth-mobile-mark{display:block;font:800 calc(16px * var(--text-scale, 1)) Manrope,sans-serif;margin-bottom:44px}.auth-mobile-mark span{color:var(--coral)}.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:59px;padding:5px 9px;background:#fff;border:0;border-top:1px solid var(--line);display:block}.brand,.side-label,.side-bottom{display:none}.sidebar nav{height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.nav-item{height:49px;flex-direction:column;justify-content:center;gap:2px;font-size:calc(8px * var(--text-scale, 1));padding:2px}.nav-icon{font-size:calc(16px * var(--text-scale, 1))}.main-column{width:100%;margin:0;padding-bottom:60px}.topbar{height:57px;padding:0 18px}.page-content{padding:27px 17px 35px}.greeting-row h1{font-size:calc(24px * var(--text-scale, 1))}.greeting-row{align-items:flex-start}.date-label{display:none}.metric-grid{gap:9px}.metric-card{padding:14px}.metric-value{font-size:calc(23px * var(--text-scale, 1));margin:10px 0 2px}.test-item{gap:9px;padding:12px}.test-symbol{width:31px;height:31px}.test-count{font-size:calc(9px * var(--text-scale, 1))}.button.start{padding:0 8px}.toolbar{flex-wrap:wrap}.searchbox{flex-basis:100%}.select{flex:1;min-width:0}.quiz-top{align-items:flex-start}.question-card{padding:18px}.question-text{font-size:calc(14px * var(--text-scale, 1))}.history-table{min-width:620px}.table-scroll{overflow-x:auto}.summary-metrics{gap:25px}.bank-strip{padding:16px}.bank-strip h3{font-size:calc(12px * var(--text-scale, 1))}.bank-strip p{max-width:225px;line-height:1.5}}
:root{--reader-scale:1}
.bank-grid,.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 22px}.bank-card,.topic-card{width:100%;min-width:0;display:flex;align-items:center;gap:13px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 17px;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.bank-card:hover,.topic-card:hover{border-color:#9fc6b2;transform:translateY(-1px)}.bank-card-icon,.topic-card-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:10px;background:#eaf4ef;color:#2f715c;font-size:calc(17px * var(--text-scale, 1))}.bank-card-main,.topic-card-main{min-width:0;flex:1}.bank-card-main b,.topic-card-main b{display:block;font:700 calc(11px * var(--text-scale, 1)) Manrope,sans-serif;color:#263e35;overflow:hidden;text-overflow:ellipsis}.bank-card-main small,.topic-card-main small{display:block;color:#8e9c95;font-size:calc(9px * var(--text-scale, 1));margin-top:5px}.bank-card-arrow,.topic-card-arrow{color:#3d7e68;font-size:calc(16px * var(--text-scale, 1))}.topic-card-icon{background:#f1f5f2;font-size:calc(19px * var(--text-scale, 1))}.topic-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 16px;color:#a2aea7;font-size:calc(10px * var(--text-scale, 1))}.topic-breadcrumb button{border:0;background:none;padding:2px 0;color:#39745f;font-size:calc(10px * var(--text-scale, 1));font-weight:600}.level-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:9px}.level-summary b{display:block;font:700 calc(10px * var(--text-scale, 1)) Manrope,sans-serif}.level-summary span{display:block;color:#95a19b;font-size:calc(9px * var(--text-scale, 1));margin-top:4px}.level-search{width:min(330px,50%);flex:none}.level-search input{height:35px;font-size:calc(10px * var(--text-scale, 1))}.hierarchy-test-list{display:grid;gap:9px;margin-top:11px}.quiz-tools{display:flex;align-items:center;gap:14px}.font-control{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:3px}.font-control button{width:27px;height:26px;border:0;border-radius:5px;background:#f4f7f5;color:#316d59;font-weight:700}.font-control button:hover{background:#e4f0e9}.font-control span{min-width:37px;text-align:center;color:#77877f;font-size:calc(9px * var(--text-scale, 1))}.question-text{font-size:calc(16px * var(--reader-scale,1))}.option{font-size:calc(11px * var(--reader-scale,1))}.answer-panel p,.explanation{font-size:calc(11px * var(--reader-scale,1))}.option-label{font-size:calc(9px * var(--reader-scale,1))}
@media(max-width:700px){.bank-grid,.topic-grid{grid-template-columns:1fr;gap:8px}.level-summary{align-items:flex-start;flex-direction:column}.level-search{width:100%}.quiz-tools{gap:6px;flex-direction:column-reverse;align-items:flex-end}.font-control{gap:2px}.font-control button{width:24px;height:24px}.font-control span{min-width:32px}.quiz-title{font-size:calc(10px * var(--text-scale, 1))}}
.appearance-controls{display:flex;align-items:center;gap:9px}.global-size-controls{display:flex;align-items:center;gap:5px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.global-size-button{height:27px;min-width:30px;border:0;border-radius:5px;background:#f0f5f2;color:#28624f;font-weight:700;font-size:calc(11px * var(--text-scale, 1))}.global-size-button:hover{background:#e0eee6}.global-size-value{min-width:39px;text-align:center;color:#64756d;font-size:calc(9px * var(--text-scale, 1))}.theme-toggle{height:33px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#53665d;font-size:calc(9px * var(--text-scale, 1));font-weight:600}.theme-toggle:hover{background:#f2f6f3}.topbar-right{display:flex;align-items:center;gap:15px}.auth-appearance{margin:-15px 0 23px}.explanation-image{display:block;max-width:100%;height:auto;max-height:700px;object-fit:contain;margin:12px auto;border:1px solid var(--line);border-radius:8px;background:#fff}.question-text img{display:block;margin:12px auto}.bank-card,.topic-card{color:var(--ink)}.bank-card-main small,.topic-card-main small{line-height:1.45}
body{zoom:1}
body[data-theme="dark"]{--ink:#e5eee8;--muted:#a6b5ac;--line:#34473e;--paper:#1b2922;--canvas:#121a16;--green:#8bc5a5;--green-dark:#72b28f;--mint:#263c31;--shadow:0 12px 36px #00000024;background:var(--canvas);color:var(--ink);color-scheme:dark}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .test-item,body[data-theme="dark"] .bank-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .level-summary,body[data-theme="dark"] .history-table{background:#1b2922;border-color:var(--line);color:var(--ink)}
body[data-theme="dark"] .topbar{background:#1b2922ee}body[data-theme="dark"] .nav-item{color:#b1c0b7}body[data-theme="dark"] .nav-item.active{background:#294337;color:#a5d9ba}body[data-theme="dark"] .brand,body[data-theme="dark"] .card-title,body[data-theme="dark"] .recent-name,body[data-theme="dark"] .test-info h4,body[data-theme="dark"] .bank-card-main b,body[data-theme="dark"] .topic-card-main b,body[data-theme="dark"] .level-summary b{color:var(--ink)}body[data-theme="dark"] .metric-note,body[data-theme="dark"] .recent-meta,body[data-theme="dark"] .test-info p,body[data-theme="dark"] .subtle,body[data-theme="dark"] .date-label,body[data-theme="dark"] .section-header p,body[data-theme="dark"] .level-summary span{color:#9aada2}body[data-theme="dark"] .recent-row,body[data-theme="dark"] .history-table td{border-color:#2b3c33}body[data-theme="dark"] .history-table th,body[data-theme="dark"] .bank-card-icon,body[data-theme="dark"] .topic-card-icon,body[data-theme="dark"] .test-symbol,body[data-theme="dark"] .metric-icon{background:#263b30;color:#9bd1b0}body[data-theme="dark"] input,body[data-theme="dark"] .select,body[data-theme="dark"] .global-size-controls,body[data-theme="dark"] .global-size-button,body[data-theme="dark"] .theme-toggle{background:#202f27;border-color:#3b5045;color:var(--ink)}body[data-theme="dark"] .option{background:#1e2c25;border-color:#394d42;color:#d2dfd6}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#294235;border-color:#619977;color:#e1f2e7}body[data-theme="dark"] .option.correct{background:#244332;border-color:#5b9b71}body[data-theme="dark"] .option.incorrect{background:#462e2a;border-color:#a96d60}body[data-theme="dark"] .option-label{background:#2c3d34;color:#d2dfd6}body[data-theme="dark"] .answer-panel{background:#22352a;border-color:#3c5a46}body[data-theme="dark"] .answer-panel p,body[data-theme="dark"] .explanation{color:#c4d5ca}body[data-theme="dark"] .question-text{color:#e3eee7}body[data-theme="dark"] .offline-card,body[data-theme="dark"] .device-note{background:#202f27;border-color:#3b5045;color:#b6c6bc}body[data-theme="dark"] .auth-shell{background:#17231c}body[data-theme="dark"] .auth-panel h2{color:#edf5ef}body[data-theme="dark"] .auth-panel>p{color:#a6b5ac}body[data-theme="dark"] .panel-kicker{color:#98d0ad}body[data-theme="dark"] .auth-mobile-mark{color:#edf5ef}body[data-theme="dark"] .auth-switch{color:#a6b5ac}body[data-theme="dark"] .explanation-image{background:#fff}
@media(max-width:700px){.topbar-right{gap:7px}.topbar-right .appearance-controls{gap:4px}.topbar-right .global-size-controls{gap:2px}.topbar-right .global-size-button{min-width:24px;height:24px;font-size:calc(9px * var(--text-scale, 1))}.topbar-right .global-size-value{min-width:30px;font-size:calc(8px * var(--text-scale, 1))}.topbar-right .theme-toggle{height:29px;padding:0 6px;font-size:calc(8px * var(--text-scale, 1))}.top-user{gap:5px;font-size:calc(9px * var(--text-scale, 1))}.top-user .avatar{width:25px;height:25px}.auth-appearance{margin:0 0 20px}}
 .modal-backdrop{position:fixed;inset:0;z-index:30;background:#0f1b16a8;display:grid;place-items:center;padding:20px}.choice-dialog{position:relative;width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;box-shadow:0 26px 90px #0004}.choice-dialog h2{font:700 calc(20px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-.4px;margin:4px 0 9px;color:var(--ink)}.choice-dialog>p{font-size:calc(11px * var(--text-scale, 1));line-height:1.7;color:#7c8a83;margin:0 0 20px}.choice-dialog .quick-icon{margin-bottom:15px}.choice-dialog .button{margin:0 0 9px}.choice-dialog>small{display:block;color:#96a29c;text-align:center;font-size:calc(9px * var(--text-scale, 1));margin-top:5px}.modal-close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:#819088;font-size:calc(23px * var(--text-scale, 1))}.button.soft.full{width:100%;height:42px;font-size:calc(10px * var(--text-scale, 1))}body[data-theme="dark"] .choice-dialog{background:#1b2922;border-color:var(--line)}body[data-theme="dark"] .choice-dialog h2{color:var(--ink)}body[data-theme="dark"] .choice-dialog>p{color:#afbeb5}body[data-theme="dark"] .choice-dialog>small,body[data-theme="dark"] .modal-close{color:#9aada2}
/* Restrained study palette and anonymous answer distribution */
:root{--ink:#1d302b;--muted:#687a72;--line:#e1e8e3;--paper:#fff;--canvas:#f3f6f4;--green:#286451;--green-dark:#1d5242;--mint:#e9f2ec;--coral:#ad6955;--shadow:0 2px 10px #1d302b0a}
.option-percent{margin-left:auto;flex:none;color:#64796d;font-size:.9em;font-weight:700;white-space:nowrap}
.option.correct .option-percent{color:#397e57}.option.incorrect .option-percent{color:#a75e4f}
body[data-theme="dark"]{--ink:#e7eee9;--muted:#a5b3aa;--line:#35463c;--paper:#1e2a23;--canvas:#17211b;--green:#89b79a;--green-dark:#a0c8ad;--mint:#293a30;--shadow:0 2px 10px #0002}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .test-card,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog{background:var(--paper);border-color:var(--line)}
body[data-theme="dark"] .option{background:#222f27;border-color:#3b4b41;color:#d3ded6}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#2a3b30;border-color:#70977b;color:#e7eee9}body[data-theme="dark"] .option.correct{background:#293d30;border-color:#62856d}body[data-theme="dark"] .option.incorrect{background:#3c302d;border-color:#865e54}body[data-theme="dark"] .option-percent{color:#b3c2b7}body[data-theme="dark"] .option.correct .option-percent{color:#a6d2ad}body[data-theme="dark"] .option.incorrect .option-percent{color:#e0a394}
body[data-theme="dark"] .answer-panel h4{color:#a2d1ae}body[data-theme="dark"] .answer-panel p,body[data-theme="dark"] .explanation{color:#c8d4cc}body[data-theme="dark"] .question-text{color:#e5eee7}
.card,.metric-card,.question-card,.topic-card,.test-card{box-shadow:var(--shadow)}
.card,.metric-card,.question-card,.topic-card,.test-card,.choice-dialog{border-radius:10px}
.distribution-panel{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
.distribution-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:calc(11px * var(--text-scale, 1));color:var(--ink)}
.distribution-heading span{font-size:calc(10px * var(--text-scale, 1));color:var(--muted)}
.distribution-row{display:grid;grid-template-columns:minmax(130px,1.4fr) minmax(70px,1fr) minmax(90px,.7fr);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.distribution-choice{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:calc(10px * var(--text-scale, 1));color:var(--muted)}
.distribution-choice b{flex:none;color:var(--ink);font-size:calc(11px * var(--text-scale, 1))}.distribution-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.distribution-track{height:6px;background:#e9eeea;border-radius:8px;overflow:hidden}.distribution-track i{display:block;height:100%;border-radius:inherit;background:#9aada2;transition:width .35s ease}
.distribution-row.correct .distribution-track i{background:var(--green)}
.distribution-metric{display:flex;justify-content:space-between;gap:7px;color:var(--muted);font-size:calc(9px * var(--text-scale, 1));white-space:nowrap}.distribution-metric strong{color:var(--ink);font-size:calc(10px * var(--text-scale, 1))}
.answer-accuracy{margin-top:12px!important;color:var(--muted)!important;font-size:calc(10px * var(--text-scale, 1))}
body[data-theme="dark"]{--ink:#e5eee8;--muted:#a4b3aa;--line:#34473c;--paper:#1d2a23;--canvas:#17221c;--green:#8bbda0;--green-dark:#a4cfb2;--mint:#263b30;--shadow:0 2px 10px #0002}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .test-card,body[data-theme="dark"] .history-table,body[data-theme="dark"] .choice-dialog{background:var(--paper);border-color:var(--line)}
body[data-theme="dark"] .distribution-track{background:#33433a}body[data-theme="dark"] .distribution-track i{background:#788b7f}body[data-theme="dark"] .distribution-row.correct .distribution-track i{background:#83b596}
@media(max-width:560px){.distribution-row{grid-template-columns:minmax(0,1fr) minmax(60px,.7fr);gap:8px}.distribution-choice{grid-column:1}.distribution-track{grid-column:1;grid-row:2}.distribution-metric{grid-column:2;grid-row:1/3;align-self:center}}
:root{--ink:#1d302b;--muted:#687a72;--line:#e1e8e3;--paper:#fff;--canvas:#f3f6f4;--green:#286451;--green-dark:#1d5242;--mint:#e9f2ec;--coral:#ad6955;--shadow:0 2px 10px #1d302b0a}
:root{--ink:#1d302b;--muted:#687a72;--line:#e1e8e3;--paper:#fff;--canvas:#f3f6f4;--green:#286451;--green-dark:#1d5242;--mint:#e9f2ec;--coral:#ad6955;--shadow:0 2px 10px #1d302b0a}
.option-percent{margin-left:auto;flex:none;color:#64796d;font-size:.9em;font-weight:700;white-space:nowrap}.option.correct .option-percent{color:#397e57}.option.incorrect .option-percent{color:#a75e4f}
body[data-theme="dark"]{--ink:#e7eee9;--muted:#a5b3aa;--line:#35463c;--paper:#1e2a23;--canvas:#17211b;--green:#89b79a;--green-dark:#a0c8ad;--mint:#293a30;--shadow:0 2px 10px #0002}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .test-card,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog{background:var(--paper);border-color:var(--line)}
body[data-theme="dark"] .option{background:#222f27;border-color:#3b4b41;color:#d3ded6}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#2a3b30;border-color:#70977b;color:#e7eee9}body[data-theme="dark"] .option.correct{background:#293d30;border-color:#62856d}body[data-theme="dark"] .option.incorrect{background:#3c302d;border-color:#865e54}body[data-theme="dark"] .option-percent{color:#b3c2b7}body[data-theme="dark"] .option.correct .option-percent{color:#a6d2ad}body[data-theme="dark"] .option.incorrect .option-percent{color:#e0a394}
body[data-theme="dark"] .answer-panel h4{color:#a2d1ae}body[data-theme="dark"] .answer-panel p,body[data-theme="dark"] .explanation{color:#c8d4cc}body[data-theme="dark"] .question-text{color:#e5eee7}
/* Responsive layouts for compact phones, tablets and touch screens */
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:calc(62px + env(safe-area-inset-bottom));padding:5px 10px calc(5px + env(safe-area-inset-bottom));background:var(--paper);border:0;border-top:1px solid var(--line);display:block}.brand,.side-label,.side-bottom{display:none}.sidebar nav{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.nav-item{height:48px;min-width:0;flex-direction:column;justify-content:center;gap:2px;padding:3px;font-size:calc(9px * var(--text-scale, 1))}.nav-icon{font-size:calc(17px * var(--text-scale, 1))}.main-column{width:100%;margin:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{height:auto;min-height:58px;padding:8px clamp(12px,3vw,24px);gap:10px}.topbar-right{gap:clamp(5px,1.5vw,12px)}.page-content{width:100%;padding:clamp(18px,3.5vw,34px) clamp(14px,3vw,28px) 35px}.test-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px 12px}.test-info{min-width:0}.test-info h4,.test-info p{overflow-wrap:anywhere}.test-count{grid-column:2;grid-row:2;text-align:left}.button.start{grid-column:3;grid-row:1/3;min-height:40px;white-space:nowrap}.quiz-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.quiz-title{min-width:0;text-align:center;overflow-wrap:anywhere}.question-card{min-width:0}.question-text,.option{overflow-wrap:anywhere}.question-text img,.explanation img{max-width:100%;height:auto}.appearance-controls{max-width:100%;flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:560px){.topbar{align-items:flex-start}.crumb{min-width:0;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.top-user{display:none}.greeting-row{gap:10px}.greeting-row h1{font-size:clamp(21px,6vw,26px)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-width:0;padding:12px}.metric-top{gap:4px;font-size:calc(9px * var(--text-scale, 1))}.metric-value{font-size:clamp(19px,6vw,24px)}.content-grid{grid-template-columns:minmax(0,1fr)}.quick-card{align-items:flex-start;flex-direction:column}.toolbar{align-items:stretch}.searchbox{width:100%;min-width:0}.select{max-width:100%}.bank-strip{flex-wrap:wrap}.quiz-top{grid-template-columns:auto minmax(0,1fr);}.quiz-top .quiz-title:last-child{grid-column:2;text-align:right}.quiz-top .quiz-title:nth-child(2){grid-column:1/-1;grid-row:2;text-align:left}.quiz-meta{font-size:calc(9px * var(--text-scale, 1))}.question-card{padding:clamp(14px,4vw,20px)}.question-text{font-size:calc(15px * var(--reader-scale,1));line-height:1.65}.option{gap:8px;padding:11px 10px}.quiz-actions{gap:8px;align-items:stretch}.quiz-actions .button.primary{min-width:0;flex:1}.skip-button{max-width:45%;text-align:left}.summary-metrics{flex-wrap:wrap;gap:18px 28px}.history-table{min-width:600px}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.auth-panel{padding-top:max(24px,env(safe-area-inset-top))}.test-item{grid-template-columns:30px minmax(0,1fr)}.test-symbol{grid-column:1;grid-row:1}.test-info{grid-column:2;grid-row:1}.test-count{grid-column:2;grid-row:2}.button.start{grid-column:1/-1;grid-row:3;width:100%}}
@media(max-width:360px){.appearance-controls{gap:4px}.global-size-controls{gap:1px}.global-size-button{min-width:25px}.global-size-value{min-width:29px}.theme-toggle{padding:0 6px}.test-info h4{font-size:calc(10px * var(--text-scale, 1))}.bank-strip h3{font-size:calc(11px * var(--text-scale, 1))}}
/* Charcoal study surfaces; reserve glass for floating navigation and timer controls */
body[data-theme="dark"]{--ink:#f0f1f3;--muted:#a5a8ae;--line:#34363b;--paper:#202226;--canvas:#151619;--green:#9bc8ae;--green-dark:#b5d9c3;--mint:#2b3430;--shadow:0 5px 18px #0003;color-scheme:dark}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar{background:color-mix(in srgb,#24262b 76%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-color:#ffffff14}
body[data-theme="dark"] .sidebar{box-shadow:0 10px 36px #0003}body[data-theme="dark"] .nav-item.active{background:#333a36;color:#b6ddc3}body[data-theme="dark"] .nav-item:hover{background:#ffffff0c;color:var(--ink)}body[data-theme="dark"] .option{background:#25272b;border-color:#3b3d42;color:#e0e1e4}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#303934;border-color:#64836e;color:#f0f1f3}body[data-theme="dark"] .option.correct{background:#29382f;border-color:#5f8a6d}body[data-theme="dark"] .option.incorrect{background:#3c2c2b;border-color:#8b5f5b}body[data-theme="dark"] .metric-icon,body[data-theme="dark"] .bank-card-icon,body[data-theme="dark"] .topic-card-icon,body[data-theme="dark"] .test-symbol{background:#2a302d;color:#a5cfb2}body[data-theme="dark"] input,body[data-theme="dark"] .select{background:#25272b;border-color:#41434a;color:var(--ink)}body[data-theme="dark"] .global-size-controls,body[data-theme="dark"] .theme-toggle,body[data-theme="dark"] .font-control{background:#27292d;border-color:#41434a;color:var(--ink)}body[data-theme="dark"] .global-size-button,body[data-theme="dark"] .font-control button{background:#32353a;color:#dce5df}
.timer-setup{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 12px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.timer-switch{display:flex;align-items:center;gap:11px;cursor:pointer}.timer-switch input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.timer-switch-track{width:36px;height:21px;flex:none;border-radius:20px;background:#c8cfca;position:relative;transition:background .2s}.timer-switch-track:after{content:"";position:absolute;width:15px;height:15px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.timer-switch input:checked+.timer-switch-track{background:#4b8064}.timer-switch input:checked+.timer-switch-track:after{transform:translateX(15px)}.timer-switch input:focus-visible+.timer-switch-track{outline:3px solid #73a98966;outline-offset:2px}.timer-switch b,.timer-duration label{display:block;font-size:calc(11px * var(--text-scale, 1));color:var(--ink)}.timer-switch small{display:block;margin-top:3px;color:var(--muted);font-size:calc(9px * var(--text-scale, 1))}.timer-duration{width:min(260px,40%)}.timer-duration label{display:flex;justify-content:space-between;margin-bottom:5px;font-size:calc(9px * var(--text-scale, 1))}.timer-duration label b{color:var(--green);font-size:calc(10px * var(--text-scale, 1))}.timer-duration input[type="range"]{display:block;width:100%;height:20px;margin:0;accent-color:#4b8064;background:transparent;padding:0;box-shadow:none}.timer-range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:calc(8px * var(--text-scale, 1))}.question-timer{margin:12px 0 15px;padding:10px 13px;border-radius:11px;background:color-mix(in srgb,var(--paper) 75%,transparent);border:1px solid var(--line)}.question-timer-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:var(--muted);font-size:calc(8px * var(--text-scale, 1));letter-spacing:1px;font-weight:700}.question-timer-meta b{color:var(--ink);font-size:calc(11px * var(--text-scale, 1));letter-spacing:0}.question-timer-track{height:5px;overflow:hidden;border-radius:10px;background:#e7ece8}.question-timer-track i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71a787,#b8c58a);transition:width .18s linear}.question-timer:not(.hidden){background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}body[data-theme="dark"] .timer-setup{background:#202226;border-color:#383a40}body[data-theme="dark"] .timer-switch-track{background:#52545a}body[data-theme="dark"] .timer-switch input:checked+.timer-switch-track{background:#648b71}body[data-theme="dark"] .question-timer{border-color:#ffffff17;background:#222429d9}body[data-theme="dark"] .question-timer-track{background:#383a3f}body[data-theme="dark"] .question-timer-track i{background:linear-gradient(90deg,#84b394,#c0c785)}
@media(max-width:600px){.timer-setup{align-items:stretch;flex-direction:column;gap:13px;padding:13px}.timer-duration{width:100%}.question-timer{margin:9px 0 12px}.question-timer:not(.hidden){backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}}
@media(prefers-reduced-motion:reduce){.timer-switch-track,.timer-switch-track:after,.question-timer-track i{transition:none}}
/* Saved timer preferences and timeout review */
.timer-toolbar-toggle{height:33px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:calc(10px * var(--text-scale, 1));font-weight:700;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}.timer-toolbar-toggle.active{background:#e8f1eb;color:#356b4c;border-color:#cbdccf}.timer-toolbar-toggle:hover{border-color:#8eae98}.timer-mode-note{margin:12px 0;padding:9px 12px;border-radius:8px;background:var(--mint);color:var(--muted);font-size:calc(10px * var(--text-scale, 1))}
.settings-card{max-width:780px;padding:10px 22px}.settings-block{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.settings-block h2{margin:0 0 5px;font:700 calc(13px * var(--text-scale, 1)) Manrope,sans-serif;color:var(--ink)}.settings-block p{max-width:500px;margin:0;color:var(--muted);font-size:calc(10px * var(--text-scale, 1));line-height:1.6}.settings-slider{width:min(300px,45%)}.settings-slider>label{display:block;margin-bottom:5px;text-align:right;color:var(--green);font-size:calc(11px * var(--text-scale, 1))}.settings-slider input[type="range"]{width:100%;height:20px;margin:0;padding:0;background:transparent;accent-color:#4b8064;box-shadow:none}.settings-slider input:disabled{opacity:.45}.settings-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:15px 0}.settings-actions #settingsSaved{color:var(--muted);font-size:calc(10px * var(--text-scale, 1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.question-timer{padding:5px;border-radius:10px}.question-timer-track{height:8px;background:#e5e9e6}.question-timer-track i{background:linear-gradient(90deg,#619674,#9fbd91)}.skip-notice{margin:0 0 16px;padding:10px 12px;border:1px solid #e7d9b9;border-radius:8px;background:#fbf6e9;color:#806b3d;font-size:calc(10px * var(--text-scale, 1));line-height:1.55}.skipped-answer{border-color:#e7d9b9;background:#fbf8f0}.skipped-answer h4{color:#806b3d}
body[data-theme="dark"]{--canvas:#151619;--paper:#202226;--ink:#f0f1f3;--muted:#a5a8ae;--line:#34363b;--green:#9bc8ae;--green-dark:#b5d9c3;--mint:#2b3430;background:radial-gradient(ellipse at 82% -10%,#292b31 0,transparent 42%),#151619}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar{background:#24262bd1;border-color:#ffffff14;backdrop-filter:blur(26px) saturate(165%);-webkit-backdrop-filter:blur(26px) saturate(165%)}body[data-theme="dark"] .sidebar{box-shadow:0 10px 36px #0003}body[data-theme="dark"] .timer-toolbar-toggle{background:#2a2c31;border-color:#42444a;color:#c3c6ca}body[data-theme="dark"] .timer-toolbar-toggle.active{background:#33443a;color:#b8ddc3;border-color:#58715f}body[data-theme="dark"] .settings-card,body[data-theme="dark"] .settings-block{border-color:var(--line)}body[data-theme="dark"] .settings-card{background:#202226}body[data-theme="dark"] .settings-slider input[type="range"]{accent-color:#9bc8ae}body[data-theme="dark"] .skip-notice,body[data-theme="dark"] .skipped-answer{background:#302d25;border-color:#63583a;color:#e3d39d}body[data-theme="dark"] .skipped-answer h4{color:#e3d39d}body[data-theme="dark"] .question-timer{background:#24262bd1;border-color:#ffffff16;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}body[data-theme="dark"] .question-timer-track{background:#414349}
@media(max-width:820px){.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-item{font-size:calc(8px * var(--text-scale, 1))}.timer-toolbar-toggle{height:29px;padding:0 8px;font-size:calc(9px * var(--text-scale, 1))}}
@media(max-width:600px){.settings-card{padding:0 15px}.settings-block{align-items:flex-start}.settings-slider{width:48%}.settings-actions .button{min-width:130px}.timer-toolbar-toggle{max-width:82px;overflow:hidden}.question-timer{margin:9px 0 11px}.skip-notice{font-size:calc(11px * var(--text-scale, 1))}}
@media(max-width:370px){.crumb{max-width:30vw}.timer-toolbar-toggle{width:30px;padding:0;font-size:0}.timer-toolbar-toggle:before{content:"◷";font-size:calc(14px * var(--text-scale, 1))}.topbar-right{gap:4px}.appearance-controls{gap:3px}}
/* Always-visible timer and score/review pages */
.topbar-timer{flex:1;min-width:55px;max-width:230px;margin:0 clamp(4px,1.5vw,20px)}.topbar-timer-track{display:block;width:100%;height:8px;border:1px solid var(--line);border-radius:20px;background:#e9edea;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.topbar-timer-track i{display:block;width:100%;height:100%;border-radius:inherit;background:#55b878;transition:width .2s linear,background-color .25s ease}.topbar-timer-track i.timer-yellow{background:#edc44c}.topbar-timer-track i.timer-red{background:#e85d59;animation:timer-pulse .9s ease-in-out infinite alternate}@keyframes timer-pulse{to{filter:saturate(.7);opacity:.75}}
.timer-toolbar-toggle{display:flex;align-items:center;gap:7px;height:36px;padding:0 11px;border-radius:22px}.timer-toggle-track{width:42px;height:23px;display:block;position:relative;flex:none;border:1px solid #a9adb5;border-radius:16px;background:#f7f7f8;box-shadow:inset 0 1px 2px #00000012;transition:background .2s,border-color .2s}.timer-toggle-track i{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#444b58;box-shadow:0 1px 4px #0003;transition:transform .2s,background .2s}.timer-toolbar-toggle.active .timer-toggle-track{background:#e6f2e8;border-color:#80ae8b}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(19px);background:#4f9b68}
.results-shell{max-width:920px;margin:0 auto}.results-heading{margin-bottom:16px}.results-heading h1{margin:2px 0 5px;font:700 calc(27px * var(--text-scale, 1)) Manrope,sans-serif;letter-spacing:-.7px}.results-heading p{margin:0;color:var(--muted);font-size:calc(11px * var(--text-scale, 1))}.results-score{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(20px,4vw,32px);background:linear-gradient(125deg,#fff,#f3f7f4)}.score-copy>span,.peer-result>div>span{color:var(--muted);font-size:calc(9px * var(--text-scale, 1));font-weight:700;letter-spacing:1.5px}.score-copy>b{display:block;margin:8px 0 3px;font:800 calc(clamp(36px,7vw,54px) * var(--text-scale, 1))/1 Manrope,sans-serif;letter-spacing:-2px;color:var(--ink)}.score-copy>b small{font-size:.45em;letter-spacing:0;color:var(--muted)}.score-copy p{margin:8px 0 0;font-size:calc(9px * var(--text-scale, 1));color:var(--muted)}.score-medallion{width:70px;height:70px;display:grid;align-content:center;text-align:center;border-radius:50%;background:#e9f2ec;color:#376b4d;font:800 calc(17px * var(--text-scale, 1)) Manrope,sans-serif;flex:none}.score-medallion small{display:block;font:500 calc(8px * var(--text-scale, 1)) 'DM Sans',sans-serif;color:var(--muted)}.result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.result-metric{padding:14px 16px}.result-metric span{display:block;color:var(--muted);font-size:calc(9px * var(--text-scale, 1))}.result-metric span small{font-size:calc(8px * var(--text-scale, 1))}.result-metric>b{display:block;margin-top:8px;font:700 calc(24px * var(--text-scale, 1)) Manrope,sans-serif;color:var(--ink)}.peer-result{display:flex;align-items:center;gap:14px;padding:17px 19px;margin-bottom:12px;background:linear-gradient(120deg,#f6f8f5,#fff)}.peer-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e8f1ea;color:#528061;font-size:calc(18px * var(--text-scale, 1));flex:none}.peer-result h2{margin:4px 0;font:700 calc(16px * var(--text-scale, 1)) Manrope,sans-serif;color:var(--ink)}.peer-result p{margin:0;color:var(--muted);font-size:calc(9px * var(--text-scale, 1));line-height:1.6}.results-review{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.results-review h2{margin:0 0 4px;font:700 calc(13px * var(--text-scale, 1)) Manrope,sans-serif}.results-review p{margin:0;color:var(--muted);font-size:calc(10px * var(--text-scale, 1));line-height:1.5}.results-review .button{flex:none}.results-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}
.review-shell{max-width:850px;margin:0 auto}.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-counter{font:700 calc(13px * var(--text-scale, 1)) Manrope,sans-serif;color:var(--ink)}.review-progress{height:4px;border-radius:8px;background:var(--line);overflow:hidden;margin-bottom:18px}.review-progress i{display:block;height:100%;background:var(--green);border-radius:inherit}.review-status{margin-bottom:10px;font-size:calc(10px * var(--text-scale, 1));font-weight:700}.review-status.right{color:#44815a}.review-status.wrong{color:#b66558}.review-status.skipped{color:#927846}.review-option{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);font-size:calc(11px * var(--text-scale, 1));line-height:1.6}.review-option.correct{background:#edf5ef;border-color:#b3cfbb;color:#376b4d}.review-option.incorrect{background:#faf0ee;border-color:#dfbbb3;color:#a65349}.review-option small{margin-left:auto;flex:none;font-size:calc(8px * var(--text-scale, 1));font-weight:700}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.review-actions>span{color:var(--muted);font-size:calc(9px * var(--text-scale, 1))}.review-actions button:disabled{opacity:.4;cursor:default}
body[data-theme="dark"] .topbar-timer-track{background:#393b40;border-color:#4c4e54}body[data-theme="dark"] .results-score,body[data-theme="dark"] .peer-result{background:linear-gradient(125deg,#25272c,#202226)}body[data-theme="dark"] .score-medallion,body[data-theme="dark"] .peer-icon{background:#303a33;color:#b1d7bb}body[data-theme="dark"] .review-option{background:#25272b;border-color:#3c3e44;color:#d5d6da}body[data-theme="dark"] .review-option.correct{background:#29382f;border-color:#56765e;color:#c3e0c9}body[data-theme="dark"] .review-option.incorrect{background:#3b2d2b;border-color:#80564f;color:#e5b7ac}
@media(max-width:820px){.topbar-timer{max-width:none;margin:0 4px}.topbar{gap:9px}.topbar-right{gap:8px}.timer-toolbar-toggle{padding:0 8px}.timer-toggle-track{width:37px}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(14px)}}
@media(max-width:600px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 8px;padding:7px 12px}.topbar>.crumb{grid-column:1;grid-row:1;max-width:none}.topbar-right{grid-column:2;grid-row:1;display:flex;align-items:center}.topbar-timer{grid-column:1/-1;grid-row:2;width:100%;margin:0;padding:1px 2px}.topbar-timer-track{height:7px}.top-user{display:none}.timer-toolbar-toggle{height:31px}.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.results-heading h1{font-size:calc(23px * var(--text-scale, 1))}.results-score{padding:19px}.score-medallion{width:60px;height:60px}.peer-result{align-items:flex-start;padding:14px}.peer-result h2{font-size:calc(14px * var(--text-scale, 1))}.results-review{align-items:stretch;flex-direction:column;padding:15px}.results-review .button{width:100%}.results-actions{justify-content:stretch}.results-actions .button{flex:1}.review-actions{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));padding:8px 0;background:var(--canvas)}.review-actions .button{min-height:42px}}
@media(max-width:370px){.topbar-right{gap:4px}.timer-toolbar-toggle{gap:4px;padding:0 5px;font-size:calc(8px * var(--text-scale, 1))}.timer-toggle-track{width:32px;height:21px}.timer-toggle-track i{width:15px;height:15px}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(11px)}.results-actions{flex-direction:column}.results-actions .button{width:100%}}

/* Keep the timer as a progress rail attached to the bottom edge of the header. */
.topbar{position:sticky;overflow:visible}
.topbar-timer{position:absolute;left:0;right:0;bottom:-1px;width:100%;max-width:none;height:4px;margin:0;padding:0;z-index:4}
.topbar-timer-track{height:4px;border:0;border-radius:0;background:#e7ece8;box-shadow:none}
.topbar-timer-track i{border-radius:0}
body[data-theme="dark"] .topbar-timer-track{background:#393b40;border:0}
@media(max-width:600px){
  .topbar{height:62px;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px}
  .topbar>.crumb{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:calc(10px * var(--text-scale, 1))}
  .topbar-right{flex:none;display:flex;align-items:center;gap:6px}
  .topbar-timer{position:absolute;left:0;right:0;bottom:-1px;grid-column:auto;grid-row:auto;width:100%;height:4px;margin:0;padding:0}
  .topbar-timer-track{height:4px}
  .appearance-controls{display:flex;align-items:center;gap:5px}
  .global-size-controls{gap:2px}
  .global-size-button{width:27px;height:29px;font-size:calc(10px * var(--text-scale, 1))}
  .global-size-value{min-width:31px;font-size:calc(8px * var(--text-scale, 1))}
  .theme-toggle{height:30px;padding:0 7px;font-size:calc(9px * var(--text-scale, 1))}
  .timer-toolbar-toggle{height:30px;gap:5px;padding:0 7px;font-size:calc(9px * var(--text-scale, 1))}
  .timer-toggle-track{width:34px;height:20px}
  .timer-toggle-track i{width:16px;height:16px}
  .timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(14px)}
}
@media(max-width:390px){
  .topbar{padding:0 7px;gap:4px}
  .topbar>.crumb{font-size:calc(9px * var(--text-scale, 1));gap:5px}
  .topbar-right{gap:3px}
  .timer-toolbar-toggle{padding:0 5px}
  .timer-toolbar-toggle>span:last-child{display:none}
  .appearance-controls{gap:3px}
  .theme-toggle{padding:0 5px;font-size:calc(8px * var(--text-scale, 1))}
  .global-size-button{width:24px}
  .global-size-value{min-width:27px}
}

/* Question media stays readable in the page; tap to inspect at full size. */
.question-text img,.explanation img,.answer-panel img{display:block;max-width:min(100%,760px);max-height:420px;width:auto;height:auto;object-fit:contain;margin:14px auto;border-radius:8px;cursor:zoom-in}
.explanation table,.answer-panel table{display:block;width:max-content;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-collapse:collapse}
.explanation table td,.explanation table th,.answer-panel table td,.answer-panel table th{min-width:100px;max-width:300px}
.image-zoom{position:fixed;inset:0;z-index:100;background:#111d;display:flex;align-items:center;justify-content:center;padding:72px 22px 24px}
.image-zoom img{display:block;max-width:min(100%,1500px);max-height:calc(100dvh - 112px);width:auto;height:auto;object-fit:contain;background:white;border-radius:8px;box-shadow:0 18px 70px #0007}
.image-zoom-back{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));height:40px;padding:0 14px;border:1px solid #ffffff48;border-radius:10px;background:#ffffffed;color:#18251e;font-weight:700;box-shadow:0 4px 20px #0004}
.review-option.selected-answer{box-shadow:0 0 0 2px #d7a35c55;border-width:2px}
.analysis-actions{justify-content:stretch;gap:9px}
.analysis-actions .button{flex:1;min-height:42px}
body[data-theme="dark"] .image-zoom-back{background:#242a27;color:#f3f5f3;border-color:#646a66}
@media(max-width:600px){.question-text img,.explanation img,.answer-panel img{max-height:300px}.image-zoom{padding:66px 10px 12px}.image-zoom img{max-height:calc(100dvh - 92px);max-width:100%}.explanation table td,.explanation table th{min-width:125px}.analysis-actions{display:grid;grid-template-columns:1fr}.analysis-actions .button{width:100%}}
.question-text img,.explanation img,.answer-panel img{max-width:min(70%,532px);max-height:294px}
@media(max-width:600px){.question-text img,.explanation img,.answer-panel img{max-width:70%;max-height:210px}}

/* Light blue replaces the green brand accent in both appearance modes. */
:root{--green:#3b8fc7;--green-dark:#2d719f;--mint:#e9f5fc}
.auth-brand{background:#2d719f}
.brand-mark{color:#2d719f}
.nav-item.active{background:#e8f4fb;color:#2d719f}
.button.soft,.button.start{background:#e8f4fb;color:#2d719f}
.button.soft:hover,.button.start:hover{background:#d9edf9}
.bank-strip{background:#2d719f}
.metric-icon,.quick-icon,.test-symbol,.recent-symbol,.topic-card-icon,.bank-card-icon{background:#e8f4fb;color:#2d719f}
.timer-switch input:checked+.timer-switch-track{background:#4b9bd0}
.timer-duration input[type="range"]{accent-color:#4b9bd0}
.online-dot,.status-dot{background:#52a8d9;box-shadow:0 0 0 3px #52a8d922}
.timer-toolbar-toggle.active .timer-toggle-track{background:#e1f2fc;border-color:#7bb8da}
.timer-toolbar-toggle.active .timer-toggle-track i{background:#438fb9}
body[data-theme="dark"]{--green:#9bcff0;--green-dark:#b8e0f7;--mint:#263b49}
body[data-theme="dark"] .nav-item.active{background:#2a3d4a;color:#b5e0fb}
body[data-theme="dark"] .button.soft,body[data-theme="dark"] .button.start{background:#2a3d4a;color:#b5e0fb}
body[data-theme="dark"] .button.soft:hover,body[data-theme="dark"] .button.start:hover{background:#344e5f}
body[data-theme="dark"] .bank-strip{background:#244b63}
body[data-theme="dark"] .metric-icon,body[data-theme="dark"] .quick-icon,body[data-theme="dark"] .test-symbol,body[data-theme="dark"] .recent-symbol,body[data-theme="dark"] .topic-card-icon,body[data-theme="dark"] .bank-card-icon{background:#2a3d4a;color:#b5e0fb}
.test-item-actions{display:flex;align-items:center;gap:8px;flex:none}
@media(max-width:820px){.test-item-actions{grid-column:3;grid-row:1/3;flex-direction:column;align-items:stretch}.test-item-actions .button{min-height:38px}}
@media(max-width:560px){.test-item-actions{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr}.test-item-actions .button{width:100%}}

/* Compact study header and an on-demand sliding navigation drawer during tests. */
.topbar{justify-content:flex-end}
.topbar .crumb{display:none}
.topbar-right{margin-left:auto}
.top-user,.global-size-value{display:none!important}
.global-size-controls{gap:4px}
.global-size-button{min-width:38px;font-size:calc(13px * var(--text-scale, 1));font-weight:700}
.quiz-menu-toggle{display:none;width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--paper);align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0}
.quiz-menu-toggle i{display:block;width:16px;height:2px;border-radius:2px;background:var(--ink)}
body.quiz-page .quiz-menu-toggle{display:flex;margin-right:auto}
body.quiz-page .sidebar{transform:translateX(-105%);transition:transform .24s ease;z-index:81}
body.quiz-page .main-column{width:100%;margin-left:0}
.quiz-sidebar-overlay{display:none}
body.quiz-page.quiz-sidebar-open .quiz-sidebar-overlay{display:block;position:fixed;inset:0;z-index:80;background:#0d1720a6;backdrop-filter:blur(2px)}
body.quiz-page.quiz-sidebar-open .sidebar{transform:translateX(0)}
@media(max-width:820px){
  body.quiz-page .sidebar{transform:translateX(-105%);inset:0 auto 0 0;width:min(290px,86vw);height:100dvh;padding:22px 17px calc(18px + env(safe-area-inset-bottom));display:flex;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:8px 0 35px #0002;background:var(--paper)}
  body.quiz-page .sidebar .brand{display:flex;padding:0 9px 32px}
  body.quiz-page .sidebar .side-label{display:block}
  body.quiz-page .sidebar nav{height:auto;display:grid;grid-template-columns:1fr;gap:4px}
  body.quiz-page .sidebar .nav-item{height:45px;min-width:0;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 11px;font-size:calc(12px * var(--text-scale, 1))}
  body.quiz-page .sidebar .nav-icon{font-size:calc(16px * var(--text-scale, 1))}
  body.quiz-page .sidebar .side-bottom{display:block;margin-top:auto}
  body.quiz-page .main-column{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  body.quiz-page .topbar{min-height:58px;padding:7px 12px;align-items:center}
  body.quiz-page .topbar-right{flex-wrap:nowrap}
}
body[data-theme="dark"] .quiz-menu-toggle{background:#24262b;border-color:#ffffff1c}

/* Sliding mode selector inspired by the supplied light/dark control reference. */
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:160px;height:50px;flex:none;overflow:hidden;padding:0 12px 0 55px;border:1px solid #c8ced8;border-radius:28px;background:linear-gradient(105deg,#edf1f5,#dce1e9);color:#747e90;box-shadow:inset 0 2px 5px #25304719,0 3px 8px #1b2b3b14;transition:background .25s,border-color .25s}
.theme-toggle .theme-choice-light,.theme-toggle .theme-choice-dark{position:relative;z-index:1;display:flex;align-items:center;gap:4px;font-size:calc(15px * var(--text-scale, 1));line-height:1}
.theme-toggle small{font:800 calc(9px * var(--text-scale, 1))/1 'DM Sans',sans-serif;letter-spacing:.65px}
.theme-toggle .theme-choice-dark{opacity:.7}
.theme-toggle-knob{position:absolute;z-index:2;left:3px;top:2px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff,#e7edf4);box-shadow:0 3px 8px #16253d35,inset 0 1px 2px #fff;transition:transform .32s cubic-bezier(.2,.8,.2,1),background .25s}
.theme-toggle-knob b{font:700 calc(25px * var(--text-scale, 1))/1 'DM Sans',sans-serif;color:#8994a7}
.theme-toggle-knob b:before{content:'☼'}
.theme-toggle.is-dark{padding:0 54px 0 12px;border-color:#303749;background:linear-gradient(105deg,#252b3b,#3b4356);color:#adb5c6}
.theme-toggle.is-dark .theme-choice-light{opacity:.65}
.theme-toggle.is-dark .theme-choice-dark{opacity:1}
.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(109px);background:linear-gradient(145deg,#a7b0c4,#737f9a)}
.theme-toggle.is-dark .theme-toggle-knob b{color:#eef3ff}
.theme-toggle.is-dark .theme-toggle-knob b:before{content:'☾'}
.timer-toolbar-toggle{gap:9px;padding:0 9px}
.timer-toggle-track{width:54px;height:30px;border-radius:18px;background:linear-gradient(145deg,#e7ebf1,#d6dce6);border:1px solid #c5ccd7;box-shadow:inset 0 2px 5px #28364a20;transition:background .25s,border-color .25s}
.timer-toggle-track i{top:2px;left:2px;width:24px;height:24px;background:linear-gradient(145deg,#fff,#e7ebf1);box-shadow:0 2px 6px #25304740;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s}
.timer-toolbar-toggle.active .timer-toggle-track{background:linear-gradient(145deg,#bcdff3,#8fc7e8);border-color:#77b5d9}
.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(24px);background:linear-gradient(145deg,#fff,#eef8ff)}
body[data-theme="dark"] .theme-toggle:not(.is-dark){background:linear-gradient(105deg,#edf1f5,#dce1e9);color:#747e90}
body[data-theme="dark"] .timer-toggle-track{background:linear-gradient(145deg,#353a46,#252a33);border-color:#4a5262}
body[data-theme="dark"] .timer-toggle-track i{background:linear-gradient(145deg,#b8c2d6,#838da4)}
body[data-theme="dark"] .timer-toolbar-toggle.active .timer-toggle-track{background:linear-gradient(145deg,#35566b,#427ca0);border-color:#5e9dc2}
@media(max-width:600px){.theme-toggle{width:132px;height:43px;padding:0 8px 0 47px}.theme-toggle-knob{width:37px;height:37px;top:2px;left:2px}.theme-toggle-knob b{font-size:calc(22px * var(--text-scale, 1))}.theme-toggle.is-dark{padding:0 45px 0 8px}.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(89px)}.theme-toggle .theme-choice-light,.theme-toggle .theme-choice-dark{font-size:calc(13px * var(--text-scale, 1))}.theme-toggle small{font-size:calc(8px * var(--text-scale, 1))}.timer-toggle-track{width:46px;height:26px}.timer-toggle-track i{width:20px;height:20px}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(20px)}}
@media(max-width:390px){.theme-toggle{width:112px;height:38px;padding:0 6px 0 40px}.theme-toggle-knob{width:32px;height:32px;top:2px;left:2px}.theme-toggle-knob b{font-size:calc(19px * var(--text-scale, 1))}.theme-toggle.is-dark{padding:0 38px 0 6px}.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(73px)}.theme-toggle .theme-choice-light,.theme-toggle .theme-choice-dark{font-size:calc(11px * var(--text-scale, 1));gap:2px}.theme-toggle small{font-size:calc(7px * var(--text-scale, 1))}.topbar .global-size-button{min-width:31px}}
.theme-toggle,.theme-toggle.is-dark{width:100px;height:34px;min-width:100px;padding:0;border-radius:20px}
.theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{top:1px;left:2px;width:30px;height:30px}
.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(66px)}
.theme-toggle .theme-choice-light,.theme-toggle .theme-choice-dark{position:absolute;top:50%;display:none;transform:translateY(-50%);font-size:calc(11px * var(--text-scale, 1));gap:2px}
.theme-toggle small{font-size:calc(7px * var(--text-scale, 1));letter-spacing:.3px}
.theme-toggle:not(.is-dark) .theme-choice-light{display:flex;left:36px}
.theme-toggle.is-dark .theme-choice-dark{display:flex;right:36px}
@media(max-width:600px){.theme-toggle,.theme-toggle.is-dark{width:100px;height:34px;min-width:100px;padding:0}.theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{top:1px;left:2px;width:30px;height:30px}.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(66px)}}
.theme-toggle,.theme-toggle.is-dark{width:64px;height:40px;min-width:64px;padding:2px;border:0;border-radius:24px;background:#f1f3f6;box-shadow:inset 0 2px 5px #26334a30,0 1px 3px #1b2b3b12}
.theme-toggle .theme-choice-light,.theme-toggle .theme-choice-dark{display:none!important}
.theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{left:2px;top:2px;width:36px;height:36px;background:linear-gradient(145deg,#fff,#e7ebf1);box-shadow:0 2px 6px #18233740,inset 0 1px 2px #fff}
.theme-toggle-knob b{color:#f0c846}
.theme-toggle.is-dark{background:#f1f3f6}
.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(24px);background:linear-gradient(145deg,#30343d,#171a20)}
.theme-toggle.is-dark .theme-toggle-knob b{color:#f4f5f8}
.theme-toggle.is-dark .theme-toggle-knob b:before{content:'☾'}
.timer-toolbar-toggle{width:64px;height:40px;min-width:64px;padding:2px;display:grid;place-items:center;border:0;border-radius:24px;background:transparent}
.timer-toggle-track{position:relative;width:64px;height:40px;border:0;border-radius:24px;background:#e14f5f;box-shadow:inset 0 2px 5px #3d071232,0 1px 3px #16233726;transition:background .25s}
.timer-toggle-track i{left:2px;top:2px;width:36px;height:36px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#e8edf3);color:#d94a5b;font-style:normal;font-size:calc(19px * var(--text-scale, 1));box-shadow:0 2px 6px #18233744;transition:transform .3s cubic-bezier(.2,.8,.2,1),color .2s}
.timer-toggle-track i:before{content:'◷'}
.timer-toolbar-toggle.active .timer-toggle-track{background:#35ad70;border-color:transparent}
.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(24px);color:#27955e;background:linear-gradient(145deg,#fff,#eaf6ef)}
body[data-theme="dark"] .theme-toggle,body[data-theme="dark"] .theme-toggle.is-dark{background:#f1f3f6}
body[data-theme="dark"] .timer-toggle-track{background:#e14f5f}
body[data-theme="dark"] .timer-toolbar-toggle.active .timer-toggle-track{background:#35ad70}
@media(max-width:600px){.theme-toggle,.theme-toggle.is-dark{width:64px;height:40px;min-width:64px}.theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{left:2px;top:2px;width:36px;height:36px}.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(24px)}.timer-toolbar-toggle{width:64px;height:40px;min-width:64px}.timer-toggle-track{width:64px;height:40px}.timer-toggle-track i{left:2px;top:2px;width:36px;height:36px}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(24px)}}
.theme-toggle,.theme-toggle.is-dark{width:72px;height:34px;min-width:72px;padding:0;border-radius:20px}
.theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{left:2px;top:2px;width:30px;height:30px}
.theme-toggle.is-dark .theme-toggle-knob{transform:translateX(38px)}
.timer-toolbar-toggle{width:72px;height:36px;min-width:72px;padding:0;flex:none}
.timer-toggle-track{width:72px;height:34px}
.timer-toggle-track i{left:2px;top:2px;width:30px;height:30px;font-size:calc(17px * var(--text-scale, 1))}
.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(38px)}
@media(max-width:600px){
  .topbar{gap:5px;padding-left:8px;padding-right:8px}
  .topbar-right{display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}
  .appearance-controls{display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}
  .global-size-controls{display:flex;flex:none;gap:1px}
  .global-size-button,.topbar .global-size-button{width:28px;min-width:28px;height:32px;padding:0;font-size:calc(10px * var(--text-scale, 1))}
  .theme-toggle,.theme-toggle.is-dark{width:72px;height:34px;min-width:72px;padding:0}
  .theme-toggle-knob,.theme-toggle.is-dark .theme-toggle-knob{left:2px;top:2px;width:30px;height:30px}
  .theme-toggle.is-dark .theme-toggle-knob{transform:translateX(38px)}
  .timer-toolbar-toggle{width:72px;height:36px;min-width:72px;padding:0}
  .timer-toggle-track{width:72px;height:34px}
  .timer-toggle-track i{left:2px;top:2px;width:30px;height:30px}
  .timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(38px)}
  body.quiz-page .quiz-menu-toggle{width:34px;height:34px;min-width:34px;margin-right:0}
}
/* Keep the timer switch recognizable as a sliding control on narrow screens. */
.timer-toolbar-toggle{width:72px!important;height:36px!important;min-width:72px!important;padding:0!important;overflow:visible!important}
.timer-toggle-track{position:relative!important;display:block!important;width:72px!important;height:34px!important;border:0!important;border-radius:18px!important;background:#d94c5a!important;box-shadow:inset 0 2px 5px #631b2538,0 1px 3px #16233726!important;overflow:hidden!important}
.timer-toggle-track i{position:absolute!important;left:2px!important;top:2px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff!important;color:#c63748!important;font-size:calc(17px * var(--text-scale, 1))!important;font-style:normal!important;box-shadow:0 2px 6px #17233755!important;transform:translateX(0)!important;transition:transform .28s cubic-bezier(.2,.8,.2,1),color .2s!important}
.timer-toggle-track i:before{content:""!important;display:none!important}
.timer-toolbar-toggle:before{content:none!important;display:none!important}
.theme-toggle:not(.is-dark){background:#e9edf1!important;box-shadow:inset 0 2px 5px #26334a24,0 1px 3px #1b2b3b12!important}
.theme-toggle:not(.is-dark) .theme-toggle-knob{background:linear-gradient(145deg,#fff,#f7f8fa)!important}
.theme-toggle:not(.is-dark) .theme-toggle-knob b:before{content:'☼'!important;color:#f2bf36!important}
.theme-toggle.is-dark .theme-toggle-knob b:before{content:'☾'!important;color:#fff!important}
.timer-toggle-track i:before{content:'⏱'!important;display:block!important;color:inherit!important;font-family:'Segoe UI Emoji',sans-serif!important;font-size:calc(15px * var(--text-scale, 1))!important;line-height:1}
.timer-toolbar-toggle.active .timer-toggle-track{background:#32a96a!important}
.timer-toolbar-toggle.active .timer-toggle-track i{background:#fff!important;color:#228b54!important;transform:translateX(38px)!important}
body[data-theme="dark"] .timer-toggle-track{background:#d94c5a!important}
body[data-theme="dark"] .timer-toolbar-toggle.active .timer-toggle-track{background:#32a96a!important}
@media(max-width:600px){.timer-toolbar-toggle{width:72px!important;height:36px!important;min-width:72px!important}.timer-toggle-track{width:72px!important;height:34px!important}.timer-toggle-track i{left:2px!important;top:2px!important;width:30px!important;height:30px!important}.timer-toolbar-toggle.active .timer-toggle-track i{transform:translateX(38px)!important}}

/* Frosted glass study workspace and daily activity chart. */
:root{--line:rgba(255,255,255,.72);--paper:rgba(255,255,255,.64);--canvas:#eaf0f6;--shadow:0 16px 44px rgba(49,72,104,.10)}
body{background:radial-gradient(ellipse at 12% 8%,#d6e9f8 0,transparent 34%),radial-gradient(ellipse at 92% 17%,#e7def7 0,transparent 32%),linear-gradient(145deg,#edf3f8,#e9edf4 55%,#f3f1f8)!important;background-attachment:fixed!important}
.sidebar,.topbar,.card,.metric-card,.test-item,.bank-card,.topic-card,.question-card,.level-summary,.history-table,.answer-panel,.choice-dialog{background:rgba(255,255,255,.58)!important;border-color:rgba(255,255,255,.78)!important;backdrop-filter:blur(22px) saturate(155%);-webkit-backdrop-filter:blur(22px) saturate(155%);box-shadow:0 14px 36px rgba(42,63,91,.09),inset 0 1px 0 rgba(255,255,255,.74)}
.topbar{background:rgba(255,255,255,.52)!important}
.metric-card,.card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.metric-card:hover,.card:hover{box-shadow:0 18px 45px rgba(42,63,91,.13),inset 0 1px 0 rgba(255,255,255,.8)}
body[data-theme="dark"]{--ink:#edf3fa;--muted:#aab8ca;--line:rgba(205,220,241,.14);--paper:rgba(29,38,54,.70);--canvas:#131923;--shadow:0 18px 48px rgba(0,0,0,.25);background:radial-gradient(ellipse at 15% 4%,#293a56 0,transparent 38%),radial-gradient(ellipse at 90% 15%,#382c4c 0,transparent 34%),linear-gradient(145deg,#151c28,#171b26 58%,#211d2a)!important;background-attachment:fixed!important}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .test-item,body[data-theme="dark"] .bank-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .level-summary,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog{background:rgba(27,37,53,.68)!important;border-color:rgba(210,224,245,.14)!important;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);box-shadow:0 18px 46px rgba(0,0,0,.22),inset 0 1px 0 rgba(234,242,255,.07)}
.daily-progress-card{margin:0 0 18px;padding:22px 24px 15px;overflow:hidden}
.daily-progress-card .card-head{align-items:flex-start;margin-bottom:3px}
.daily-subtitle{margin-top:5px;color:var(--muted);font-size:calc(11px * var(--text-scale,1))}
.daily-period{padding:6px 9px;border:1px solid rgba(97,137,183,.18);border-radius:20px;background:rgba(119,170,224,.10);color:#6181a0;font-size:calc(8px * var(--text-scale,1));font-weight:800;letter-spacing:.8px;white-space:nowrap}
.daily-chart-summary{display:flex;align-items:baseline;gap:8px;margin:14px 0 0}
.daily-chart-summary strong{font:700 calc(23px * var(--text-scale,1)) Manrope,sans-serif;color:var(--ink)}
.daily-chart-summary span{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}
.daily-chart-scroll{width:100%;overflow:hidden}
.daily-chart-svg{display:block;width:100%;height:210px;overflow:visible}
.daily-grid line{stroke:rgba(120,145,171,.17);stroke-width:1;stroke-dasharray:3 5}
.daily-grid text,.daily-day-label{fill:#91a0af;font:500 10px 'DM Sans',sans-serif}
.daily-area{fill:url(#dailyArea)}
.daily-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}
.answered-line{stroke:#6ca5dc}
.correct-line{stroke:#51b89a;stroke-width:2.5}
.daily-point{stroke:var(--paper);stroke-width:2}
.answered-point{fill:#6ca5dc}
.correct-point{fill:#51b89a}
.daily-legend{display:flex;justify-content:flex-end;gap:17px;margin-top:-7px;color:var(--muted);font-size:calc(9px * var(--text-scale,1))}
.daily-legend span{display:flex;align-items:center;gap:6px}
.daily-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.legend-answered{background:#6ca5dc}.legend-correct{background:#51b89a}
.daily-empty{margin:0 0 12px;color:var(--muted);font-size:calc(10px * var(--text-scale,1));text-align:center}
body[data-theme="dark"] .daily-period{background:rgba(127,170,224,.12);border-color:rgba(155,189,230,.16);color:#b5c9e2}
body[data-theme="dark"] .daily-grid line{stroke:rgba(197,215,239,.13)}
body[data-theme="dark"] .daily-grid text,body[data-theme="dark"] .daily-day-label{fill:#a5b3c5}
@media(max-width:600px){.daily-progress-card{padding:17px 14px 13px;margin-bottom:14px}.daily-chart-svg{height:185px}.daily-chart-summary{margin-top:12px}.content-grid{gap:13px}}
.timer-toggle-track i:before{content:'\23F3'!important;display:block!important;color:inherit!important;font-family:'Segoe UI Emoji',sans-serif!important;font-size:18px!important;line-height:1}
.searchbox input,.select,input:not([type="range"]){background:rgba(255,255,255,.54)!important;border-color:rgba(255,255,255,.86)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 6px 18px rgba(45,68,98,.04)}
.bank-strip{background:linear-gradient(120deg,rgba(76,148,205,.34),rgba(135,188,224,.24))!important;border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);color:var(--ink)!important;box-shadow:0 14px 36px rgba(42,63,91,.08),inset 0 1px 0 rgba(255,255,255,.75)}
.bank-strip p{color:var(--muted)!important}
.bank-strip .button{background:rgba(255,255,255,.64)!important;color:#386b94!important;border:1px solid rgba(255,255,255,.75)}
.bank-card,.topic-card,.test-item{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.bank-card:hover,.topic-card:hover,.test-item:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(42,63,91,.14),inset 0 1px 0 rgba(255,255,255,.78)}
body[data-theme="dark"] .searchbox input,body[data-theme="dark"] .select,body[data-theme="dark"] input:not([type="range"]){background:rgba(22,31,46,.62)!important;border-color:rgba(199,215,240,.18)!important;box-shadow:inset 0 1px 0 rgba(235,242,255,.05),0 8px 20px rgba(0,0,0,.10)}
body[data-theme="dark"] .bank-strip{background:linear-gradient(120deg,rgba(47,112,154,.45),rgba(56,78,117,.38))!important;border-color:rgba(203,221,244,.16);color:var(--ink)!important}
body[data-theme="dark"] .bank-strip p{color:var(--muted)!important}
body[data-theme="dark"] .bank-strip .button{background:rgba(221,235,251,.12)!important;color:#c5e3fb!important;border-color:rgba(203,221,244,.16)}
/* Stronger frosted surfaces: readable panels with the ambient color still visible. */
.sidebar,.topbar,.card,.metric-card,.test-item,.bank-card,.topic-card,.question-card,.level-summary,.history-table,.answer-panel,.choice-dialog,.option,.review-option,.settings-card,.settings-block{background:rgba(247,250,255,.78)!important;border-color:rgba(255,255,255,.88)!important;backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%);box-shadow:0 16px 38px rgba(37,58,87,.10),inset 0 1px 0 rgba(255,255,255,.82)}
.topbar{background:rgba(247,250,255,.70)!important}
.searchbox input,.select,input:not([type="range"]){background:rgba(247,250,255,.76)!important}
.bank-strip{background:linear-gradient(120deg,rgba(76,148,205,.55),rgba(135,188,224,.43))!important}
body[data-theme="dark"]{background:radial-gradient(ellipse at 52% 12%,rgba(0,181,196,.22),transparent 35%),radial-gradient(ellipse at 12% 70%,rgba(40,102,153,.28),transparent 35%),radial-gradient(ellipse at 92% 18%,rgba(103,61,139,.25),transparent 34%),linear-gradient(145deg,#101923,#17202c 58%,#1b1b29)!important;background-attachment:fixed!important}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .test-item,body[data-theme="dark"] .bank-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .level-summary,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog,body[data-theme="dark"] .option,body[data-theme="dark"] .review-option,body[data-theme="dark"] .settings-card,body[data-theme="dark"] .settings-block{background:rgba(31,42,59,.80)!important;border-color:rgba(211,229,250,.20)!important;backdrop-filter:blur(30px) saturate(165%);-webkit-backdrop-filter:blur(30px) saturate(165%);box-shadow:0 18px 46px rgba(0,0,0,.24),inset 0 1px 0 rgba(237,245,255,.10)}
body[data-theme="dark"] .topbar{background:rgba(24,34,50,.78)!important}
body[data-theme="dark"] .searchbox input,body[data-theme="dark"] .select,body[data-theme="dark"] input:not([type="range"]){background:rgba(25,37,54,.82)!important}
body[data-theme="dark"] .bank-strip{background:linear-gradient(120deg,rgba(47,112,154,.62),rgba(56,78,117,.54))!important}
.question-id-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:11px;border-top:1px solid rgba(128,151,177,.22);color:var(--muted);font-size:calc(9px * var(--text-scale,1))}
.question-id-footer b{margin-left:5px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:calc(9px * var(--text-scale,1));font-weight:600;overflow-wrap:anywhere}
.copy-question-id{flex:none;border:1px solid rgba(104,145,187,.24);border-radius:8px;padding:6px 10px;background:rgba(119,170,224,.13);color:#477ea9;font-size:calc(9px * var(--text-scale,1));font-weight:700}
.copy-question-id:hover{background:rgba(119,170,224,.24)}
body[data-theme="dark"] .question-id-footer{border-color:rgba(197,215,239,.18)}
body[data-theme="dark"] .copy-question-id{background:rgba(108,163,211,.17);border-color:rgba(155,189,230,.24);color:#c1def8}
@media(max-width:500px){.question-id-footer{align-items:flex-start}.question-id-footer>span{min-width:0;overflow-wrap:anywhere}.copy-question-id{padding:7px 9px}}
.quiz-tool-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-7px 0 13px}
.quiz-question-id{min-width:82px;flex:1;color:var(--muted);font-size:calc(10px * var(--text-scale,1));font-weight:600}
.quiz-question-id b{margin-left:4px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:calc(11px * var(--text-scale,1))}
.question-size-controls{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(159,184,209,.25);border-radius:10px;background:rgba(255,255,255,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.question-size-controls button{min-width:34px;height:30px;padding:0 5px;border:0;border-radius:7px;background:rgba(131,174,215,.16);color:var(--ink);font-size:calc(11px * var(--text-scale,1));font-weight:750}
.question-size-controls button:hover{background:rgba(131,174,215,.3)}
.quiz-fullscreen-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 11px;border:1px solid rgba(131,174,215,.28);border-radius:10px;background:rgba(131,174,215,.16);color:var(--ink);font-size:calc(10px * var(--text-scale,1));font-weight:700;white-space:nowrap}
.quiz-fullscreen-button:hover{background:rgba(131,174,215,.29)}
.quiz-focus-timer{position:fixed;inset:0 0 auto;height:5px;z-index:150;pointer-events:none}
.quiz-focus-timer-track{display:block;width:100%;height:5px;background:rgba(129,153,179,.25);overflow:hidden}
.quiz-focus-timer-track i{display:block;width:100%;height:100%;background:#55b878;transition:width .1s linear,background-color .25s ease}
.quiz-focus-timer-track i.timer-yellow{background:#edc44c}.quiz-focus-timer-track i.timer-red{background:#e85d59;animation:timer-pulse .9s ease-in-out infinite alternate}
.quiz-shell .question-text{font-size:calc(16px * var(--text-scale,1) * var(--question-scale,1))}
.quiz-shell .option{font-size:calc(11px * var(--text-scale,1) * var(--question-scale,1))}
.quiz-shell .answer-panel .explanation,.quiz-shell .answer-panel>p{font-size:calc(11px * var(--text-scale,1) * var(--question-scale,1))}
.quiz-shell .explanation table{font-size:calc(10px * var(--text-scale,1) * var(--question-scale,1))}
body.quiz-focus-mode #appView{position:fixed;inset:0;z-index:120;min-height:100dvh;overflow:auto;background:var(--canvas)}
body.quiz-focus-mode .sidebar,body.quiz-focus-mode .topbar,body.quiz-focus-mode .quiz-sidebar-overlay{display:none!important}
body.quiz-focus-mode .main-column{width:100%;height:100dvh;margin:0;padding:0}
body.quiz-focus-mode .page-content{width:100%;max-width:none;min-height:100dvh;margin:0;padding:20px clamp(16px,4vw,64px) 32px}
body.quiz-focus-mode .quiz-shell{width:min(1120px,100%);max-width:none;margin:0 auto}
body.quiz-focus-mode .quiz-top{display:none}
body.quiz-focus-mode .quiz-tool-row{position:sticky;top:0;z-index:130;margin:0 0 15px;padding:8px 0;background:var(--canvas);background:color-mix(in srgb,var(--canvas) 76%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.quiz-focus-mode .question-card{min-height:calc(100dvh - 135px);padding:clamp(24px,4vw,48px)}
body.quiz-focus-mode .quiz-meta{font-size:calc(12px * var(--text-scale,1))}
body[data-theme="dark"] .question-size-controls{background:rgba(18,28,43,.62);border-color:rgba(201,220,244,.18)}
body[data-theme="dark"] .question-size-controls button,body[data-theme="dark"] .quiz-fullscreen-button{background:rgba(121,170,219,.17);border-color:rgba(191,215,243,.18);color:var(--ink)}
body[data-theme="dark"] .quiz-fullscreen-button:hover,body[data-theme="dark"] .question-size-controls button:hover{background:rgba(121,170,219,.29)}
body[data-theme="dark"].quiz-focus-mode #appView{background:linear-gradient(145deg,#101923,#17202c 58%,#1b1b29)}
@media(max-width:600px){.quiz-tool-row{gap:6px;margin:0 0 10px}.quiz-question-id{min-width:60px}.question-size-controls button{min-width:31px;height:30px}.quiz-fullscreen-button{min-height:34px;padding:0 8px}.quiz-fullscreen-button span{font-size:calc(9px * var(--text-scale,1))}body.quiz-focus-mode .page-content{padding:calc(14px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom))}body.quiz-focus-mode .quiz-tool-row{top:0}body.quiz-focus-mode .question-card{min-height:calc(100dvh - 112px);padding:18px 14px}}

/* Quiz readability and compact question controls */
.quiz-page .topbar-right>.timer-toolbar-toggle,.quiz-page .topbar-right .global-size-controls{display:none!important}
.quiz-question-id{display:flex;align-items:center;gap:5px}
.quiz-question-id b{margin-left:0!important}
.quiz-copy-id{display:inline-grid;place-items:center;width:27px;height:27px;margin-left:3px;border:1px solid rgba(104,145,187,.24);border-radius:8px;background:rgba(119,170,224,.13);color:var(--ink);font-size:15px;cursor:pointer}
.quiz-copy-id:hover{background:rgba(119,170,224,.26)}
.copy-question-id{min-width:32px;min-height:30px;padding:4px 8px;font-size:15px;line-height:1}
.quiz-shell .option{font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1))}
.quiz-shell .option.correct{font-weight:750}
.quiz-shell .option.correct>span:not(.option-label):not(.option-percent){font-weight:750}
.correct-answer-text{font-weight:850}

@media(max-width:600px){.quiz-question-id{flex:0 0 100%;min-width:0;white-space:nowrap}}

/* MCQ ID lookup and answer feedback */
.quiz-shell .answer-panel .explanation,.quiz-shell .answer-panel>p{font-size:calc(11.88px * var(--text-scale,1) * var(--question-scale,1))}
.quiz-shell .option.correct,.quiz-shell .option.selected.correct{background:#dff3e5!important;border-color:#4d9b69!important;color:#205b35!important}
.quiz-shell .option.incorrect,.quiz-shell .option.selected.incorrect{background:#ffe4e1!important;border-color:#d46660!important;color:#87352f!important}
body[data-theme="dark"] .quiz-shell .option.correct,body[data-theme="dark"] .quiz-shell .option.selected.correct{background:#214b35!important;border-color:#5db77a!important;color:#daf6e2!important}
body[data-theme="dark"] .quiz-shell .option.incorrect,body[data-theme="dark"] .quiz-shell .option.selected.incorrect{background:#552d32!important;border-color:#e17a78!important;color:#ffe2df!important}
.question-id-footer{font-size:calc(10px * var(--text-scale,1));color:var(--muted)}
.question-id-footer b{margin-left:3px}
.mcq-id-search{margin:0 0 14px}
.mcq-search-list{display:grid;gap:12px;margin:0 0 18px}
.mcq-search-result{padding:17px;border:1px solid rgba(120,150,185,.22);border-radius:14px;background:rgba(238,246,255,.65);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mcq-search-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;color:var(--muted);font-size:calc(10px * var(--text-scale,1))}
.mcq-search-meta>span{display:flex;align-items:center;gap:5px}.mcq-search-meta small{font-size:calc(9px * var(--text-scale,1));color:var(--muted)}
.mcq-search-question{font-size:calc(16px * var(--text-scale,1));line-height:1.65;font-weight:650;margin-bottom:13px}.mcq-search-image{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:10px auto}
.mcq-search-options{display:grid;gap:7px}.mcq-search-option{display:flex;gap:10px;width:100%;padding:9px 11px;border:1px solid rgba(120,150,185,.17);border-radius:10px;background:rgba(255,255,255,.46);color:var(--ink);text-align:left;font:inherit;font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1));line-height:1.55;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.mcq-search-option:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px)}.mcq-search-option>b{flex:none}.mcq-search-option:disabled{cursor:default}.mcq-search-option.correct{background:rgba(49,157,95,.15);border-color:#319d5f;color:var(--ink)}.mcq-search-option.incorrect{background:rgba(210,74,74,.14);border-color:#d24a4a;color:var(--ink)}.mcq-search-answer{margin-top:14px}.mcq-search-answer .explanation{font-size:calc(90% * var(--question-scale,1))}
body[data-theme="dark"] .mcq-search-result{background:rgba(31,42,59,.78);border-color:rgba(211,229,250,.2)}
body[data-theme="dark"] .mcq-search-option{background:rgba(20,31,46,.54);border-color:rgba(211,229,250,.16)}
body[data-theme="dark"] .mcq-search-option.correct{background:rgba(49,157,95,.2);border-color:#55c982}body[data-theme="dark"] .mcq-search-option.incorrect{background:rgba(210,74,74,.2);border-color:#f27676}
@media(max-width:600px){
  #pageContent,.mcq-search-list,.mcq-search-result,.mcq-search-question,.mcq-search-options,.mcq-search-option,.mcq-search-answer,.mcq-search-answer .answer-panel,.mcq-search-answer .explanation{min-width:0;max-width:100%}
  .mcq-search-result{padding:12px;overflow:hidden}
  .mcq-search-question,.mcq-search-option,.mcq-search-option span,.mcq-search-answer{overflow-wrap:anywhere;word-break:normal}
  .mcq-search-option{align-items:flex-start;gap:8px;padding:10px;font-size:calc(12px * var(--text-scale,1) * var(--question-scale,1))}
  .mcq-search-option span{flex:1}
  .mcq-search-answer .explanation{overflow-wrap:anywhere}
  .mcq-search-answer .explanation table,.mcq-search-answer .answer-panel table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .mcq-search-image,.mcq-search-answer img{max-width:100%;height:auto}
}
.quiz-shell .answer-panel .explanation table{font-size:calc(11.88px * var(--text-scale,1) * var(--question-scale,1))!important}

.question-filter-panel{display:grid;gap:14px;padding:18px;margin:0 0 18px}.question-filter-panel h3{margin:0 0 5px;font:700 calc(15px * var(--text-scale,1)) Manrope,sans-serif}.question-filter-panel p{margin:0;color:var(--muted);font-size:calc(11px * var(--text-scale,1))}.question-filter-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.question-filter-controls .select{min-width:170px;flex:1}.filtered-question-results{min-width:0;max-width:100%}.filter-load-more{width:100%;min-height:42px}.question-personal{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:12px 0;padding-top:12px;border-top:1px solid var(--line)}.bookmark-toggle{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);font-weight:700}.bookmark-toggle.active{color:#946d10;background:#fff8db;border-color:#e5ca6b}.question-note{flex:1 1 210px;min-width:0;color:var(--muted);font-size:calc(11px * var(--text-scale,1))}.question-note summary{cursor:pointer;font-weight:700;padding:10px 0}.question-note textarea{display:block;width:100%;min-height:78px;margin:6px 0 8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);resize:vertical}.personal-save-status{margin-left:8px;font-size:calc(10px * var(--text-scale,1))}.daily-goal-summary{margin:0 0 8px;padding:10px 12px;border-radius:10px;background:rgba(115,173,221,.10)}.daily-goal-copy{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:calc(11px * var(--text-scale,1))}.daily-goal-copy b{color:var(--ink)}.study-streak{font-weight:700;color:#b76a34;white-space:nowrap}.daily-goal-track,.topic-performance-track{height:7px;margin-top:9px;border-radius:8px;background:rgba(120,150,185,.18);overflow:hidden}.daily-goal-track i,.topic-performance-track i{display:block;height:100%;border-radius:inherit;background:#70aee7}.topic-performance-card{margin:0 0 18px;padding:20px 22px}.topic-performance-list{display:grid;gap:13px}.topic-performance-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(80px,1fr) 42px;gap:13px;align-items:center}.topic-performance-name{min-width:0;display:grid;gap:3px}.topic-performance-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(11px * var(--text-scale,1))}.topic-performance-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:calc(9px * var(--text-scale,1))}.topic-performance-track{margin:0;height:6px}.topic-performance-track i{background:#78acd9}.topic-performance-track i.needs-work{background:#e3a763}.topic-performance-row>strong{text-align:right;font-size:calc(10px * var(--text-scale,1))}
body[data-theme="dark"] .question-filter-panel,body[data-theme="dark"] .topic-performance-card{background:rgba(31,42,59,.80);border-color:rgba(211,229,250,.20)}body[data-theme="dark"] .question-note textarea,body[data-theme="dark"] .bookmark-toggle{background:rgba(20,31,46,.8);color:var(--ink);border-color:rgba(211,229,250,.2)}body[data-theme="dark"] .bookmark-toggle.active{background:#4b4126;color:#f4d46b}
@media(max-width:600px){.question-filter-controls{display:grid;grid-template-columns:1fr;width:100%}.question-filter-controls .select,.question-filter-controls .button{width:100%;min-width:0}.question-personal{gap:7px}.question-note{flex-basis:100%}.daily-goal-copy{align-items:flex-start}.topic-performance-card{padding:15px}.topic-performance-row{grid-template-columns:minmax(0,1.3fr) minmax(45px,.7fr) 36px;gap:8px}.topic-performance-name b{white-space:normal;overflow-wrap:anywhere}}

.review-option.correct{font-weight:750;background:#dff3e5!important;border-color:#4d9b69!important;color:#205b35!important}
.review-option.incorrect{font-weight:750;background:#ffe4e1!important;border-color:#d46660!important;color:#87352f!important}
body[data-theme="dark"] .review-option.correct{background:#214b35!important;border-color:#5db77a!important;color:#daf6e2!important}
body[data-theme="dark"] .review-option.incorrect{background:#552d32!important;border-color:#e17a78!important;color:#ffe2df!important}

.mcq-solve-button{margin-top:14px;min-height:40px}

.hierarchy-tests-section{margin:20px 0 26px}.hierarchy-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 12px}.hierarchy-section-heading h2{margin:0;color:var(--ink);font:700 calc(15px * var(--text-scale,1)) Manrope,sans-serif;letter-spacing:-.2px}.hierarchy-section-heading span{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.hierarchy-test-list{display:grid;gap:10px}

/* Larger, numbered test rows in the topic hierarchy. */
.hierarchy-test-list .test-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:16px;align-items:center;min-height:104px;padding:20px 22px;border-radius:15px}.test-serial{width:36px;height:36px;display:grid;place-items:center;border:2px solid rgba(86,151,191,.35);border-radius:50%;background:rgba(255,255,255,.64);color:#456274;font-size:calc(14px * var(--text-scale,1));font-weight:700}.test-info h4{font-size:calc(15px * var(--text-scale,1));margin-bottom:7px}.test-info p{font-size:calc(11px * var(--text-scale,1))}.test-count{font-size:calc(12px * var(--text-scale,1))}.hierarchy-test-list .test-item-actions{grid-column:4;grid-row:1/3}.hierarchy-test-list .test-item-actions .button{min-height:42px;font-size:calc(11px * var(--text-scale,1))}
body[data-theme="dark"] .test-serial{background:rgba(40,61,78,.82);border-color:rgba(142,190,220,.36);color:#c6e3f4}
@media(max-width:820px){.hierarchy-test-list .test-item{grid-template-columns:38px minmax(0,1fr);min-height:110px;padding:17px;gap:10px 13px}.hierarchy-test-list .test-serial{grid-column:1;grid-row:1/3}.hierarchy-test-list .test-info{grid-column:2;grid-row:1}.hierarchy-test-list .test-count{grid-column:2;grid-row:2;text-align:left}.hierarchy-test-list .test-item-actions{grid-column:1/-1;grid-row:3;display:flex;flex-direction:row;justify-content:flex-end}.hierarchy-test-list .test-item-actions .button{width:auto;min-width:120px}}
@media(max-width:560px){.hierarchy-test-list .test-item{grid-template-columns:34px minmax(0,1fr);padding:15px}.hierarchy-test-list .test-item-actions{display:grid;grid-template-columns:1fr 1fr}.hierarchy-test-list .test-item-actions .button{min-width:0;width:100%}}

.hierarchy-topic-section{margin:20px 0 26px;padding:0 0 8px}.hierarchy-topic-section>h2{margin:0 0 13px;padding:0 2px 11px;border-bottom:1px solid rgba(119,145,164,.20);color:var(--ink);font:750 calc(17px * var(--text-scale,1)) Manrope,sans-serif;letter-spacing:-.25px}.hierarchy-topic-section.depth-1{margin-left:17px}.hierarchy-topic-section.depth-2,.hierarchy-topic-section.depth-3,.hierarchy-topic-section.depth-4{margin-left:22px}.hierarchy-topic-section .hierarchy-topic-section>h2{font-size:calc(15px * var(--text-scale,1))}.hierarchy-topic-section .hierarchy-test-list{margin-top:10px}

/* Yourwish Bank identity and compact, naturally scrolling test rows. */
.brand{gap:10px;align-items:center}.brand-logo{display:block;width:38px;height:34px;object-fit:contain;flex:none}.brand-name{display:flex;flex-direction:column;color:var(--ink);font:800 15px/1.1 Manrope,sans-serif;white-space:nowrap}.brand-name small,.auth-wordmark small,.auth-mobile-mark small{display:block;margin-top:4px;color:var(--muted);font:700 9px/1.1 'DM Sans',sans-serif;letter-spacing:1.3px;text-transform:uppercase}.auth-wordmark{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-bottom:40px;color:#f8fffa;font:800 21px/1.15 Manrope,sans-serif}.auth-wordmark small{color:#b5d4c7}.auth-brand-logo{width:112px;height:68px}.auth-brand .eyebrow{position:relative;z-index:1}.auth-mobile-mark{align-items:center;gap:10px;font-size:15px;font-weight:800}.auth-mobile-mark img{width:50px;height:36px;object-fit:contain}.auth-mobile-mark small{color:var(--muted)}
.auth-brand .brand-mark{display:none}
.hierarchy-test-list .test-item{grid-template-columns:36px minmax(0,1fr) auto auto;gap:12px;min-height:78px;padding:13px 17px;border-radius:13px}
.hierarchy-test-list .test-serial{width:31px;height:31px;font-size:calc(12px * var(--text-scale,1))}
.hierarchy-test-list .test-info h4{margin:0;font-size:calc(14px * var(--text-scale,1));line-height:1.3}
.hierarchy-test-list .test-count{font-size:calc(11px * var(--text-scale,1));white-space:nowrap}
.hierarchy-test-list .test-item-actions{grid-column:4;grid-row:1;display:flex;gap:8px}
.hierarchy-test-list .test-item-actions .button{min-height:36px;padding:0 12px;font-size:calc(10px * var(--text-scale,1));white-space:nowrap}
#pageContent{min-height:calc(100vh - 64px);overflow:visible}.main-column{min-height:100vh;overflow:visible}.app-shell{min-height:100vh;overflow:visible}body{min-height:100vh;overflow-y:auto}
@media(max-width:820px){.hierarchy-test-list .test-item{grid-template-columns:32px minmax(0,1fr) auto;min-height:72px;padding:11px 13px;gap:8px 10px}.hierarchy-test-list .test-serial{grid-column:1;grid-row:1/3}.hierarchy-test-list .test-info{grid-column:2;grid-row:1}.hierarchy-test-list .test-count{grid-column:2;grid-row:2}.hierarchy-test-list .test-item-actions{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;gap:5px}.hierarchy-test-list .test-item-actions .button{min-width:0;width:100%;min-height:32px;padding:0 9px}}
@media(max-width:560px){.hierarchy-test-list .test-item{grid-template-columns:28px minmax(0,1fr);padding:10px;gap:6px 9px}.hierarchy-test-list .test-serial{width:27px;height:27px;grid-row:1/3;font-size:calc(11px * var(--text-scale,1))}.hierarchy-test-list .test-info{grid-column:2;grid-row:1}.hierarchy-test-list .test-count{grid-column:2;grid-row:2}.hierarchy-test-list .test-item-actions{grid-column:1/-1;grid-row:3;display:flex;flex-direction:row;justify-content:flex-end}.hierarchy-test-list .test-item-actions .button{width:auto;min-width:0;min-height:34px;padding:0 10px}.brand-name{font-size:13px}}

@media(max-width:820px){.auth-mobile-mark{display:flex}}

/* Larger wing mark and progress review arranged like the question-bank hierarchy. */
.brand-logo{width:60px;height:48px}.brand-name{font-size:18px}.auth-wordmark{gap:20px;font-size:25px}.auth-brand-logo{width:170px;height:110px}.auth-mobile-mark img{width:84px;height:58px}.auth-mobile-mark{font-size:19px}
.progress-hierarchy-card{margin:0 0 20px;padding:20px 22px}.progress-hierarchy{display:grid;gap:10px}.progress-bank,.progress-topic{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.progress-bank>summary,.progress-topic>summary{display:flex;align-items:center;gap:12px;min-height:62px;padding:14px 17px;cursor:pointer;list-style:none}.progress-bank>summary::-webkit-details-marker,.progress-topic>summary::-webkit-details-marker{display:none}.progress-topic-title{min-width:0;flex:1;color:var(--ink);font:750 calc(14px * var(--text-scale,1)) Manrope,sans-serif}.progress-topic-meta{color:var(--muted);font-size:calc(11px * var(--text-scale,1));white-space:nowrap}.progress-chevron{width:9px;height:9px;flex:none;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .18s}.progress-bank[open]>summary .progress-chevron,.progress-topic[open]>summary .progress-chevron{transform:rotate(225deg)}.progress-bank-body,.progress-topic-body{padding:0 17px 16px}.progress-topic{margin-top:9px}.progress-topic>summary{min-height:52px;background:color-mix(in srgb,var(--canvas) 40%,transparent)}.progress-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 8px;color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.progress-status{margin-left:auto;padding:4px 9px;border-radius:999px;font-size:calc(9px * var(--text-scale,1));font-weight:750;white-space:nowrap}.progress-status.focus{background:#fff0e9;color:#a54432}.progress-status.revise{background:#fff6dd;color:#8c6913}.progress-status.good{background:#e8f5ed;color:#2c7546}.progress-status.neutral{background:#edf1f4;color:#637485}.progress-track{height:6px;overflow:hidden;border-radius:999px;background:rgba(120,150,185,.18)}.progress-track i{display:block;height:100%;border-radius:inherit;background:#70aee7}.progress-test-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.progress-test-name{min-width:0;color:var(--ink);font-size:calc(12px * var(--text-scale,1));font-weight:700}.progress-test-row .progress-metrics{grid-column:1/-1;margin:0}.progress-nested-topics{margin-left:15px}.progress-bank-body>.progress-test-row{margin:0 16px}.progress-bank-body>.progress-metrics{padding-top:2px}body[data-theme="dark"] .progress-status.focus{background:#4c302b;color:#ffb5a3}body[data-theme="dark"] .progress-status.revise{background:#4a4027;color:#f3d98a}body[data-theme="dark"] .progress-status.good{background:#294b39;color:#a9e3bc}body[data-theme="dark"] .progress-status.neutral{background:#303944;color:#c2ccda}
@media(max-width:600px){.brand-logo{width:46px;height:38px}.progress-hierarchy-card{padding:14px}.progress-bank>summary,.progress-topic>summary{gap:8px;padding:12px}.progress-topic-title{font-size:calc(12px * var(--text-scale,1))}.progress-topic-meta{font-size:calc(9px * var(--text-scale,1));white-space:normal;text-align:right}.progress-bank-body,.progress-topic-body{padding:0 12px 13px}.progress-nested-topics{margin-left:8px}.progress-metrics{gap:6px 10px}.progress-status{margin-left:0}.progress-test-row .progress-metrics{align-items:flex-start}.auth-brand-logo{width:90px;height:62px}}

/* Keep the timer in the question workspace and size explanations for comfortable reading. */
.quiz-focus-timer{position:relative;inset:auto;width:100%;height:5px;margin:0 auto 12px;z-index:4;pointer-events:none}.quiz-focus-timer-track{height:5px}.quiz-focus-timer-track i{height:100%}body.quiz-focus-mode .quiz-focus-timer{position:fixed;inset:0 0 auto;z-index:150;margin:0}
.quiz-shell .answer-panel .explanation,.quiz-shell .answer-panel .explanation p,.quiz-shell .answer-panel .explanation li,.quiz-shell .answer-panel .explanation td,.quiz-shell .answer-panel .explanation th,.quiz-shell .answer-panel>p{font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1))!important;line-height:1.65}
.mcq-search-answer .explanation{font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1))!important;line-height:1.65}.mcq-search-answer .explanation p,.mcq-search-answer .explanation li,.mcq-search-answer .explanation td,.mcq-search-answer .explanation th,.mcq-search-answer .answer-panel>p{font-size:inherit!important;line-height:inherit}
.quiz-shell .answer-panel .explanation *,.mcq-search-answer .explanation *{font-size:inherit!important;line-height:inherit}
@media(max-width:600px){.quiz-shell .answer-panel .explanation,.quiz-shell .answer-panel .explanation p,.quiz-shell .answer-panel .explanation li,.quiz-shell .answer-panel .explanation td,.quiz-shell .answer-panel .explanation th,.quiz-shell .answer-panel>p,.mcq-search-answer .explanation,.mcq-search-answer .explanation p,.mcq-search-answer .explanation li,.mcq-search-answer .explanation td,.mcq-search-answer .explanation th,.mcq-search-answer .answer-panel>p{font-size:calc(12px * var(--text-scale,1) * var(--question-scale,1))!important}}
@media(max-width:600px){.quiz-shell .answer-panel .explanation *,.mcq-search-answer .explanation *{font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1))!important;line-height:1.65}}
/* Keep the Yourwish mark softly visible behind the app content. */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:url('/yourwish-q-logo.png') center 12% / min(70vw,460px) auto no-repeat;filter:blur(2px);opacity:.32;mix-blend-mode:screen}
.app-shell{position:relative;z-index:1}
/* Pin the question timer below the regular app header; focus mode keeps it at the screen edge. */
.quiz-focus-timer{position:sticky;top:70px;inset:auto;width:100%;height:5px;margin:0 auto 12px;z-index:5;pointer-events:none}
body.quiz-focus-mode .quiz-focus-timer{position:fixed;inset:0 0 auto;width:100%;z-index:150;margin:0}

/* Keep every part of an answer explanation as readable as the correct-answer text. */
.answer-panel .explanation,
.answer-panel .explanation p,
.answer-panel .explanation li,
.answer-panel .explanation td,
.answer-panel .explanation th,
.answer-panel .explanation h1,
.answer-panel .explanation h2,
.answer-panel .explanation h3,
.answer-panel .explanation h4,
.answer-panel .explanation h5,
.answer-panel .explanation h6,
.answer-panel .explanation *{
  font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1)) !important;
  line-height:1.65 !important;
}
.review-shell .question-text{font-size:calc(16px * var(--text-scale,1) * var(--question-scale,1))!important}
.review-shell .review-option{font-size:calc(13.2px * var(--text-scale,1) * var(--question-scale,1))!important;line-height:1.6}
.review-shell .review-option>span:not(.option-label){font-size:inherit!important;line-height:inherit}
/* The sign-in screen uses the default dark appearance without appearance controls. */
body[data-theme="dark"] .auth-shell{background:#080b0f!important}
body[data-theme="dark"] .auth-brand{background:#111923!important}
body[data-theme="dark"] #authForm label{color:#c5d0dc}
/* Make the sign-in form and all four navigation items dependable touch targets. */
#authView{position:relative;z-index:1}
#authForm input{min-height:50px;font-size:16px;touch-action:manipulation}
#authSubmit,#authSwitch{min-height:48px;touch-action:manipulation}
#authError:empty{display:none}
@media(max-width:820px){.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
.auth-switch{flex-direction:column;align-items:center;gap:2px}
/* The running timer bar is anchored to the global header outside focus mode. */
.topbar .quiz-focus-timer{position:absolute;left:0;right:0;top:auto;bottom:-5px;width:auto;height:5px;margin:0;z-index:8}
.topbar .quiz-focus-timer-track,.topbar .quiz-focus-timer-track i{height:5px}
body.quiz-focus-mode .quiz-focus-timer{position:fixed;inset:0 0 auto;width:100%;z-index:150;margin:0}
/* Keep the workspace watermark out of authentication, and replace the corner rings with one wing. */
body::before{content:none}
#appView::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:url('/yourwish-q-logo.png') center 12% / min(70vw,460px) auto no-repeat;filter:blur(2px);opacity:.32;mix-blend-mode:screen}
.auth-brand::after{width:180px;height:140px;right:-18px;bottom:-12px;border:0;border-radius:0;box-shadow:none;background:url('/yourwish-q-logo.png') right center / auto 132px no-repeat;opacity:.38;filter:blur(1px);pointer-events:none}
#authSubmit.button.primary{background:transparent!important;border:1px solid #65a8ca;color:#176782;box-shadow:none}
body[data-theme="dark"] #authSubmit.button.primary{border-color:rgba(157,205,234,.78);color:#e7f4fc}
#authSubmit.button.primary:hover{background:rgba(101,168,202,.12)!important}
button,a,input{touch-action:manipulation}

/* Keep long question references inside their cards and let wide tables scroll horizontally. */
.question-card,.question-text,.option,.answer-panel,.answer-panel .explanation,.review-shell,.mcq-search-result,.mcq-search-question,.mcq-search-answer{min-width:0;max-width:100%}
.question-text,.option>span,.answer-panel,.answer-panel .explanation,.mcq-search-question,.mcq-search-answer{overflow-wrap:anywhere;word-break:normal}
.answer-panel .explanation table,.mcq-search-answer table{display:block;width:max-content;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.loading-state{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;color:var(--muted);font-size:calc(11px * var(--text-scale,1));text-align:center}
.loading-spinner{width:13px;height:13px;border:2px solid rgba(120,150,185,.28);border-top-color:var(--green);border-radius:50%;animation:qbank-loading-spin .8s linear infinite;flex:none}
.qbank-loading{max-width:850px;margin:10px auto;padding:10px}
@keyframes qbank-loading-spin{to{transform:rotate(360deg)}}

/* Keep the Yourwish name and mark in the app header. */
.topbar-brand{display:flex;align-items:center;gap:9px;min-width:0;color:var(--ink);text-decoration:none;font:800 calc(16px * var(--text-scale,1)) Manrope,sans-serif;letter-spacing:-.5px;white-space:nowrap}
.topbar-brand img{display:block;width:38px;height:34px;object-fit:contain;flex:none}
.topbar-brand small{display:block;margin-top:1px;color:var(--muted);font:600 calc(8px * var(--text-scale,1)) 'DM Sans',sans-serif;letter-spacing:.8px;text-transform:uppercase}
.topbar-right{margin-left:auto}
@media(max-width:820px){.topbar-brand{font-size:calc(15px * var(--text-scale,1))}.quiz-menu-toggle{margin-right:0}}
@media(max-width:600px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,auto);grid-template-rows:auto auto;align-items:center;gap:5px 8px;padding:7px 12px}.topbar-brand{grid-column:1;grid-row:1;font-size:calc(14px * var(--text-scale,1));gap:6px}.topbar-brand img{width:33px;height:30px}.topbar-brand small{display:none}.topbar>.quiz-menu-toggle{grid-column:2;grid-row:1}.topbar-right{grid-column:3;grid-row:1;display:flex;align-items:center}.topbar>.topbar-timer{grid-column:1/-1;grid-row:2;width:100%;margin:0;padding:1px 2px}}

/* Drive Stream Vault inspired login atmosphere; keep QBank copy and form behavior intact. */
.auth-shell{position:relative;isolation:isolate;overflow:hidden;background:#080808!important;color:#f7f4ed}
.auth-shell::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(ellipse at 12% 8%,rgb(201 168 76 / 12%),transparent 34%),radial-gradient(ellipse at 88% 88%,rgb(201 168 76 / 10%),transparent 36%),linear-gradient(rgb(228 199 107 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(228 199 107 / 5%) 1px,transparent 1px);background-size:auto,auto,54px 54px,54px 54px;background-position:center,center,center,center;mask-image:radial-gradient(ellipse at 74% 48%,#000 5%,transparent 75%);opacity:.8}
.auth-brand,.auth-panel{position:relative;z-index:1;background:transparent;color:#f7f4ed}
.auth-brand{padding-top:clamp(38px,7vh,76px);padding-bottom:clamp(38px,7vh,76px)}
.auth-brand::after{width:520px;height:520px;right:-310px;bottom:-210px;border:0;border-radius:50%;box-shadow:none;background:radial-gradient(circle,rgb(201 168 76 / 16%),transparent 68%);filter:blur(8px);pointer-events:none}
.auth-wordmark{color:#f7f4ed}
.auth-wordmark small{color:rgb(228 199 107 / 64%);letter-spacing:.2em}
.auth-brand .eyebrow.light{color:rgb(228 199 107 / 72%);letter-spacing:.22em}
.auth-brand h1{font-family:Georgia,'Times New Roman',serif;line-height:.98;letter-spacing:-1.7px;color:#fff}
.auth-brand h1::first-line{color:#fff}
.auth-brand>p{color:rgb(255 255 255 / 57%)}
.auth-foot{color:rgb(228 199 107 / 48%)}
.auth-foot i{background:#c9a84c}
.auth-panel{width:min(440px,calc(100% - 56px));padding:clamp(25px,4vw,42px);border:1px solid rgb(228 199 107 / 19%);border-radius:18px;background:linear-gradient(145deg,rgb(22 22 20 / 90%),rgb(10 10 10 / 84%));box-shadow:0 25px 90px rgb(0 0 0 / 44%),inset 0 1px rgb(255 255 255 / 5%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auth-panel .panel-kicker{color:#c9a84c;letter-spacing:.18em}
.auth-panel h2{font-family:Georgia,'Times New Roman',serif;color:#f7f4ed;letter-spacing:-.5px}
.auth-panel>p{color:rgb(255 255 255 / 48%)}
#authForm label{color:rgb(255 255 255 / 66%)}
#authForm input{background:rgb(0 0 0 / 35%);border-color:rgb(255 255 255 / 13%);color:#f7f4ed}
#authForm input::placeholder{color:rgb(255 255 255 / 32%)}
#authForm input:focus{border-color:rgb(201 168 76 / 72%);box-shadow:0 0 0 3px rgb(201 168 76 / 11%)}
#authSubmit.button.primary{position:relative;overflow:hidden;background:#f7f4ed!important;border:1px solid rgb(228 199 107 / 48%);border-radius:5px;color:#111!important;box-shadow:0 14px 40px rgb(0 0 0 / 35%);transition:transform .25s ease,box-shadow .25s ease}
#authSubmit.button.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgb(255 255 255 / 75%),transparent 58%);transform:translateX(-130%);transition:transform .6s ease;pointer-events:none}
#authSubmit.button.primary:hover{background:#fff!important;box-shadow:0 18px 42px rgb(201 168 76 / 15%)}
#authSubmit.button.primary:hover::after{transform:translateX(130%)}
#authSubmit.button.primary span{color:#8d6e1c}
.auth-switch{color:rgb(255 255 255 / 48%)}
#authSwitch.link-button{color:#d5b85f}
#authError.form-error{color:#f0a096}
.device-note{background:rgb(255 255 255 / 3%);border-color:rgb(255 255 255 / 10%);color:rgb(255 255 255 / 53%)}
.device-note b{color:#f7f4ed}
.device-icon{color:#c9a84c}
.auth-mobile-mark{color:#f7f4ed}
.auth-mobile-mark small{color:rgb(228 199 107 / 58%)}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr;min-height:100svh;padding:clamp(16px,5vh,44px) 0}.auth-brand{display:none}.auth-panel{width:min(440px,calc(100% - 32px));padding:clamp(22px,6vw,34px);margin:auto}.auth-mobile-mark{display:flex;margin-bottom:32px}.auth-mobile-mark img{filter:drop-shadow(0 5px 15px rgb(201 168 76 / 22%))}.auth-panel>p{margin-bottom:26px}.device-note{margin-top:22px}}
@media(prefers-reduced-motion:reduce){#authSubmit.button.primary,#authSubmit.button.primary::after{transition:none}}
.auth-brand h1 .auth-gold-text{color:#e4c76b;font-style:italic;text-shadow:0 0 35px rgb(201 168 76 / 18%)}

/* Compact the sign-in card while keeping its existing content and flow. */
.auth-panel{width:min(400px,calc(100% - 48px));padding:28px clamp(24px,3.5vw,34px);border-radius:16px}
.auth-panel .panel-kicker{font-size:calc(9px * var(--text-scale,1));margin-bottom:10px;letter-spacing:.16em}
.auth-panel h2{font-size:calc(27px * var(--text-scale,1));line-height:1.14;letter-spacing:-.4px;margin:0 0 7px}
.auth-panel>p{font-size:calc(13px * var(--text-scale,1));line-height:1.5;margin:0 0 20px}
#authForm label{font-size:calc(11px * var(--text-scale,1));margin:13px 0}
#authForm input{height:45px;margin-top:7px;border-radius:7px}
#authSubmit.button.primary{height:46px;margin-top:2px;border-radius:6px}
.auth-switch{margin:14px 0;font-size:calc(11px * var(--text-scale,1))}
#authSwitch.link-button{font-size:calc(11px * var(--text-scale,1))}
.device-note{margin-top:19px;padding:10px 12px;border-radius:8px;font-size:calc(10px * var(--text-scale,1))}
@media(max-width:700px){.auth-shell{padding:18px 0}.auth-panel{width:min(390px,calc(100% - 34px));padding:23px clamp(20px,6vw,28px);border-radius:14px}.auth-mobile-mark{margin-bottom:23px}.auth-panel .panel-kicker{margin-bottom:8px}.auth-panel h2{font-size:calc(25px * var(--text-scale,1))}.auth-panel>p{margin-bottom:17px}#authForm label{margin:11px 0}.device-note{margin-top:16px}}
.auth-brand h1{font-size:clamp(38px,4.2vw,58px)}
@media(max-width:980px){.auth-brand h1{font-size:clamp(34px,4.2vw,46px);letter-spacing:-1px}}

/* Responsive finish: balance the sign-in card and keep every mobile action reachable. */
.auth-shell{background:#0b1015!important;overflow:auto;}
.auth-shell::before{background-image:radial-gradient(ellipse at 16% 14%,rgb(92 139 145 / 14%),transparent 38%),radial-gradient(ellipse at 86% 82%,rgb(201 168 76 / 9%),transparent 34%),linear-gradient(rgb(228 199 107 / 3.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(228 199 107 / 3.5%) 1px,transparent 1px);background-size:auto,auto,58px 58px,58px 58px;mask-image:radial-gradient(ellipse at 70% 50%,#000 4%,transparent 78%);opacity:.65}
.auth-panel{width:min(390px,calc(100% - 48px));padding:26px clamp(23px,3vw,30px);border-color:rgb(228 199 107 / 16%);border-radius:15px;background:linear-gradient(150deg,rgb(24 29 32 / 96%),rgb(13 17 21 / 95%));box-shadow:0 22px 70px rgb(0 0 0 / 40%),inset 0 1px rgb(255 255 255 / 5%)}
.auth-panel h2{font-size:calc(26px * var(--text-scale,1));line-height:1.16}
.auth-panel>p{margin-bottom:18px}
.auth-brand h1{font-size:clamp(36px,4vw,54px);line-height:1.02;letter-spacing:-1px}
.auth-brand .auth-gold-text{white-space:nowrap}
.auth-wordmark{gap:14px;margin-bottom:34px}
#authForm input{background:rgb(255 255 255 / 4%);border-color:rgb(255 255 255 / 12%)}
#authForm input:focus{background:rgb(255 255 255 / 6%)}
.device-note{background:rgb(111 149 128 / 12%);border-color:rgb(111 149 128 / 22%)}
.mobile-signout-nav{display:none}
@media(max-width:980px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.94fr)}.auth-brand{padding-left:36px;padding-right:30px}.auth-brand h1{font-size:clamp(32px,3.7vw,42px)}.auth-wordmark{font-size:22px}.auth-panel{width:min(380px,calc(100% - 28px));padding:24px}}
@media(max-width:820px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-signout-nav{display:flex}.nav-item.mobile-signout-nav{font-size:clamp(7px,2vw,8px)}.auth-shell{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:100dvh;padding:18px 0}.auth-brand{display:none}.auth-panel{width:min(420px,calc(100% - 36px));padding:25px clamp(22px,5vw,34px);margin:auto}.auth-mobile-mark{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:17px}.auth-mobile-mark img{width:58px;height:42px}.auth-mobile-mark small{font-size:8px}.auth-panel h2{font-size:calc(25px * var(--text-scale,1))}.auth-panel>p{margin-bottom:17px}}
@media(max-width:480px){.auth-shell{padding:14px 0}.auth-panel{width:calc(100% - 28px);padding:21px 20px;border-radius:13px}.auth-mobile-mark{margin-bottom:18px;font-size:15px}.auth-mobile-mark img{width:50px;height:36px}.auth-panel .panel-kicker{font-size:8px;letter-spacing:.14em}.auth-panel h2{font-size:calc(23px * var(--text-scale,1));line-height:1.15}.auth-panel>p{font-size:calc(12px * var(--text-scale,1));margin-bottom:15px}#authForm label{margin:10px 0}#authForm input{height:43px}.auth-switch{margin:12px 0}.device-note{margin-top:14px;padding:9px 10px}}

/* Site-wide controls and a scroll-locked, height-aware sign-in screen. */
.site-fullscreen-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:calc(10px * var(--text-scale,1));font-weight:700;white-space:nowrap}
.site-fullscreen-button>span:first-child{font-size:17px;line-height:1}
.site-fullscreen-button:hover{background:var(--mint)}
body[data-theme="dark"] .site-fullscreen-button{background:#27292d;border-color:#41434a;color:var(--ink)}
body[data-theme="dark"] .site-fullscreen-button:hover{background:#33363b}
.account-settings-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding:18px 20px}
.account-settings-card h2{margin:0 0 5px;font:700 calc(13px * var(--text-scale,1)) Manrope,sans-serif}
.account-settings-card p{margin:0;color:var(--muted);font-size:calc(10px * var(--text-scale,1));line-height:1.5}
body.auth-active{height:100dvh;overflow:hidden;overscroll-behavior:none}
body.auth-active #authView{height:100dvh;min-height:100dvh;overflow:hidden}
@media(max-width:600px){.site-fullscreen-button{width:33px;min-width:33px;height:32px;padding:0}.site-fullscreen-button .site-fullscreen-label{display:none}.account-settings-card{align-items:flex-start;flex-direction:column}.account-settings-card .button{width:100%;min-height:40px}}
@media(max-width:370px){.site-fullscreen-button{width:29px;min-width:29px}.topbar-right{gap:4px}}
@media(max-height:700px){body.auth-active .auth-shell{padding:8px 0}body.auth-active .auth-panel{padding-top:14px;padding-bottom:14px}body.auth-active .auth-mobile-mark{margin-bottom:10px}body.auth-active .auth-panel .panel-kicker{margin-bottom:5px}body.auth-active .auth-panel h2{font-size:calc(21px * var(--text-scale,1));margin-bottom:4px}body.auth-active .auth-panel>p{margin-bottom:10px}body.auth-active #authForm label{margin:7px 0}body.auth-active #authForm input{height:39px;margin-top:5px}body.auth-active #authSubmit.button.primary{height:41px}body.auth-active .auth-switch{margin:8px 0}body.auth-active #authError{min-height:0}body.auth-active #authError:not(:empty){margin-top:4px}body.auth-active .device-note{margin-top:9px;padding:7px 9px}}
@media(max-height:520px) and (max-width:900px){body.auth-active .auth-shell{grid-template-columns:1fr;padding:4px 0}body.auth-active .auth-brand{display:none}body.auth-active .auth-panel{width:min(420px,calc(100% - 24px));padding:8px 18px;border-radius:10px}body.auth-active .auth-mobile-mark{display:none}body.auth-active .auth-panel .panel-kicker{font-size:7px}body.auth-active .auth-panel h2{font-size:19px}body.auth-active .auth-panel>p{font-size:11px;margin-bottom:7px}body.auth-active #authForm label{font-size:10px;margin:5px 0}body.auth-active #authForm input{height:34px;margin-top:3px}body.auth-active #authSubmit.button.primary{height:36px}body.auth-active .auth-switch{margin:5px 0}body.auth-active .device-note{display:none}}
/* Registration can scroll on short screens; sign-in stays fixed and compact. */
body.auth-active.register-mode{height:auto;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
body.auth-active.register-mode #authView{height:auto;min-height:100dvh;overflow:visible}
.register-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.register-name-fields label{min-width:0}
@media(max-width:390px){.register-name-fields{gap:8px}.register-name-fields input{padding-inline:9px}}
/* Keep all four mobile navigation items evenly spaced and clear of the home indicator. */
@media(max-width:820px){.sidebar{box-sizing:border-box;height:calc(68px + env(safe-area-inset-bottom));padding:6px 9px calc(6px + env(safe-area-inset-bottom));}.sidebar nav{box-sizing:border-box;height:100%;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch;gap:4px}.nav-item{box-sizing:border-box;width:100%;height:100%;min-height:0;align-self:stretch;justify-content:center;border-radius:11px;font-size:clamp(9px,2.5vw,11px);line-height:1.15}.nav-icon{width:auto;line-height:1.1}.main-column{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}
/* Quiz mode has its own full-screen control in the question toolbar. */
body.quiz-page #siteFullscreenToggle{display:none}
.device-limit-view{position:fixed;inset:0;z-index:120;display:grid;place-items:center;overflow-y:auto;padding:clamp(18px,5vh,54px) 16px;background:radial-gradient(ellipse at 50% 28%,#171717 0%,#090909 62%);color:#f3f3f3}
.device-limit-card{width:min(740px,100%);padding:clamp(28px,6vw,64px);border:1px solid #373737;border-radius:28px;background:#191919;box-shadow:0 28px 90px #0009;text-align:center}
.device-limit-icon{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 27px;border:1px solid #7b5b22;border-radius:25px;background:#483416;color:#f5bc3e;font-size:42px;box-shadow:inset 0 1px #ffffff12}
.device-limit-kicker{margin-bottom:9px;color:#dcb54a;font-size:10px;font-weight:800;letter-spacing:.2em}
.device-limit-card h1{margin:0 auto 17px;color:#f6f6f6;font:800 clamp(25px,4vw,39px)/1.15 Manrope,sans-serif;letter-spacing:-.8px}
.device-limit-lead,.device-limit-copy{max-width:580px;margin:0 auto;color:#b6b6b6;font-size:clamp(14px,2vw,18px);line-height:1.6}
.device-limit-list{display:flex;flex-direction:column;gap:9px;margin:17px auto 21px;padding:0;list-style:none}
.device-limit-list li{display:flex;align-items:center;justify-content:center;gap:10px;color:#f3f3f3;font-size:clamp(16px,2.3vw,22px);font-weight:750}
.device-session-icon{flex:none;color:#e8b842;font-size:19px}
.device-limit-copy{max-width:620px;margin-bottom:24px}
.device-limit-notice{display:flex;align-items:flex-start;gap:14px;margin:0 0 28px;padding:20px 22px;border:1px solid #343434;border-radius:18px;background:#1d1d1d;text-align:left}
.device-limit-notice>span{color:#eab543;font-size:23px;line-height:1.2}
.device-limit-notice p{margin:0;color:#b6b6b6;font-size:14px;line-height:1.6}
.device-takeover-button{width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border:0;border-radius:17px;background:#438de8;color:#071423;font:750 clamp(15px,2.4vw,20px) 'DM Sans',sans-serif;cursor:pointer;transition:filter .15s,transform .15s}
.device-takeover-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.device-takeover-button:disabled{opacity:.65;cursor:wait;transform:none}
.device-takeover-button>span{font-size:24px;line-height:1}
.device-cancel-button{min-height:48px;margin-top:14px;padding:8px 16px;border:0;background:transparent;color:#a9a9a9;font:650 15px 'DM Sans',sans-serif;cursor:pointer}
.device-cancel-button:hover{color:#fff}
.device-limit-card .form-error{margin:0 0 12px}
.account-card-copy{flex:0 0 auto}
.account-devices{min-width:0;flex:1;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 58%,transparent)}
.account-devices h3{margin:0 0 9px;color:var(--ink);font:750 calc(11px * var(--text-scale,1)) Manrope,sans-serif}
.account-device-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.account-device-list li{display:flex;align-items:center;gap:9px;min-width:0;color:var(--ink)}
.account-device-list .device-session-icon{font-size:15px}
.account-device-info{display:grid;gap:2px;min-width:0;flex:1}
.account-device-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(10px * var(--text-scale,1))}
.account-device-info small{color:var(--muted);font-size:calc(9px * var(--text-scale,1))}
.account-device-list em{flex:none;padding:4px 8px;border-radius:999px;background:#2d5945;color:#b8ebc7;font-size:9px;font-style:normal;font-weight:750}
.device-empty{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}
body[data-theme="dark"] .account-devices{background:rgba(20,26,36,.34)}
@media(max-width:600px){.device-limit-view{place-items:start center;padding:14px 12px calc(14px + env(safe-area-inset-bottom))}.device-limit-card{padding:27px 20px;border-radius:22px}.device-limit-icon{width:72px;height:72px;margin-bottom:19px;border-radius:20px;font-size:34px}.device-limit-card h1{font-size:25px}.device-limit-lead,.device-limit-copy{font-size:14px}.device-limit-notice{margin-bottom:20px;padding:15px 16px;border-radius:14px}.device-limit-notice p{font-size:12px}.device-takeover-button{min-height:56px;border-radius:14px;font-size:15px}.device-cancel-button{font-size:13px}.account-settings-card{gap:13px}.account-devices{width:100%;flex:auto;box-sizing:border-box}}

/* Compact sliding device limit panel */
.auth-panel-track{position:relative;display:grid;align-self:center;width:min(440px,calc(100% - 56px));min-width:0;margin:auto;overflow:hidden}
.auth-panel-track>.auth-panel{grid-area:1/1;width:100%;min-height:100%;margin:0;padding:clamp(24px,5vh,60px) 0;transition:transform .42s cubic-bezier(.22,.72,.18,1),opacity .3s ease;will-change:transform}
.auth-panel-track>.auth-panel.hidden{display:none!important}
body.device-limit-active .auth-panel-track>.auth-panel:first-child{transform:translateX(110%);opacity:0;pointer-events:none}
body.device-limit-active .auth-panel-track>#deviceLimitView{transform:translateX(0);opacity:1}
.device-limit-panel{position:relative;inset:auto;z-index:auto;display:block;place-items:initial;overflow:visible;padding:clamp(24px,5vh,60px) 0;background:transparent;color:var(--ink);transform:translateX(-110%);opacity:0}
.device-limit-card{width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.device-limit-icon{width:52px;height:52px;margin:0 0 15px;border-radius:15px;font-size:24px}
.device-limit-kicker{margin-bottom:7px;font-size:9px}
.device-limit-card h1{margin:0 0 9px;text-align:left;font-size:clamp(22px,2.3vw,28px);letter-spacing:-.5px}
.device-limit-lead,.device-limit-copy{max-width:none;margin:0 0 11px;text-align:left;font-size:12px;line-height:1.5}
.device-limit-list{gap:6px;margin:0 0 12px;padding:0;list-style:none}
.device-limit-list li{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;font-weight:700;text-align:left}
.device-limit-list .login-device-name{flex:1;min-width:0;overflow-wrap:anywhere}
.device-limit-signout{flex:none;padding:6px 9px;border:1px solid rgba(215,170,76,.34);border-radius:8px;background:rgba(215,170,76,.12);color:#dcb54a;font-size:10px;font-weight:700}
.device-limit-notice{gap:9px;margin:0 0 12px;padding:10px 11px;border-color:var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 72%,transparent)}
.device-limit-notice>span{font-size:17px}
.device-limit-notice p{color:var(--muted);font-size:10px;line-height:1.45}
.device-takeover-button{min-height:44px;gap:8px;padding:9px 12px;border-radius:10px;font-size:12px}
.device-takeover-button>span{font-size:18px}
.device-cancel-button{min-height:36px;margin-top:5px;padding:6px 10px;font-size:11px}
.device-limit-panel .form-error{min-height:0;margin:0 0 8px;text-align:left;font-size:11px}
body.device-limit-active .auth-panel-track>#deviceLimitView{display:block!important}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr}.auth-panel-track{width:min(440px,calc(100% - 40px));min-height:0}.auth-panel-track>.auth-panel{padding:30px 0}.auth-panel-track>.auth-panel:first-child{padding-top:max(24px,env(safe-area-inset-top))}.device-limit-icon{width:46px;height:46px;margin-bottom:12px}.device-limit-card h1{font-size:22px}.device-limit-lead,.device-limit-copy{font-size:11px}.device-limit-notice{margin-bottom:10px}.device-limit-notice p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.auth-panel-track>.auth-panel{transition:none}}
/* Account session controls and password update */
.account-settings-card{align-items:stretch;flex-direction:column;gap:15px}
.account-device-list li{flex-wrap:wrap}
.device-signout-button{flex:none;padding:6px 9px;border:1px solid rgba(222,113,100,.28);border-radius:8px;background:rgba(222,113,100,.09);color:#b35349;font-size:9px;font-weight:700}
.account-device-list em{margin-left:auto}
.password-change{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 58%,transparent)}
.password-change h3{margin:0 0 10px;color:var(--ink);font:750 calc(11px * var(--text-scale,1)) Manrope,sans-serif}
.password-change-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:center}
.password-change-fields input{min-width:0;height:38px;margin:0;padding:0 10px;font-size:11px}
.password-change-fields .button{white-space:nowrap}
.password-change-status{min-height:14px;margin:8px 0 0;color:var(--muted);font-size:10px}
@media(max-width:700px){.password-change-fields{grid-template-columns:minmax(0,1fr)}.password-change-fields .button{width:100%}.account-device-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.account-device-info{grid-column:2}.account-device-list em{grid-column:2;grid-row:2;margin:0}.device-signout-button{grid-column:3;grid-row:1/3}}
/* Keep leave, end and next actions available when quiz chrome is hidden. */
.quiz-fullscreen-actions{display:none}
body.quiz-focus-mode .quiz-fullscreen-actions{position:sticky;bottom:0;z-index:140;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:14px 0 0;padding:12px 0 max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--canvas) 25%);backdrop-filter:blur(12px)}
.quiz-fullscreen-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-weight:700}
.quiz-fullscreen-actions .quiz-fs-end{border-color:rgba(208,104,92,.32);background:rgba(208,104,92,.12);color:#bb594f}
.quiz-fullscreen-actions .quiz-fs-next{border-color:transparent;background:#438de8;color:#071423}
body.quiz-focus-mode .quiz-fullscreen-actions{margin-inline:auto;max-width:1120px}
@media(max-width:600px){body.quiz-focus-mode .quiz-fullscreen-actions{position:sticky;bottom:0;gap:6px;margin-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.quiz-fullscreen-actions button{min-height:42px;padding:7px 6px;font-size:11px}}

/* Prevent long device labels and headings from stretching the mobile panel. */
.device-limit-panel,.device-limit-card{min-width:0;max-width:100%}
.device-limit-card h1,.device-limit-lead,.device-limit-copy,.device-limit-notice p{overflow-wrap:anywhere}
.device-limit-list li{min-width:0;flex-wrap:wrap}
@media(max-width:700px){.auth-shell{align-content:center}.auth-panel-track{width:min(440px,calc(100% - 36px));max-width:100%;margin:auto}.device-limit-card h1{text-wrap:balance;line-height:1.16}.device-limit-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px}.device-limit-signout{grid-column:3;grid-row:1}.device-limit-notice{align-items:flex-start}}

/* Refined, matched sign-in and device-limit cards */
.auth-panel-track{width:min(420px,calc(100% - 48px));overflow:hidden}
.auth-panel-track>.auth-panel{padding:clamp(22px,3.5vh,30px) clamp(22px,3.2vw,30px);border:1px solid rgba(228,199,107,.17);border-radius:16px;background:linear-gradient(150deg,rgba(24,29,32,.97),rgba(13,17,21,.96));box-shadow:0 18px 56px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.045);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auth-panel-track>.auth-panel:first-child .auth-mobile-mark{margin-bottom:18px}
.auth-panel-track .panel-kicker{margin-bottom:8px;color:#c9a84c;font-size:9px;letter-spacing:.16em}
.auth-panel-track .auth-panel h2{margin:0 0 6px;font-size:clamp(23px,2.1vw,26px);line-height:1.15;letter-spacing:-.4px}
.auth-panel-track .auth-panel>p{margin:0 0 15px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.5}
.auth-panel-track #authForm label{margin:11px 0 9px;color:#d0d6de;font-size:11px}
.auth-panel-track #authForm input{height:43px;margin-top:6px;border-radius:9px;font-size:13px}
.auth-panel-track #authSubmit{height:44px;margin-top:3px;border-radius:9px}
.auth-panel-track .auth-switch{margin:12px 0 8px;font-size:11px}
.auth-panel-track .link-button{font-size:11px}
.auth-panel-track #authError{min-height:0}
.auth-panel-track #authError:not(:empty){margin:4px 0 7px}
.auth-panel-track .device-note{margin-top:14px;padding:10px 11px;border-radius:9px;background:rgba(65,114,83,.2);border-color:rgba(137,190,147,.18);color:#bdc9c2;font-size:10px;line-height:1.4}
.auth-panel-track .device-note b{color:#f1f3ef}
.auth-panel-track .device-icon{color:#d8b74e}
.device-limit-panel{padding:clamp(22px,3.5vh,30px) clamp(22px,3.2vw,30px);color:#f4f3ee}
.device-limit-card{color:inherit}
.device-limit-icon{width:44px;height:44px;margin:0 0 11px;border-radius:13px;font-size:21px}
.device-limit-kicker{margin-bottom:6px;color:#dcb54a;font-size:8px;letter-spacing:.17em}
.device-limit-card h1{margin:0 0 7px;color:#f7f4ed;font-size:clamp(21px,2vw,24px);line-height:1.17;letter-spacing:-.4px}
.device-limit-lead,.device-limit-copy{margin:0 0 9px;color:rgba(255,255,255,.62);font-size:11px;line-height:1.45}
.device-limit-list{gap:5px;margin:0 0 9px}
.device-limit-list li{color:#f0f2ef;font-size:11px}
.device-limit-signout{padding:5px 8px;border-radius:7px;font-size:9px}
.device-limit-notice{margin:0 0 9px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.1)}
.device-limit-notice p{color:rgba(255,255,255,.65);font-size:9px;line-height:1.4}
.device-takeover-button{min-height:42px;border-radius:9px;font-size:11px}
.device-cancel-button{min-height:31px;margin-top:3px;color:rgba(255,255,255,.63);font-size:10px}
.device-limit-panel .form-error{color:#f08a7c}
@media(max-width:700px){.auth-shell{min-height:100dvh;padding:14px 0;align-content:center}.auth-panel-track{width:min(410px,calc(100% - 32px));max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.auth-panel-track::-webkit-scrollbar{display:none}.auth-panel-track>.auth-panel{padding:22px clamp(19px,6vw,26px);border-radius:15px}.auth-panel-track>.auth-panel:first-child .auth-mobile-mark{margin-bottom:15px}.auth-panel-track .auth-panel h2{font-size:23px}.auth-panel-track .auth-panel>p{margin-bottom:12px}.auth-panel-track #authForm label{margin:9px 0 7px}.auth-panel-track #authForm input{height:42px}.auth-panel-track .device-note{margin-top:12px}.device-limit-icon{width:40px;height:40px;margin-bottom:9px}.device-limit-card h1{font-size:21px}.device-limit-list li{font-size:10px}.device-limit-copy{margin-bottom:8px}}
@media(max-height:600px){.auth-panel-track>.auth-panel{padding-top:17px;padding-bottom:17px}.auth-panel-track>.auth-panel:first-child .auth-mobile-mark{margin-bottom:8px}.auth-panel-track .auth-panel>p{margin-bottom:8px}.auth-panel-track #authForm label{margin:6px 0}.auth-panel-track #authForm input{height:37px}.auth-panel-track .device-note{margin-top:8px;padding:7px 9px}.device-limit-icon{width:34px;height:34px;margin-bottom:6px}.device-limit-notice{display:none}.device-limit-list{margin-bottom:6px}}

/* Keep the viewport fixed; scroll the app's content pane only. */
html:has(body.app-active){height:100%;overflow:hidden;overscroll-behavior:none}
body.app-active{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none;background:var(--canvas)}
body.app-active #appView{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;background:var(--canvas)}
body.app-active .app-shell{display:flex;min-height:0;height:100dvh;overflow:hidden}
body.app-active .sidebar{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.app-active .main-column{display:flex;flex:1 1 auto;flex-direction:column;width:auto;height:100dvh;min-width:0;min-height:0;margin:0 0 0 244px;padding:0;overflow:hidden}
body.app-active .topbar{position:relative;top:auto;flex:0 0 70px}
body.app-active #pageContent{flex:1 1 auto;width:100%;height:0;min-height:0;max-height:none;margin:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:36px;scrollbar-gutter:stable}
@media(max-width:820px){body.app-active .sidebar{inset:auto 0 0;height:calc(68px + env(safe-area-inset-bottom));min-height:0;overflow:hidden;padding-bottom:calc(6px + env(safe-area-inset-bottom))}body.app-active .main-column{width:100%;height:100dvh;margin:0;padding:0 0 calc(68px + env(safe-area-inset-bottom))}body.app-active .topbar{flex-basis:auto;flex-shrink:0;min-height:58px}body.app-active #pageContent{min-height:0;padding:clamp(18px,3.5vw,34px) clamp(14px,3vw,28px) calc(92px + env(safe-area-inset-bottom));scrollbar-gutter:auto}}
/* Fullscreen navigation must not sit over the study content on small screens. */
@media(max-width:820px){body.site-fullscreen-mode:not(.quiz-focus-mode) .sidebar{display:none!important}body.site-fullscreen-mode:not(.quiz-focus-mode) .main-column{margin:0;width:100%;padding-bottom:0}body.site-fullscreen-mode:not(.quiz-focus-mode) #pageContent{padding-bottom:36px}}
/* Quiz actions stay pinned above the iPad/iPhone home indicator in fullscreen. */
body.quiz-focus-mode #appView{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden}
body.quiz-focus-mode .main-column{display:flex;flex-direction:column;width:100%;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden}
body.quiz-focus-mode .page-content{flex:1 1 auto;width:100%;height:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:calc(12px + env(safe-area-inset-top)) clamp(14px,4vw,54px) calc(108px + env(safe-area-inset-bottom))}
body.quiz-focus-mode .quiz-fullscreen-actions{position:fixed!important;inset:auto 0 0;z-index:220;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:none!important;margin:0!important;padding:12px max(16px,calc((100vw - 1120px)/2)) max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(145,165,190,.22);background:color-mix(in srgb,var(--canvas) 94%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.quiz-focus-mode .quiz-fullscreen-actions button{min-width:0;min-height:46px;white-space:nowrap}
@media(max-width:600px){body.quiz-focus-mode .page-content{padding:calc(10px + env(safe-area-inset-top)) 12px calc(104px + env(safe-area-inset-bottom))}body.quiz-focus-mode .quiz-fullscreen-actions{gap:7px;padding:9px 10px max(10px,env(safe-area-inset-bottom))}body.quiz-focus-mode .quiz-fullscreen-actions button{min-height:43px;padding:7px 5px;font-size:11px}}

/* Question navigator and actions belong to the question flow, including fullscreen. */
body.app-active.quiz-page .main-column{width:auto;margin-left:0}
.question-jump-strip{display:flex;align-items:center;gap:6px;max-width:100%;overflow-x:auto;padding:2px 1px 10px;margin:0 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.question-jump-strip::-webkit-scrollbar{display:none}
.question-jump{width:28px;height:28px;flex:0 0 28px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:700}
.question-jump.answered{border-color:rgba(65,158,112,.55);background:rgba(65,158,112,.15);color:#4eb17e}
.question-jump.current{outline:2px solid #438de8;outline-offset:1px;color:var(--ink)}
.question-jump:disabled{opacity:.34;cursor:not-allowed}
.quiz-actions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.3fr);gap:9px;align-items:stretch;margin-top:15px}
.quiz-actions>button{min-width:0;min-height:42px;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:700}
.quiz-inline-leave,.quiz-inline-end{border:1px solid var(--line);background:var(--paper);color:var(--muted)}
.quiz-inline-end{border-color:rgba(208,104,92,.35);color:#c96f62}
.quiz-actions .quiz-inline-answer{width:100%;min-width:0}
.quiz-inline-end.hidden{display:none}
.quiz-actions.single-question-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
body.quiz-focus-mode .page-content{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
body.quiz-focus-mode .quiz-fullscreen-actions{display:none!important}
@media(max-width:560px){.question-jump{width:26px;height:26px;flex-basis:26px;font-size:10px}.quiz-actions{gap:6px}.quiz-actions>button{min-height:40px;padding:7px 5px;font-size:11px}.quiz-shell{max-width:100%}}

/* Keep the quiz header compact and prevent the brand from colliding with its menu. */
body.quiz-page .topbar{display:flex;align-items:center;gap:12px;min-width:0;padding-inline:clamp(12px,3vw,32px)}
body.quiz-page .topbar-brand{flex:0 1 auto;min-width:0;max-width:min(52vw,280px);overflow:hidden}
body.quiz-page .topbar-brand>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.quiz-page .quiz-menu-toggle{flex:0 0 38px;width:38px;height:38px;margin:0 auto 0 0}
body.quiz-page .topbar-right{flex:0 0 auto;min-width:0;margin-left:auto;gap:clamp(5px,1.2vw,12px)}
.question-jump.answered.correct{border-color:#39a66e;background:#174e36;color:#c8f2d8}
.question-jump.answered.wrong{border-color:#d45d5d;background:#572b32;color:#ffd0d0}
.question-jump.answered.current{outline-color:#438de8}
@media(max-width:820px){body.quiz-page .topbar{gap:8px;padding-inline:12px}body.quiz-page .topbar-brand{max-width:calc(100vw - 190px);font-size:clamp(12px,3.8vw,15px)}body.quiz-page .topbar-right{gap:5px}body.quiz-page .topbar .appearance-controls{flex-wrap:nowrap}}
@media(max-width:600px){body.quiz-page .topbar{display:grid;grid-template-columns:minmax(0,1fr) 38px auto;grid-template-rows:auto;gap:8px;padding:7px 10px}body.quiz-page .topbar-brand{grid-column:1;grid-row:1;width:100%;max-width:100%;gap:5px;font-size:13px}body.quiz-page .topbar-brand>span{white-space:nowrap}body.quiz-page .topbar>.quiz-menu-toggle{grid-column:2;grid-row:1;margin:0;width:36px;height:36px;flex-basis:36px}body.quiz-page .topbar-right{grid-column:3;grid-row:1;display:flex;flex-wrap:nowrap;justify-content:flex-end;min-width:0}body.quiz-page .topbar .theme-toggle{width:76px;height:34px;padding-left:30px;padding-right:7px}body.quiz-page .topbar .theme-toggle-knob{width:28px;height:28px}body.quiz-page .topbar .theme-toggle.is-dark .theme-toggle-knob{transform:translateX(40px)}body.quiz-page .topbar .global-size-controls{display:none}}

/* Keep the section navigation tucked away until the header menu is opened. */
body.app-active .topbar{justify-content:flex-start;gap:12px}
body.app-active .topbar-brand{flex:0 1 auto;min-width:0;max-width:min(48vw,280px)}
body.app-active .topbar-brand>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.app-active .quiz-menu-toggle{display:flex;flex:0 0 38px;width:38px;height:38px;margin:0;border-radius:10px}
body.app-active .topbar-right{flex:0 0 auto;min-width:0;margin-left:auto}
body.app-active .sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100dvh;min-height:0;display:flex;overflow-x:hidden;overflow-y:auto;padding:24px 17px calc(18px + env(safe-area-inset-bottom));border:0;border-right:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:12px 0 38px #0004;transform:translateX(-105%);transition:transform .24s ease;z-index:111;overscroll-behavior:contain}
body.app-active .sidebar .brand{display:flex;padding:0 9px 32px}
body.app-active .sidebar .side-label{display:block}
body.app-active .sidebar nav{height:auto;display:grid;grid-template-columns:1fr;gap:4px}
body.app-active .sidebar .nav-item{width:100%;height:45px;min-height:45px;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 11px;font-size:calc(12px * var(--text-scale,1))}
body.app-active .sidebar .nav-icon{width:18px;font-size:calc(16px * var(--text-scale,1))}
body.app-active .sidebar .side-bottom{display:block;margin-top:auto}
body.app-active .main-column{margin:0;width:100%;padding-bottom:0}
body.app-active .quiz-sidebar-overlay{display:block;position:fixed;inset:0;z-index:110;background:#0d1720a6;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;backdrop-filter:blur(2px)}
body.app-active.sidebar-open .sidebar{transform:translateX(0)}
body.app-active.sidebar-open .quiz-sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto}
body.app-active.sidebar-open .quiz-menu-toggle{position:relative;z-index:112}
@media(max-width:820px){body.app-active .sidebar{inset:0 auto 0 0;width:min(290px,86vw);height:100dvh;padding:22px 17px calc(18px + env(safe-area-inset-bottom))}body.app-active .main-column{width:100%;margin:0;padding:0}body.app-active #pageContent{padding-bottom:calc(24px + env(safe-area-inset-bottom))}body.app-active .topbar{display:flex;min-height:58px;padding:7px 12px;gap:9px}body.app-active .topbar-brand{max-width:calc(100vw - 190px);font-size:clamp(12px,3.8vw,15px)}body.app-active .topbar-right{display:flex;flex-wrap:nowrap;gap:5px}body.app-active .topbar .appearance-controls{flex-wrap:nowrap}}
@media(max-width:600px){body.app-active .topbar{display:grid;grid-template-columns:minmax(0,1fr) 36px auto;grid-template-rows:auto;gap:8px;padding:7px 10px}body.app-active .topbar-brand{grid-column:1;grid-row:1;width:100%;max-width:100%;gap:5px;font-size:13px}body.app-active .topbar-brand>span{white-space:nowrap}body.app-active .topbar>.quiz-menu-toggle{grid-column:2;grid-row:1;width:36px;height:36px;flex-basis:36px;margin:0}body.app-active .topbar-right{grid-column:3;grid-row:1;min-width:0;justify-content:flex-end}body.app-active .topbar .theme-toggle{width:76px;height:34px;padding:0 7px 0 30px}body.app-active .topbar .theme-toggle-knob{width:28px;height:28px}body.app-active .topbar .theme-toggle.is-dark .theme-toggle-knob{transform:translateX(40px)}body.app-active .topbar .global-size-controls{display:none}}
body.app-active.site-fullscreen-mode:not(.quiz-focus-mode).sidebar-open .sidebar{display:flex!important}

/* Menu first in the header, with the site name following it. */
body.app-active .quiz-menu-toggle{order:0}
body.app-active .topbar-brand{order:1}
body.app-active .topbar-right{order:2}
@media(max-width:600px){body.app-active .topbar{grid-template-columns:36px minmax(0,1fr) auto}body.app-active .topbar>.quiz-menu-toggle{grid-column:1;grid-row:1}body.app-active .topbar-brand{grid-column:2;grid-row:1}body.app-active .topbar-right{grid-column:3;grid-row:1}}

/* Preserve content scrolling without the oversized browser scrollbar. */
body.app-active #pageContent{scrollbar-width:none;-ms-overflow-style:none}
body.app-active #pageContent::-webkit-scrollbar{display:none;width:0;height:0}

/* On wide laptop displays, let the dashboard use a wider reading canvas while keeping its left edge aligned with the header. */
@media(min-width:821px){body.app-active #pageContent{max-width:1600px;margin-left:0;margin-right:auto}}

/* The drawer is a vertical menu on phones; override the legacy bottom-nav grid. */
@media(max-width:820px){body.app-active .sidebar nav{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:minmax(45px,auto);align-items:stretch;gap:6px;height:auto!important}body.app-active .sidebar .nav-item{display:flex!important;width:100%;min-width:0;height:45px;min-height:45px;align-self:stretch;flex-direction:row!important;justify-content:flex-start!important;gap:12px;padding:0 12px;text-align:left;font-size:12px}}

/* Custom module builder */
.custom-module-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;margin:22px 0 30px;padding:clamp(22px,4vw,38px);border:1px solid rgba(112,164,205,.26);border-radius:18px;background:radial-gradient(ellipse at 92% 12%,rgba(71,132,184,.22),transparent 38%),linear-gradient(125deg,rgba(31,53,73,.98),rgba(24,38,55,.96));box-shadow:0 18px 44px rgba(4,14,24,.16)}
.custom-module-copy{max-width:640px;position:relative;z-index:1}.custom-module-eyebrow{display:block;color:#8cb8d4;font-size:10px;font-weight:800;letter-spacing:.16em}.custom-module-copy h2,.custom-module-section-heading h2{margin:9px 0 7px;font:800 clamp(22px,3vw,30px) Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink)}.custom-module-copy p,.custom-module-section-heading p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6}.custom-module-copy .button{min-height:42px;padding-inline:16px}.custom-module-mark{width:116px;height:116px;flex:0 0 116px;display:grid;place-content:center;text-align:center;border:1px solid rgba(132,184,220,.24);border-radius:30px;background:linear-gradient(145deg,rgba(109,164,200,.2),rgba(46,72,95,.22));color:#b8dbef;transform:rotate(7deg)}.custom-module-mark span{font-size:36px;line-height:1}.custom-module-mark small{margin-top:8px;font-size:9px;font-weight:800;letter-spacing:.14em;line-height:1.4}.custom-module-saved{margin:0 0 34px}.custom-module-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.custom-module-section-heading h2{font-size:20px;margin:0 0 4px}.custom-module-section-heading p{margin:0;font-size:12px}.custom-module-count{padding:6px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.custom-module-list{display:grid;gap:9px}.custom-module-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface,rgba(255,255,255,.04));box-shadow:0 5px 18px rgba(3,12,23,.05)}.custom-module-card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(84,151,194,.15);color:#7eb5d8;font-size:19px}.custom-module-card-main{min-width:0}.custom-module-card-main h3{overflow:hidden;margin:0 0 4px;color:var(--ink);font:700 14px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.custom-module-card-main p,.custom-module-card-main small{display:block;overflow:hidden;margin:0;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.custom-module-card-main small{margin-top:3px}.custom-module-card-size{display:grid;justify-items:center;gap:1px;color:var(--muted);font-size:10px}.custom-module-card-size b{color:var(--ink);font-size:19px}.custom-module-card>.button{min-width:128px;min-height:39px;font-size:11px}.custom-module-empty{display:grid;justify-items:center;gap:6px;padding:25px 16px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);text-align:center}.custom-module-empty>span{color:#78afd4;font-size:21px}.custom-module-empty b{color:var(--ink);font-size:12px}.custom-module-empty small{font-size:11px}.custom-module-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;overflow:auto;padding:20px;background:rgba(5,11,19,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.custom-module-dialog{width:min(100%,610px);max-height:min(92dvh,820px);overflow:auto;padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px rgba(0,0,0,.38)}.custom-module-dialog-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.custom-module-dialog-head h2{margin:7px 0 5px;font:800 25px Manrope,sans-serif;letter-spacing:-.04em}.custom-module-dialog-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.custom-module-close{width:36px;height:36px;flex:none;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:22px;line-height:1}.custom-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.custom-field{display:grid;gap:7px;margin:0 0 15px;color:var(--ink);font-size:11px;font-weight:700}.custom-field input,.custom-field select{width:100%;min-width:0;height:43px;padding:0 12px;border:1px solid var(--line)!important;border-radius:10px;background:var(--paper)!important;color:var(--ink);font:500 12px 'DM Sans',sans-serif}.custom-field input::placeholder{color:var(--muted);opacity:.75}.custom-field select:disabled{opacity:.55}.custom-field-optional{justify-self:start;margin-left:5px;color:var(--muted);font-size:10px;font-weight:500}.custom-module-preview{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:1px 0 17px;padding:13px 15px;border:1px solid rgba(75,156,117,.3);border-radius:12px;background:rgba(58,135,98,.09)}.custom-module-preview>div{display:grid;gap:5px}.custom-module-preview .custom-module-eyebrow{font-size:9px;color:#73b78e}.custom-module-preview b{color:var(--ink);font-size:12px}.custom-module-preview-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(65,158,112,.16);color:#67bb8a;font-weight:800}.custom-module-form-error{min-height:16px;margin:0;color:#db766e;font-size:11px}.custom-module-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:7px}.custom-module-dialog-actions .button{min-height:42px}.custom-module-dialog-actions #customModuleCreate:disabled{opacity:.48;cursor:not-allowed}
body[data-theme="dark"] .custom-module-dialog{background:#1c2738;border-color:rgba(190,207,231,.15)}body[data-theme="dark"] .custom-field input,body[data-theme="dark"] .custom-field select{background:#172233!important;border-color:rgba(190,207,231,.18)!important}
@media(max-width:640px){.custom-module-hero{margin:14px 0 24px;padding:21px 18px;border-radius:15px}.custom-module-mark{width:78px;height:78px;flex-basis:78px;border-radius:22px}.custom-module-mark span{font-size:26px}.custom-module-card{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:12px}.custom-module-card-icon{width:36px;height:36px}.custom-module-card-size{grid-column:3;grid-row:1}.custom-module-card>.button{grid-column:2/4;grid-row:2;width:100%}.custom-module-card-main h3{font-size:12px}.custom-module-dialog{max-height:calc(100dvh - 24px);padding:20px 17px;border-radius:16px}.custom-module-backdrop{align-items:center;padding:12px}.custom-module-dialog-head h2{font-size:21px}.custom-field-grid{grid-template-columns:1fr;gap:0}.custom-module-dialog-actions{display:grid;grid-template-columns:1fr 1.5fr}.custom-module-section-heading h2{font-size:18px}}

/* Multi-subject module selection and answer-reveal modes */
.custom-modules-page-heading{margin-bottom:8px}.custom-modules-page-heading p{max-width:720px}.custom-module-builder{width:min(100%,760px)}.custom-module-builder .custom-module-dialog-head{margin-bottom:18px}.custom-choice-section{min-width:0;margin:0 0 17px;padding:0;border:0}.custom-choice-section>legend{margin-bottom:9px;color:var(--ink);font-size:11px;font-weight:800}.custom-choice-section>legend small{margin-left:7px;color:var(--muted);font-size:10px;font-weight:500}.custom-subject-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.custom-check-card{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:var(--ink);font-size:11px;font-weight:600;cursor:pointer}.custom-check-card input,.custom-topic-check input,.custom-mode-card input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#4c9a76}.custom-check-card:has(input:checked){border-color:rgba(82,169,124,.56);background:rgba(67,152,106,.10)}.custom-topic-section{margin-top:19px}.custom-topic-choices{display:grid;gap:10px;max-height:260px;overflow:auto;padding-right:4px;overscroll-behavior:contain}.custom-topic-bank{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:11px}.custom-topic-bank>legend{padding:0 5px;color:var(--ink);font-size:10px;font-weight:800}.custom-topic-check{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:10px;cursor:pointer}.custom-topic-check input{width:14px;height:14px;flex-basis:14px}.custom-topic-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-topic-check small{margin-left:auto;color:var(--muted);font-size:9px}.custom-topic-all{padding:5px 7px;color:var(--ink);font-weight:700}.custom-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px;padding:8px 7px 4px}.custom-choice-empty{padding:16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px;text-align:center}.custom-mode-section{margin-top:18px}.custom-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.custom-mode-card{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer}.custom-mode-card.selected{border-color:rgba(79,153,116,.56);background:rgba(67,152,106,.09)}.custom-mode-card>input{margin-top:3px}.custom-mode-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:rgba(90,147,184,.13);color:#86b9d7;font-size:18px}.custom-mode-card>span:last-child{display:grid;gap:4px;min-width:0}.custom-mode-card b{color:var(--ink);font-size:11px}.custom-mode-card small{color:var(--muted);font-size:10px;line-height:1.45}.custom-module-card-main small{font-weight:600;color:#83b79a}.question-jump.pending{border-color:rgba(112,164,205,.35);background:rgba(112,164,205,.10);color:var(--muted)}
body[data-theme="dark"] .custom-check-card,body[data-theme="dark"] .custom-topic-bank,body[data-theme="dark"] .custom-mode-card{background:rgba(10,18,29,.24)}
@media(max-width:640px){.custom-subject-choices,.custom-topic-grid,.custom-mode-choices{grid-template-columns:1fr}.custom-topic-choices{max-height:31dvh}.custom-mode-card{padding:11px}.custom-module-card-main small{white-space:normal}.custom-module-builder .custom-module-dialog-head{gap:10px}}

/* Custom module exam timer and scoring preferences. */
.exam-settings-block{align-items:flex-start}.exam-settings-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px 14px;min-width:min(100%,430px)}.exam-settings-controls>label,.exam-mark-fields label{display:grid;gap:5px;color:var(--ink);font-size:11px;font-weight:700}.exam-settings-controls input,.exam-settings-controls select{width:100%;height:38px;margin:0;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.exam-mark-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.exam-preset-note,.exam-settings-controls>#examSettingsSaved{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.5}.exam-settings-controls>#examSettingsSaved{color:var(--green)}.exam-settings-controls>#saveExamSettings{justify-self:start}.exam-time-remaining{margin:0 0 10px;padding:8px 12px;border:1px solid rgba(224,175,72,.4);border-radius:9px;background:rgba(204,153,45,.11);color:#d7ae54;font-size:calc(13px * var(--text-scale,1));font-weight:800;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.02em}
@media(max-width:650px){.exam-settings-controls{min-width:0;width:100%;grid-template-columns:1fr}.exam-mark-fields{grid-column:auto}.exam-preset-note,.exam-settings-controls>#examSettingsSaved{grid-column:auto}.exam-settings-block{display:grid;gap:14px}}
/* Settings accordions: centered, touch-friendly preference panels. */
.settings-page{width:min(100%,820px);margin:0 auto;display:grid;gap:12px}.settings-page-heading{width:min(100%,820px);margin:0 auto 20px}.settings-accordion{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow)}.settings-accordion>summary{min-height:76px;display:flex;align-items:center;gap:14px;padding:14px 19px;list-style:none;cursor:pointer;user-select:none}.settings-accordion>summary::-webkit-details-marker{display:none}.settings-accordion>summary:focus-visible{outline:2px solid #6aa887;outline-offset:-3px}.settings-accordion-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:rgba(74,147,111,.13);color:var(--green);font-size:18px}.settings-accordion-copy{display:grid;gap:4px;min-width:0;flex:1}.settings-accordion-copy b{font:700 13px Manrope,sans-serif;color:var(--ink)}.settings-accordion-copy small{color:var(--muted);font-size:10px;line-height:1.45}.settings-chevron{width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:19px;transition:transform .18s ease}.settings-accordion[open]>summary{border-bottom:1px solid var(--line)}.settings-accordion[open] .settings-chevron{transform:rotate(180deg)}.settings-accordion-body{padding:18px 20px 20px}.settings-control-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}.settings-control-row+.settings-control-row{border-top:1px solid var(--line)}.settings-control-row h2{margin:0 0 5px;font:700 12px Manrope,sans-serif;color:var(--ink)}.settings-control-row p,.exam-settings-intro{max-width:470px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.daily-goal-setting{display:flex;align-items:center;gap:9px}.daily-goal-setting input{width:90px;height:38px;margin:0}.daily-goal-setting span{color:var(--muted);font-size:10px}.settings-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px 0 0}.settings-status{color:var(--muted);font-size:10px}.exam-settings-intro{margin:0 0 14px}.exam-settings-block{width:100%}.exam-settings-controls{width:100%;min-width:0}.account-settings-card{align-items:stretch;flex-direction:column;gap:20px;margin:0;padding:0;box-shadow:none;border:0;background:transparent}.account-settings-card .account-devices,.account-settings-card .password-change{width:100%}.account-settings-card #signoutSettings{align-self:flex-start}.settings-accordion .password-change-fields input{margin-top:0}.settings-accordion .password-change-fields{gap:8px}.settings-accordion .account-devices{flex:auto}.settings-accordion .account-devices h3,.settings-accordion .password-change h3{margin:0 0 10px}
@media(max-width:650px){.settings-page{gap:9px}.settings-accordion>summary{min-height:68px;padding:12px}.settings-accordion-body{padding:14px 13px 16px}.settings-control-row{align-items:flex-start;gap:13px;flex-direction:column}.settings-control-row>.timer-switch{align-self:flex-end}.daily-goal-setting{width:100%;flex-wrap:wrap}.daily-goal-setting input{flex:1;min-width:90px}.daily-goal-setting .button{margin-left:auto}.settings-actions{align-items:stretch;flex-direction:column}.settings-actions .button{width:100%}.account-settings-card #signoutSettings{width:100%}.settings-page-heading{margin-bottom:15px}}
.custom-module-card.has-progress{border-color:rgba(79,153,116,.42)}.custom-module-progress{display:block;margin-top:6px;color:#73b78e!important;font-weight:700}.custom-module-card.has-progress>.button{min-width:144px}.custom-module-card.has-progress>.button.primary{height:39px;padding:0 12px;background:#39836b;color:#fff;font-size:10px}@media(max-width:640px){.custom-module-card.has-progress>.button{grid-column:2/4;grid-row:2;width:100%}}
.mode-choice-dialog .mode-choice-button{display:grid;gap:5px;height:auto;min-height:68px;padding:12px 15px;text-align:left;margin:0 0 10px}.mode-choice-dialog .mode-choice-button b{font-size:13px}.mode-choice-dialog .mode-choice-button small{font-size:10px;line-height:1.45;opacity:.82}.mode-choice-dialog>p{margin-bottom:14px}.attempt-mode-select{display:grid;gap:7px;margin:12px 0;color:var(--muted);font-size:11px;font-weight:700}.attempt-mode-select select{width:100%;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.quiz-tool-row .exam-time-remaining{display:flex;align-items:center;justify-content:center;min-height:36px;margin:0 0 0 auto;padding:0 11px;border-color:rgba(224,175,72,.42);border-radius:10px;font-size:calc(12px * var(--text-scale,1));letter-spacing:.04em;white-space:nowrap}
.quiz-tool-row .exam-time-remaining.hidden{display:none}
.mode-choice-dialog .mode-choice-button b{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mode-choice-duration{padding:4px 8px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.09);font-size:10px;white-space:nowrap}
.attempt-choice-dialog>p{line-height:1.6}.attempt-restart-label{margin:17px 0 8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attempt-restart-mode{display:grid;gap:4px;height:auto;min-height:58px;margin:0 0 8px;padding:10px 13px;text-align:left}.attempt-restart-mode b{font-size:11px}.attempt-restart-mode small{color:var(--muted);font-size:10px;line-height:1.4}.attempt-restart-mode[data-mode="restart-exam"]{border-color:rgba(77,149,113,.36);background:rgba(71,151,109,.09)}
.custom-module-card{grid-template-columns:42px minmax(0,1fr) auto auto auto}.custom-module-card.is-completed{border-color:rgba(82,169,124,.28)}.custom-module-card.is-completed .custom-module-card-icon{background:rgba(71,151,109,.14);color:#65b58a}.custom-module-progress{color:#7dbf98!important}.share-module-dialog{width:min(100%,540px)}.share-module-code-label{display:block;margin:0 0 7px;color:var(--muted);font-size:11px;font-weight:700}.share-module-code{display:grid;place-items:center;min-height:76px;margin-bottom:16px;border:1px solid rgba(100,166,206,.28);border-radius:13px;background:rgba(96,157,194,.1);color:var(--ink);font:800 34px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.2em}.share-module-link-row{display:flex;gap:8px}.share-module-link-row input{min-width:0;flex:1;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);font-size:10px}.share-module-link-row .button{flex:none;min-height:40px;padding-inline:12px;font-size:10px}.share-module-actions{justify-content:space-between;margin-top:12px}.share-module-actions .button{min-width:130px}
@media(max-width:640px){.custom-module-card{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:12px}.custom-module-card>.button:nth-last-child(2){grid-column:2/4;grid-row:2;width:100%}.custom-module-card>.button:last-child{grid-column:2/4;grid-row:3;width:100%}.share-module-dialog{max-height:calc(100dvh - 24px)}.share-module-link-row{align-items:stretch}.share-module-link-row .button{padding-inline:9px}.share-module-code{min-height:68px;font-size:30px}}
.mode-choice-dialog .mode-choice-button{width:100%;min-width:0;min-height:76px;padding:14px 16px;gap:7px;border-radius:12px;white-space:normal}
.mode-choice-dialog .mode-choice-button b{min-width:0;font-size:15px;line-height:1.3}
.mode-choice-dialog .mode-choice-button small{display:block;max-width:100%;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.mode-choice-dialog .mode-choice-button .mode-choice-duration{float:none;flex:none;margin:0;padding:5px 9px;font-size:11px;line-height:1.2;letter-spacing:0;border-color:rgba(255,255,255,.22);border-radius:999px}
.mode-choice-dialog>small{display:block;margin-top:2px;font-size:11px;line-height:1.5}
@media(max-width:500px){.mode-choice-dialog .mode-choice-button{padding:13px 12px}.mode-choice-dialog .mode-choice-button b{font-size:14px}.mode-choice-dialog .mode-choice-button small{font-size:11px}.mode-choice-dialog .mode-choice-button .mode-choice-duration{font-size:10px;padding:5px 7px}}
body[data-theme="dark"] .quiz-tool-row .exam-time-remaining{background:rgba(204,153,45,.14);color:#f0c96a}
@media(max-width:600px){.quiz-tool-row .exam-time-remaining{min-height:34px;padding:0 8px;font-size:calc(11px * var(--text-scale,1))}.quiz-fullscreen-button{margin-left:0}}

/* Calm, centered confirmation shown after an exam reaches its total time limit. */
.exam-timeup-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(19,31,26,.56);backdrop-filter:blur(7px);animation:exam-timeup-fade .18s ease-out}.exam-timeup-card{width:min(100%,420px);padding:34px 32px 30px;border:1px solid rgba(255,255,255,.76);border-radius:22px;background:linear-gradient(155deg,#fff 0%,#f7faf7 100%);box-shadow:0 28px 90px rgba(10,28,18,.27);text-align:center;animation:exam-timeup-rise .22s ease-out}.exam-timeup-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:18px;background:#e7f2e9;color:#477b55;font-size:25px;font-weight:800}.exam-timeup-eyebrow{color:#54815f;font-size:10px;font-weight:800;letter-spacing:.15em}.exam-timeup-card h2{margin:9px 0 8px;color:#17251c;font:800 27px/1.2 Manrope,sans-serif;letter-spacing:-.03em}.exam-timeup-card p{margin:0 auto 23px;max-width:310px;color:#66736a;font-size:14px;line-height:1.65}.exam-timeup-card .button{min-width:190px;min-height:46px;justify-content:center}@keyframes exam-timeup-fade{from{opacity:0}to{opacity:1}}@keyframes exam-timeup-rise{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.exam-timeup-card{padding:29px 22px 24px;border-radius:19px}}

/* Custom module question navigator status colors. */
.question-jump.answered.correct,.question-jump.selected-answer{border-color:#35aa70;background:#174e36;color:#c8f2d8}.question-jump.answered.wrong{border-color:#d45d5d;background:#572b32;color:#ffd0d0}.question-jump.answered.bookmarked{border-color:#4d9bea;background:#183f68;color:#c9e5ff}.question-jump.answered.skipped{border-color:#d5a32a;background:#6b5115;color:#ffe39a}.question-jump.current{outline:2px solid #438de8;outline-offset:1px}
.custom-image-only{margin:4px 0 12px}.custom-image-only small{display:block;margin-top:3px;color:var(--muted);font-weight:500}

.module-redeem-form{display:flex;align-items:end;gap:10px;margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.module-redeem-form label{display:grid;gap:6px;max-width:300px;flex:1;color:var(--ink);font-size:11px;font-weight:700}.module-redeem-form input{height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.12em}.custom-module-card .button.soft{min-height:38px}@media(max-width:560px){.module-redeem-form{align-items:stretch;flex-direction:column}.module-redeem-form label{max-width:none}}
.section-help-dialog{width:min(100%,480px);padding:27px}.section-help-mark{width:46px;height:46px;display:grid;place-items:center;margin-bottom:16px;border:1px solid rgba(79,153,116,.28);border-radius:14px;background:rgba(71,151,109,.12);color:var(--green);font-size:23px}.section-help-dialog>.eyebrow{margin-bottom:5px;font-size:9px;letter-spacing:.12em}.section-help-dialog h2{margin:3px 0 10px;font-size:calc(21px * var(--text-scale,1))}.section-help-dialog>p{margin:0 0 14px;color:var(--muted);font-size:calc(12px * var(--text-scale,1));line-height:1.65}.section-help-dialog>p b{color:var(--ink)}.section-help-tip{display:grid;gap:5px;margin:0 0 16px;padding:12px 14px;border:1px solid rgba(79,153,116,.24);border-radius:11px;background:rgba(71,151,109,.07)}.section-help-tip b{color:var(--green);font-size:11px}.section-help-tip span{color:var(--muted);font-size:11px;line-height:1.5}.section-help-snooze{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--muted);font-size:11px;cursor:pointer}.section-help-snooze input{width:16px;height:16px;margin:0;accent-color:#4c9a76}.section-help-dialog>#sectionHelpDone{min-height:43px}.section-help-backdrop{z-index:50}body[data-theme="dark"] .section-help-dialog{background:var(--paper)}@media(max-width:520px){.section-help-dialog{padding:23px 19px;border-radius:16px}.section-help-dialog h2{font-size:19px}}
/* Unified dark palette: deep teal charcoal surfaces, cool readable text, and restrained mint accents. */
body[data-theme="dark"]{--ink:#e6f0ef;--muted:#a2b5b4;--line:#30454a;--paper:#172329;--canvas:#10181d;--green:#80d2b8;--green-dark:#69c3a6;--mint:#203b37;--coral:#f09b84;--gold:#e3bd72;--shadow:0 16px 42px rgba(0,0,0,.30);color-scheme:dark;background:radial-gradient(ellipse at 14% 0%,rgba(32,83,78,.28),transparent 38%),radial-gradient(ellipse at 90% 12%,rgba(49,61,87,.20),transparent 34%),#10181d!important;color:var(--ink)}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .test-item,body[data-theme="dark"] .test-card,body[data-theme="dark"] .bank-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .level-summary,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog,body[data-theme="dark"] .custom-module-dialog,body[data-theme="dark"] .settings-accordion,body[data-theme="dark"] .progress-bank,body[data-theme="dark"] .progress-topic{background:#172329!important;border-color:#30454a!important;color:var(--ink)}
body[data-theme="dark"] .topbar{background:rgba(20,32,37,.94)!important}body[data-theme="dark"] .nav-item{color:#b0c1c0}body[data-theme="dark"] .nav-item:hover{background:#203238;color:#e6f0ef}body[data-theme="dark"] .nav-item.active{background:#21423d;color:#a5e4d0}body[data-theme="dark"] .section-header h1,body[data-theme="dark"] .section-header h2,body[data-theme="dark"] .section-header h3,body[data-theme="dark"] .card-title,body[data-theme="dark"] .recent-name,body[data-theme="dark"] .test-info h4,body[data-theme="dark"] .bank-card-main b,body[data-theme="dark"] .topic-card-main b,body[data-theme="dark"] .choice-dialog h2,body[data-theme="dark"] .settings-accordion-copy b{color:#e6f0ef}body[data-theme="dark"] .section-header p,body[data-theme="dark"] .card p,body[data-theme="dark"] .recent-meta,body[data-theme="dark"] .test-info p,body[data-theme="dark"] .subtle,body[data-theme="dark"] .choice-dialog>p,body[data-theme="dark"] .settings-accordion-copy small{color:#a2b5b4}
body[data-theme="dark"] input,body[data-theme="dark"] select,body[data-theme="dark"] textarea,body[data-theme="dark"] .select,body[data-theme="dark"] .searchbox,body[data-theme="dark"] .global-size-controls,body[data-theme="dark"] .global-size-button{background:#111c21!important;border-color:#3a5156!important;color:#e6f0ef!important}body[data-theme="dark"] input::placeholder,body[data-theme="dark"] textarea::placeholder{color:#829796}body[data-theme="dark"] input:focus,body[data-theme="dark"] select:focus,body[data-theme="dark"] textarea:focus{border-color:#65bfa4!important;box-shadow:0 0 0 3px rgba(101,191,164,.16)}
body[data-theme="dark"] .button.primary{background:#28735f!important;color:#f4fffb!important}body[data-theme="dark"] .button.primary:hover{background:#32876f!important}body[data-theme="dark"] .button.soft,body[data-theme="dark"] .button.start{background:#213b38!important;color:#a9e7d2!important;border:1px solid #34554e}body[data-theme="dark"] .button.soft:hover,body[data-theme="dark"] .button.start:hover{background:#294943!important}body[data-theme="dark"] .link-button,body[data-theme="dark"] .text-button{color:#8ddcc2}
body[data-theme="dark"] .metric-icon,body[data-theme="dark"] .quick-icon,body[data-theme="dark"] .test-symbol,body[data-theme="dark"] .recent-symbol,body[data-theme="dark"] .topic-card-icon,body[data-theme="dark"] .bank-card-icon,body[data-theme="dark"] .custom-module-card-icon{background:#203b37!important;color:#9ce1cb!important}body[data-theme="dark"] .bank-strip{background:linear-gradient(120deg,#17483f,#1d5a51)!important;color:#f1fbf8}body[data-theme="dark"] .bank-strip p{color:#c2ddd5}body[data-theme="dark"] .bank-strip .button{background:#d8f0e8!important;color:#17483f!important}
body[data-theme="dark"] .option,body[data-theme="dark"] .review-option{background:#1b2a30!important;border-color:#354b50!important;color:#dce9e7!important}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#24413d!important;border-color:#66b69b!important;color:#effaf6!important}body[data-theme="dark"] .option.correct,body[data-theme="dark"] .review-option.correct{background:#1e4937!important;border-color:#65bb83!important;color:#d7f6e2!important}body[data-theme="dark"] .option.incorrect,body[data-theme="dark"] .review-option.incorrect{background:#472f31!important;border-color:#c87976!important;color:#ffded9!important}body[data-theme="dark"] .option-label{background:#2a3b40!important;color:#dce9e7!important}body[data-theme="dark"] .answer-panel{background:#1b332d!important;border-color:#3e6557!important}body[data-theme="dark"] .answer-panel h4{color:#9ee0bd}body[data-theme="dark"] .answer-panel p,body[data-theme="dark"] .explanation{color:#cadbd7}body[data-theme="dark"] .question-text{color:#edf5f3}
body[data-theme="dark"] .history-table th,body[data-theme="dark"] .progress-bank>summary,body[data-theme="dark"] .progress-topic>summary{background:#1b2a30!important;color:#dce9e7}body[data-theme="dark"] .history-table td,body[data-theme="dark"] .recent-row,body[data-theme="dark"] .progress-test-row{border-color:#30454a!important}body[data-theme="dark"] .distribution-track,body[data-theme="dark"] .progress-track{background:#2a3b40}body[data-theme="dark"] .distribution-track i{background:#829b92}body[data-theme="dark"] .distribution-row.correct .distribution-track i{background:#62bc91}
body[data-theme="dark"] .offline-card,body[data-theme="dark"] .device-note,body[data-theme="dark"] .settings-accordion-body,body[data-theme="dark"] .section-help-tip,body[data-theme="dark"] .exam-settings-block,body[data-theme="dark"] .custom-topic-bank{background:#142126!important;border-color:#30454a!important;color:#b7c9c7}body[data-theme="dark"] .section-help-tip{background:#1d3531!important;border-color:#36574f!important}body[data-theme="dark"] .section-help-tip b,body[data-theme="dark"] .section-help-mark{color:#9ce1cb}body[data-theme="dark"] .section-help-mark{background:#203b37;border-color:#34554e}body[data-theme="dark"] .section-help-snooze{color:#b7c9c7}body[data-theme="dark"] .modal-backdrop{background:rgba(4,10,13,.76)}body[data-theme="dark"] .modal-close{color:#a8bcba}body[data-theme="dark"] .share-module-code{background:#1b3439;border-color:#34545a;color:#d9f0eb}body[data-theme="dark"] .share-module-link-row input{background:#111c21;color:#dce9e7}
body[data-theme="dark"] .progress-status.focus{background:#493231;color:#ffc0ae}body[data-theme="dark"] .progress-status.revise{background:#453b27;color:#f0d78e}body[data-theme="dark"] .progress-status.good{background:#204336;color:#a6e3bd}body[data-theme="dark"] .progress-status.neutral{background:#29383e;color:#c1d0d2}body[data-theme="dark"] .form-error,body[data-theme="dark"] .custom-module-form-error{color:#ff9c91}
body[data-theme="dark"] .daily-grid line{stroke:rgba(157,185,178,.17)}body[data-theme="dark"] .daily-grid text,body[data-theme="dark"] .daily-day-label{fill:#9eb1ad}body[data-theme="dark"] .answered-line{stroke:#83aeb1}body[data-theme="dark"] .correct-line{stroke:#75d0ae}body[data-theme="dark"] .answered-point{fill:#83aeb1}body[data-theme="dark"] .correct-point{fill:#75d0ae}body[data-theme="dark"] .legend-answered{background:#83aeb1}body[data-theme="dark"] .legend-correct{background:#75d0ae}body[data-theme="dark"] .daily-area-gradient stop{stop-color:#83aeb1}body[data-theme="dark"] .daily-goal-summary .streak,body[data-theme="dark"] .streak-badge{color:#e3bd72!important}
body[data-theme="dark"] #dailyArea stop{stop-color:#83aeb1!important}body[data-theme="dark"] .study-streak{color:#e3bd72!important}
/* Dark navy, blue, and white palette. Keep semantic answer colors distinct. */
body[data-theme="dark"]{--ink:#eef3fb;--muted:#a9b8cd;--line:#34455f;--paper:#182337;--canvas:#0e1624;--green:#78b5ff;--green-dark:#5a9ded;--mint:#243a59;--coral:#f09b91;--gold:#e7c47b;--shadow:0 16px 42px rgba(0,0,0,.34);background:radial-gradient(ellipse at 14% 0%,rgba(39,83,145,.30),transparent 38%),radial-gradient(ellipse at 90% 12%,rgba(74,91,130,.20),transparent 34%),#0e1624!important;color:var(--ink)}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .card,body[data-theme="dark"] .metric-card,body[data-theme="dark"] .test-item,body[data-theme="dark"] .test-card,body[data-theme="dark"] .bank-card,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .question-card,body[data-theme="dark"] .level-summary,body[data-theme="dark"] .history-table,body[data-theme="dark"] .answer-panel,body[data-theme="dark"] .choice-dialog,body[data-theme="dark"] .custom-module-dialog,body[data-theme="dark"] .settings-accordion,body[data-theme="dark"] .progress-bank,body[data-theme="dark"] .progress-topic{background:#182337!important;border-color:#34455f!important;color:var(--ink)}
body[data-theme="dark"] .topbar{background:rgba(18,29,47,.96)!important}body[data-theme="dark"] .nav-item{color:#b7c5d9}body[data-theme="dark"] .nav-item:hover{background:#23344e;color:#eef3fb}body[data-theme="dark"] .nav-item.active{background:#263f65;color:#b8d8ff}body[data-theme="dark"] .section-header h1,body[data-theme="dark"] .section-header h2,body[data-theme="dark"] .section-header h3,body[data-theme="dark"] .card-title,body[data-theme="dark"] .recent-name,body[data-theme="dark"] .test-info h4,body[data-theme="dark"] .bank-card-main b,body[data-theme="dark"] .topic-card-main b,body[data-theme="dark"] .choice-dialog h2,body[data-theme="dark"] .settings-accordion-copy b{color:#eef3fb}body[data-theme="dark"] .section-header p,body[data-theme="dark"] .card p,body[data-theme="dark"] .recent-meta,body[data-theme="dark"] .test-info p,body[data-theme="dark"] .subtle,body[data-theme="dark"] .choice-dialog>p,body[data-theme="dark"] .settings-accordion-copy small{color:#a9b8cd}
body[data-theme="dark"] input,body[data-theme="dark"] select,body[data-theme="dark"] textarea,body[data-theme="dark"] .select,body[data-theme="dark"] .searchbox,body[data-theme="dark"] .global-size-controls,body[data-theme="dark"] .global-size-button{background:#111b2b!important;border-color:#3a4f6d!important;color:#eef3fb!important}body[data-theme="dark"] input::placeholder,body[data-theme="dark"] textarea::placeholder{color:#8496b0}body[data-theme="dark"] input:focus,body[data-theme="dark"] select:focus,body[data-theme="dark"] textarea:focus{border-color:#69aaff!important;box-shadow:0 0 0 3px rgba(105,170,255,.17)}
body[data-theme="dark"] .button.primary{background:#3479d4!important;color:#fff!important}body[data-theme="dark"] .button.primary:hover{background:#438be8!important}body[data-theme="dark"] .button.soft,body[data-theme="dark"] .button.start{background:#253a58!important;color:#c2ddff!important;border:1px solid #3d5b83}body[data-theme="dark"] .button.soft:hover,body[data-theme="dark"] .button.start:hover{background:#2d466a!important}body[data-theme="dark"] .link-button,body[data-theme="dark"] .text-button{color:#8fc2ff}
body[data-theme="dark"] .metric-icon,body[data-theme="dark"] .quick-icon,body[data-theme="dark"] .test-symbol,body[data-theme="dark"] .recent-symbol,body[data-theme="dark"] .topic-card-icon,body[data-theme="dark"] .bank-card-icon,body[data-theme="dark"] .custom-module-card-icon{background:#243b5b!important;color:#b9d8ff!important}body[data-theme="dark"] .bank-strip{background:linear-gradient(120deg,#1d3e70,#28599a)!important;color:#f5f8ff}body[data-theme="dark"] .bank-strip p{color:#d0def2}body[data-theme="dark"] .bank-strip .button{background:#edf4ff!important;color:#234574!important}
body[data-theme="dark"] .option,body[data-theme="dark"] .review-option{background:#1d2b40!important;border-color:#3a4d69!important;color:#e1e9f5!important}body[data-theme="dark"] .option:hover,body[data-theme="dark"] .option.selected{background:#294369!important;border-color:#70aaff!important;color:#f4f8ff!important}body[data-theme="dark"] .option.correct,body[data-theme="dark"] .review-option.correct{background:#1e4937!important;border-color:#65bb83!important;color:#d7f6e2!important}body[data-theme="dark"] .option.incorrect,body[data-theme="dark"] .review-option.incorrect{background:#472f31!important;border-color:#c87976!important;color:#ffded9!important}body[data-theme="dark"] .option-label{background:#2c3d56!important;color:#e1e9f5!important}body[data-theme="dark"] .answer-panel{background:#1d3150!important;border-color:#38577f!important}body[data-theme="dark"] .answer-panel h4{color:#a8ceff}body[data-theme="dark"] .answer-panel p,body[data-theme="dark"] .explanation{color:#d1dced}body[data-theme="dark"] .question-text{color:#f0f4fb}
body[data-theme="dark"] .history-table th,body[data-theme="dark"] .progress-bank>summary,body[data-theme="dark"] .progress-topic>summary{background:#1d2b40!important;color:#e1e9f5}body[data-theme="dark"] .history-table td,body[data-theme="dark"] .recent-row,body[data-theme="dark"] .progress-test-row{border-color:#34455f!important}body[data-theme="dark"] .distribution-track,body[data-theme="dark"] .progress-track{background:#2b3c53}body[data-theme="dark"] .distribution-track i{background:#8499b6}body[data-theme="dark"] .distribution-row.correct .distribution-track i{background:#62bc91}
body[data-theme="dark"] .offline-card,body[data-theme="dark"] .device-note,body[data-theme="dark"] .settings-accordion-body,body[data-theme="dark"] .section-help-tip,body[data-theme="dark"] .exam-settings-block,body[data-theme="dark"] .custom-topic-bank{background:#141f30!important;border-color:#34455f!important;color:#c0ccde}body[data-theme="dark"] .section-help-tip{background:#1e3150!important;border-color:#3b5880!important}body[data-theme="dark"] .section-help-tip b,body[data-theme="dark"] .section-help-mark{color:#a8ceff}body[data-theme="dark"] .section-help-mark{background:#243b5b;border-color:#3d5b83}body[data-theme="dark"] .section-help-snooze{color:#c0ccde}body[data-theme="dark"] .modal-backdrop{background:rgba(4,8,15,.79)}body[data-theme="dark"] .modal-close{color:#b2c1d6}body[data-theme="dark"] .share-module-code{background:#1e3150;border-color:#3b5880;color:#e5efff}body[data-theme="dark"] .share-module-link-row input{background:#111b2b;color:#e1e9f5}
body[data-theme="dark"] .daily-grid line{stroke:rgba(169,190,220,.17)}body[data-theme="dark"] .daily-grid text,body[data-theme="dark"] .daily-day-label{fill:#a9b8cd}body[data-theme="dark"] .answered-line{stroke:#72adfa}body[data-theme="dark"] .correct-line{stroke:#d9e8ff}body[data-theme="dark"] .answered-point{fill:#72adfa}body[data-theme="dark"] .correct-point{fill:#d9e8ff}body[data-theme="dark"] .legend-answered{background:#72adfa}body[data-theme="dark"] .legend-correct{background:#d9e8ff}body[data-theme="dark"] #dailyArea stop{stop-color:#72adfa!important}body[data-theme="dark"] .study-streak{color:#e7c47b!important}body[data-theme="dark"] .section-help-backdrop .section-help-tip{color:#d1dced}
/* Matching light palette: crisp white surfaces, navy text, and coordinated blue accents. */
body[data-theme="light"]{--ink:#1b2b43;--muted:#65758c;--line:#dce5f0;--paper:#fff;--canvas:#f4f7fb;--green:#2f6fca;--green-dark:#245baa;--mint:#e8f1fc;--coral:#b85e52;--gold:#a77922;--shadow:0 8px 24px rgba(30,55,88,.07);background:#f4f7fb!important;color:#1b2b43;color-scheme:light}
body[data-theme="light"] .sidebar,body[data-theme="light"] .topbar{background:rgba(255,255,255,.96)!important;border-color:#dce5f0!important}body[data-theme="light"] .card,body[data-theme="light"] .metric-card,body[data-theme="light"] .test-item,body[data-theme="light"] .test-card,body[data-theme="light"] .bank-card,body[data-theme="light"] .topic-card,body[data-theme="light"] .question-card,body[data-theme="light"] .level-summary,body[data-theme="light"] .history-table,body[data-theme="light"] .choice-dialog,body[data-theme="light"] .settings-accordion,body[data-theme="light"] .progress-bank,body[data-theme="light"] .progress-topic{background:#fff!important;border-color:#dce5f0!important;color:#1b2b43}body[data-theme="light"] .section-header h1,body[data-theme="light"] .section-header h2,body[data-theme="light"] .section-header h3,body[data-theme="light"] .card-title,body[data-theme="light"] .recent-name,body[data-theme="light"] .test-info h4,body[data-theme="light"] .bank-card-main b,body[data-theme="light"] .topic-card-main b,body[data-theme="light"] .choice-dialog h2,body[data-theme="light"] .settings-accordion-copy b{color:#1b2b43}body[data-theme="light"] .section-header p,body[data-theme="light"] .card p,body[data-theme="light"] .recent-meta,body[data-theme="light"] .test-info p,body[data-theme="light"] .subtle,body[data-theme="light"] .choice-dialog>p,body[data-theme="light"] .settings-accordion-copy small{color:#65758c}
body[data-theme="light"] input,body[data-theme="light"] select,body[data-theme="light"] textarea,body[data-theme="light"] .select,body[data-theme="light"] .searchbox,body[data-theme="light"] .global-size-controls,body[data-theme="light"] .global-size-button{background:#fff!important;border-color:#d1ddec!important;color:#1b2b43!important}body[data-theme="light"] input::placeholder,body[data-theme="light"] textarea::placeholder{color:#8290a4}body[data-theme="light"] input:focus,body[data-theme="light"] select:focus,body[data-theme="light"] textarea:focus{border-color:#5790df!important;box-shadow:0 0 0 3px rgba(70,129,207,.14)}
body[data-theme="light"] .button.primary{background:#2f6fca!important;color:#fff!important}body[data-theme="light"] .button.primary:hover{background:#245baa!important}body[data-theme="light"] .button.soft,body[data-theme="light"] .button.start{background:#e8f1fc!important;color:#285fa8!important;border:1px solid #d1e1f5}body[data-theme="light"] .button.soft:hover,body[data-theme="light"] .button.start:hover{background:#dceafb!important}body[data-theme="light"] .link-button,body[data-theme="light"] .text-button{color:#2f6fca}body[data-theme="light"] .nav-item{color:#60718a}body[data-theme="light"] .nav-item:hover{background:#f0f5fb;color:#1b2b43}body[data-theme="light"] .nav-item.active{background:#e8f1fc;color:#285fa8}
body[data-theme="light"] .metric-icon,body[data-theme="light"] .quick-icon,body[data-theme="light"] .test-symbol,body[data-theme="light"] .recent-symbol,body[data-theme="light"] .topic-card-icon,body[data-theme="light"] .bank-card-icon,body[data-theme="light"] .custom-module-card-icon{background:#e8f1fc!important;color:#2f6fca!important}body[data-theme="light"] .bank-strip{background:linear-gradient(120deg,#264f88,#3478ca)!important;color:#fff}body[data-theme="light"] .bank-strip p{color:#dbe9fb}body[data-theme="light"] .bank-strip .button{background:#fff!important;color:#285fa8!important}body[data-theme="light"] .history-table th,body[data-theme="light"] .progress-bank>summary,body[data-theme="light"] .progress-topic>summary{background:#f2f6fc!important;color:#263750}body[data-theme="light"] .history-table td,body[data-theme="light"] .recent-row,body[data-theme="light"] .progress-test-row{border-color:#e1e8f1!important}
body[data-theme="light"] .option,body[data-theme="light"] .review-option{background:#fff!important;border-color:#d7e0eb!important;color:#263750!important}body[data-theme="light"] .option:hover,body[data-theme="light"] .option.selected{background:#edf4fd!important;border-color:#5790df!important;color:#1d477b!important}body[data-theme="light"] .option.correct,body[data-theme="light"] .review-option.correct{background:#e6f5eb!important;border-color:#6cad80!important;color:#235d36!important}body[data-theme="light"] .option.incorrect,body[data-theme="light"] .review-option.incorrect{background:#fff0ed!important;border-color:#d98b7e!important;color:#8d4038!important}body[data-theme="light"] .option-label{background:#f0f4f9!important;color:#465970!important}body[data-theme="light"] .answer-panel{background:#eff5fc!important;border-color:#d4e2f4!important}body[data-theme="light"] .answer-panel h4{color:#2f6fca}body[data-theme="light"] .answer-panel p,body[data-theme="light"] .explanation{color:#465970}body[data-theme="light"] .question-text{color:#1b2b43}
body[data-theme="light"] .offline-card,body[data-theme="light"] .device-note,body[data-theme="light"] .settings-accordion-body,body[data-theme="light"] .section-help-tip,body[data-theme="light"] .exam-settings-block,body[data-theme="light"] .custom-topic-bank{background:#f8fafd!important;border-color:#dce5f0!important;color:#465970}body[data-theme="light"] .section-help-tip{background:#eff5fc!important;border-color:#d4e2f4!important}body[data-theme="light"] .section-help-tip b,body[data-theme="light"] .section-help-mark{color:#2f6fca}body[data-theme="light"] .section-help-mark{background:#e8f1fc;border-color:#d1e1f5}body[data-theme="light"] .section-help-snooze{color:#465970}body[data-theme="light"] .modal-backdrop{background:rgba(21,38,62,.48)}body[data-theme="light"] .modal-close{color:#687a91}
body[data-theme="light"] .daily-grid line{stroke:rgba(70,97,132,.16)}body[data-theme="light"] .daily-grid text,body[data-theme="light"] .daily-day-label{fill:#72829a}body[data-theme="light"] .answered-line{stroke:#4d8bd8}body[data-theme="light"] .correct-line{stroke:#44a878}body[data-theme="light"] .answered-point{fill:#4d8bd8}body[data-theme="light"] .correct-point{fill:#44a878}body[data-theme="light"] .legend-answered{background:#4d8bd8}body[data-theme="light"] .legend-correct{background:#44a878}body[data-theme="light"] #dailyArea stop{stop-color:#4d8bd8!important}body[data-theme="light"] .study-streak{color:#a77922!important}
/* Light-theme contrast repairs for tinted cards and boxed content. */
body[data-theme="light"] .custom-module-hero .custom-module-copy h2{color:#f3f7ff!important}body[data-theme="light"] .custom-module-hero .custom-module-copy p{color:#d2deed!important}body[data-theme="light"] .custom-module-hero .custom-module-eyebrow{color:#a9d2f3!important}body[data-theme="light"] .custom-module-hero .custom-module-mark{color:#d8ebff;border-color:rgba(180,213,243,.42);background:rgba(67,111,157,.30)}
body[data-theme="light"] .custom-module-card{background:#fff!important;border-color:#d6e0ec!important;box-shadow:0 4px 14px rgba(25,53,89,.06)}body[data-theme="light"] .custom-module-card-main h3,body[data-theme="light"] .custom-module-card-size b{color:#1b2b43!important}body[data-theme="light"] .custom-module-card-main p,body[data-theme="light"] .custom-module-card-size{color:#52647d!important}body[data-theme="light"] .custom-module-card-main small,body[data-theme="light"] .custom-module-progress{color:#286342!important}body[data-theme="light"] .custom-module-card-icon{background:#e8f1fc!important;color:#2f6fca!important}body[data-theme="light"] .custom-module-card.is-completed{border-color:#cfdfd5!important}body[data-theme="light"] .custom-module-empty{background:#fff;color:#52647d}body[data-theme="light"] .custom-module-empty>span{color:#2f6fca}
body[data-theme="light"] .custom-check-card,body[data-theme="light"] .custom-mode-card{background:#fff!important;border-color:#d6e0ec!important;color:#263750!important}body[data-theme="light"] .custom-check-card:has(input:checked),body[data-theme="light"] .custom-mode-card.selected{background:#edf4fd!important;border-color:#79a8e5!important;color:#1d477b!important}body[data-theme="light"] .custom-topic-bank{background:#fff!important;border-color:#d6e0ec!important}body[data-theme="light"] .custom-topic-check{color:#52647d!important}body[data-theme="light"] .custom-topic-check small{color:#65758c!important}body[data-theme="light"] .custom-topic-all{color:#1b2b43!important}body[data-theme="light"] .custom-mode-icon{background:#e8f1fc!important;color:#2f6fca!important}
body[data-theme="light"] .custom-module-preview{background:#eff7f2!important;border-color:#c9dfd1!important}body[data-theme="light"] .custom-module-preview .custom-module-eyebrow{color:#286342!important}body[data-theme="light"] .custom-module-preview b{color:#1b2b43!important}body[data-theme="light"] .custom-module-preview-icon{background:#deeee3!important;color:#286342!important}
/* Question library banner and metadata contrast in the light palette. */
body[data-theme="light"] .bank-strip{background:linear-gradient(120deg,#244f91,#3478ca)!important;color:#fff!important;border-color:#c4d8f3!important}body[data-theme="light"] .bank-strip h3{color:#fff!important}body[data-theme="light"] .bank-strip p{color:#e4efff!important}body[data-theme="light"] .bank-strip .button{background:#fff!important;color:#234f8b!important;border-color:#e3edfb!important}
body[data-theme="light"] .bank-card-main b,body[data-theme="light"] .topic-card-main b{color:#1c2d45!important}body[data-theme="light"] .bank-card-main small,body[data-theme="light"] .topic-card-main small,body[data-theme="light"] .test-info p,body[data-theme="light"] .test-count small{color:#5e6f86!important}body[data-theme="light"] .test-count{color:#344964!important}body[data-theme="light"] .bank-card-arrow{color:#2f6fca!important}
.module-builder-actions{display:flex;flex-wrap:wrap;gap:10px}.custom-module-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:170px}.custom-module-card-actions>.button{min-width:0!important;width:100%}.module-progress-consent{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(79,153,116,.07);color:var(--ink);font-size:10px;font-weight:650;cursor:pointer}.module-progress-consent input{width:16px;height:16px;margin:0;accent-color:#438b68}.participant-progress-list{display:grid;gap:8px}.participant-progress-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface,rgba(255,255,255,.04))}.participant-progress-row>div{display:grid;gap:3px}.participant-progress-row b{color:var(--ink);font-size:12px}.participant-progress-row small,.participant-progress-row>span{color:var(--muted);font-size:10px}.participant-progress-row>span{text-align:right}.question-flag{flex:1 1 190px;min-width:0;color:var(--muted);font-size:calc(11px * var(--text-scale,1))}.question-flag summary{cursor:pointer;padding:10px 0;font-weight:700}.question-flag select{min-height:37px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.question-flag .button{margin-left:6px}.quick-revision-groups{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-revision-groups legend{grid-column:1/-1}.quick-revision-groups .custom-check-card{margin:0}.quick-revision-groups .custom-check-card small{margin-left:auto;color:var(--muted);font-size:9px;white-space:nowrap}.quick-revision-dialog{width:min(100%,670px)}
body[data-theme="dark"] .module-progress-consent,body[data-theme="dark"] .participant-progress-row,body[data-theme="dark"] .quick-revision-groups .custom-check-card{background:#18263a;border-color:#354962;color:#eef4fc}body[data-theme="dark"] .question-flag select{background:#172233;color:#eef4fc;border-color:#40516a}
body[data-theme="light"] .module-progress-consent,body[data-theme="light"] .participant-progress-row,body[data-theme="light"] .quick-revision-groups .custom-check-card{background:#fff;border-color:#d5dfeb;color:#182a3d}body[data-theme="light"] .question-flag select{background:#fff;color:#182a3d;border-color:#cbd6e2}
@media(max-width:640px){.module-builder-actions{display:grid;grid-template-columns:1fr}.custom-module-card-actions{grid-column:2/4;grid-row:3;grid-template-columns:1fr 1fr;width:100%}.custom-module-card-actions>.button:first-child{grid-column:1/-1}.module-progress-consent{grid-column:1/-1}.quick-revision-groups{grid-template-columns:1fr}.quick-revision-groups legend{grid-column:auto}.participant-progress-row{align-items:flex-start;flex-direction:column;gap:5px}.participant-progress-row>span{text-align:left}}
.image-load-box{position:relative;display:grid;place-items:center;width:min(100%,760px);min-height:150px;margin:14px auto;overflow:hidden;border:1.5px dashed #8ca9bf;border-radius:12px;background:rgba(74,132,176,.055);color:var(--ink);transition:border-color .18s,background .18s}.image-load-state{display:grid;justify-items:center;gap:7px;max-width:360px;padding:20px;text-align:center;color:var(--muted);font-size:11px;line-height:1.45}.image-load-state b{color:var(--ink);font-size:12px}.image-load-state small{font-size:10px}.image-load-spinner{width:23px;height:23px;border:2px solid rgba(88,141,184,.25);border-top-color:#4b91c4;border-radius:50%;animation:imageLoadSpin .85s linear infinite}.image-load-box>img{display:none;max-width:min(100%,700px)!important;max-height:420px!important;width:auto;height:auto;margin:0 auto!important;object-fit:contain}.image-load-box.image-loaded{min-height:0;border-style:solid;border-color:rgba(112,148,179,.3);background:transparent}.image-load-box.image-loaded>img{display:block}.image-load-box.image-loaded .image-load-state{display:none}.image-load-box.image-load-slow{border-color:#d2a34e;background:rgba(214,164,67,.08)}.image-load-box.image-load-failed{border-style:solid;border-color:#c87971;background:rgba(197,94,87,.07)}.image-load-error-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid #c87971;border-radius:50%;color:#b44e48;font-weight:800}.image-load-slow .image-load-state small{color:var(--muted)}@keyframes imageLoadSpin{to{transform:rotate(360deg)}}
body[data-theme="dark"] .image-load-box{border-color:#5d7791;background:rgba(77,125,168,.1);color:#e7eff8}body[data-theme="dark"] .image-load-box.image-load-slow{border-color:#bd9450;background:rgba(189,148,80,.12)}body[data-theme="dark"] .image-load-box.image-load-failed{border-color:#b96d69;background:rgba(185,109,105,.12)}body[data-theme="dark"] .image-load-state b{color:#eff5fb}
@media(max-width:600px){.image-load-box{min-height:130px;margin:11px auto;border-radius:10px}.image-load-state{padding:16px}.image-load-box>img{max-height:300px!important}}
.custom-flag-setting{display:flex;align-items:center;gap:8px;width:min(100%,430px)}.custom-flag-setting input{flex:1;min-width:0;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.quick-revision-groups .custom-check-card:has(input:checked){border-color:rgba(82,169,124,.56);background:rgba(67,152,106,.10)}body[data-theme="dark"] .custom-flag-setting input{background:#172233;color:#eef4fc;border-color:#40516a}body[data-theme="light"] .custom-flag-setting input{background:#fff;color:#182a3d;border-color:#cbd6e2}@media(max-width:650px){.custom-flag-setting{width:100%}.custom-flag-setting .button{white-space:nowrap}}
/* Keep the primary module action above the secondary sharing controls. */
.custom-module-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;min-width:210px}.custom-module-card-actions>[data-start-custom-module],.custom-module-card-actions>[data-custom-resume],.custom-module-card-actions>[data-custom-analysis]{grid-column:1/-1;grid-row:1;min-height:47px!important;font-size:14px!important;font-weight:700!important}.custom-module-card-actions>[data-share-custom-module]{grid-column:1;grid-row:2;min-height:47px!important;font-size:14px!important;font-weight:700!important}.custom-module-card-actions>[data-module-participants]{grid-column:2;grid-row:2;min-height:47px!important;font-size:14px!important;font-weight:700!important}.custom-module-card-actions .module-progress-consent{grid-column:1/-1;grid-row:3;min-height:40px;font-size:12px}
@media(max-width:640px){.custom-module-card-actions{grid-column:2/4;grid-row:3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:0}.custom-module-card-actions>[data-start-custom-module],.custom-module-card-actions>[data-custom-resume],.custom-module-card-actions>[data-custom-analysis]{grid-column:1/-1;grid-row:1}.custom-module-card-actions>[data-share-custom-module]{grid-column:1;grid-row:2}.custom-module-card-actions>[data-module-participants]{grid-column:2;grid-row:2}.custom-module-card-actions .module-progress-consent{grid-column:1/-1;grid-row:3}}
.custom-module-card-actions>[data-share-custom-module],.custom-module-card-actions>[data-module-participants]{font-size:12.6px!important}

html.session-checking body.auth-active #authView,html.session-checking body.auth-active #deviceLimitView{display:none!important}html.session-checking body::before{content:'Opening your study space…';position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#173967 0%,#101a2b 58%,#0b1220 100%);color:#f4f8ff;font:600 16px 'DM Sans',sans-serif;letter-spacing:.02em}html.session-checking body::after{content:'';position:fixed;z-index:10001;width:24px;height:24px;left:calc(50% - 12px);top:calc(50% - 48px);border:3px solid #ffffff45;border-top-color:#78aef9;border-radius:50%;animation:session-wait-spin .8s linear infinite}@keyframes session-wait-spin{to{transform:rotate(360deg)}}

/* Final interaction polish: clear keyboard focus, comfortable taps, and respect motion preferences. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #4b91ef!important;outline-offset:3px!important;box-shadow:0 0 0 4px color-mix(in srgb,#4b91ef 18%,transparent)!important}input,select,textarea{scroll-margin-block:1rem}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.62}@media(max-width:820px){body.app-active .nav-item{min-height:48px;justify-content:center;gap:4px;padding:5px 3px}body.app-active .sidebar nav{padding-bottom:env(safe-area-inset-bottom)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.mbbs-year-section{margin:30px 0 38px}.mbbs-year-section>.section-header{margin:0 0 16px}.mbbs-year-section>.section-header h2{margin:0 0 5px}.mbbs-year-section>.section-header p{max-width:760px}.mbbs-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mbbs-year-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.mbbs-year-card h3{margin:0 0 10px;color:var(--ink);font:700 16px Manrope,sans-serif}.mbbs-year-card>div{display:grid;gap:6px}.mbbs-year-card button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:var(--canvas);color:var(--ink);text-align:left;font-size:12px;font-weight:600}.mbbs-year-card button:hover{border-color:#8cb8ed;background:#eaf3ff;color:#245da7}.mbbs-year-card button span{color:#3676c7}@media(max-width:900px){.mbbs-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.mbbs-year-grid{grid-template-columns:1fr}.mbbs-year-card{padding:14px}}body[data-theme=dark] .mbbs-year-card button:hover{background:#20334d;border-color:#416b9d;color:#dcecff}

.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.admin-heading h1{margin:6px 0;font:800 30px Manrope,sans-serif;color:var(--ink)}.admin-heading p,.admin-table-note{margin:0;color:var(--muted);font-size:13px}.admin-security-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #88b4eb;border-radius:999px;background:#edf5ff;color:#245da7;font-size:12px;font-weight:700}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-metrics article{display:grid;gap:8px;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow)}.admin-metrics article span{color:var(--muted);font-size:12px}.admin-metrics article b{color:var(--ink);font:800 25px Manrope,sans-serif}.admin-users{padding:18px}.admin-users .card-head{align-items:center}.admin-user-search{width:min(250px,45%);height:40px;margin:0}.admin-table-wrap{overflow:auto;margin-top:12px}.admin-table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.admin-table-wrap th{padding:10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.admin-table-wrap td{padding:12px 10px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap}.admin-table-wrap td:first-child{white-space:normal}.admin-table-wrap td small{display:block;margin-top:3px;color:var(--muted)}.admin-loading{padding:30px;color:var(--muted)}.admin-error{padding:20px}.admin-login-link{display:block;margin:18px auto 0}@media(max-width:820px){body.app-active .sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr))}.nav-item[data-page=admin]{font-size:9px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-heading{align-items:flex-start;flex-direction:column;gap:10px}.admin-heading h1{font-size:25px}.admin-users{padding:12px}.admin-users .card-head{align-items:stretch;flex-direction:column}.admin-user-search{width:100%}.admin-table-wrap table{min-width:590px}}body[data-theme=dark] .admin-security-badge{background:#1e3148;color:#c5dfff;border-color:#456b99}

.mbbs-topic-year{margin:18px 0 26px}.mbbs-topic-year h2{margin:0 0 12px;color:var(--ink);font:700 18px Manrope,sans-serif}.mbbs-topic-year .topic-grid{margin:0}.mbbs-topic-year .topic-card{width:100%}@media(max-width:600px){.mbbs-topic-year h2{font-size:16px}}

.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-card{display:flex;align-items:center;gap:14px;min-height:92px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:transform .15s,border-color .15s}.course-card:hover{transform:translateY(-2px);border-color:#8cb8ed}.course-card-mark{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:#e9f2ff;color:#2866b5;font-size:21px}.course-card-main{display:grid;gap:5px;min-width:0;flex:1}.course-card-main b{font:750 17px Manrope,sans-serif}.course-card-main small{color:var(--muted);font-size:12px}.course-empty{margin-top:18px;padding:22px}.course-empty h2{margin:0 0 6px;color:var(--ink);font:750 19px Manrope,sans-serif}.course-empty p{margin:0;color:var(--muted)}body[data-theme=dark] .course-card-mark{background:#20334d;color:#c5dfff}.admin-course-checks{display:flex;flex-wrap:wrap;gap:6px;min-width:220px;max-width:380px}.admin-course-checks label{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--canvas);color:var(--ink);font-size:11px;cursor:pointer}.admin-course-checks input{accent-color:#3476cf}.admin-course-checks label:has(input:disabled){opacity:.65;cursor:default}.admin-bank-courses{margin-top:18px}.admin-bank-course-select{min-width:120px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}@media(max-width:620px){.course-grid{grid-template-columns:1fr}.course-card{min-height:78px}}
.course-card:disabled{cursor:not-allowed;opacity:.67;box-shadow:none}.course-card-locked .course-card-mark{background:var(--canvas);color:var(--muted);font-size:17px}.course-card-locked .bank-card-arrow{color:var(--muted);font-size:11px;font-weight:700}body[data-theme=dark] .course-card-locked .course-card-mark{background:#202b3a;color:#9facbd}.sidebar-contact-link{display:flex;align-items:center;gap:10px;min-height:42px;margin:0 0 12px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s}.sidebar-contact-link span:first-child{color:#2584c7;font-size:16px}.sidebar-contact-link span:nth-child(2){flex:1}.sidebar-contact-link:hover{border-color:#83b7e6;background:var(--canvas);color:var(--accent)}
 .admin-create-course-form{display:flex;align-items:center;gap:9px}.admin-create-course-form input{width:min(240px,48vw);height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.admin-create-course-form .button{min-height:40px}.admin-course-create{margin-bottom:18px}
body:not(.admin-user) [data-admin-only]{display:none!important}
/* Keep restricted navigation hidden against responsive .nav-item display rules. */
body.app-active .sidebar .nav-item.hidden,
body:not(.admin-user) .sidebar .nav-item[data-admin-only]{display:none!important}
.hierarchy-browser{max-height:65vh;max-height:65dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px 10px 20px 2px;scrollbar-width:thin;scrollbar-color:var(--muted) var(--canvas)}.hierarchy-browser .hierarchy-topic-section:first-child{margin-top:6px}.hierarchy-browser .topic-grid{align-content:start}@media(max-width:620px){.hierarchy-browser{max-height:62dvh;padding-right:4px}}
.subject-topics>.hierarchy-topic-section{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);margin-bottom:18px}.subject-topics>.hierarchy-topic-section>h2{color:var(--accent);font-size:calc(19px * var(--text-scale,1));margin-bottom:14px}.subject-topics .hierarchy-test-list{display:grid;gap:10px}.subject-topics .depth-1,.subject-topics .depth-2,.subject-topics .depth-3,.subject-topics .depth-4{margin-left:0;padding-left:12px;border-left:2px solid var(--line)}@media(max-width:620px){.subject-topics>.hierarchy-topic-section{padding:12px}.subject-topics .depth-1,.subject-topics .depth-2,.subject-topics .depth-3,.subject-topics .depth-4{padding-left:8px}}

.topic-breadcrumb{gap:9px;font-size:calc(13px * var(--text-scale,1));line-height:1.5}.topic-breadcrumb button{font-size:calc(13px * var(--text-scale,1));font-weight:700;padding:5px 2px}.topic-breadcrumb button:hover{text-decoration:underline}.topic-breadcrumb button:focus-visible{border-radius:4px}
.module-wizard{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.module-wizard .custom-field{margin:10px 0}.builder-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.builder-selected{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;color:var(--muted)}.builder-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:9px;font-size:12px}.builder-chip button{border:0;background:none;color:var(--muted);font-size:18px}.builder-selection{padding:14px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--paper)}.builder-list-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.builder-list-head h3{margin:0;font-size:17px;color:var(--ink)}.builder-list-head button,.builder-presets button{border:1px solid var(--line);border-radius:7px;background:var(--canvas);color:var(--ink);padding:6px 9px}.builder-list-head div{display:flex;gap:6px}.builder-search{width:100%;margin:10px 0!important;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px}.builder-check-list{max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.builder-topics{display:block;max-height:320px}.builder-topics .custom-topic-check{padding:8px}.builder-topics .custom-topic-bank{margin-bottom:14px}.builder-presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.builder-footer{position:sticky;bottom:0;background:var(--paper);z-index:2;padding:14px 0!important;border-top:1px solid var(--line)}.builder-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.builder-review-grid>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink)}.builder-review-grid small,.builder-attempt-note{color:var(--muted)}.builder-review-grid b{overflow-wrap:anywhere}.module-wizard .custom-field small{color:var(--muted)}@media(max-width:620px){.builder-route,.builder-check-list,.builder-review-grid{grid-template-columns:1fr}.module-wizard{width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}.builder-footer{flex-wrap:wrap}.builder-list-head h3{font-size:15px}}

.builder-route{grid-template-columns:1fr}.builder-route>.builder-selection{margin:0}.builder-source{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}.module-wizard .builder-check-list .custom-topic-check{padding:9px;border:1px solid var(--line);border-radius:9px}.module-wizard .custom-topic-check span{white-space:normal}.module-wizard .builder-topics{min-height:70px}

.question-media-player{display:block;width:100%;max-width:760px;margin:16px 0 6px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}video.question-media-player{max-height:480px;object-fit:contain;background:#101827}audio.question-media-player{height:54px}.question-media-link{display:inline-block;margin:0 0 16px;color:var(--accent,#357cdb);font-size:13px}

.subscription-controls{display:flex;flex-wrap:wrap;gap:8px;min-width:240px;margin:10px 0}.subscription-controls input,.subscription-controls select{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);max-width:210px}.subscription-controls small{width:100%;color:var(--muted)}

.admin-account-bar>summary,.admin-user-detail>summary{cursor:pointer;padding:16px;font-size:16px;font-weight:700;color:var(--ink)}.admin-user-detail{border:1px solid var(--line);border-radius:12px;background:var(--paper);margin:9px 0}.admin-account-list{max-height:70vh;overflow:auto;padding:8px}.admin-account-search{display:flex;gap:12px;flex-wrap:wrap;padding:12px}.admin-activity{padding:0 16px;color:var(--muted)}.admin-course-scroll{max-height:180px;overflow:auto;padding:7px}.admin-course-search{padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);margin:8px 0;width:min(100%,260px)}

.notification-holder{position:relative}#notificationToggle{position:relative;font-size:22px;min-width:44px}.notification-badge{position:absolute;right:-5px;top:-6px;background:#dc4545;color:white;border-radius:12px;padding:2px 5px;font-size:11px}.notification-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(380px,calc(100vw - 28px));max-height:70vh;overflow:auto;z-index:100;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 12px 40px #0003}.notification-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0}.notification-head button{border:0;background:none;color:var(--ink);cursor:pointer}.notification-item{padding:16px;border-bottom:1px solid var(--line)}.notification-item.unread{border-left:3px solid #397ce5}.notification-item p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.notification-item small{color:var(--muted)}#adminAnnouncement textarea{width:100%;min-height:110px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px}@media(max-width:600px){.notification-panel{position:fixed;top:80px;right:14px}}

.option .image-load-box,.review-option .image-load-box{min-width:0;width:100%}.option .image-load-box.image-loaded>img,.review-option .image-load-box.image-loaded>img,.answer-panel .image-load-box.image-loaded>img{display:block!important;visibility:visible!important;opacity:1!important}

.telegram-code-row{display:flex;gap:10px;align-items:center}.telegram-code-row input{min-width:0;flex:1}.telegram-code-row button{flex-shrink:0;white-space:nowrap}#telegramSignupFields label{display:block;margin-bottom:12px}#telegramSignupStatus{font-size:12px;line-height:1.5;color:var(--muted)}

/* Stable attempt selection and launch, with room for multi-line mode descriptions. */
#attemptChoice{z-index:220;overscroll-behavior:contain}#attemptChoice .choice-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:28px;border-radius:20px;background:var(--paper);color:var(--ink)}#attemptChoice h2{padding-right:30px;font-size:23px;line-height:1.35;overflow-wrap:anywhere}#attemptChoice .mode-choice-button,#attemptChoice .attempt-restart-mode{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;height:auto!important;min-height:82px;padding:16px 18px;text-align:left;white-space:normal;border-radius:12px}#attemptChoice .mode-choice-button b,#attemptChoice .attempt-restart-mode b{font-size:15px;line-height:1.4}#attemptChoice .mode-choice-button small,#attemptChoice .attempt-restart-mode small{font-size:12px;line-height:1.6;opacity:.85}#attemptChoice [data-mode=continue]{min-height:50px;height:auto;padding:14px;white-space:normal}#attemptChoice .modal-close{min-height:40px;min-width:40px;right:12px;top:10px}#attemptChoice [data-launch-status]{padding:12px 14px;margin:12px 0 0;border-radius:10px;background:var(--canvas);color:var(--ink);font-size:13px;line-height:1.5}#attemptChoice[aria-busy=true]{cursor:progress}body:has(#attemptChoice){overflow:hidden!important}@media(max-width:600px){#attemptChoice .choice-dialog{padding:24px 20px}#attemptChoice h2{font-size:21px}}

#questionLaunchOverlay{z-index:221}#questionLaunchOverlay .choice-dialog{background:var(--paper);color:var(--ink);padding:28px;border-radius:18px}#questionLaunchOverlay .image-load-spinner{margin-bottom:16px}body:has(#questionLaunchOverlay){overflow:hidden!important}

.polished-analysis{width:min(100%,1040px);margin:0 auto}.polished-analysis .results-heading{position:relative;padding-bottom:12px}.polished-analysis .results-heading h1{font-size:32px;letter-spacing:-1px;margin:8px 0}.polished-analysis .results-heading p{color:var(--muted);line-height:1.6}.analysis-complete{display:inline-block;padding:6px 10px;border-radius:20px;font-size:11px;background:#30987b17;color:#30987b}.polished-analysis .results-score{padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(125deg,#3977d512,transparent),var(--paper);border-radius:20px}.polished-analysis .score-copy>span{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700}.polished-analysis .score-copy>b{font-size:48px;line-height:1.3;display:block;color:var(--ink)}.polished-analysis .score-copy>b small{font-size:21px;color:var(--muted)}.polished-analysis .score-copy p{font-size:12px;color:var(--muted)}.polished-analysis .score-medallion{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 112px;width:112px;height:112px;border:7px solid #3977d536;border-radius:50%;background:var(--paper);color:var(--ink)}.polished-analysis .score-medallion strong{font-size:25px}.polished-analysis .score-medallion small{font-size:10px;color:var(--muted);margin-top:5px}.polished-analysis .result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.polished-analysis .result-metric{padding:19px;border-radius:14px;display:grid;gap:8px;min-width:0}.polished-analysis .result-metric b{font-size:29px;color:var(--ink)}.polished-analysis .result-metric span,.polished-analysis .result-metric small{font-size:12px;color:var(--muted)}.polished-analysis .metric-correct b{color:#36a283}.polished-analysis .metric-wrong b{color:#d57a78}.analysis-breakdown{padding:22px;border-radius:16px}.analysis-breakdown>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.analysis-breakdown h2,.analysis-next h2{font-size:17px;margin:0}.analysis-breakdown span,.analysis-next p{font-size:12px;color:var(--muted)}.analysis-distribution{height:10px;border-radius:10px;display:flex;overflow:hidden;gap:3px;margin:18px 0 12px;background:var(--canvas)}.analysis-distribution i.correct{background:#36a283}.analysis-distribution i.wrong{background:#d57a78}.analysis-distribution i.skipped{background:#d5ae61}.analysis-distribution i.remaining{background:#7d8ba3}.analysis-breakdown p{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:0}.polished-analysis .peer-result{margin-top:16px;padding:22px;gap:18px;border-radius:16px}.polished-analysis .peer-result h2{font-size:21px;margin:8px 0}.polished-analysis .peer-result p{font-size:12px;line-height:1.6;color:var(--muted)}.polished-analysis .peer-result span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.analysis-next{margin-top:26px}.polished-analysis .analysis-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.polished-analysis .analysis-actions button{min-height:48px;white-space:normal;line-height:1.5}@media(max-width:600px){.polished-analysis .results-score{padding:22px 17px}.polished-analysis .score-copy>b{font-size:36px}.polished-analysis .score-copy p{max-width:180px;line-height:1.6}.polished-analysis .score-medallion{width:90px;height:90px;flex-basis:90px;border-width:5px}.polished-analysis .result-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.polished-analysis .result-metric{padding:15px}.polished-analysis .analysis-actions{grid-template-columns:1fr}.polished-analysis .peer-result{padding:18px}.polished-analysis .peer-result h2{font-size:19px}.analysis-breakdown>div:first-child{flex-wrap:wrap}}

/* Keep QBank and answer-review content inside the vertical page scroll. */
.quiz-shell,.review-shell,.question-card,.answer-panel{min-width:0;max-width:100%;box-sizing:border-box}
.question-card,.answer-panel{overflow-x:hidden;overflow-wrap:anywhere}
.question-card .question-text,.question-card .option-list,.question-card .explanation{min-width:0;max-width:100%;overflow-wrap:anywhere}
.question-card .option-list>*,.question-card .option-list>*>span{min-width:0;overflow-wrap:anywhere}
.question-card img,.answer-panel img{max-width:100%!important;height:auto!important}
.question-card table,.answer-panel table{max-width:100%!important;width:100%!important;table-layout:fixed}
.question-card td,.question-card th,.answer-panel td,.answer-panel th{overflow-wrap:anywhere}
.question-card pre,.answer-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}

/* A compact, factual introduction on the sign-in screen. */
.auth-feature-intro{position:relative;z-index:1;margin-top:22px;max-width:430px}.auth-feature-list{list-style:none;padding:0;margin:0;display:grid;gap:18px}.auth-feature-list li{display:flex;align-items:flex-start;gap:14px;min-width:0}.auth-feature-list li>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #ffffff35;border-radius:8px;color:#e8ce9b;font-size:10px;font-weight:700}.auth-feature-list b{font-size:13px;line-height:1.4;font-weight:600}.auth-brand .auth-feature-list p{font-size:12px;line-height:1.6;margin:4px 0 0;max-width:360px;color:#e1eaf0}.auth-brand .auth-feature-access{font-size:11px;line-height:1.7;color:#d3dfe9;margin:20px 0 0}.auth-feature-mobile{display:none}.auth-support-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.auth-support-footer a{color:var(--ink);text-decoration:none;font-weight:600}.auth-support-footer a:hover{text-decoration:underline}.auth-feature-mobile summary{cursor:pointer;font-size:12px;font-weight:600;line-height:1.6}.auth-feature-mobile .auth-feature-list{margin-top:18px;gap:15px}.auth-feature-mobile .auth-feature-list li>span{border-color:var(--line);color:var(--muted)}.auth-feature-mobile .auth-feature-list p,.auth-feature-mobile>p{font-size:11px;color:var(--muted);line-height:1.7;margin:4px 0 0}.auth-feature-mobile>p{margin-top:16px}.auth-feature-mobile .auth-feature-list b{font-size:12px}
@media(max-width:1400px){body.auth-active .auth-feature-mobile{display:block;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}body.auth-active .auth-support-footer{font-size:10px}body.auth-active .auth-feature-mobile[open]{padding-bottom:4px}}
