:root{--ink:#14171d;--navy:#091526;--red:#8f1019;--gold:#e7bb58;--line:#dec68e}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:#e6e8ec;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}.site-wrap,.admin,.login{width:min(720px,100%);min-height:100vh;margin:0 auto;background:#fff;box-shadow:0 0 22px #0002}.top-banner{width:100%;aspect-ratio:1774/887;background:var(--navy);overflow:hidden}.top-banner img{display:block;width:100%;height:100%;object-fit:contain}.calendar-widget,.draw-widget,.banner-widget{display:block;width:100%;max-width:100%;border:0}.calendar-widget{height:44px}.draw-widget{height:350px}.banner-widget{height:0}.action-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:12px 8px;background:linear-gradient(135deg,#111827,#450c12)}.action-nav a{display:grid;min-height:47px;place-items:center;border:1px solid #d8b05a;border-radius:7px;background:linear-gradient(#a81420,#63050c);color:#fff4d2;text-decoration:none;font-weight:900;font-size:16px}.notice{margin:9px;padding:10px;border-radius:6px;background:#fff1c9;color:#852114;text-align:center;font-weight:700}.panel{margin:12px 8px;padding:13px;border:2px solid var(--line);border-radius:9px;background:linear-gradient(#fff,#fffaf0)}.panel h1,.panel h2{margin:-13px -13px 11px;padding:10px 12px;background:linear-gradient(90deg,#151c2d,#81121b);color:#fbe5a3;text-align:center;font-size:22px}.material-hub>p{text-align:center;color:#695e50}.material-entry-grid,.candidate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.material-entry{display:flex;min-height:94px;padding:10px;border:1px solid #ba902d;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(145deg,#162a44,#6e101a);color:#fff4c7;text-decoration:none}.material-entry small{color:#e1bd62}.material-entry b{margin:4px 0;font-size:19px}.material-entry span{font-size:13px}.material-entry.pending{opacity:.55;pointer-events:none}.candidate-card{padding:11px;border:1px solid #d8bb76;border-radius:7px;background:linear-gradient(#fffef8,#efe4c8);text-align:center}.candidate-card>span{color:#8a691d;font-size:13px}.candidate-card h3{margin:4px 0;color:#6c1019;font-size:21px}.candidate-card strong{display:block;margin:4px;color:#a40c14;font-size:18px}.candidate-card a{display:block;margin:7px 0;padding:9px 8px;border:1px solid #88631c;border-radius:5px;color:#573c0a;text-decoration:none;font-weight:800;font-size:14px}.candidate-card form{margin:0}.candidate-card button,.apply-form button,.admin button{border:0;border-radius:5px;background:linear-gradient(#df3940,#8c0710);color:#fff;padding:10px 14px;font:800 16px inherit;cursor:pointer}.rank-row{display:grid;grid-template-columns:58px 48px 1fr 68px;align-items:center;gap:3px;margin:5px 0;padding:9px;border-radius:5px;background:#273142;color:#fff}.rank-row em{font-style:normal;color:#dce0e7}.rank-row span{font-weight:900}.rank-row strong{text-align:right;color:#f3ce6e}.rank-1{background:linear-gradient(90deg,#8d6819,#34230d);border:1px solid #f0c645}.rank-2{border:1px solid #c6cbd4}.rank-3{border:1px solid #b5773d}.empty{text-align:center;color:#777}.sub-header,.material-page header{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;min-height:58px;padding:0 10px;background:linear-gradient(90deg,#131b2d,#9c101c);color:#fff}.sub-header a,.material-page header a{color:#ffe0a0;text-decoration:none;font-size:18px;font-weight:900}.sub-header h1,.material-page header h1{margin:0;text-align:center;font-size:22px}.page-panel{margin-top:14px}.page-panel>p,.page-panel ol{line-height:1.8}.page-panel ol{margin:0;padding-left:24px}.page-panel li{margin:6px 0}.page-panel b{color:#a40c14}.closed{padding:12px;background:#f1e3c7;color:#7e4930}.apply-form{display:flex;gap:8px}.apply-form input,.admin input,.admin select{width:100%;min-width:0;padding:10px;border:1px solid #a58a5a;border-radius:5px;font:16px inherit}.material-tip{text-align:center;color:#7a6343}.material-table{margin:12px 8px;border:2px solid #bd991e;border-radius:8px;overflow:hidden}.material-table h2{margin:0;padding:9px;background:#f1c5eb;color:#101735;text-align:center;font-size:clamp(19px,5vw,28px)}.material-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c8c8c8;background:#f7f7f7}.material-row span,.material-full{min-width:0;padding:8px 7px;color:#101735;font-size:clamp(14px,3.8vw,20px);font-weight:800;line-height:1.25;overflow-wrap:anywhere}.material-row span+span{border-left:1px solid #c8c8c8}.material-full{border-top:1px solid #c8c8c8;text-align:left}.admin{padding-bottom:30px}.admin>header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:linear-gradient(90deg,#121a2b,#89121d);color:#fff}.admin>header h1{margin:0 auto 0 0;font-size:25px}.admin>header a{color:#ffe2a2;text-decoration:none;font-weight:800}.month-form{display:flex;gap:8px;padding:10px}.admin-card{margin:10px;padding:13px;border:1px solid #cdb579;border-radius:8px;background:#fffdf7}.admin-card h2{margin:0 0 12px;color:#7b1119}.admin-candidates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.admin-candidates label,.admin-card>form>label{display:block;font-weight:800}.admin-candidates small{display:block;margin-top:4px;color:#6e6e6e}.admin-candidates input{margin:4px 0}.admin-row{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin:6px 0}.admin-row label{display:flex;align-items:center;font-size:13px;white-space:nowrap}.admin-row input[type=checkbox]{width:auto}.admin-card button{margin:6px 5px 0 0}.published{display:flex;align-items:center;gap:8px;margin:5px 0;padding:6px;border-bottom:1px solid #ddd}.published b{flex:1}.registration{padding:7px;background:#f3eee4}.login{max-width:420px;margin-top:10vh;padding:24px;background:#fff}.login h1{color:#79131a}.login input,.login button{width:100%;margin:6px 0;padding:12px;font:16px inherit}.login button{background:#97121a;color:#fff;border:0;border-radius:5px;font-weight:900}@media(max-width:600px){.calendar-widget{height:38px}.draw-widget{height:320px}.action-nav{gap:4px;padding:7px 3px}.action-nav a{min-height:42px;font-size:14px}.panel{margin:8px 4px;padding:10px}.panel h1,.panel h2{margin:-10px -10px 9px;padding:9px;font-size:19px}.material-entry-grid,.candidate-grid{gap:5px}.material-entry{min-height:80px;padding:6px}.material-entry b{font-size:17px}.candidate-card{padding:8px}.candidate-card h3{font-size:18px}.candidate-card a,.candidate-card button{width:100%;padding:7px;font-size:13px}.rank-row{grid-template-columns:50px 42px 1fr 55px;padding:8px 5px;font-size:14px}.sub-header,.material-page header{min-height:52px;grid-template-columns:65px 1fr 65px}.sub-header a,.material-page header a{font-size:16px}.sub-header h1,.material-page header h1{font-size:20px}.apply-form{flex-direction:column}.apply-form button{width:100%}.admin{width:100%}.admin-candidates{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr 1fr}.admin-row label{grid-column:1/-1}.material-row span,.material-full{padding:7px 5px;font-size:14px}.material-table h2{font-size:20px}}
