:root{--ink:#132e38;--teal:#146e69;--paper:#f5f7f6;--line:#d6e1df;--muted:#526a72;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 "Segoe UI",Arial,sans-serif}a{color:var(--teal)}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:14px 25px;font-weight:600;text-decoration:none;cursor:pointer;min-height:50px}button:hover,.button:hover{background:#105853}button:disabled{opacity:.55;cursor:wait}.secondary{background:#e8efed;color:var(--ink)}.top{max-width:1240px;margin:auto;padding:25px 32px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.top>span{font-size:11px;letter-spacing:2px;color:var(--muted);flex:1}.top>a:last-child{font-size:14px}.brand{font-size:27px;font-weight:800;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.brand span{font-size:12px;letter-spacing:0;background:var(--ink);color:white;padding:5px 7px;border-radius:5px;margin-left:8px;vertical-align:middle}.hero{max-width:1240px;padding:70px 32px 60px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--teal);margin:0 0 20px}h1{font-size:clamp(36px,4.9vw,66px);line-height:1.08;letter-spacing:-2px;margin:0 0 22px;font-weight:700}h2{font-size:26px;line-height:1.3;letter-spacing:-.5px}h3{font-size:21px}.subtitle{font-size:23px;line-height:1.45;font-weight:500;margin:0 0 28px}.lead{color:var(--muted);font-size:17px;max-width:650px}.meta{font-size:14px;color:var(--muted);margin:28px 0 22px}.blueprint{background:#e5eeeb;min-height:390px;border-radius:30px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#146e6910 1px,transparent 1px),linear-gradient(90deg,#146e6910 1px,transparent 1px);background-size:27px 27px}.orbit{width:265px;height:265px;border:1px solid #146e6970;border-radius:50%;position:absolute;transform:rotate(-35deg) scaleY(.58)}.orbit.two{transform:rotate(35deg) scaleY(.58)}.orbit.three{transform:rotate(90deg) scaleY(.58)}.core{width:110px;height:110px;border-radius:50%;background:var(--teal);color:white;display:flex;align-items:center;justify-content:center;font-size:45px;font-weight:300;box-shadow:0 0 0 15px #146e6910}.diagram-label{position:absolute;bottom:28px;left:27px;font:11px/1.8 Consolas,monospace;letter-spacing:2px}.topics{max-width:1176px;margin:0 auto 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.topic{border-top:1px solid var(--line);padding:24px 0}.topic small{color:var(--teal);font-weight:700}.topic p{font-size:15px;color:var(--muted)}.reading,.quiz,.result,.registration{max-width:840px;margin:45px auto 70px;padding:0 24px}.registration{max-width:750px}.reading h1,.registration h1,.result h1{font-size:40px;letter-spacing:-1px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:15px;font-weight:600}input:not([type=radio]):not([type=checkbox]),select{width:100%;border:1px solid #adc1bc;border-radius:8px;background:white;color:var(--ink);padding:11px;margin-top:6px}input[type=checkbox],input[type=radio]{accent-color:var(--teal);width:20px;height:20px;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;margin:23px 0}.check input{margin-top:5px}.progress-header{display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.progress{width:100%;height:6px;accent-color:var(--teal);display:block;margin:12px 0 30px}.question-text p{margin:0 0 18px}.options{display:grid;gap:12px;margin:25px 0}.option{display:flex;gap:14px;align-items:flex-start;padding:17px;background:white;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:16px;font-weight:400}.option:has(input:checked){border-color:var(--teal);background:#e9f3ef}.option input{margin-top:4px}.option strong{color:var(--teal)}.feedback{border-left:4px solid var(--teal);padding:20px 25px;background:#e7f2ed;border-radius:0 12px 12px 0;margin-bottom:25px}.notice,.error{padding:17px;border:1px solid #bf9e61;background:#fff7e7;border-radius:9px;margin:20px 0}.error{color:#8b2c2c;background:#fff2ee}.score{font-size:76px;line-height:1.1;letter-spacing:-3px;margin:35px 0 10px}.score small{font-size:26px;letter-spacing:0;color:var(--muted)}.result{text-align:center}.result .button{margin:12px}.quiet{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1176px;margin:auto;padding:25px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ba882f;outline-offset:4px}.admin{max-width:1350px;padding:30px;margin:auto}.metrics{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;min-width:180px}.metric strong{display:block;font-size:30px}.scroll{overflow-x:auto;margin:20px 0}table{border-collapse:collapse;width:100%;background:white;font-size:14px}th,td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:#e3eeeb}td{overflow-wrap:anywhere}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions form{display:inline}.chart{display:flex;gap:4px;height:130px;align-items:flex-end}.chart progress{height:120px;width:20px;writing-mode:vertical-lr;transform:rotate(180deg);accent-color:var(--teal)}@media(max-width:760px){.top{padding:18px 20px;gap:14px}.top>span{font-size:9px;letter-spacing:1px}.hero{display:block;padding:40px 22px 25px}.hero h1{font-size:43px}.subtitle{font-size:20px}.blueprint{min-height:240px;margin-top:35px}.orbit{width:210px;height:210px}.topics{margin:0 22px 35px;grid-template-columns:1fr;gap:0}.topic{padding:18px 0}.fields{grid-template-columns:1fr}.card{padding:22px}.registration h1,.reading h1{font-size:32px}.quiz{margin-top:30px}.option{padding:14px;gap:10px}footer{margin:0 22px;display:block}footer a{display:block;margin-top:8px}.admin{padding:18px}.metrics{gap:8px}.metric{min-width:140px;flex:1}.score{font-size:62px}}
@media(max-width:760px){.hero h1{font-size:clamp(20px,6.5vw,36px);letter-spacing:-1px;line-height:1.18}.top>span{letter-spacing:.5px}.hero{overflow-wrap:break-word}}
