*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#f1c232;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}#gameWrap{position:relative;width:100vw;height:100vh;background:#000;display:grid;place-items:center}canvas{width:min(100vw,calc(100vh * 1.5));height:min(100vh,calc(100vw / 1.5));display:block;background:#000;image-rendering:auto;touch-action:none}.startBtn,.backBtn{position:absolute;left:50%;transform:translateX(-50%);z-index:10;background:rgba(0,0,0,.70);border:1px solid rgba(255,208,0,.75);color:#ffd000;text-shadow:0 0 12px #ffd000;font-weight:900;letter-spacing:.25em;cursor:pointer;box-shadow:0 0 18px rgba(255,208,0,.16),inset 0 0 14px rgba(255,208,0,.06);backdrop-filter:blur(2px);transition:.22s}.startBtn{font-size:clamp(13px,2.5vw,17px);padding:5px 22px;letter-spacing:.18em}.backBtn{font-size:clamp(16px,3.5vw,22px);padding:14px 26px}.startBtn:hover,.backBtn:hover{background:rgba(255,208,0,.12);transform:translateX(-50%) scale(1.04)}#rotateHint{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none}#rotateHint .rh-icon{font-size:56px;animation:spin90 1.4s ease-in-out infinite alternate}#rotateHint .rh-text{color:#ffd000;font-size:clamp(14px,4vw,20px);letter-spacing:.12em;text-align:center;text-shadow:0 0 12px #ffd000;font-weight:700;line-height:1.6}@keyframes spin90{0%{transform:rotate(0deg)}100%{transform:rotate(90deg)}}#fsBtn{position:fixed;top:10px;right:10px;z-index:60;width:36px;height:36px;background:rgba(0,0,0,.55);border:1px solid rgba(255,208,0,.35);border-radius:5px;cursor:pointer;opacity:.45;transition:opacity .22s;display:grid;place-items:center;padding:0}#fsBtn:hover{opacity:1}#fsBtn svg{width:18px;height:18px;display:block;overflow:visible}#lbTriggerBtn{position:fixed;top:10px;left:10px;z-index:60;width:36px;height:36px;background:rgba(0,0,0,.55);border:1px solid rgba(255,208,0,.35);border-radius:5px;cursor:pointer;opacity:.45;transition:opacity .22s;display:grid;place-items:center;padding:0;font-size:17px;line-height:1;color:rgba(255,208,0,.9);font-family:inherit}#lbTriggerBtn:hover{opacity:1}
.gm-overlay{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.87);backdrop-filter:blur(5px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(14px,6vh,60px) 12px 12px;overflow-y:auto}
.gm-box{background:linear-gradient(160deg,rgba(12,10,4,.98),rgba(5,4,2,.99));border:1px solid rgba(255,208,0,.42);border-radius:10px;padding:26px 22px;width:min(94vw,400px);text-align:center;box-shadow:0 0 60px rgba(0,0,0,.9),0 0 22px rgba(255,208,0,.05)}
.gm-title{font-size:clamp(15px,3.5vw,21px);font-weight:900;letter-spacing:.22em;color:#ffd000;text-shadow:0 0 14px rgba(255,208,0,.55);margin-bottom:8px}
.gm-score-big{font-size:clamp(44px,11vw,68px);font-weight:900;color:#fff;letter-spacing:.04em;line-height:1;margin:4px 0 1px;text-shadow:0 0 22px rgba(255,255,255,.18)}
.gm-score-label{font-size:10px;letter-spacing:.22em;color:rgba(255,208,0,.45);margin-bottom:20px;text-transform:uppercase}
.gm-ini-label{font-size:clamp(9px,2vw,11px);letter-spacing:.2em;color:rgba(255,208,0,.6);margin-bottom:14px;text-transform:uppercase}
.gm-ini-row{display:flex;gap:10px;justify-content:center;margin-bottom:22px}
.ini-box{width:56px;height:68px;background:rgba(255,208,0,.03);border:2px solid rgba(255,208,0,.48);border-radius:7px;color:#ffd000;font-size:40px;font-weight:900;text-align:center;text-transform:uppercase;caret-color:transparent;outline:none;transition:border-color .18s,box-shadow .18s,background .18s;font-family:system-ui,-apple-system,Arial,sans-serif;padding:0;line-height:68px}
.ini-box:focus{border-color:#ffd000;box-shadow:0 0 16px rgba(255,208,0,.28);background:rgba(255,208,0,.07)}
.gm-btn{background:rgba(0,0,0,.7);border:1px solid rgba(255,208,0,.72);color:#ffd000;font-size:clamp(11px,2.2vw,14px);font-weight:900;letter-spacing:.18em;padding:10px 20px;cursor:pointer;transition:.2s;border-radius:5px;font-family:inherit;text-transform:uppercase}
.gm-btn:hover{background:rgba(255,208,0,.11);transform:scale(1.03)}
.gm-btn-sec{border-color:rgba(255,208,0,.28);color:rgba(255,208,0,.52)}
.gm-btn-sec:hover{color:#ffd000;border-color:rgba(255,208,0,.72);background:rgba(255,208,0,.07)}
.gm-skip{background:none;border:none;color:rgba(255,208,0,.28);font-size:11px;letter-spacing:.16em;cursor:pointer;margin-top:10px;width:100%;transition:color .18s;font-family:inherit;text-transform:uppercase;padding:4px}
.gm-skip:hover{color:rgba(255,208,0,.65)}
.gm-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:2px}
.lb-scroll{max-height:min(52vh,300px);overflow-y:auto;margin:12px 0 18px;scrollbar-width:thin;scrollbar-color:rgba(255,208,0,.2) transparent}
.lb-scroll::-webkit-scrollbar{width:4px}.lb-scroll::-webkit-scrollbar-thumb{background:rgba(255,208,0,.2);border-radius:2px}
.lb-table{width:100%;border-collapse:collapse}
.lb-table td{padding:7px 5px;font-size:clamp(12px,2.8vw,14px);border-bottom:1px solid rgba(255,208,0,.06);font-family:monospace}
.lb-table .st-rank{color:rgba(255,208,0,.48);width:36px;text-align:center;font-size:clamp(11px,2vw,13px)}
.lb-table .st-init{color:#ffd000;font-weight:900;letter-spacing:.16em;width:58px;text-align:left;padding-left:6px}
.lb-table .st-score{color:#ddd5a0;text-align:right;font-variant-numeric:tabular-nums;width:72px;padding-right:8px}
.lb-table .st-bar{padding-left:4px}
.lb-table .st-bar-fill{height:5px;background:linear-gradient(90deg,rgba(255,208,0,.65),rgba(255,180,0,.2));border-radius:3px;min-width:3px}
.lb-table tr.st-hi td{background:rgba(255,208,0,.07)}
.lb-table tr.st-hi .st-init{color:#ffe566;text-shadow:0 0 8px rgba(255,208,0,.55)}
.lb-table tr.st-hi .st-score{color:#fff}
.lb-empty{color:rgba(255,208,0,.32);text-align:center;padding:28px;font-size:13px;letter-spacing:.14em;font-family:monospace}.hidden{display:none!important}.deathVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:20}.tapAudio{position:absolute;right:18px;bottom:14px;color:rgba(255,208,0,.5);font-size:12px;letter-spacing:.08em;z-index:11}
.introVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:25}
.logoOverlay{position:absolute;z-index:30;pointer-events:none;width:min(46vw,69vh);height:auto;left:50%;top:45%;transform:translate(-50%,-50%);opacity:0;filter:drop-shadow(0 0 14px rgba(255,0,145,.30))}
