:root { color-scheme: light; } * { box-sizing:border-box; } body { margin:0; background:#f3f6fa; color:#162738; font-family:Arial,Helvetica,sans-serif; font-size:16px; } button,input,textarea { font:inherit; } button { cursor:pointer; }
.site-header { height:72px; padding:0 max(28px,calc((100vw - 1160px)/2)); display:flex; align-items:center; justify-content:space-between; background:#112b42; color:#fff; }.brand { display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:-.02em; }.brand small { font-size:14px; color:#a5c3d9; font-weight:400; }.brand-mark { color:#6de2b7; font-size:24px; line-height:1; }.header-note { color:#bbcfdf; font-size:14px; }
.workspace { max-width:1160px; margin:0 auto; padding:42px 28px 80px; display:grid; grid-template-columns:260px minmax(0,1fr); gap:38px; align-items:start; }.sidebar { padding-top:12px; position:sticky; top:28px; }.sidebar-heading,.eyebrow { font-size:12px; font-weight:800; letter-spacing:.12em; color:#53728a; margin:0; }.big-count { font-size:44px; letter-spacing:-.05em; font-weight:800; margin:14px 0 8px; }.big-count span { font-size:19px; color:#8295a5; letter-spacing:0; }.meter { height:8px; border-radius:12px; background:#dfe8ee; overflow:hidden; }.meter span { display:block; height:100%; background:#29ad8a; transition:width .25s; }.sidebar p { line-height:1.5; font-size:14px; color:#60778a; margin:18px 0 24px; }.jump-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; }.jump-grid button { min-width:0; height:36px; border-radius:9px; border:1px solid #d7e2e9; background:#fff; color:#657b8e; font-size:13px; }.jump-grid button.visited { background:#deefe9; color:#14694e; border-color:#b6dbcb; font-weight:700; }.jump-grid button.active { outline:2px solid #0e6e83; outline-offset:1px; }.sidebar-foot { border-top:1px solid #dae4ea; margin-top:27px; padding-top:20px; color:#758a99; font-size:13px; line-height:1.55; }
.card { background:#fff; border:1px solid #e1e8ee; box-shadow:0 16px 45px rgba(23,53,77,.06); border-radius:22px; padding:42px 48px 32px; }.card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }.optional-pill { background:#eef5f8; color:#55788b; border-radius:100px; padding:7px 11px; font-size:12px; }h1 { font-size:36px; letter-spacing:-.04em; line-height:1.15; margin:18px 0 12px; }.lead { color:#63798a; line-height:1.5; margin:0 0 26px; }.choices { display:grid; gap:9px; }.choice { display:flex; gap:15px; align-items:center; text-align:left; width:100%; padding:16px 18px; border-radius:13px; background:#fff; border:1px solid #dbe5eb; transition:background .15s,border-color .15s,transform .15s; }.choice:hover { border-color:#9ab6c3; transform:translateY(-1px); }.choice.selected { border-color:#12836b; background:#effaf5; box-shadow:inset 0 0 0 1px #12836b; }.radio { border:2px solid #a6b7c4; width:20px; height:20px; border-radius:50%; flex:none; }.selected .radio { border:6px solid #168569; background:white; }.choice-copy { display:flex; flex-direction:column; gap:4px; }.choice-copy strong { color:#23394a; font-size:16px; }.choice-copy small { color:#6e8291; font-size:13px; line-height:1.35; }
.comment-section { border-top:1px solid #e8eef2; margin-top:26px; padding-top:22px; }.comment-section label,.field-label { display:block; font-size:16px; font-weight:700; }.comment-section label span { font-weight:400; color:#8496a2; font-size:13px; margin-left:6px; }.comment-section p,.hint { font-size:13px; color:#728797; line-height:1.5; margin:6px 0 12px; }textarea,.code-input { display:block; width:100%; resize:vertical; border:1px solid #d6e2e9; border-radius:11px; background:#fbfdfe; padding:13px 14px; color:#1d3446; outline:none; }textarea:focus,.code-input:focus { border-color:#198d78; box-shadow:0 0 0 3px #d9f4e9; }.actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; }.actions button,.admin-actions button { border-radius:10px; padding:13px 21px; font-weight:700; border:1px solid transparent; }.primary { background:#117e67; color:#fff; }.primary:hover { background:#0c6754; }.primary:disabled { opacity:.55; cursor:wait; }.secondary { color:#436176; background:#f0f5f7; }.secondary:disabled { opacity:.35; cursor:default; }.error { color:#9d3429; background:#fff0ed; border:1px solid #facabe; padding:12px 14px; border-radius:9px; margin-top:15px; font-size:14px; }
.review-list { max-height:340px; overflow:auto; border:1px solid #e0e9ee; border-radius:12px; margin-bottom:25px; }.review-list button { display:flex; width:100%; justify-content:space-between; gap:14px; text-align:left; padding:12px 15px; border:0; background:#fff; border-bottom:1px solid #e9eff2; color:#263e4f; }.review-list button:hover { background:#f5faf9; }.review-list button:last-child { border-bottom:0; }.review-list strong { color:#117e67; font-size:13px; white-space:nowrap; }.review-list .muted { color:#91a0ab; }.code-input { margin-top:9px; letter-spacing:.08em; text-transform:uppercase; }.done-panel { max-width:590px; margin:100px auto; background:#fff; border:1px solid #e1e8ee; border-radius:22px; padding:52px; text-align:center; box-shadow:0 16px 45px rgba(23,53,77,.06); }.done-panel p:last-child { color:#63798a; line-height:1.6; }.done-symbol { width:60px; height:60px; border-radius:50%; background:#def5ea; color:#148564; display:grid; place-items:center; font-size:32px; margin:0 auto 20px; }
.admin-layout { max-width:740px; margin:48px auto; padding:0 18px; }.admin-layout .card { margin-bottom:20px; }.admin-layout h1 { margin-top:0; }.admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }.codes-list { background:#f2f7f9; border-radius:10px; padding:18px; font-family:monospace; line-height:2; overflow-wrap:anywhere; }
.finish-early { margin-top:18px; border:0; background:transparent; color:#0e7564; text-align:left; font-size:14px; font-weight:700; padding:0; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px) { .site-header { padding:0 18px; height:60px; }.brand small,.header-note { display:none; }.workspace { display:block; padding:20px 14px 50px; }.sidebar { position:static; padding:0 4px 18px; }.sidebar-heading,.sidebar-foot,.jump-grid,.sidebar p { display:none; }.big-count { font-size:22px; margin:0 0 8px; }.big-count span { font-size:15px; }.content { margin-top:4px; }.card { padding:24px 18px; border-radius:17px; }h1 { font-size:29px; }.optional-pill { display:none; }.choice { padding:14px; }.choice-copy small { font-size:12px; }.done-panel { margin:40px 14px; padding:36px 20px; } }
[hidden] { display:none !important; }
.header-account { display:flex; align-items:center; gap:18px; font-size:14px; color:#bbcfdf; }.header-account button { border:1px solid #547187; background:transparent; color:#fff; padding:8px 12px; border-radius:8px; }.header-account button:hover { background:#254762; }
.login-wrap { max-width:530px; margin:8vh auto 40px; padding:0 18px; }.login-card input,.results-tools input { display:block; width:100%; margin:9px 0 22px; padding:14px 15px; border:1px solid #d6e2e9; border-radius:10px; outline:none; background:#fbfdfe; color:#1d3446; }.login-card input:focus,.results-tools input:focus { border-color:#198d78; box-shadow:0 0 0 3px #d9f4e9; }.full-button { display:block; width:100%; border:0; border-radius:10px; padding:14px; font-weight:700; margin-top:25px; }.login-card .lead { margin-bottom:30px; }.login-card .field-label { margin-top:4px; }
.results-wrap { max-width:1160px; margin:0 auto; padding:48px 28px 90px; }.results-head { display:flex; justify-content:space-between; align-items:center; gap:24px; }.results-head h1 { margin:14px 0 12px; }.results-head .lead { margin:0; }.download-button { display:inline-block; text-decoration:none; padding:14px 18px; border-radius:10px; font-weight:700; white-space:nowrap; }.results-note { background:#e8f1f5; color:#405e70; border-radius:12px; padding:15px 18px; line-height:1.5; font-size:14px; margin:30px 0; }.results-tools { max-width:340px; }.results-tools label { font-size:14px; font-weight:700; }.results-tools input { margin:8px 0 20px; }.legend { display:flex; flex-wrap:wrap; gap:12px 20px; color:#6f8493; font-size:13px; margin:4px 0 16px; }.legend span { display:flex; align-items:center; gap:7px; }.dot { width:9px; height:9px; border-radius:50%; }.top { background:#168569; }.good { background:#57b2a4; }.normal { background:#e8af50; }.issue { background:#d87c72; }
.result-list { display:grid; gap:11px; }.result-row { display:grid; grid-template-columns:minmax(210px,1fr) minmax(300px,1.5fr); gap:35px; align-items:center; background:#fff; border:1px solid #e0e8ed; border-radius:14px; padding:18px 22px; }.result-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; }.result-title h2 { font-size:17px; letter-spacing:-.02em; margin:0; }.tier { font-size:12px; padding:5px 9px; border-radius:6px; white-space:nowrap; font-weight:700; }.tier-top { background:#e1f5e9; color:#117353; }.tier-good { background:#e4f6f4; color:#14766b; }.tier-normal { background:#fff4dc; color:#9a6a14; }.tier-issue { background:#fff0ed; color:#a4493e; }.tier-none { background:#eef2f5; color:#708493; }.segments { display:flex; height:9px; border-radius:100px; background:#e9eff2; overflow:hidden; }.segments span { height:100%; }.result-meta { display:flex; flex-wrap:wrap; gap:6px 15px; margin-top:9px; color:#738999; font-size:12px; }.result-meta b { color:#234254; }.result-meta em { color:#ad6040; font-style:normal; font-weight:700; }.results-foot,.empty-search { color:#768b9a; font-size:13px; line-height:1.5; }.results-foot { margin-top:25px; }
@media(max-width:760px) { .login-wrap { margin-top:35px; }.header-account { gap:9px; }.results-wrap { padding:25px 14px 60px; }.results-head { display:block; }.download-button { margin:20px 0 0; }.results-note { margin:23px 0; }.result-row { grid-template-columns:1fr; gap:16px; padding:17px; }.result-title h2 { font-size:16px; }.result-meta { line-height:1.4; } }
