@font-face{font-family:DotGothic16;font-style:normal;font-display:swap;font-weight:400;src:url(./dotgothic16-latin-400-normal-BYJEY5oh.woff2) format("woff2"),url(./dotgothic16-latin-400-normal-cp5t3xa_.woff) format("woff")}@font-face{font-family:DotGothic16;font-style:normal;font-display:swap;font-weight:400;src:url(./dotgothic16-japanese-400-normal-DqORjlTR.woff2) format("woff2"),url(./dotgothic16-japanese-400-normal-f9lPNYbv.woff) format("woff")}:root{--ink: #000;--paper: #fff;font-family:ui-monospace,Courier New,monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink)}body{min-height:100dvh;-webkit-tap-highlight-color:transparent}#app{max-width:600px;margin:0 auto;padding:0 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}h2,h3{margin:0;font-size:1.1rem}.tag{text-align:center;margin:4px 0 8px;font-size:.85rem}.msg{border:2px solid var(--ink);padding:8px;margin:0}.hint{font-size:.8rem;margin:0}button{font:inherit;font-weight:700;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:0;padding:10px 14px;min-height:44px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}button:active:not(:disabled){background:var(--ink);color:var(--paper);box-shadow:none;transform:translate(3px,3px)}button.on,button.primary{background:var(--ink);color:var(--paper)}button:disabled{opacity:1;color:#888;border-style:dashed;box-shadow:none;cursor:not-allowed}button.dev{border-style:dotted}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row .next{margin-left:auto}.col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.hud{font-weight:700;letter-spacing:.05em}.world{border:2px solid var(--ink);padding:10px;display:flex;flex-direction:column;gap:10px;touch-action:pan-y;user-select:none;-webkit-user-select:none}.levels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;min-width:0;box-shadow:2px 2px 0 var(--ink)}.level .num{font-size:1.15rem}.level .pct{font-size:.55rem;min-height:1em}.level.done{background:var(--ink);color:var(--paper)}.frame{display:flex;justify-content:center}canvas.board{box-sizing:content-box;image-rendering:pixelated;image-rendering:crisp-edges;border:2px solid var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;max-width:100%}.panel{border:2px solid var(--ink);padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:4px 4px 0 var(--ink)}.panel strong{font-size:1.2rem}.hidden{display:none}input.url{font:inherit;width:100%;padding:8px;border:2px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink)}input[type=range]{flex:1;min-width:120px;accent-color:#000}.pack{border:2px solid var(--ink);padding:8px;display:flex;flex-direction:column;gap:6px}.pack .lv{display:flex;gap:6px;align-items:center;border:1px dashed var(--ink);padding:4px}.pack .lv.over{background:#ddd}.pack .lv code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.pack button,.lv button{min-height:32px;padding:2px 8px;box-shadow:none}.modal{position:fixed;inset:0;z-index:10;background:#ffffffd9;display:grid;place-items:center;padding:16px}.modal .box{background:var(--paper);border:2px solid var(--ink);padding:16px;width:min(420px,100%);display:flex;flex-direction:column;gap:10px;box-shadow:6px 6px 0 var(--ink)}.modal input,.modal select{font:inherit;padding:8px;border:2px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink)}@font-face{font-family:DotGothic16 Label;src:url(../fonts/dotgothic16-label.woff2) format("woff2");unicode-range:U+65E5,U+672C,U+8A9E;font-display:swap}:lang(ja){font-family:DotGothic16,ui-monospace,Courier New,monospace}button:lang(ja){font-weight:400}:lang(en),:lang(pt),:lang(es),:lang(it){font-family:ui-monospace,Courier New,monospace}button.lang-ja{font-family:DotGothic16 Label,ui-monospace,Courier New,monospace;font-weight:400}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;padding:10px 0 8px;background:var(--paper);border-bottom:2px solid var(--ink);margin-bottom:4px}.bar button{min-height:40px;padding:6px 10px;box-shadow:2px 2px 0 var(--ink)}.bar .back-slot{width:1px}.bar .spacer{flex:1}.screen-title{font-size:1.15rem}canvas.pixel{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.center-col,.title{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:16px}.logo{display:flex;justify-content:center;width:100%}.title .tag,.center-col .tag{margin:0;font-size:.95rem;text-align:center}.demo{display:flex;justify-content:center;border:2px solid var(--ink);padding:6px;box-shadow:4px 4px 0 var(--ink);background:var(--paper)}.stretch{align-self:stretch;align-items:stretch}.title .main{width:min(320px,100%);align-self:center}button.big{font-size:1.2rem;padding:14px 18px;min-height:52px}.badge{margin:0;text-align:center;font-weight:700;letter-spacing:.05em}.links{justify-content:center;gap:18px}button.link{border:0;box-shadow:none;background:transparent;text-decoration:underline;padding:8px 6px}button.link:active:not(:disabled){transform:none}.title .msg{align-self:stretch;text-align:center}.credit{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;padding-top:12px;border-top:2px solid var(--ink);align-self:stretch;font-size:14px;flex-wrap:wrap}.credit img,.badge-img{width:80px;height:15px;image-rendering:pixelated;image-rendering:crisp-edges}.credit a,#app p a{color:var(--ink);font-weight:700}.world-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.world-name{display:flex;flex-direction:column;align-items:center}.world-name h2{font-size:1.3rem}.world-name .count{font-size:.8rem}button.step{font-size:1.4rem;min-width:48px;padding:4px 10px}.dots{display:flex;gap:8px;justify-content:center}.dot{width:10px;height:10px;border:2px solid var(--ink)}.dot.on{background:var(--ink)}.lockmsg{display:flex;gap:10px;align-items:center}.lock{width:24px;height:24px;flex:none}.lock .ink{fill:var(--ink)}.lock .hole{fill:var(--paper)}.rule{display:flex;gap:14px;align-items:center}.rule p{margin:0;font-size:.9rem}canvas.pixel.mini{flex:none;border:2px solid var(--ink)}#app>p{margin:0}
