*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:#381517 url('assets/backgroundsample.png') center top/760px repeat;font-family:Consolas,'Courier New',monospace;color:#fff;image-rendering:pixelated}.shell{width:min(1450px,96vw);margin:auto;padding:22px 0 38px}.hero{text-align:center}.logo{width:min(680px,92vw);max-height:245px;object-fit:cover;object-position:center 43%;border:5px solid #160b0c;box-shadow:8px 8px 0 #160b0c}.sub{width:max-content;max-width:90vw;margin:12px auto 0;padding:8px 16px;background:#170c0d;border:3px solid #080606;color:#ffd28b;font-weight:900;letter-spacing:3px;box-shadow:4px 4px 0 #6c2929}.period{margin-top:30px;padding:14px;background:rgba(28,10,11,.78);border:4px solid #13090a;box-shadow:8px 8px 0 #13090a}.period-title{display:flex;align-items:center;justify-content:center;gap:12px;margin:-4px 0 14px}.period-title img{width:48px;height:48px;object-fit:contain}.period-title h1{margin:0;font-size:30px;letter-spacing:4px;text-shadow:3px 3px #000}.period-title small{display:block;text-align:center;color:#ffd28b;font-weight:900;letter-spacing:2px}.boards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.board{position:relative;overflow:hidden;background:#9b3738;border:4px solid #160b0c;box-shadow:5px 5px 0 #160b0c}.board:before{content:"";display:block;height:9px;background:#d14b4d;border-bottom:3px solid #702627}.board h2{margin:0;padding:12px 8px 9px;text-align:center;font-size:20px;letter-spacing:2px;color:#fff;text-shadow:3px 3px #3e1617;border-bottom:3px dashed rgba(55,16,18,.5)}.loops{background:#b34342}.least{background:#c94d4d}.head,.row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.head{padding:9px 10px 6px;color:#ffd58f;font-size:11px;font-weight:900}.row{min-height:40px;padding:5px 10px;border-top:3px solid rgba(91,28,30,.7);background:rgba(70,19,21,.12);font-size:15px;font-weight:900}.who{display:flex;min-width:0;align-items:center}.rank{flex:0 0 32px;color:#fff}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value{padding-left:8px;font-size:17px;color:#fff;text-shadow:2px 2px #181010}.row:nth-child(1){color:#ffe400}.row:nth-child(2){color:#bfeaff}.row:nth-child(3){color:#ff9b77}.row:nth-child(1) .rank{color:#ffe400}.loading,.error{padding:28px 8px;text-align:center;color:#ffd58f;font-weight:900}.error{color:#fff}.weekly{margin-top:26px}.weekly .period-title h1{color:#bfeaff}footer{position:sticky;bottom:8px;z-index:5;margin:24px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px;width:min(760px,96%);background:#170d0d;border:4px solid #080606;padding:9px 13px;color:#7affb4;font-size:12px;font-weight:900;box-shadow:5px 5px 0 #080606}button{font:900 13px Consolas,monospace;background:#ffd58f;color:#251414;border:3px solid #160b0c;padding:7px 13px;cursor:pointer;box-shadow:3px 3px 0 #6e2a29}button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #6e2a29}@media(max-width:980px){.boards{grid-template-columns:1fr 1fr}.board:last-child{grid-column:1/-1}}@media(max-width:620px){body{background-size:520px}.shell{width:100%;padding:10px 8px 24px}.logo{max-height:165px;border-width:4px;box-shadow:5px 5px 0 #160b0c}.sub{font-size:10px;letter-spacing:1.5px;padding:7px 10px}.period{margin-top:20px;padding:9px;border-width:3px;box-shadow:5px 5px 0 #13090a}.period-title{margin:1px 0 10px}.period-title img{width:38px;height:38px}.period-title h1{font-size:23px}.period-title small{font-size:10px}.boards{grid-template-columns:1fr;gap:12px}.board:last-child{grid-column:auto}.board h2{font-size:18px;padding:10px 6px 8px}.row{min-height:38px;font-size:14px;padding:5px 8px}.value{font-size:15px}.head{padding:8px 8px 5px}footer{bottom:5px;margin-top:18px;font-size:9px;padding:7px 9px}button{font-size:11px;padding:6px 9px}}

.diagnostics{width:min(92vw,1120px);margin:18px auto 36px;background:#100909;border:4px solid #050303;box-shadow:8px 8px 0 #2b0d0d;font-family:monospace}
.diagnostics-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:2px solid #6b2929;color:#ffd276;letter-spacing:1px}
.diagnostics-head button{background:#ffd276;border:2px solid #120909;padding:7px 12px;font:700 12px monospace;cursor:pointer}
.diagnostic-log{height:260px;overflow:auto;padding:10px 12px;text-align:left;background:#080606;color:#d8d8d8;font-size:12px;line-height:1.45;white-space:normal}
.diag-line{padding:3px 0;border-bottom:1px solid #211}
.diag-line b{color:#ffd276}
.diag-error,.diag-error b{color:#ff7777}
.diag-line pre{white-space:pre-wrap;word-break:break-word;margin:4px 0 5px 18px;color:#9fe6ff}
@media(max-width:700px){.diagnostics{width:96vw}.diagnostic-log{height:320px;font-size:11px}}
