:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#243145;background:#f3f6fa;font-size:14px;line-height:1.65}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:#265ed6;text-decoration:none}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #d4dce8;border-radius:9px;background:#fff;color:#263750;padding:9px 16px}button:hover{border-color:#537ade}button:disabled{opacity:.5;cursor:wait}button.primary{background:#285bd9;color:#fff;border:0}header{min-height:76px;background:#fff;border-bottom:1px solid #e1e7f0;display:flex;gap:22px;align-items:center;padding:14px 34px}.brand{font-size:18px;font-weight:700;color:#182843;display:flex;gap:12px;align-items:center}.logo{background:#285bd9;color:#fff;padding:6px 12px;border-radius:12px}#identity{margin-left:auto;color:#60708b}#notice{padding:0 28px;position:sticky;top:0;z-index:10;background:#fff3d7;color:#794b06}#notice:not(:empty){padding:12px 28px;border-bottom:1px solid #f4dfab}.access{max-width:1160px;margin:70px auto;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:24px}.intro small{font-weight:700;color:#6b85b1;letter-spacing:3px}.intro h1{font-size:42px;line-height:1.4;margin:15px 0;color:#142745}.intro p{color:#6b7890;line-height:2}.rules{display:flex;gap:40px;margin-top:38px}.rules strong{font-size:26px;color:#285bd9;display:block}.rules span{font-size:12px;color:#7b879b}.panel{background:#fff;border:1px solid #e2e8f1;border-radius:15px;padding:26px;margin:0 0 22px;box-shadow:0 7px 22px #152a4610}.panel h2{margin-top:0;font-size:20px}.panel>button{margin-top:12px}.panel>a{display:block;margin-top:18px}label{display:block;margin:14px 0;color:#53627b;font-size:13px}input,select{display:block;width:100%;border:1px solid #d4dce8;border-radius:8px;margin-top:6px;padding:11px 12px;color:#27374e;background:#fff}input:focus{outline:2px solid #c5d6ff;border-color:#4274dc}.muted{color:#7c889c;font-size:13px}.layout{display:grid;grid-template-columns:220px 1fr;min-height:75vh}aside{padding:27px 18px;background:#fff;border-right:1px solid #e2e8f1}.nav-caption{font-size:11px;color:#94a0b3;padding:0 15px 12px;letter-spacing:3px}nav{display:grid;gap:5px}nav a{padding:11px 15px;border-radius:9px;color:#637089}nav a.active{background:#eaf0ff;color:#285bd9;font-weight:700}.aside-note{font-size:12px;color:#96a0b0;padding:25px 15px}main{padding:30px;min-width:0;max-width:1600px;width:100%;margin:auto}h1{font-size:27px;margin:0 0 7px;color:#1d2e47}h2{font-size:19px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:17px;margin:25px 0}.card{padding:22px;border:1px solid #e2e8f1;border-radius:13px;background:#fff;color:#7b879b;font-size:13px}.card strong{display:block;font-size:27px;color:#243653;margin-top:7px}.card.accent{background:#285bd9;color:#d4e1ff;border-color:#285bd9}.card.accent strong{color:#fff}.table-wrap{overflow:auto;border:1px solid #e1e7ef;border-radius:12px;background:#fff;margin:20px 0}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{background:#f8faff;font-weight:500;color:#7c889c;text-align:left;padding:14px 17px}td{padding:15px 17px;border-top:1px solid #edf0f5}td small{display:block;color:#9aa4b4;font-size:11px}td button{font-size:12px;padding:5px 10px}.empty{text-align:center;padding:45px;color:#97a2b3}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:200px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.qr{width:200px;height:200px;background:#fff}.tag{padding:4px 9px;border-radius:6px;background:#edf4ff;color:#3561a6;font-size:12px}.warning{color:#9d7137;background:#fff7e8;padding:15px;border-radius:9px}.pager{display:flex;align-items:center;gap:12px;margin:20px 0}footer{font-size:12px;text-align:center;color:#98a3b4;padding:24px}.link-output{word-break:break-all}form{max-width:700px}#login button,#register button{width:100%}@media(max-width:800px){header{padding:13px 16px;gap:10px;flex-wrap:wrap}.brand{font-size:16px}#identity{font-size:12px}.access{margin:20px auto;grid-template-columns:1fr;gap:25px}.intro h1{font-size:30px}.rules{gap:30px}.layout{grid-template-columns:1fr}aside{padding:10px;border-right:0;border-bottom:1px solid #e0e7f2}nav{display:flex;overflow:auto;gap:4px}nav a{white-space:nowrap;padding:8px 12px}.nav-caption,.aside-note{display:none}main{padding:20px 14px}.two{grid-template-columns:1fr}.panel{padding:20px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:15px}.card strong{font-size:22px}}
