:root{--ink:#16191d;--muted:#66707c;--line:#dfe3e7;--soft:#f5f6f7;--card:#fff;--accent:#232c37;--good:#30785a;--warn:#b55b2c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(18px,4vw,46px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;color:#fff;background:var(--ink);font-size:14px}.brand span{font-weight:400;color:var(--muted)}.admin-toggle{border:1px solid var(--line);border-radius:7px;padding:8px 11px;background:#fff;color:var(--ink);font-weight:700;font-size:12px}.shell{width:min(940px,calc(100% - 36px));margin:0 auto;padding:42px 0 60px}.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:28px}.crumbs button{border:0;background:transparent;padding:0;color:var(--muted);text-decoration:underline}.crumbs b{color:var(--ink)}.hero{margin-bottom:30px}.eyebrow{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(30px,5vw,48px);line-height:1;letter-spacing:-2px}.hero p{margin:11px 0 0;color:var(--muted);font-size:15px}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.choice{min-height:126px;padding:21px;border:1px solid var(--line);border-radius:13px;background:var(--card);text-align:left;transition:transform .15s,box-shadow .15s}.choice:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(20,26,33,.08)}.choice strong,.choice small{display:block}.choice strong{font-size:18px;letter-spacing:-.4px}.choice small{margin-top:9px;color:var(--muted);line-height:1.4}.choice .arrow{display:block;margin-top:17px;color:var(--accent);font-weight:900}.topic-card{min-height:105px}.topic-card strong{font-size:16px}.tag{display:inline-block;padding:3px 8px;border-radius:4px;background:#eff2f4;color:#46515c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.intro-card,.timer-card,.question-card,.admin-card{border:1px solid var(--line);border-radius:14px;background:#fff}.intro-card{overflow:hidden;cursor:pointer}.intro-preview{height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--soft)}.intro-preview img{width:100%;height:100%;object-fit:cover;filter:blur(5px);opacity:.64}.intro-copy{display:flex;gap:15px;align-items:center;padding:20px}.play{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;color:#fff;background:var(--ink)}.intro-copy strong,.intro-copy span{display:block}.intro-copy span{margin-top:3px;color:var(--muted);font-size:13px}.practice-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:22px}.practice-head h1{margin:7px 0 0;font-size:30px;letter-spacing:-1px}.progress-text{white-space:nowrap;padding-top:25px;color:var(--muted);font-size:13px}.timer-card{padding:19px 22px;margin-bottom:18px}.timer-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.timer-label{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.4px}.timer{margin-top:4px;font-family:"Courier New",monospace;font-size:28px;font-weight:700;letter-spacing:2px}.timer.low{color:#b93d37}.btn{border:0;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:800}.btn.dark{color:#fff;background:var(--ink)}.btn.light{border:1px solid var(--line);background:#fff;color:var(--ink)}.progress-line{height:4px;margin-top:17px;overflow:hidden;border-radius:4px;background:#eceff1}.progress-line i{display:block;height:100%;background:var(--ink);transition:width .3s}.question-card{margin-bottom:18px;padding:23px}.question-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.question-top h2{margin:0;font-size:19px}.marks{color:var(--muted);font-size:12px;font-weight:700}.question-image{display:block;width:100%;max-height:650px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:var(--soft);cursor:zoom-in}.answer-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px}.answer-row p{margin:0;color:var(--muted);font-size:13px}.done{color:var(--good)!important;font-weight:800}.empty{padding:50px 22px;border:2px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.admin-card{padding:25px}.admin-card h1{margin:0 0 5px;font-size:30px;letter-spacing:-1px}.admin-card>p{margin:0 0 22px;color:var(--muted);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:800}.form-grid select,.form-grid input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.admin-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.status{color:var(--good);font-size:12px;font-weight:800}.modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:rgba(10,14,18,.88)}.modal img{max-width:100%;max-height:90vh;object-fit:contain}.modal span{position:absolute;right:24px;top:18px;color:#fff;font-size:24px}.toast{position:fixed;z-index:25;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;padding:10px 15px;border-radius:8px;color:#fff;background:var(--accent);font-size:12px;transition:.2s;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:620px){.shell{width:min(100% - 28px,940px);padding-top:28px}.form-grid{grid-template-columns:1fr}.practice-head{display:block}.progress-text{padding-top:12px}.answer-row{align-items:flex-start;flex-direction:column}.topbar{height:58px}.brand{font-size:14px}.hero h1{letter-spacing:-1.4px}}
