:root{--ink:#1f1c21;--paper:#fdfbf4;--paper-2:#f4f1e9;--pc:#2d6cdf;--font:"Patrick Hand", "Comic Sans MS", "Segoe Print", cursive}*{box-sizing:border-box}html,body{background:var(--paper-2);height:100%;color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#gfx{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{color:inherit;cursor:pointer;font-family:inherit}.paper{background:var(--paper);border:2.5px solid var(--ink);border-radius:14px 10px 13px 9px/10px 14px 9px 13px;box-shadow:2px 3px #1f1c21d9}.hud{pointer-events:none;position:fixed;inset:0}.hud.hidden{display:none}.hud button,.hud .status{pointer-events:auto}.hud-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.status{max-width:min(420px,62vw);padding:6px 14px 8px;transform:rotate(-.6deg)}.status .round{opacity:.7;font-size:15px}.status .turn{color:var(--pc);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:24px;line-height:1.1;display:flex;overflow:hidden}.status .sub{opacity:.75;margin-top:2px;font-size:15px}.chip{background:var(--pc);border:2px solid var(--ink);border-radius:50% 45% 55% 48%;flex:none;width:16px;height:16px}.top-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.icon-btn{width:44px;height:44px;padding:0;font-size:22px;line-height:1}.icon-btn:hover{transform:rotate(-4deg)}.banner{white-space:nowrap;text-shadow:3px 3px 0 var(--paper), -2px -2px 0 var(--paper), 2px -2px 0 var(--paper), -2px 2px 0 var(--paper);opacity:0;font-size:clamp(30px,6vw,56px);transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)scale(.9)rotate(-2deg)}.banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-2deg)}.hud-bottom{flex-direction:column;align-items:center;gap:8px;padding:0 8px;display:flex;position:absolute;bottom:12px;left:0;right:0}.hint{text-align:center;background:#fdfbf4d9;border-radius:10px;max-width:640px;padding:2px 12px;font-size:18px}.hint.shake{color:#b8321f;animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)rotate(-1deg)}40%,80%{transform:translate(6px)rotate(1deg)}}.toolbar{flex-wrap:wrap;justify-content:center;gap:8px;transition:opacity .2s;display:flex}.toolbar.busy{opacity:.55}.toolbar.busy .tool{pointer-events:none}.tool{flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:74px;height:66px;padding:4px 10px 2px;font-size:18px;transition:transform .12s;display:flex;position:relative}.tool svg{fill:none;width:28px;height:28px;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.tool kbd{opacity:.45;font-family:inherit;font-size:12px;position:absolute;top:2px;right:6px}.tool:hover{transform:translateY(-2px)rotate(-1.5deg)}.tool.active{background:color-mix(in srgb, var(--pc) 22%, var(--paper));border-color:var(--pc);border-width:3.5px;transform:translateY(-4px)rotate(-1deg)}.tool.active svg{stroke:var(--pc)}.tool-skip.active{animation:.9s infinite pulse}@keyframes pulse{50%{transform:translateY(-4px)scale(1.05)}}.tool.rotatable:after{content:"⇄";background:var(--paper);border:2px solid var(--pc);width:26px;height:26px;color:var(--pc);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:-12px;left:-10px}@media (max-width:560px){.tool{min-width:58px;height:58px;padding:2px 4px;font-size:15px}.tool svg{width:24px;height:24px}.tool kbd{display:none}.hint{font-size:15px}.status .turn{font-size:19px}.status{max-width:calc(100vw - 112px)}.status .sub{min-height:2.6em;font-size:13px}.icon-btn{width:40px;height:40px;font-size:20px}}.fatal{text-align:center;max-width:min(480px,90vw);padding:20px 24px;font-size:22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg)}#loading{opacity:.7;font-size:28px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.menu-layer{background:#f4f1e959;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0;overflow-y:auto}.menu-layer.open{display:flex}.card{text-align:center;width:min(560px,100%);max-height:calc(100vh - 32px);padding:22px 26px 20px;animation:.3s cubic-bezier(.3,1.4,.5,1) cardIn;overflow-y:auto;transform:rotate(-.5deg)}@keyframes cardIn{0%{opacity:0;transform:translateY(20px)rotate(-3deg)scale(.95)}}.card h1.title{letter-spacing:1px;margin:0;font-size:clamp(44px,10vw,72px);line-height:1}.card h1.title:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6 C40 1 60 9 100 5 S160 2 198 6' fill='none' stroke='%231f1c21' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;width:70%;height:10px;margin:2px auto 0;display:block}.card h2{margin:0 0 8px;font-size:34px}.card h3{margin:10px 0 2px;font-size:22px}.card p{margin:2px 0;font-size:18px;line-height:1.3}.tagline{margin-top:8px;font-size:20px}.subtitle{opacity:.7;margin-bottom:4px;font-size:17px}.rats{justify-content:center;gap:4px;margin:6px 0;display:flex}.rats canvas{width:120px;height:120px}.rats canvas.flip{transform:scaleX(-1)}.rats canvas.winner{width:170px;height:170px;animation:.6s ease-in-out infinite alternate hop}.rats canvas.fallen{opacity:.6;transform:rotate(160deg)translateY(-20px)}.rats canvas.fallen.flip{transform:scaleX(-1)rotate(160deg)translateY(-20px)}@keyframes hop{to{transform:translateY(-14px)rotate(4deg)}}.buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.buttons.column{flex-direction:column;align-items:center}.buttons.column .btn{min-width:220px}.btn{padding:8px 20px;font-size:22px;transition:transform .12s}.btn:hover{transform:rotate(-2deg)translateY(-2px)}.btn.primary{color:#fff;background:#2d6cdf}.row-help{opacity:.65;font-size:14px}.card.help,.card.settings{text-align:left}.card.help h2,.card.settings h2,.card.settings .note{text-align:center}.note{opacity:.7;font-size:16px!important}.form{flex-direction:column;gap:12px;margin-top:10px;display:flex}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row .label{flex:200px;font-size:19px}.seg{border:2px solid var(--ink);border-radius:10px;display:flex;overflow:hidden}.seg-btn{background:var(--paper);border:none;border-right:1.5px solid var(--ink);padding:5px 11px;font-size:17px}.seg-btn:last-child{border-right:none}.seg-btn.on{color:#fff;background:#2d6cdf}.seed-input{border:2px solid var(--ink);background:var(--paper);border-radius:8px;width:140px;padding:4px 8px;font-family:inherit;font-size:18px}.win-title{text-shadow:3px 4px 0 var(--ink);font-size:clamp(56px,14vw,104px);line-height:1;transform:rotate(-3deg)}.win-name{font-size:26px}.win-line{opacity:.8;margin-top:4px;font-size:20px}.win-meta{opacity:.5;margin-top:6px;font-size:14px}.status .sub.danger{color:#c4321c;opacity:1;animation:.5s 2 shake}@media (max-width:380px){.toolbar{gap:5px}.tool{min-width:54px;height:54px;padding:2px;font-size:13px}.tool svg{width:22px;height:22px}.hud-top{top:8px;left:8px;right:8px}.status .turn{font-size:17px}.status{padding:4px 10px 6px}}@media (max-height:500px) and (orientation:landscape){.status .round,.status .sub:not(.danger){display:none}.status{padding:4px 12px}.status .turn{font-size:18px}.hint{display:none}.hud-bottom{bottom:8px}.tool{min-width:66px;height:50px;font-size:14px}.tool svg{width:22px;height:22px}.icon-btn{width:38px;height:38px;font-size:18px}.banner{top:30%}}
