:root{font-family:system-ui,sans-serif;color:#edf0f7;background:#10131b;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:1px solid #46516a;border-radius:12px;background:#242d40;color:inherit;padding:15px 22px;cursor:pointer}button:hover{background:#34425d}button:disabled{cursor:default;opacity:.85}button.primary{background:#e88738;color:#17120c;border-color:#e88738;font-weight:700}input,textarea{width:100%;padding:12px;border:1px solid #46516a;border-radius:8px;background:#151b28;color:inherit}label{display:block;margin:16px 0 6px}.card{max-width:580px;margin:12vh auto;padding:36px;background:#1c2230;border:1px solid #343e52;border-radius:20px}h1{font-size:clamp(28px,4vw,44px);margin-top:0}p{line-height:1.6}.muted{color:#a7b1c5}.eyebrow{color:#e9a773;font-weight:600;letter-spacing:.08em;font-size:13px}.card button{margin-top:20px;width:100%}.quiz{min-height:100dvh;display:flex;flex-direction:column}.visual{flex-shrink:0;display:flex;justify-content:center;padding:38px 28px 0}.topline{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:#bbc5d8;margin-bottom:14px}.topline span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topline span:last-child{flex-shrink:0}.question{max-width:800px;width:100%;margin:0 auto}.question h2{font-size:clamp(28px,2.3vw,32px);line-height:1.35;font-weight:650;margin:0 0 28px;overflow-wrap:anywhere}.answers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.answers button{display:flex;align-items:center;gap:14px;min-height:72px;padding:18px 22px;text-align:left;font-size:20px;line-height:1.4;transition:background .15s,border-color .15s,box-shadow .15s}.answer-key{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:1px solid #53617b;border-radius:8px;font-size:14px;font-weight:650;color:#bdc8de}.answer-text{min-width:0;overflow-wrap:anywhere}.answers button:focus-visible{outline:3px solid #fff;outline-offset:4px}.answers .wrong{background:#8d283c;border-color:#ff6d87}.answers .right{background:#216445;border-color:#67d5a0}dialog{width:min(500px,calc(100% - 32px));border:1px solid #53607a;border-radius:18px;background:#202838;color:#edf0f7;padding:30px}dialog::backdrop{background:#05070bbd}dialog button{width:100%;margin-top:20px}#error{color:#ff9caa;text-align:center;margin:0;padding:0 16px}#error:not(:empty){padding:12px;background:#351f29}.score{font-size:64px;font-weight:750;color:#e9a773}a{color:#e9a773}.admin{max-width:1000px;margin:40px auto;padding:0 24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar h1{margin:0}.editor{margin:22px 0;background:#1c2230;border:1px solid #343e52;padding:24px;border-radius:16px}.editor h2{margin:0}.answer-row{display:flex;align-items:center;gap:10px;margin:8px 0}.answer-row input[type=radio]{width:22px;flex-shrink:0}.editor img{max-width:100%;max-height:220px;display:block;margin:12px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.status{color:#79dda9}.sticky{position:sticky;bottom:0;padding:16px;background:#10131bf0;border-top:1px solid #343e52}.editor input[type=file]{margin-top:8px}@media(max-width:640px){.card{margin:8vh 16px;padding:25px}.visual{padding:26px 16px 0}.answers{grid-template-columns:1fr}.question h2{font-size:23px;margin-bottom:24px}.answers button{min-height:68px;font-size:18px;padding:16px 18px}.answers{gap:12px}.admin{padding:0 16px}.editor{padding:16px}}

.rank-novice{color:#ffffff}.rank-student{color:#79dda9}.rank-confident{color:#c49aff}.rank-master{color:#e88738}
.course-invite{border-top:1px solid #343e52;padding-top:16px;margin:18px 0 22px}.course-invite p{margin:0 0 12px}.course-link{color:#67d5a0;display:inline-block;font-weight:650;text-underline-offset:4px;overflow-wrap:anywhere}.course-link:hover{color:#9beac0}
.course-stat{display:flex;align-items:center;gap:20px;width:fit-content;max-width:100%;padding:18px 22px;margin:0 0 26px;border:1px solid #343e52;border-radius:16px;background:#1c2230}.course-stat p{margin:0}.course-stat strong{display:block;font-size:36px;line-height:1.25;color:#e9a773}.course-stat button{font-size:14px;padding:10px 14px}.course-stat .muted{font-size:12px}.course-stat[aria-busy=true]{opacity:.75}
@media(max-width:640px){.course-stat{width:100%;gap:12px;padding:16px;flex-wrap:wrap}}

.feedback-right{color:#67d5a0}.feedback-wrong{color:#ff6d87}.rank-label{font-size:20px}.rank{font-size:28.8px}

.home-logo{display:block;width:220px;height:175px;max-width:100%;object-fit:contain;margin:0 auto 24px}
.quiz-heading{width:100%;max-width:800px}.quiz-heading h1{font-size:28px;margin:0 0 24px;text-align:center}.quiz-heading progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:#3a4353;accent-color:#fff}.quiz-heading progress::-webkit-progress-bar{background:#3a4353;border-radius:999px}.quiz-heading progress::-webkit-progress-value{background:#fff;border-radius:999px}.quiz-heading progress::-moz-progress-bar{background:#fff;border-radius:999px}
@media(max-width:640px){.home-logo{width:180px;height:145px}.quiz-heading h1{font-size:25px;margin-bottom:22px}}

.quiz-content{flex:1;display:flex;align-items:center;justify-content:center;padding:36px 28px clamp(80px,26dvh,240px)}
@media(hover:hover){.answers button:not(:disabled):hover{background:#303d57;border-color:#8ea2c9;box-shadow:0 0 0 1px #8ea2c9}}
@media(max-width:640px){.quiz-content{align-items:flex-start;padding:28px 16px 40px}}

.result-page{width:100%;max-width:1100px;margin:0 auto;padding:clamp(32px,6dvh,64px) 28px 40px}.result-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.result-header .eyebrow{margin:0 0 10px}.result-header h1{font-size:30px;margin:0}.result-nick{color:#bbc5d8;font-size:15px;max-width:45%;overflow-wrap:anywhere;margin:0;text-align:right}.result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.result-achievement,.result-course{border:1px solid #343e52;border-radius:22px;padding:36px;display:flex;flex-direction:column;min-width:0}.result-achievement{background:linear-gradient(145deg,#222b3d,#1a202d)}.result-achievement .rank-label{font-size:20px;line-height:1.5;margin:0 0 18px;max-width:280px}.result-achievement .rank{font-size:clamp(36px,3.6vw,48px);font-weight:750;line-height:1.15;letter-spacing:-.02em;margin:0 0 40px;overflow-wrap:anywhere}.result-points{border-top:1px solid #3a4458;padding-top:24px;margin-top:auto}.result-score{margin:0;font-size:23px;line-height:1.2;color:#a7b1c5}.result-score strong{font-size:42px;font-weight:700;color:#edf0f7}.result-points .muted{margin:8px 0 0;font-size:15px}.result-course{background:linear-gradient(145deg,#20322f,#192323);border-color:#3c5b50}.course-eyebrow{font-size:12px;font-weight:650;color:#8de5b6;letter-spacing:.1em;margin:0 0 14px}.result-course h2{font-size:30px;line-height:1.2;letter-spacing:-.015em;margin:0 0 22px}.course-description{font-size:18px;line-height:1.6;color:#dce7e2;margin:0 0 16px}.result-course-link{display:flex;justify-content:center;align-items:center;text-align:center;min-height:60px;border-radius:12px;background:#67d5a0;color:#10281c;font-size:17px;font-weight:700;text-decoration:none;padding:16px 18px;margin-top:12px;transition:background .15s,box-shadow .15s}.result-course-link:hover{background:#8de5b6;box-shadow:0 0 0 1px #a4f0c9}.result-course-link:focus-visible,.result-retry:focus-visible{outline:3px solid #fff;outline-offset:4px}.course-address{font-size:14px;color:#8de5b6;text-align:center;margin:12px 0 0;overflow-wrap:anywhere}.result-footer{display:flex;justify-content:center;margin-top:24px}.result-retry{background:transparent;border-color:#46516a;color:#bbc5d8;font-size:15px;padding:12px 22px}.result-retry:hover{background:#202838;color:#edf0f7}
@media(max-width:760px){.result-page{padding:28px 16px 32px}.result-header{align-items:flex-start;gap:12px;margin-bottom:22px}.result-header h1{font-size:26px}.result-nick{font-size:13px;max-width:40%;padding-top:3px}.result-grid{grid-template-columns:1fr;gap:18px}.result-achievement,.result-course{padding:26px;border-radius:18px}.result-achievement .rank{font-size:36px;margin-bottom:28px}.result-achievement .rank-label{font-size:19px;max-width:none}.result-course h2{font-size:28px}.course-description{font-size:17px}.result-course-link{font-size:16px}.result-footer{margin-top:20px}}

.course-stat{flex-wrap:wrap}.course-stat>div{flex:1 1 220px}
