
:root{
  --navy:#12345b;--navy2:#081f3a;--blue:#1e6fb9;--teal:#17a6a1;--green:#58a55c;
  --yellow:#f6c445;--orange:#f28c3a;--red:#d84a4a;--purple:#7467d8;--paper:#fff;
  --light:#eef5f8;--dark:#183042;--muted:#647985;--line:#d7e4eb;
  --shadow:0 16px 42px rgba(18,52,91,.14)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:radial-gradient(circle at 8% 3%,rgba(23,166,161,.11),transparent 25rem),radial-gradient(circle at 92% 10%,rgba(30,111,185,.11),transparent 24rem),var(--light)}
button,input,select,textarea{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:99}.institution{width:min(1180px,calc(100% - 28px));margin:18px auto 0;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;gap:22px;background:rgba(255,255,255,.96);border-radius:20px 20px 0 0}.institution h1{margin:0 0 5px;color:#080808;font-size:clamp(1.1rem,3vw,1.75rem)}.institution p{margin:3px 0}.institution .loc{font-weight:900}.school-logo{width:135px;max-height:140px;object-fit:contain}.topbar{position:sticky;top:0;z-index:30;width:min(1180px,calc(100% - 28px));margin:0 auto;padding:13px 18px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:14px;box-shadow:0 8px 20px rgba(18,52,91,.22)}.topbar a{color:#fff;text-decoration:none}.score-pill{background:#fff;color:var(--navy);padding:8px 13px;border-radius:999px;font-weight:900}.shell{width:min(1180px,calc(100% - 28px));margin:0 auto 34px;padding:25px;background:rgba(255,255,255,.48);border-radius:0 0 24px 24px}.hero,.card{background:#fff;border-radius:24px;box-shadow:var(--shadow)}.hero{padding:clamp(25px,5vw,50px);display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:center}.eyebrow{color:var(--teal);font-weight:900;letter-spacing:.08em;font-size:.8rem}.hero h2{font-size:clamp(2rem,6vw,3.6rem);line-height:1.02;color:var(--navy);margin:.35rem 0 1rem}.hero p{font-size:1.08rem;line-height:1.55}.chip-art{min-height:260px;display:grid;place-items:center;position:relative}.chip{width:230px;height:200px;border-radius:28px;background:var(--navy);display:grid;place-items:center;color:#fff;font-size:3.1rem;font-weight:900;font-family:monospace;box-shadow:0 18px 28px rgba(18,52,91,.25)}.chip:before,.chip:after{content:'';position:absolute;width:320px;height:12px;background:repeating-linear-gradient(90deg,#8198a8 0 28px,transparent 28px 47px);z-index:-1}.chip:before{top:75px}.chip:after{bottom:75px}.notice{padding:14px 16px;border-left:7px solid var(--orange);border-radius:12px;background:#fff6e8;line-height:1.45}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.mission{background:#fff;border-radius:20px;padding:22px;box-shadow:var(--shadow);border-top:8px solid var(--teal)}.mission.orange{border-color:var(--orange)}.mission.green{border-color:var(--green)}.mission.blue{border-color:var(--blue)}.mission.purple{border-color:var(--purple)}.mission h3{color:var(--navy);margin:.3rem 0 .6rem}.mission .number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}.mission a,.button{display:inline-block;margin-top:10px;padding:11px 16px;border-radius:13px;background:var(--navy);color:#fff;text-decoration:none;font-weight:900;border:0;cursor:pointer}.button.secondary{background:#dfeaf1;color:var(--navy)}.button.teal{background:var(--teal)}.button.orange{background:var(--orange)}.button.green{background:var(--green)}.button.purple{background:var(--purple)}.card{padding:clamp(18px,4vw,34px);margin-top:20px}.card h2,.card h3{color:var(--navy)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-weight:900;color:var(--navy)}input,select,textarea{width:100%;padding:12px 13px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--dark)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,166,161,.25);border-color:var(--teal)}.output{min-height:62px;padding:14px;border-radius:13px;background:#eef7f7;border:1px solid #b9e0dd;font-family:Consolas,monospace;word-break:break-all}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.result-box{padding:14px;border-radius:14px;background:#f5f9fb;border:1px solid var(--line)}.result-box b{display:block;color:var(--navy);margin-bottom:7px}.mono{font-family:Consolas,monospace}.feedback{display:none;margin-top:14px;padding:13px 15px;border-radius:13px;font-weight:800}.feedback.good{display:block;background:#e9f8ef;border:1px solid #76c99d;color:#17663f}.feedback.bad{display:block;background:#fff0ef;border:1px solid #e9a09c;color:#952e2e}.challenge{border:2px dashed #b9ccd6;background:#f6fafc;padding:18px;border-radius:17px}.progress{height:13px;background:#e0eaf0;border-radius:99px;overflow:hidden}.progress>div{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--blue));transition:.25s}.switches{display:flex;gap:13px;flex-wrap:wrap}.bit-switch{min-width:120px;padding:18px;border:0;border-radius:16px;background:#dfe8ed;color:var(--navy);font-size:1.35rem;font-weight:900;cursor:pointer}.bit-switch.on{background:var(--teal);color:#fff}.gate-output{width:150px;height:150px;margin:18px auto;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:4rem;font-weight:900}.truth{width:100%;border-collapse:collapse}.truth th,.truth td{padding:9px;border:1px solid var(--line);text-align:center}.truth th{background:var(--navy);color:#fff}.ascii-table{width:100%;border-collapse:collapse;font-family:Consolas,monospace}.ascii-table th,.ascii-table td{padding:9px;border:1px solid var(--line);text-align:center}.ascii-table th{background:var(--blue);color:#fff}.certificate{max-width:820px;margin:20px auto;padding:34px;border:6px solid var(--teal);border-radius:28px;text-align:center;background:#fff}.final-score{font-size:6rem;line-height:.9;color:var(--navy);font-weight:900}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.badges div{padding:14px 7px;border-radius:14px;background:var(--navy);color:#fff;font-weight:900}.footer{text-align:center;color:#71838d;padding:20px}.breadcrumb{margin-bottom:15px}.breadcrumb a{color:var(--blue)}.nav-pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.nav-pills a{padding:9px 12px;border-radius:999px;background:#e2edf3;color:var(--navy);text-decoration:none;font-weight:800}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.hidden{display:none!important}
@media(max-width:820px){.hero,.tool-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.school-logo{width:95px}.result-grid{grid-template-columns:1fr}.badges{grid-template-columns:1fr 1fr}.topbar{position:static}}
@media(max-width:560px){.institution{align-items:flex-start}.school-logo{display:none}.shell{width:calc(100% - 14px);padding:13px}.topbar{width:calc(100% - 14px);align-items:flex-start}.hero{padding:22px}.chip{width:190px;height:170px;font-size:2.4rem}.final-score{font-size:4.6rem}}
@media print{.institution,.topbar,.hero,.breadcrumb,.nav-pills,.button-row,.footer{display:none!important}.shell{width:100%;padding:0;background:#fff}.card{box-shadow:none}.certificate{break-inside:avoid}}
