@font-face{font-family:"Fredoka";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/fredoka-500.woff2) format("woff2")}
@font-face{font-family:"Fredoka";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/fredoka-700.woff2) format("woff2")}
html,body{margin:0;height:100%;overflow:hidden;background:#f0934e;overscroll-behavior:none}
#stage{position:fixed;left:0;top:0;transform-origin:0 0;overflow:hidden;touch-action:none;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  font-family:'Fredoka','Trebuchet MS','Verdana',sans-serif;font-weight:500;color:#2a1b3d}
#gl{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.sk{border:3px solid #2a1b3d;background:#f6ecd0;border-radius:12px;box-shadow:0 3px 0 #2a1b3d}
#top{position:absolute;top:5px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}
#clock{padding:0 12px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;border-width:2px;box-shadow:0 2px 0 #2a1b3d;background:#2a1b3d;color:#f6ecd0}
#score{padding:0 16px;font-size:22px;white-space:nowrap}
#score b{font-size:28px;padding:0 5px}
#score .dot{display:inline-block;width:12px;height:12px;border:2px solid #2a1b3d;background:#cfdc4a;border-radius:50%;vertical-align:middle;margin:0 6px;visibility:hidden}
#sub{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);pointer-events:none;font-size:16px;white-space:nowrap;background:rgba(246,236,208,.88);padding:0 10px;border-radius:10px}
#sub:empty{display:none}
#msg{position:absolute;top:44%;left:50%;width:84%;transform:translate(-50%,-50%) rotate(-2deg);font-size:40px;font-weight:700;line-height:1.05;text-align:center;white-space:pre-line;pointer-events:none;opacity:0;transition:opacity .25s;color:#f6ecd0;
  text-shadow:-3px -3px 0 #2a1b3d,3px -3px 0 #2a1b3d,-3px 3px 0 #2a1b3d,3px 3px 0 #2a1b3d,0 5px 0 #2a1b3d}
#msg small{display:block;font-size:.5em;margin-top:6px;font-weight:700}
#tag{position:absolute;transform:translate(-50%,-100%);font-size:17px;font-weight:700;color:#f6ecd0;opacity:0;pointer-events:none;white-space:nowrap;text-shadow:0 0 4px #2a1b3d,0 0 4px #2a1b3d}
.btn{cursor:pointer;font:inherit;font-size:20px;color:#2a1b3d;padding:3px 16px;touch-action:manipulation}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #2a1b3d}
#tools{position:absolute;top:8px;right:10px;display:flex;gap:8px;z-index:5}
#tools .btn{padding:1px 10px;font-size:16px}
.hint{position:absolute;bottom:40px;font-size:17px;pointer-events:none;background:rgba(246,236,208,.88);padding:0 10px;border-radius:10px;transition:opacity .6s}
#hl{left:14px}#hr{right:14px}
#joy,#knob{position:absolute;border:3px solid #2a1b3d;border-radius:50%;pointer-events:none;display:none;transform:translate(-50%,-50%)}
#joy{width:120px;height:120px;border-style:dashed;opacity:.6}
#knob{width:46px;height:46px;background:rgba(246,236,208,.85)}
.ov{position:absolute;inset:0;background:rgba(240,147,78,.82);display:flex;align-items:center;justify-content:center;touch-action:auto}
.card{padding:8px 24px;text-align:center;max-height:92%;overflow:auto;max-width:92%;box-sizing:border-box}
.card h1{margin:0 0 2px;font-size:32px;line-height:1.05;font-weight:700}
.card p{margin:3px 0;font-size:14px;line-height:1.18}
.card p.tag{font-size:17px;font-weight:700;color:#b5472c;margin:0 0 4px}
.card input{font:inherit;font-size:18px;padding:1px 12px;width:210px;text-align:center;outline:none;color:#2a1b3d;background:#fffaf0}
.row{display:flex;gap:12px;justify-content:center;margin-top:8px;flex-wrap:wrap}
.lv{gap:8px;align-items:center;margin-top:4px}.lv span{font-size:16px;font-weight:700}.lv .btn{font-size:15px;padding:1px 12px}.lv .btn.on{background:#2a1b3d;color:#f6ecd0}
table{border-collapse:collapse;margin:6px auto;font-size:16px}
th,td{padding:1px 9px;border-bottom:2px solid #2a1b3d;text-align:center}
td:first-child,th:first-child{text-align:left}
tr.me td{background:#bfe0e6}
.note{font-size:13px;opacity:.9;max-width:600px;margin:3px auto}
.hide{display:none!important}
html{background:#f0934e}
