*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font:21px/1.5 "Trebuchet MS","Segoe UI",Arial,sans-serif;background:#10394a;color:#1d2b33}
#app{max-width:760px;margin:0 auto;padding:12px 12px 100px}
.card{background:#fff8e6;border-radius:22px;padding:16px;margin:0 0 14px;box-shadow:0 4px 0 #0a2633}
h1{font-size:32px;line-height:1.2;margin:6px 0;color:#fff}
h2{font-size:26px;line-height:1.25;margin:4px 0 8px;color:#10394a}
.sub{font-size:19px;color:#e9d9a8;margin:0 0 10px}
.sm{font-size:19px;color:#4a5a62}
button{font:600 20px "Trebuchet MS","Segoe UI",Arial,sans-serif;min-height:56px;padding:8px 16px;border:0;border-radius:18px;background:#f2b32c;color:#2b1d05;box-shadow:0 4px 0 #b57f10;margin:4px 4px 4px 0;cursor:pointer}
button:active{transform:translateY(3px);box-shadow:0 1px 0 #b57f10}
button.main{font-size:23px;min-height:64px;background:#e8573f;color:#fff;box-shadow:0 4px 0 #a2301d;width:100%}
button.alt{background:#3f9d5a;color:#fff;box-shadow:0 4px 0 #276b3b}
button.ghost{background:#e5dcc3;box-shadow:0 4px 0 #b5aa8a}
button.on{background:#2b6f8f;color:#fff;box-shadow:0 4px 0 #17465c}
button:disabled{opacity:.5}
button:focus-visible,input:focus-visible{outline:4px solid #2b6f8f;outline-offset:2px}
input[type=text]{font:21px "Trebuchet MS",Arial,sans-serif;height:58px;width:100%;border:3px solid #b5aa8a;border-radius:16px;padding:0 14px}
svg{display:block}
.scene{width:100%;height:auto;border-radius:18px;margin-bottom:8px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{background:#fff;border-radius:18px;padding:8px;text-align:center;border:3px solid #ead9a0;font-size:19px;min-height:56px;color:#1d2b33;box-shadow:none;margin:0;width:100%}
.tile.f{border-color:#3f9d5a;background:#e6f5e6}
.tile.lock{filter:grayscale(1);opacity:.55}
.msg{font-size:21px;font-weight:700;min-height:32px;margin:8px 0;color:#276b3b}
.msg.bad{color:#a2301d}
.dots{display:flex;gap:8px;margin:6px 0 12px}
.dots i{flex:1;height:10px;border-radius:6px;background:#ead9a0}.dots i.d{background:#3f9d5a}
nav{position:fixed;left:0;right:0;bottom:0;background:#0a2633;display:flex;justify-content:center;gap:4px;padding:6px 4px;z-index:5}
nav button{flex:1;min-width:0;font-size:19px;min-height:56px;padding:4px 2px;margin:0;background:#1d5670;color:#fff;box-shadow:none;border-radius:14px}
nav button.on{background:#f2b32c;color:#2b1d05}
.ab{background:#e8f1f5;border-radius:16px;padding:8px;margin:8px 0}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.st{background:#fff8e6;border-radius:16px;padding:8px 12px;font-size:19px;display:inline-block;margin:2px 4px 2px 0}
.pr{display:none}
@media print{body{background:#fff}nav,.noprint,button{display:none!important}.pr{display:block}.card{box-shadow:none;border:1px solid #999}}
