*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#000;color:#eee;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}
#c{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
.hidden{display:none!important}
.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);z-index:20;overflow:auto}
.panel{max-width:560px;width:92%;padding:34px 36px;background:#111;border:1px solid #333;border-radius:6px;text-align:center;box-shadow:0 0 40px rgba(0,0,0,.6)}
.panel h1{font-size:54px;letter-spacing:.08em;font-weight:900;color:#f4c500;text-shadow:0 0 18px rgba(244,197,0,.35)}
.panel .sub{color:#aaa;margin:4px 0 20px;letter-spacing:.3em}
.rules{background:#fafafa;color:#111;padding:16px 22px;border-radius:4px;text-align:left;margin:0 auto 18px;border:6px double #333}
.rules h2{font-size:17px;text-align:center;margin-bottom:10px;letter-spacing:.2em}
.rules ol{padding-left:24px;line-height:1.9;font-size:15px}
.controls{color:#bbb;font-size:13px;line-height:1.8;margin-bottom:18px}
.controls b{color:#f4c500;margin-right:4px}
.btn{display:inline-block;padding:12px 44px;font-size:18px;font-weight:700;background:#f4c500;color:#111;border:none;border-radius:4px;cursor:pointer;letter-spacing:.2em;margin:6px 4px}
.btn:hover{background:#ffd93a}
.btn.ghost{background:#333;color:#ddd}
.tiny{color:#777;font-size:12px;margin-top:10px}
.opt{display:block;color:#ccc;font-size:14px;margin:8px 0;text-align:left}
.stats{color:#ddd;font-size:15px;line-height:2;margin-bottom:16px}
#hud{position:fixed;inset:0;pointer-events:none;z-index:10}
#exitNo{display:none;position:absolute;top:18px;left:22px;background:#f4c500;color:#111;padding:8px 18px;border-radius:4px;font-weight:900;font-size:22px;letter-spacing:.05em;box-shadow:0 2px 12px rgba(0,0,0,.5)}
#exitNo .lbl{font-size:14px;font-weight:700;margin:0 4px}
#exitNo #exitNum{font-size:34px;margin:0 2px}
#hint{position:absolute;top:22px;right:22px;color:#ddd;font-size:13px;background:rgba(0,0,0,.45);padding:8px 12px;border-radius:4px}
#crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 4px rgba(0,0,0,.8)}
.toast{position:absolute;left:50%;bottom:14%;transform:translateX(-50%);padding:12px 26px;background:rgba(0,0,0,.72);border:1px solid #555;border-radius:6px;font-size:20px;font-weight:700;opacity:0;transition:opacity .4s;white-space:nowrap}
.toast.show{opacity:1}
.toast.ok{color:#8ef58e;border-color:#3c8}
.toast.ng{color:#ff7070;border-color:#c33}
#touch{position:fixed;inset:0;z-index:12;pointer-events:none}
#stick{position:absolute;left:28px;bottom:28px;width:150px;height:150px;border-radius:50%;background:rgba(0,0,0,.28);border:3px solid rgba(255,255,255,.8);box-shadow:0 0 0 2px rgba(0,0,0,.35);pointer-events:auto;touch-action:none}
#knob{position:absolute;left:45px;top:45px;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.92);border:2px solid rgba(0,0,0,.45);box-shadow:0 2px 8px rgba(0,0,0,.5)}
#lookArea{position:absolute;right:0;top:0;width:55%;height:100%;pointer-events:auto;touch-action:none}
#lookHint{position:absolute;right:16px;bottom:180px;color:#fff;font-size:12px;background:rgba(0,0,0,.45);padding:4px 8px;border-radius:4px;pointer-events:none}
.tbtn{position:absolute;pointer-events:auto;touch-action:none;min-width:88px;padding:16px 18px;font-size:16px;font-weight:700;color:#fff;background:rgba(0,0,0,.62);border:2px solid rgba(255,255,255,.85);border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.45);-webkit-tap-highlight-color:transparent}
.tbtn:active{background:rgba(244,197,0,.55);color:#111}
.tbtn.on{background:rgba(244,197,0,.9);color:#111;border-color:#fff}
#turnBtn{right:28px;bottom:36px}
#runBtn{right:28px;bottom:108px}
#pauseBtn{right:14px;top:70px;min-width:0;padding:8px 14px}
#fsBtn{right:14px;top:118px;min-width:0;padding:8px 14px;font-size:13px}
.opt.center{text-align:center;margin:0 0 12px}
.touchonly{display:none}
body.touchui .touchonly{display:block}
