:root{--bg:#f4f7fc;--surface:#fff;--ink:#172c4b;--muted:#687a95;--line:#e4eaf3;--blue:#2162ca;--navy:#112c55;--soft:#edf3fe;--success:#168552;--successbg:#e7f8ee;--danger:#d3474b;--dangerbg:#fff0f0;--warn:#b46b18;--warnbg:#fff7e9;--radius:17px;--shadow:0 7px 28px rgba(19,44,85,.045);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-synthesis:none;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.52;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #89aeec;outline-offset:3px}svg{display:inline-block;vertical-align:middle;width:20px;height:20px;flex-shrink:0}[data-i] svg{stroke-width:1.8}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(27px,2.4vw,38px);letter-spacing:-.038em;line-height:1.16;margin-bottom:12px}h2{font-size:23px;letter-spacing:-.027em;line-height:1.24;margin-bottom:12px}h3{font-size:17px;letter-spacing:-.018em;margin-bottom:8px}p{margin-bottom:13px}.muted{color:var(--muted)}.small{font-size:12px}.semibold{font-weight:700}.mono{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-root{min-height:100vh}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:18px;box-shadow:0 2px 9px rgba(24,48,88,.025)}.brand{display:flex;align-items:center;gap:12px;min-width:233px;color:var(--navy);text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;color:var(--blue);background:#e6efff}.brand-mark svg{height:33px;width:33px}.brand-title{font-size:25px;font-weight:850;letter-spacing:-1.5px;line-height:.93;display:block}.brand-plus{color:#22a88b}.brand-title small{font-size:10px;font-weight:600;letter-spacing:.02em;color:#71829a;display:block;margin-top:8px}.top-center{display:flex;gap:18px;align-items:center;color:#71809a;font-size:12px;font-weight:600}.top-status{display:flex;align-items:center;gap:9px}.live-dot{height:8px;width:8px;background:#26bb8f;border-radius:50%;box-shadow:0 0 0 4px #d6f4e9}.divider-v{background:#e0e8f4;width:1px;height:16px}.top-actions{display:flex;gap:9px}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:calc(100vh - 75px)}.sidebar{background:#fff;border-right:1px solid var(--line);position:sticky;top:75px;height:calc(100vh - 75px);display:flex;flex-direction:column;padding:29px 13px 18px;overflow-y:auto}.side-section-label{padding:0 17px;color:#98a5b9;font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:12px}.side-section-label.spacing-top{margin-top:28px}.side-nav{display:grid;gap:4px}.side-link{border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border-radius:10px;color:#657693;font-weight:670;transition:.18s;min-height:42px}.side-link svg{width:18px;height:18px}.side-link:hover{background:#f2f6fc;color:var(--navy)}.side-link.active{background:var(--soft);color:var(--blue);font-weight:800}.nav-number{margin-left:auto;background:#f0f4fb;border-radius:6px;font-size:11px;padding:2px 6px;color:#6d7c95}.subject-dot{width:9px;height:9px;border-radius:4px;flex-shrink:0;background:var(--subject-color,#2162ca)}.side-helper{margin:32px 6px 0;padding:18px 17px;background:linear-gradient(145deg,#143e80,#1f65b8);border-radius:15px;color:white}.helper-illustration{display:inline-grid;place-items:center;width:36px;height:36px;background:#ffffff2d;border-radius:10px;margin-bottom:11px}.helper-illustration svg{width:22px;height:22px}.side-helper strong{display:block;font-size:14px}.side-helper p{color:#d6e6ff;font-size:12px;margin:7px 0 13px}.sidebar-footer{margin-top:auto;padding:26px 7px 0;color:#9cabc0;display:flex;align-items:center;gap:5px;font-size:10px}.sidebar-footer svg{width:15px;height:15px}.main-area{min-width:0}.content-frame{width:min(100%,1680px);padding:28px 39px 45px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:10px;color:#8695ad;font-size:12px;font-weight:600;margin-bottom:25px}.breadcrumb svg{height:15px;width:15px}.crumb-chevron{color:#b7c4d3}.mobile-nav{display:none}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#5376b2;font-weight:900}.hero{background:linear-gradient(115deg,#0f2c56 0%,#154885 62%,#206fb3 100%);color:#fff;border-radius:21px;position:relative;overflow:hidden;padding:34px 37px;display:flex;justify-content:space-between;gap:25px;min-height:234px}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:380px;height:380px;right:-80px;top:-245px;pointer-events:none}.hero:after{height:250px;width:250px;right:112px;top:115px}.hero-copy{position:relative;z-index:2;max-width:740px}.hero h1{color:white;margin:11px 0 12px}.hero p{color:#cbdcf4;font-size:14px;max-width:620px}.hero .eyebrow{color:#99dfdd}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.hero-art{position:relative;z-index:1;align-self:center;flex:0 0 190px;text-align:center}.hero-art svg{height:160px;width:160px;filter:drop-shadow(0 16px 25px rgba(0,0,0,.13))}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;min-height:38px;border:1px solid transparent;font-weight:780;padding:9px 15px;background:#eff4fa;color:#1d4b87;transition:background .17s,border-color .17s,transform .17s;text-decoration:none;white-space:nowrap}.button:hover{text-decoration:none;filter:brightness(.975)}.button:active{transform:translateY(1px)}.button svg{width:16px;height:16px}.button.primary{background:var(--blue);color:#fff}.button.white{background:#fff;color:#153a6f}.button.outline-white{background:#ffffff1a;color:#fff;border-color:#ffffff58}.button.subtle{background:#f5f8fd;color:#516986;border-color:#eff2f7}.button.light{color:#153b72;background:#fff}.button.outline{background:white;color:var(--blue);border-color:#cdddf4}.button.danger{background:#fff1f2;color:#ad293b}.button.mini{min-height:32px;padding:7px 10px;font-size:11px}.button:disabled{opacity:.52}.icon-text{display:inline-flex;align-items:center;gap:8px}.icon-button{border:0;background:transparent;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#657794}.icon-button:hover{background:#f0f4fa}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 16px}.section-heading h2{font-size:19px;margin:0}.section-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.section-heading a,.section-heading button{font-size:12px;font-weight:800}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.card,.kpi{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.kpi{padding:19px 19px 16px;min-width:0}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#7a8aa4;font-size:12px;font-weight:650}.kpi-icon{width:36px;height:36px;border-radius:11px;background:#eaf2ff;color:#1f62bb;display:grid;place-items:center}.kpi-icon svg{width:18px;height:18px}.kpi-number{display:block;margin:10px 0 4px;font-size:29px;line-height:1.1;font-weight:850;letter-spacing:-.04em;color:#183960}.kpi-sub{font-size:11px;color:#8695ac}.kpi-sub .good{color:#159568}.exam-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.exam-date-card{position:relative;padding:19px 18px 16px;border:1px solid var(--line);border-radius:15px;background:white;min-width:0;transition:border-color .2s,transform .2s}.exam-date-card:hover{border-color:#acc5ea;transform:translateY(-2px)}.day-pill{display:inline-flex;padding:4px 8px;background:#eef4fc;color:#496eab;border-radius:8px;font-weight:800;font-size:11px}.exam-date-card h3{font-size:15px;margin:14px 0 7px}.exam-date-card p{font-size:12px;color:#8a9ab0;margin:0 0 13px}.link-arrow{display:inline-flex;gap:6px;align-items:center;font-weight:800;font-size:12px;color:var(--blue);background:transparent;border:0;padding:0}.link-arrow svg{width:14px;height:14px}.subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.subject-card{padding:17px 17px 15px;display:flex;flex-direction:column;gap:9px;min-height:164px;text-align:left;border:1px solid var(--line);background:white;border-radius:14px;color:inherit;transition:transform .18s,border-color .18s}.subject-card:hover{border-color:#acc4e7;transform:translateY(-2px)}.subject-icon{display:grid;place-items:center;height:39px;width:39px;border-radius:10px;background:color-mix(in srgb,var(--subject-color) 12%,white);color:var(--subject-color)}.subject-card strong{font-size:14px}.subject-card .stats-line{color:#8090a9;font-size:11px}.progress-track{height:7px;width:100%;background:#e7edf6;border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:var(--progress,0%);background:var(--progress-color,#2384db);border-radius:999px;transition:width .25s}.subject-card .progress-row{margin-top:auto}.progress-row{display:flex;justify-content:space-between;align-items:center;color:#778aa3;font-size:11px;margin-bottom:7px}.two-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:15px}.card-pad{padding:23px}.revision-item{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);padding:14px 0}.revision-item:first-of-type{border-top:0}.revision-item .signal{width:10px;height:10px;flex-shrink:0;background:#e7ad3f;border-radius:4px;margin-top:5px}.revision-item strong{font-size:12px}.revision-item p{margin:3px 0 0;color:#7d8ca5;font-size:11px}.revision-item button{margin-left:auto;font-size:11px}.tips-list{margin:12px 0 0;display:grid;gap:10px;padding:0;list-style:none}.tips-list li{display:flex;gap:9px;color:#62758f;font-size:12px}.tips-list svg{width:17px;height:17px;color:#0e9d7a}.main-footer{color:#91a0b5;font-size:11px;margin-top:32px;line-height:1.7;border-top:1px solid #e5eaf2;padding-top:19px}.main-footer button{display:inline-flex;gap:4px;color:var(--blue);font-weight:700;background:none;border:0;padding:0}.main-footer svg{width:12px;height:12px}
/* subject */
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-header p{color:#72849f;margin:0;max-width:800px}.subject-header-icon{height:56px;width:56px;border-radius:17px;display:grid;place-items:center;background:color-mix(in srgb,var(--subject-color) 12%,white);color:var(--subject-color);flex:0 0 auto}.subject-header-icon svg{height:26px;width:26px}.page-header-meta{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 0}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2eaf5;background:#fff;border-radius:8px;padding:5px 9px;color:#71819c;font-size:11px;font-weight:700}.chip svg{width:14px;height:14px}.study-tabs{display:flex;align-items:center;gap:5px;background:#eaf0f8;padding:5px;border-radius:11px;width:max-content;max-width:100%;margin-bottom:17px;overflow-x:auto}.study-tab{border:0;background:transparent;padding:10px 15px;border-radius:8px;color:#74869f;font-size:12px;font-weight:800;white-space:nowrap}.study-tab.active{background:white;color:#1e5ba6;box-shadow:0 2px 8px rgba(17,48,91,.07)}.exercise-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:17px;align-items:start}.exercise-main{min-width:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}.select-field{appearance:none;border:1px solid #dce5f0;background:#fff url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="%23697f9b" stroke-width="2"%3E%3Cpath d="m2 4 4 4 4-4"/%3E%3C/svg%3E') no-repeat right 12px center;border-radius:9px;color:#516a8a;font-weight:700;min-height:39px;padding:8px 34px 8px 11px;max-width:100%;font-size:12px;min-width:150px}.toolbar .select-field:first-child{flex:1}.question-card{padding:25px;min-height:460px}.question-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:19px}.question-no{font-size:11px;font-weight:850;color:#2464bf;background:#edf4ff;padding:7px 9px;border-radius:8px}.question-topic{color:#798ca8;font-size:11px;font-weight:700}.question-prompt{font-size:19px;font-weight:780;color:#213e65;line-height:1.55;letter-spacing:-.012em;margin:0 0 22px;white-space:pre-line}.options{display:grid;gap:10px;margin-bottom:15px}.option{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:12px 13px;border-radius:11px;border:1.5px solid #dee7f2;background:#fff;color:#3c526f;min-height:56px;transition:.18s;line-height:1.4}.option:not(:disabled):hover{background:#f5f9ff;border-color:#78a6e5}.option-letter{border:1px solid #d8e3f1;background:#f4f7fc;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 30px;font-size:12px;font-weight:850;color:#7187a4}.option .option-text{flex:1;font-weight:600}.option .mark{display:grid;place-items:center;margin-left:auto}.option .mark svg{width:19px;height:19px}.option.selected{border-color:#80a9e9;background:#eef5ff;color:#1758ad}.option.selected .option-letter{background:#cfe0fc;border-color:#aac8f5;color:#1858a6}.option.correct{border-color:#2ea476;background:#ebfbf3;color:#166b50}.option.correct .option-letter{background:#c9f0dc;color:#137149;border-color:#a7e0c3}.option.wrong{border-color:#e87979;background:#fff0f0;color:#b33d49}.option.wrong .option-letter{background:#ffe0e0;color:#b33d49;border-color:#f6babb}.option.dimmed{opacity:.59}.feedback{border:1px solid #d9e5f2;border-left:4px solid var(--success);background:#f7fbff;border-radius:11px;padding:17px 18px;margin-top:15px;animation:pop .2s ease-out}.feedback.incorrect{border-left-color:var(--danger);background:#fffafa}.feedback-head{display:flex;align-items:center;gap:9px;color:var(--success);font-size:15px;font-weight:850;margin-bottom:8px}.feedback.incorrect .feedback-head{color:var(--danger)}.feedback-head svg{width:22px;height:22px}.feedback p{font-size:12px;color:#536984;line-height:1.72;margin-bottom:8px}.feedback p:last-child{margin:0}.feedback strong{color:#243f60}.review-callout{background:#fff;border:1px solid #dbe7f4;border-radius:9px;padding:11px 12px;margin-top:12px;display:flex;gap:9px;align-items:flex-start}.review-callout svg{width:17px;height:17px;color:#b7792e}.exercise-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:17px;flex-wrap:wrap}.exercise-footer .cluster{display:flex;gap:8px;flex-wrap:wrap}.exercise-side{display:grid;gap:14px}.side-card{padding:19px}.side-card h3{font-size:14px}.side-card p{font-size:12px;color:#7a8ca4}.mini-progress{display:flex;gap:5px;flex-wrap:wrap;margin:13px 0}.mini-dot{height:19px;width:19px;border-radius:5px;background:#e6ecf5;border:1px solid #d9e2ef;cursor:pointer}.mini-dot.done{background:#33a475;border-color:#33a475}.mini-dot.error{background:#e47c80;border-color:#e47c80}.mini-dot.current{outline:2px solid var(--blue);outline-offset:2px}.mini-dot:hover{filter:brightness(.9)}.hint-label{font-weight:800;color:#445a77;font-size:12px;margin-bottom:6px}.hint-note{font-size:12px;color:#75869f;line-height:1.7}.topic-list{display:grid;gap:12px}.topic-card{padding:21px 23px}.topic-card .head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:11px}.topic-card h3{margin:3px 0}.topic-card p{font-size:13px;color:#5c7190;line-height:1.8}.topic-chapter{font-size:11px;color:#7296bd;font-weight:850}.learning-highlight{padding:13px 15px;background:#edf7ff;border-radius:9px;margin-top:14px;color:#476689;font-size:12px}.learning-highlight.warning{background:#fff7e9;color:#8b671d}.learning-highlight strong{color:inherit}.topic-card-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:13px;margin-top:13px;flex-wrap:wrap}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:140px minmax(0,1fr) 46px;gap:12px;align-items:center;font-size:11px;color:#5b7190}.bar-row .progress-track{height:9px}.stat-box{padding:19px;display:grid;gap:4px}.stat-box strong{font-size:24px}.stat-box span{font-size:12px;color:#8091a8}.empty{padding:40px 24px;text-align:center;color:#6f819d}.empty svg{width:40px;height:40px;color:#9cb7de;margin-bottom:12px}.empty h3{color:#27476e}.empty p{max-width:520px;margin:0 auto 17px;line-height:1.7}.goal-card{background:#f6f9fd;border-radius:10px;padding:13px;margin-top:12px}.score-badge{border-radius:7px;padding:4px 8px;font-size:11px;font-weight:800;background:#e9f8ef;color:#16744e}.score-badge.low{background:#fff0ee;color:#bf4d4b}.score-badge.medium{background:#fff5e1;color:#976b20}
/* revision + exams */
.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px}.review-row{border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:13px;padding:15px 0}.review-row:last-child{border:0}.review-row .idx{flex:0 0 30px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#fff1e8;color:#bf793e;font-size:12px;font-weight:800}.review-row h4{font-size:13px;margin-bottom:4px}.review-row p{font-size:11px;color:#7d8ca5;margin:0}.review-row .actions{margin-left:auto}.exam-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exam-area-card{padding:22px}.exam-area-card .exam-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.exam-area-card h3{font-size:19px}.exam-area-card p{font-size:12px;color:#7d8da4}.exam-area-card .button{margin-top:8px}.exam-setup{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-screen{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.exam-palette{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:14px 0}.exam-number{border:1px solid #dce5f1;border-radius:6px;min-height:29px;background:#f5f8fd;font-size:11px;font-weight:800;color:#8495ab;padding:0}.exam-number.answered{background:#e1ebfb;color:#1c61bd;border-color:#b8cff0}.exam-number.current{outline:2px solid #2264c8;outline-offset:1px}.exam-timer{font-variant-numeric:tabular-nums;font-size:28px;font-weight:850;color:#194b8b}.exam-timer.low{color:#c4434c}.exam-result-icon{height:66px;width:66px;background:#e9f9ef;color:#1c985e;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px}.exam-result-icon svg{height:34px;width:34px}.exam-result{text-align:center;padding:35px 22px}.exam-result .score{font-size:50px;font-weight:900;letter-spacing:-.05em;color:#1f5699;margin:5px 0}.review-answer-item{border-top:1px solid var(--line);padding:18px 0}.review-answer-item:first-child{border:0}.review-answer-item .question-title{font-weight:800;margin:7px 0}.review-answer-item p{font-size:12px;color:#667a97;margin:6px 0}.review-answer-item .label{font-size:11px;font-weight:850;color:#7d91ad}.review-answer-item .answer-correct{color:#188352;font-weight:800}.review-answer-item .answer-wrong{color:#c04a4a;font-weight:800}.info-note{border-left:3px solid #4791d9;background:#edf5ff;color:#4c6b90;padding:12px 15px;border-radius:8px;font-size:12px;line-height:1.75}.tools-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;margin:16px 0}.pdf-dialog{position:fixed;inset:4vh 3vw;border:1px solid #d5e1f1;padding:0;border-radius:17px;box-shadow:0 16px 60px #102c5466;width:min(1140px,94vw);height:92vh;max-height:92vh;background:#fff}.pdf-dialog::backdrop{background:#0c244abf;backdrop-filter:blur(5px)}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:12px}.dialog-head{border-bottom:1px solid #e3eaf4}.dialog-foot{border-top:1px solid #e3eaf4;font-size:12px;color:#8291a5}.dialog-title{display:flex;align-items:center;gap:12px}.dialog-title>svg{color:#1b68c4}.dialog-title strong,.dialog-title small{display:block}.dialog-title small{font-size:11px;color:#7c8ca7}.pdf-content{height:calc(100% - 126px);background:#e5eaf0}.pdf-content iframe{border:0;width:100%;height:100%}.toast{position:fixed;bottom:25px;right:25px;max-width:min(420px,calc(100vw - 36px));background:#153d74;color:#fff;box-shadow:0 12px 40px #133d7570;border-radius:11px;padding:14px 18px;z-index:100;pointer-events:none;opacity:0;transform:translateY(14px);transition:.2s;font-weight:650;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background:#107853}.toast.error{background:#b63a4c}.report-only{display:none}@keyframes pop{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1380px){.content-frame{padding:25px 25px 36px}.exam-grid,.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-center{display:none}.hero-art{flex-basis:150px}.hero-art svg{width:130px;height:130px}}
@media(max-width:1000px){.shell{grid-template-columns:70px minmax(0,1fr)}.sidebar{padding:19px 8px}.side-section-label,.side-link span:not(.subject-dot),.side-link .nav-number,.side-helper,.sidebar-footer{display:none}.side-link{justify-content:center;padding:11px}.side-link svg{width:20px;height:20px}.side-link .subject-dot{width:12px;height:12px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-layout,.review-grid,.exam-screen{grid-template-columns:1fr}.exercise-side{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:30px}.two-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:180px minmax(0,1fr) 42px}}
@media(max-width:730px){.topbar{height:66px;padding:0 14px}.brand{min-width:0}.brand-mark{width:37px;height:37px}.brand-mark svg{width:29px;height:29px}.brand-title{font-size:21px}.brand-title small{font-size:8px}.desktop-label{display:none}.top-actions{gap:5px}.top-actions .button{padding:10px}.shell{display:block}.sidebar{display:none}.main-area{min-height:calc(100vh - 66px)}.content-frame{padding:13px 15px 30px}.breadcrumb{margin:13px 0 15px}.mobile-nav{display:flex;gap:5px;overflow-x:auto;padding:4px 1px 11px;margin-bottom:4px;scrollbar-width:thin}.mobile-link{flex:0 0 auto;display:flex;align-items:center;gap:5px;border:1px solid #e2eaf4;border-radius:8px;background:white;font-size:11px;color:#7287a4;font-weight:740;padding:7px 11px}.mobile-link.active{border-color:#bbd5f6;background:#eaf3ff;color:#1f67c3}.mobile-link .subject-dot{width:7px;height:7px}.hero{min-height:0;padding:27px 20px}.hero h1{font-size:28px}.hero-art{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi{padding:14px}.kpi-number{font-size:25px}.kpi-top{font-size:11px}.exam-grid,.subject-grid,.exam-areas{grid-template-columns:1fr 1fr;gap:9px}.exam-date-card,.subject-card{padding:14px}.exam-date-card h3{font-size:13px}.subject-card{min-height:155px}.section-heading{margin-top:25px}.page-header{gap:12px}.page-header h1{font-size:26px}.subject-header-icon{height:43px;width:43px;border-radius:12px}.subject-header-icon svg{width:22px}.question-card{padding:17px;min-height:0}.question-prompt{font-size:17px}.option{padding:10px}.option-letter{width:27px;height:27px;flex-basis:27px}.exercise-side{grid-template-columns:1fr}.study-tab{padding:10px 12px}.toolbar .select-field{min-width:0;max-width:100%}.toolbar .select-field:first-child{flex-basis:100%}.dialog-head,.dialog-foot{padding:11px}.pdf-dialog{inset:2vh 2vw;width:96vw;height:96vh;max-height:96vh}.dialog-foot>span{display:none}.bar-row{grid-template-columns:110px minmax(0,1fr) 38px}.card-pad{padding:17px}.exam-palette{grid-template-columns:repeat(8,1fr)}.exam-area-card{padding:15px}.exam-area-card h3{font-size:15px}}
@media(max-width:430px){.exam-grid,.subject-grid,.exam-areas{grid-template-columns:1fr}.subject-card{min-height:130px}.exam-date-card p{margin-bottom:8px}.hero h1{font-size:25px}.button{font-size:12px}.exercise-footer{align-items:stretch}.exercise-footer>.cluster{width:100%}.exercise-footer>.cluster .button{flex:1}.question-head{align-items:flex-start}.question-topic{max-width:60%;text-align:right}.topic-card{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:#fff;color:#111}.topbar,.sidebar,.mobile-nav,.breadcrumb,.hero-actions,.button,.main-footer,.exercise-layout,.study-tabs,.pdf-dialog,.tools-row,.footer-actions{display:none!important}.shell{display:block}.content-frame{padding:0}.card,.kpi{box-shadow:none;break-inside:avoid;border:1px solid #ddd}.hero{color:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-only{display:block}h1{color:#222}}

@media(max-width:730px){.subject-kpis{grid-template-columns:1fr!important}}

/* Estuda+ v2: wide, menu lateral recolhido, rodapé fixo, menu de configurações. */
body{padding-bottom:37px}
.app-root{min-height:calc(100vh - 37px)}
.topbar{justify-content:flex-start;gap:13px;padding-left:20px;padding-right:25px}
.top-center{margin-left:auto}.top-actions{margin-left:auto;align-items:center}
.sidebar-toggle{display:inline-grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border:1px solid #e3eaf4;border-radius:9px;background:white;color:#466080}
.sidebar-toggle:hover,.settings-button:hover{background:#edf3fc}
.shell{transition:grid-template-columns .19s ease}
body.sidebar-collapsed .shell{grid-template-columns:0 minmax(0,1fr)}
body.sidebar-collapsed .sidebar{display:none}
body.sidebar-collapsed .content-frame{width:min(100%,1830px)}
.mobile-nav{scrollbar-width:thin}
body.sidebar-collapsed .mobile-nav{display:flex;gap:6px;overflow-x:auto;padding:0 0 10px}
body.sidebar-collapsed .mobile-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;border:1px solid #e2eaf4;border-radius:9px;background:#fff;font-size:12px;color:#60728d;font-weight:680;padding:8px 13px}
body.sidebar-collapsed .mobile-link.active{background:#edf3fe;border-color:#b4cff2;color:#1d66c7}
body.sidebar-collapsed .mobile-link .subject-dot{width:7px;height:7px}
.settings-holder{position:relative;display:flex}
.settings-button{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid #dde8f6;background:#f6f9fe;color:#2d5789}
.settings-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:70;width:295px;max-width:calc(100vw - 30px);padding:8px;background:#fff;border:1px solid #dde7f4;box-shadow:0 18px 48px rgba(13,39,76,.17);border-radius:14px}
.settings-menu[hidden]{display:none}
.settings-title{padding:12px 12px 8px;font-size:10px;letter-spacing:.1em;color:#8193a9;font-weight:800}
.settings-menu button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:transparent;border-radius:9px;padding:10px 12px;color:#1e3655;font-weight:700;line-height:1.3}
.settings-menu button:hover{background:#eef5ff;color:#1d62bd}
.settings-menu button svg{color:#2870c4;width:19px;height:19px}
.settings-menu button span:last-child{display:grid;gap:3px}
.settings-menu button small{font-size:11px;color:#8292a8;font-weight:500}
.settings-separator{height:1px;background:#edf1f7;margin:6px 3px}
.saved-status{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:750;color:#57836c;white-space:nowrap}
.saved-status svg{width:16px;height:16px}
.fixed-author{position:fixed;inset:auto 0 0;min-height:37px;display:flex;justify-content:center;align-items:center;gap:9px;z-index:35;background:#132e53;color:#d8e5f6;font-size:11px;letter-spacing:.01em;padding:6px 14px;text-align:center}
.fixed-author strong{color:#fff;font-weight:750}
.author-sep{opacity:.35}
.content-frame{padding-bottom:65px}
.bank-subjects{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:17px}
.bank-subject{display:flex;align-items:flex-start;flex-direction:column;gap:6px;min-width:0;border:1px solid #e0e9f5;background:white;text-align:left;border-radius:12px;padding:13px 11px;color:#2e435e;box-shadow:var(--shadow)}
.bank-subject:hover{border-color:#93b9ea;background:#f4f8ff}
.bank-subject.active{background:#eaf3ff;border-color:#77a7e7;color:#165db2}
.bank-subject strong{font-size:12px}
.bank-subject small{font-size:10px;color:#7890ae}
.bank-panel{padding:20px 22px;margin-bottom:17px}
.bank-filter{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}
.bank-filter .select-field{max-width:none;min-width:0;width:100%}
.bank-searchbar{grid-column:1/-1;display:flex;gap:8px}
.bank-searchbar input{flex:1;min-width:0;border-radius:9px;border:1px solid #dce5f3;padding:10px 13px;background:white}
.bank-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 0 9px;color:#6e829e;font-size:12px}
.bank-list-head strong{color:#23446d}
.bank-row{padding:17px 1px;border-top:1px solid #e8edf5}
.bank-row-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bank-id{font-size:10px;color:#6482a3;background:#edf4fc;border-radius:5px;padding:4px 7px;font-family:ui-monospace,monospace}
.bank-state{font-size:11px;font-weight:750;color:#8293ac;margin-left:auto}
.bank-state.is-ok{color:#137e59}.bank-state.is-wrong{color:#c25757}
.bank-prompt{font-size:14px;line-height:1.68;font-weight:650;color:#213a5c;white-space:pre-line;margin:12px 0}
.bank-row-actions{display:flex;gap:7px;flex-wrap:wrap}
.bank-answer{border:1px solid #bde7d1;background:#effaf4;color:#244b3a;padding:13px 15px;border-radius:10px;margin-top:11px;line-height:1.65;font-size:12px}
.bank-answer p{margin:7px 0 0}
.bank-pages{border-top:1px solid #e9eef6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;color:#7485a1;font-size:12px}
.subject-exam .exam-top{align-items:center}
#sidebar-overlay{display:none}
@media(max-width:1380px){.bank-subjects{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:731px) and (max-width:1000px){body:not(.sidebar-collapsed) .shell{grid-template-columns:220px minmax(0,1fr)}body:not(.sidebar-collapsed) .side-section-label,body:not(.sidebar-collapsed) .side-helper,body:not(.sidebar-collapsed) .sidebar-footer{display:block}body:not(.sidebar-collapsed) .side-link span:not(.subject-dot){display:inline}body:not(.sidebar-collapsed) .sidebar{padding:17px 10px}}
@media(max-width:730px){.topbar{padding:0 11px;gap:7px}.sidebar-toggle{flex-basis:33px;width:33px;height:33px}.top-actions{gap:6px;margin-left:auto}.saved-status{display:none}.settings-button{height:36px;width:36px}.brand-title{font-size:20px}.shell,body.sidebar-collapsed .shell{display:block}.sidebar,body.sidebar-collapsed .sidebar{display:none}.sidebar-mobile-open .sidebar{display:flex!important;position:fixed;left:0;top:66px;bottom:37px;z-index:56;overflow-y:auto;height:auto;width:min(290px,82vw);box-shadow:16px 4px 38px #0f295044;padding:15px}.sidebar-mobile-open .sidebar .side-section-label,.sidebar-mobile-open .sidebar .side-link span:not(.subject-dot),.sidebar-mobile-open .sidebar .nav-number,.sidebar-mobile-open .sidebar .side-helper,.sidebar-mobile-open .sidebar .sidebar-footer{display:flex}.sidebar-mobile-open .sidebar .side-link{justify-content:flex-start;padding:11px}.sidebar-mobile-open #sidebar-overlay{display:block;position:fixed;inset:66px 0 37px;background:rgba(17,36,68,.35);z-index:55}.mobile-nav,body.sidebar-collapsed .mobile-nav{display:flex}.bank-subjects{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bank-panel{padding:12px}.bank-filter{grid-template-columns:1fr}.bank-searchbar{grid-column:auto}.bank-searchbar .button{padding:8px 10px}.bank-row-head .chip{font-size:10px}.fixed-author{font-size:9px}.author-sep{display:none}.fixed-author span:last-child{display:none}}
@media print{body{padding-bottom:0}.fixed-author{position:static;background:none;color:#333;display:flex!important;justify-content:flex-end;margin-top:20px}.fixed-author strong{color:#333}.settings-holder,.sidebar-toggle,.saved-status,.bank-subjects,.bank-panel{display:none!important}}
/* O conteúdo deve ocupar toda a largura quando a barra lateral fica oculta. */
body.sidebar-collapsed .shell{display:block}
body.sidebar-collapsed .main-area{display:block;width:100%;min-width:0}

.settings-glyph{font-size:25px;line-height:1;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
