@font-face{font-family:OriginalGill;src:url(/art/gill.ttf) format("truetype");font-display:block}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#000;overflow:hidden}body{display:grid;place-items:center}main{position:relative;width:min(100vw,160vh);width:min(100vw,160dvh);aspect-ratio:8/5}canvas{display:block;width:100%;height:100%;outline:0;touch-action:none}#loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#000;margin:0;font:16px OriginalGill,sans-serif}#loading[hidden]{display:none}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,a:focus-visible,.board-scroll:focus-visible{outline:3px solid #f00;outline-offset:3px}.playbar{position:absolute;bottom:2%;right:2%;left:24%;display:flex;justify-content:flex-end;gap:10px;pointer-events:none}.playbar button{pointer-events:auto;background:#160c00;color:#ead777;border:1px solid #85561b;padding:5px 12px;font:clamp(10px,1.25vw,18px) OriginalGill,sans-serif;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-banner{position:absolute;top:5%;left:18%;right:8%;text-align:center;font:clamp(12px,1.9vw,25px) OriginalGill,sans-serif;color:#38210a;background:#ead777;border:3px solid #bd9d31;padding:6px 12px;pointer-events:none;overflow-wrap:anywhere}.milestone{position:absolute;top:20%;left:50%;transform:translate(-50%);background:#ead777;border:4px solid #f00;color:red;text-align:center;font:clamp(16px,2.5vw,32px) OriginalGill,sans-serif;padding:12px 24px;pointer-events:none;max-width:85%}dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:6px solid #ead777;background:linear-gradient(#d4bb4f,#a39544);color:#35250b;font:18px OriginalGill,sans-serif;overflow:auto}dialog::backdrop{background:#0006}.game-panel{padding:22px 26px 24px}.game-panel h1{color:red;font-size:clamp(30px,5vw,54px);line-height:1.05;text-align:center;margin:0 0 5px}.game-panel p{line-height:1.3;margin:10px 0}.game-panel #panel-subtitle{text-align:center;font-size:17px;margin:0 0 20px}.game-panel label{display:block;font-size:22px;margin:12px 0}.game-panel input{display:block;width:100%;border:3px solid #745b19;border-radius:0;background:#f4e49a;color:#35250b;padding:12px 14px;font-size:23px}.game-panel button{background:#ead777;color:#35250b;border:2px solid #745b19;border-radius:0;padding:10px 16px;min-height:44px}.game-panel .primary{background:red;border-color:#d00000;color:#fff}.game-panel form>.primary{width:100%;margin-top:8px}.game-panel button:hover{filter:brightness(1.08)}.game-panel .fine{font-size:14px}.game-panel .error{color:#a70000;min-height:20px;font-size:16px}.game-panel .badge{background:#ead777;color:red;text-align:center;padding:8px;font-size:20px}.result-stats{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;text-align:center}.result-stats strong{display:block;background:#ead777;padding:5px 4px;font-size:clamp(25px,4vw,43px);overflow-wrap:anywhere}.result-stats span{display:block;color:red;font-size:21px;margin-top:5px}.result-stats>b{color:red;font-size:25px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.actions .primary{grid-column:1/-1}#save-status,#share-status,#board-status{font-size:15px}#save-status{min-height:20px}#rank-target,#your-rank{font-size:18px}#result-challenge{color:#ac0000}.board-scroll{max-height:48dvh;overflow:auto;border:2px solid #a28a35}.board-scroll table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.board-scroll th{background:#ead777;position:sticky;top:0;padding:9px 8px;font-size:15px}.board-scroll td{padding:10px 8px;border-bottom:1px solid #8a742f;overflow-wrap:anywhere;vertical-align:top}.board-scroll th:first-child{width:12%}.board-scroll th:nth-child(2){width:43%}.board-scroll th:nth-child(3){width:27%}.board-scroll th:last-child{width:18%}.board-scroll tr.your-row{background:#f0dc7c;color:#af0000}#close-board{width:100%;margin-top:12px}.challenge-link{display:block;color:#35250b;overflow-wrap:anywhere;font-size:14px}#name-cancel,#offline-play,#offline-result{margin-top:10px}@media(max-width:500px){.game-panel{padding:16px}.game-panel #panel-subtitle{font-size:15px;margin-bottom:14px}.result-stats{gap:6px}.result-stats span{font-size:17px}.actions{gap:7px}.game-panel button{font-size:16px;padding:9px 10px}.board-scroll td{padding:8px 5px;font-size:15px}.board-scroll th{padding:8px 5px;font-size:13px}.playbar{gap:6px}.playbar button{padding:3px 7px}.challenge-banner{top:6%;left:12%;right:6%;border-width:2px;padding:4px 7px}}
