@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#213b37;background:#f5f7f7;font-synthesis:none;--ink:#213b37;--muted:#64736f;--green:#173d38;--lime:#d5f277;--line:#e0e7e4;--red:#a73741;--white:#fff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2b8076;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:2.25rem;font-weight:800;line-height:1.2}h2{font-size:1.25rem;font-weight:750}h3{font-size:1.05rem;font-weight:750}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{padding:32px 22px;background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:34px}.brand{display:flex;align-items:center;gap:10px;font:800 2rem Manrope,sans-serif;letter-spacing:-.08em;text-decoration:none}.brandmark{display:grid;place-items:center;width:36px;height:36px;background:var(--green);border-radius:12px;color:var(--lime);font-size:1.65rem;letter-spacing:0}.brand small{font:500 .7rem 'DM Sans',sans-serif;letter-spacing:.03em;color:var(--muted);display:block;margin-top:-3px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;gap:12px;align-items:center;padding:13px 14px;text-align:left;border:0;background:transparent;border-radius:10px;font-size:.94rem;font-weight:550;color:#65736f}.nav button.active{background:#eaf0ed;color:var(--green)}.nav svg{width:19px;height:19px}.sidebar-foot{margin-top:auto;background:#f5f7f6;border-radius:12px;padding:17px;font-size:.875rem;line-height:1.5}.sidebar-foot svg{width:20px;height:20px;margin-bottom:12px}.sidebar-foot strong{display:block;margin-bottom:6px}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 40px;background:#fff}.breadcrumb{font-size:.875rem;color:var(--muted)}.profile-button{border:0;background:transparent;display:flex;gap:10px;align-items:center;font-weight:600}.avatar{width:34px;height:34px;border-radius:50%;background:#e9eddf;display:grid;place-items:center;font-size:.85rem}.sync-status{font-size:.75rem;color:var(--muted);font-weight:400;display:block;text-align:left}.content{max-width:1300px;padding:34px 40px 48px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{margin-top:8px;color:var(--muted)}.date{font-size:.875rem;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:20px 22px;position:relative}.stat svg{position:absolute;right:19px;top:21px;width:19px;height:19px;color:#75857e}.stat-label{font-size:.875rem;color:var(--muted)}.stat-value{font:750 1.9rem Manrope,sans-serif;letter-spacing:-.04em;margin:13px 0 4px}.stat-foot{font-size:.75rem;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:22px;margin-bottom:30px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-top p{margin-top:5px}.segmented{display:flex;background:#f1f4f2;padding:4px;border-radius:8px;gap:3px}.segmented button{border:0;border-radius:6px;background:transparent;padding:6px 10px;font-size:.75rem;white-space:nowrap}.segmented button.active{background:white;box-shadow:0 1px 4px #173d3812}.chart{width:100%;height:206px;display:block;overflow:visible}.chart text{font:12px 'DM Sans',sans-serif;fill:#77837e}.chart line{stroke:#e5eae8;stroke-dasharray:3 5}.chart .trend{fill:none;stroke:#2a7b65;stroke-width:3;stroke-linejoin:round}.chart circle{fill:#fff;stroke:#2a7b65;stroke-width:2.5}.chart-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--muted);background:repeating-linear-gradient(to bottom,transparent,transparent 45px,#edf0ee 46px,transparent 47px)}.chart-empty strong{color:var(--ink);background:white;padding:4px 10px}.chart-empty p{font-size:.875rem;background:white;padding:0 10px;max-width:340px}.exam-card{position:relative;overflow:hidden;background:var(--green);color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 30px;border-radius:14px;gap:13px;isolation:isolate}.exam-card::after{content:'';width:205px;height:205px;border:30px solid #ffffff07;border-radius:50%;position:absolute;right:-90px;top:-74px;z-index:-1}.exam-card .eyebrow{color:#c5daa7}.exam-card h2{font-size:1.8rem;letter-spacing:-.04em}.exam-card p{font-size:.9rem;color:#d2e1db;max-width:290px}.exam-meta{display:flex;gap:15px;font-size:.8rem;margin:1px 0 5px;color:#e4eee6}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;border-radius:9px;padding:12px 18px;font-weight:650;font-size:.9rem;background:var(--green);color:white;text-decoration:none}.btn svg{width:17px;height:17px}.btn.lime{background:var(--lime);color:var(--green)}.btn.secondary{background:#fff;color:var(--ink);border-color:#d7dfda}.btn.quiet{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:#fff;color:var(--red);border-color:#e6c9cc}.text-button{border:0;background:transparent;color:#2c6d59;font-size:.875rem;font-weight:650;padding:6px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading p{font-size:.875rem;color:var(--muted);margin-top:5px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 22px}.tabs button{padding:8px 13px;font-size:.8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:#64736f}.tabs button.active{color:white;background:var(--green);border-color:var(--green)}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chapter{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;display:flex;flex-direction:column;gap:13px;transition:border-color .2s,transform .2s}.chapter:hover{border-color:#9fb6aa;transform:translateY(-2px)}.chapter-icon{display:flex;align-items:center;justify-content:space-between}.icon-tile{width:40px;height:40px;display:grid;place-items:center;background:var(--tile,#ecf2e9);color:var(--tile-ink,#507141);border-radius:11px}.icon-tile svg{width:20px;height:20px}.chapter .tag{font-size:.7rem;color:var(--muted);background:#f5f7f5;padding:5px 8px;border-radius:5px}.chapter h3{line-height:1.4;min-height:2.8em}.chapter p{font-size:.8rem;color:var(--muted)}.chapter .chapter-bottom{margin-top:auto;border-top:1px solid #edf0ee;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem}.chapter-bottom .text-button{font-size:.8rem}.chapter-progress{height:4px;background:#eef1ed;border-radius:4px;overflow:hidden}.chapter-progress span{display:block;background:#7fa86b;height:100%}.section-label{margin:24px 0 13px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.repeat-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #e0e7d2;background:#f0f4e8;border-radius:12px;margin-bottom:24px}.repeat-banner p{font-size:.875rem;color:var(--muted);margin-top:4px}.footer{margin-top:32px;border-top:1px solid var(--line);padding-top:18px;font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-art{background:var(--green);color:white;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art .brandmark{background:var(--lime);color:var(--green);width:48px;height:48px;margin-bottom:60px}.login-art h1{font-size:clamp(2.5rem,4.2vw,4.2rem);line-height:1.15}.login-art h1 span{color:var(--lime)}.login-art p{color:#c6d8d0;max-width:360px;margin-top:25px}.login-art .steps{margin-top:60px;display:flex;gap:24px;font-size:.85rem}.login-art .steps b{display:block;font:700 1.7rem Manrope,sans-serif;color:var(--lime);margin-bottom:6px}.login-form{padding:50px;display:flex;flex-direction:column;justify-content:center;max-width:510px;margin:auto;width:100%;gap:20px}.login-form h2{font-size:2rem}.field{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600}input,select{border:1px solid #ccd7d1;background:#fff;border-radius:8px;padding:12px;color:var(--ink);min-width:0}input{width:100%}.login-form .hint{font-size:.8rem;color:var(--muted);line-height:1.6}.quiz-shell{max-width:850px;margin:auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px}.quiz-top h1{font-size:1.35rem}.quiz-top p{font-size:.85rem;color:var(--muted);margin-top:5px}.timer{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;background:#e8eee9;padding:9px 13px;border-radius:8px}.timer.urgent{color:var(--red);background:#fae8e9}.quiz-progress{height:6px;border-radius:5px;background:#e2e9e3;margin:14px 0 30px;overflow:hidden}.quiz-progress div{height:100%;background:#85ad5c;transition:width .3s}.question-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:32px}.question-panel h2{font-size:1.5rem;line-height:1.45;margin:16px 0 23px}.question-meta{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--muted)}.answers{display:flex;flex-direction:column;gap:11px}.answer{display:flex;align-items:center;gap:14px;text-align:left;line-height:1.45;width:100%;padding:15px 17px;border:1px solid #dbe3df;background:#fff;border-radius:9px;font-size:1rem}.answer .letter{border:1px solid #dce3df;min-width:31px;height:31px;display:grid;place-items:center;border-radius:7px;font-size:.8rem;font-weight:650;background:#f7f8f7}.answer.selected{border-color:#306b5c;background:#edf4ef}.answer.correct{border-color:#3f8969;background:#eef8f0}.answer.wrong{border-color:#c6777f;background:#fceff0}.answer:disabled{opacity:1}.answer .verdict{margin-left:auto;font-size:.8rem;min-width:35px}.feedback{margin-top:21px;background:#edf5ef;border-left:3px solid #578f6e;padding:17px;border-radius:0 9px 9px 0;line-height:1.6;font-size:.94rem}.feedback.wrong{background:#faf0ee;border-color:#bd6669}.feedback strong{display:block;margin-bottom:5px}.source{font-size:.8rem;color:var(--muted);margin-top:9px}.quiz-actions{display:flex;align-items:center;justify-content:space-between;margin-top:25px;gap:12px}.question-nav{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.question-nav button{width:34px;height:34px;border:1px solid #d9e0dc;border-radius:7px;background:white;font-size:.8rem}.question-nav button.answered{background:#dceadd;border-color:#b9d0be}.question-nav button.current{outline:2px solid var(--green);outline-offset:2px}.result-hero{display:flex;gap:30px;align-items:center;padding:30px;background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:24px}.score-circle{width:140px;min-width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#447b59 calc(var(--score)*1%),#eaf0e8 0)}.score-circle div{width:119px;height:119px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-circle strong{font:800 2rem Manrope,sans-serif}.score-circle span{font-size:.75rem;color:var(--muted)}.result-hero h1{font-size:1.7rem;margin-bottom:8px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.review{background:white;border:1px solid var(--line);padding:21px;border-radius:11px;margin-bottom:12px}.review summary{font-weight:600;line-height:1.55;cursor:pointer;display:flex;gap:12px}.status-chip{font-size:.8rem;white-space:nowrap;color:#34734c}.status-chip.bad{color:var(--red)}.review-body{padding-top:16px;font-size:.94rem;line-height:1.6}.review-body p{margin-top:9px}.category-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.category-result{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;font-size:.85rem;display:flex;justify-content:space-between;gap:15px}.history-list{display:flex;flex-direction:column;gap:11px}.history-row{display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);padding:18px 21px;border-radius:11px}.history-row strong{display:block;margin-bottom:5px}.history-score{font:750 1.5rem Manrope,sans-serif}.empty{padding:55px 24px;text-align:center;border:1px dashed #cfd9d1;border-radius:14px;color:var(--muted);background:#fff}.empty h2{color:var(--ink);margin-bottom:10px}dialog{border:0;border-radius:17px;width:min(480px,calc(100% - 30px));padding:30px;color:var(--ink);box-shadow:0 20px 100px #06271d30}dialog::backdrop{background:#102d2866;backdrop-filter:blur(3px)}dialog h2{font-size:1.45rem;margin-bottom:12px}dialog p{color:var(--muted);font-size:.92rem;margin-bottom:20px}dialog .field{margin:16px 0}dialog .actions{display:flex;gap:10px;margin-top:25px;justify-content:flex-end}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#173d38;color:#fff;border-radius:10px;box-shadow:0 4px 20px #0002;max-width:calc(100% - 30px);z-index:20;display:none;font-size:.9rem}#toast.show{display:block}.loading{text-align:center;padding:100px 20px}.error-box{padding:16px;background:#fbeeed;color:#943b43;border-radius:10px;margin:16px 0;font-size:.9rem}.reward-screen{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#12392be8;backdrop-filter:blur(7px)}.reward-card{position:relative;z-index:2;text-align:center;color:white;padding:35px;max-width:550px}.reward-number{font:800 clamp(5rem,18vw,8rem) Manrope,sans-serif;letter-spacing:-.07em;color:var(--lime);animation:reward-pop .7s cubic-bezier(.18,.8,.3,1.2)}.reward-card h2{font-size:2rem;margin:8px 0 15px}.reward-card p{color:#dbeadf;margin-bottom:26px}.confetti{position:absolute;width:9px;height:17px;top:-30px;background:var(--c);left:var(--x);animation:fall var(--d) var(--delay) linear infinite;border-radius:2px}.reward-orbit{position:absolute;width:360px;height:360px;border:1px solid #d5f27733;border-radius:50%;animation:pulse 2s ease-out infinite}@keyframes reward-pop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(720deg)}}@keyframes pulse{to{transform:scale(2);opacity:0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti{display:none}}
.chart-empty svg{width:30px;height:30px;flex:none;margin-bottom:5px}
.users-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-card{padding:24px;background:white;border:1px solid var(--line);border-radius:14px}.user-card-heading{display:flex;align-items:center;gap:12px}.user-card-heading h2{font-size:1.1rem;overflow-wrap:anywhere}.user-percentages{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.user-percentages>div{display:flex;flex-direction:column;gap:5px}.user-percentages strong{font:750 1.8rem Manrope,sans-serif}.correct-percent{color:#34734c}.wrong-percent{color:var(--red)}.user-score-bar{height:7px;border-radius:5px;overflow:hidden;background:#ebbec2}.user-score-bar span{display:block;height:100%;background:#568768}@media(max-width:800px){.users-list{grid-template-columns:1fr}}
.exam-reaction{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;margin:0 0 24px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}.exam-reaction h2{margin:7px 0}.exam-reaction img{display:block;max-width:100%;width:auto;max-height:420px;height:auto;object-fit:contain;border-radius:8px}@media(max-width:480px){.exam-reaction{padding:18px}.exam-reaction img{max-height:360px}}
.archive-control{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-8px 0 22px}.archive-button{padding:9px 12px;font-size:.8rem}.review h2{font-size:1rem;line-height:1.5}
@media(max-width:480px){.shell .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.shell .nav button{flex-direction:row;justify-content:center;gap:5px;padding:8px 1px;font-size:.7rem}.chart{height:auto;min-height:130px}.chart text{font-size:18px}}
@media(min-width:1550px){.content{padding-top:45px}.chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.shell{grid-template-columns:195px 1fr}.sidebar{padding:28px 14px}.content{padding:28px}.topbar{padding:0 28px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stat{padding:17px}.stat svg{display:none}.dashboard-grid{grid-template-columns:1.3fr 1fr}.panel{padding:20px}.panel-top{flex-wrap:wrap}.date{display:none}}@media(max-width:800px){.shell{display:block}.sidebar{height:auto;position:static;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line);gap:16px}.sidebar .brand{font-size:1.65rem}.sidebar .brand small{display:none}.sidebar-foot{display:none}.nav{flex-direction:row;gap:5px;overflow:auto}.nav button{white-space:nowrap;padding:10px 12px;font-size:.85rem}.nav svg{width:16px;height:16px}.topbar{height:65px;padding:0 22px}.content{padding:25px 22px}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.exam-card{padding:24px}.exam-card p{max-width:none}.exam-card .btn{margin-top:4px}.page-heading h1{font-size:1.9rem}.login{grid-template-columns:1fr}.login-art{padding:35px}.login-art .brandmark{margin-bottom:20px}.login-art h1{font-size:2.4rem}.login-art p{margin-top:15px}.login-art .steps{display:none}.login-form{padding:30px}.footer{flex-direction:column;gap:8px}}@media(max-width:480px){.content{padding:22px 16px}.topbar{padding:0 16px}.sidebar{padding:13px 16px}.nav button{font-size:.8rem;padding:9px 10px;gap:7px}.nav{gap:1px}.chapter-grid{grid-template-columns:1fr}.chapter h3{min-height:0}.stat-value{font-size:1.6rem}.stat-label{font-size:.8rem}.repeat-banner{align-items:flex-start;flex-direction:column}.question-panel{padding:22px 17px}.question-panel h2{font-size:1.2rem}.answer{padding:12px;font-size:.94rem}.quiz-top{align-items:flex-start}.quiz-top h1{font-size:1.15rem}.question-meta{font-size:.75rem}.result-hero{flex-direction:column;text-align:center;padding:25px}.category-results{grid-template-columns:1fr}.history-row{gap:12px;grid-template-columns:1fr auto}.history-row .history-view{grid-column:1/-1}.history-score{font-size:1.2rem}.quiz-actions{flex-wrap:wrap}.breadcrumb{font-size:.8rem}.tabs{gap:6px}.tabs button{font-size:.75rem}.profile-button{font-size:.85rem}}
