*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#eef3ff;color:#1b2a4a}
header{display:flex;align-items:center;gap:12px;background:#1b3a8a;color:#fff;padding:10px 20px}
.logo{height:64px;background:#fff;border-radius:12px;padding:2px}header h1{margin:0;flex:1;font-size:1.4rem}header small{font-weight:400;font-size:.8rem;opacity:.8}
main{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:16px}
@media(max-width:850px){main{grid-template-columns:1fr}}
button{background:#2f6fed;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:1rem;cursor:pointer}
button.alt{background:#6b7a99}button.big{width:100%;margin-top:10px;padding:14px;font-size:1.2rem;background:#12a150}
input,select{padding:8px;border:1px solid #b9c5e4;border-radius:8px;font-size:1rem;min-width:0}
input[type=number]{width:70px}
.bar,.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.bar span{flex:1;font-weight:700}
.card{position:relative;overflow:hidden;background:#fff;border-radius:14px;padding:28px;font-size:2rem;line-height:1.4;min-height:200px;box-shadow:0 3px 10px #0002;display:flex;align-items:center;justify-content:center;text-align:center}
.ans{min-height:80px;margin-top:10px;background:#e6ffee;color:#0b6b35;font-weight:700}.hide{display:none!important}.card::before{content:"";position:absolute;inset:0;background:url(../assets/logo.png) center/50% no-repeat;opacity:.07;pointer-events:none}.card>*,.card{z-index:1}.wm{position:fixed;right:14px;bottom:8px;font-weight:800;font-size:1rem;color:#1b3a8a;opacity:.55;pointer-events:none;z-index:150;text-shadow:0 1px 0 #fff}
.box{background:#fff;border-radius:14px;padding:14px;margin-bottom:16px;box-shadow:0 3px 10px #0002}.box h2{margin:0 0 6px;font-size:1.1rem}
.time{font-size:4rem;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.time.end{color:#fff;background:#d62828;border-radius:12px;animation:b .5s infinite alternate}.lv{font-weight:700;color:#fff;background:#6b3fd4;display:inline-block;padding:4px 12px;border-radius:20px}.h{font-size:.95rem;padding:4px 6px;border-left:4px solid}.h.pos{border-color:#12a150}.h.neg{border-color:#d62828}#hist{max-height:200px;overflow:auto}h3{margin:10px 0 4px}
@keyframes b{to{opacity:.3}}
.team{border:2px solid #dbe4ff;border-radius:10px;padding:8px;margin-top:8px}
.team .top{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.team .pt{font-size:2.4rem;font-weight:800;color:#2f6fed;text-align:center}
.team .del{background:#d62828;padding:2px 8px}
#dlg,#dlg2{z-index:100;position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px}
#dlg .box,#dlg2 .box{max-height:90vh;overflow:auto}#dlg .box{max-width:560px;width:100%;margin:0}pre{max-height:140px;overflow:auto;background:#f3f6ff;padding:8px;white-space:pre-wrap}

body{height:100vh;display:flex;flex-direction:column;overflow:hidden}
main{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}
main>section,main>aside{min-height:0;overflow-y:auto;padding-right:6px}
.tbox{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;justify-content:space-between}
.tbox h2{width:100%}.tbox .time{font-size:3rem;margin:0}.tbox .row{margin:0}
.q .box{margin-bottom:12px}
@media(max-width:850px){body{height:auto;overflow:auto;display:block}main{display:block}main>section,main>aside{overflow:visible;padding-right:0}}
