:root{--ink:#eef6ff;--muted:#9fb2d3;--gold:#ffd84d;--border:#2d4774;--green:#52ef88;--red:#ff5d7b;--cyan:#55d8ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(#050914,#09152a);color:var(--ink);font-family:"Trebuchet MS",Verdana,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,rgba(0,0,0,.035) 2px 4px)}.wrap{width:min(960px,calc(100% - 24px));margin:auto}.panel{background:linear-gradient(180deg,#14213b,#0b1528);border:3px solid var(--border);box-shadow:6px 6px 0 rgba(0,0,0,.35);padding:18px;margin:18px 0;position:relative}.tiny{font:800 12px monospace;color:var(--gold);letter-spacing:.12em}h1{font-size:clamp(2.3rem,8vw,4.5rem);margin:.2rem 0;text-shadow:4px 4px 0 #07101f}h2{margin-top:0}.muted{color:var(--muted)}label{display:block;font-weight:900;margin:12px 0}input,textarea,select{width:100%;padding:14px;margin-top:6px;background:#06101f;border:3px solid #29436f;color:white;font-size:17px;border-radius:0}.btn{border:3px solid #2b4b78;background:#284976;color:white;padding:13px 17px;font-weight:900;cursor:pointer;box-shadow:3px 3px 0 rgba(0,0,0,.4);text-transform:uppercase}.btn.good{background:#2bc66a;color:#06130b;border-color:#8cffb2}.btn.red{background:#cb3958;border-color:#ff8aa2}.btn.alt{background:#29374f}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.hero{text-align:center;padding-top:20px}.hero .panel{padding:28px}.go-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.question{background:#081425;border:2px solid #29436f;padding:14px;margin:14px 0}.choices{display:grid;gap:8px}.choice{display:flex;gap:10px;align-items:flex-start;border:2px solid #29436f;background:#09182c;padding:12px;cursor:pointer}.choice input{width:auto;margin:3px 0 0}.hidden{display:none!important}.examrow,.resultrow{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:2px solid #29436f;padding:12px 0}.pill{padding:7px 10px;border:2px solid #6e6323;color:var(--gold);font-weight:900;font-family:monospace;font-size:18px}.teacher-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.teacher-head>label{min-width:180px}.book{position:fixed;left:0;top:0;width:84px;height:64px;z-index:60;pointer-events:none}.cover{position:absolute;inset:0;background:#69361e;border:4px solid #22110a;display:grid;place-items:center;color:#ffd66e;font-weight:900}.mouth{position:absolute;left:8px;right:8px;bottom:-15px;height:28px;background:#7a1522;border:4px solid #22110a}.mouth:before,.mouth:after{content:"▲▲▲▲▲";position:absolute;left:3px;color:#fff1d2;font-size:12px;letter-spacing:1px;line-height:9px}.mouth:after{bottom:0;transform:rotate(180deg)}.sowell{position:fixed;right:12px;bottom:12px;display:flex;gap:8px;align-items:end;z-index:70}.sowell img{width:140px;height:140px;object-fit:cover;image-rendering:pixelated}.bubble{max-width:310px;background:#fff;color:#111827;border:4px solid #21385d;padding:12px;font-weight:900}.judgment{position:fixed;inset:0;background:#000;z-index:1000;display:grid;place-items:center;overflow:hidden}.judgment img{width:100%;height:100%;object-fit:contain;animation:zoom 5s ease-in-out infinite alternate}.judgment .hud{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(5,10,18,.88);border:3px solid #385985;padding:14px}.judgment h2{font-size:clamp(2rem,7vw,4rem);margin:0}@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.05)}}.jsonbox{font-family:monospace;min-height:170px}.codebig{font:900 clamp(3rem,12vw,7rem) monospace;color:var(--gold);letter-spacing:.1em;text-align:center}.notice{border:2px solid #5d5521;background:#1c1a0b;padding:12px;color:#ffe78b}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tab.active{background:#2bc66a;color:#06130b}.teacher-section.hidden{display:none!important}@media(max-width:680px){.go-grid{grid-template-columns:1fr}.examrow,.resultrow,.teacher-head{align-items:stretch;flex-direction:column}.book{display:none}.sowell{left:8px;right:8px}.sowell img{width:90px;height:90px}.bubble{font-size:13px}.actions .btn{flex:1}}
