:root{font-family:system-ui,sans-serif}html,body,#root{height:100%}body{margin:0;background:#fff;display:flex;align-items:center;justify-content:center}#root{width:100%;display:flex;justify-content:center}:root{--stage-max-width: 1400px;--stage-padding: clamp(10px, 2vw, 16px)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.gameStage{aspect-ratio:16 / 9;width:min(100%,var(--stage-max-width),calc((100svh - (2 * var(--stage-padding))) * 16 / 9));display:grid;grid-template-columns:1fr clamp(140px,14vw,260px);gap:clamp(8px,2vw,16px);padding:var(--stage-padding);box-sizing:border-box;background:#f6f7fb;border-radius:16px;overflow:hidden}.playfield{position:relative;border-radius:12px;background:#fff;overflow:hidden}.configScreen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:clamp(12px,2vw,20px);padding-top:max(clamp(12px,2vw,20px),env(safe-area-inset-top));padding-bottom:max(clamp(12px,2vw,20px),env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 20%,#f4f7ff,#fff 45%,#f1f4fb)}.configCard{width:min(100%,520px);background:#fff;border-radius:18px;border:1px solid #e4e8f3;padding:clamp(16px,2.8vw,28px);box-shadow:0 12px 30px #212f5e1f;display:flex;flex-direction:column;gap:16px;max-height:calc(100svh - (2*clamp(12px,2vw,20px)));overflow:auto}.configHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.configHeaderText{display:flex;flex-direction:column;gap:4px}.configBody{display:flex;flex-direction:column;gap:16px}.configTitle{margin:0;font-size:clamp(20px,2.6vw,26px);color:#1d2433}.configSubtitle{color:#5c6a82;font-size:13px}.configCloseButton{border:0;width:36px;height:36px;border-radius:10px;background:#eef1fb;color:#2c3850;font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto}.configSection{display:flex;flex-direction:column;gap:8px}.digitsSection{min-width:0}.configLabel{font-weight:600;color:#1f2b3f}.configRow{display:flex;align-items:center;gap:12px}.configRange{flex:1;accent-color:#4b74f2}.configValue{min-width:40px;text-align:center;padding:6px 8px;border-radius:10px;background:#eef1fb;color:#2b3a55;font-weight:700}.configCheck{display:flex;align-items:center;gap:10px;font-weight:600;color:#1f2b3f}.configCheck input{width:18px;height:18px;accent-color:#4b74f2}.presetRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.presetOption{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid #d9deeb;background:#f7f8fd;font-weight:600;color:#2d3a52;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.presetOption input{position:absolute;opacity:0;pointer-events:none}.presetOption.isActive{background:#dfe8ff;border-color:#88a6ff;color:#1f3b7a}.presetOption:active{transform:scale(.98)}.configSubLabel{font-size:12px;font-weight:600;color:#6c7a95}.digitsPicker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.digitToggle{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-width:0;white-space:nowrap;border:1px solid #d9deeb;background:#f1f3f9;border-radius:10px;padding:6px 0;font-size:clamp(14px,2.2vw,18px);font-weight:700;aspect-ratio:1 / 1;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.digitToggle.isActive{background:#d1f0dc;border-color:#5bbf7f;color:#1b4b2c}.digitToggle:active{transform:scale(.98)}.configActions{display:flex;justify-content:center;margin-top:4px}.configPrimaryButton{padding:10px 22px;border-radius:14px;border:0;background:#4b74f2;color:#fff;font-weight:600;cursor:pointer;box-shadow:0 6px 14px #3a56bd40;transition:transform .12s ease,box-shadow .16s ease}.configPrimaryButton:active{transform:scale(.98)}.sidebar{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:8px}.topActions{display:flex;align-items:center;gap:8px}.configPill{width:100%;flex:1 1 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:14px;background:#eef1fb;color:#1d2433;font-weight:500;cursor:pointer;touch-action:manipulation;box-shadow:0 1px #0000000f}.configIcon{font-size:18px;line-height:1}.configText{font-size:16px;text-align:left}.configHint{font-size:12px;font-weight:600;opacity:.7}.configPill:active{transform:scale(.98)}.infoPill{border:0;min-width:42px;height:42px;border-radius:12px;background:#eef1fb;color:#4a5873;font-size:20px;font-weight:600;line-height:1;cursor:pointer}.infoPill:active{transform:scale(.98)}.aboutOverlay{position:absolute;inset:0;background:#121c3047;display:grid;place-items:center;padding:12px;z-index:3}.aboutCard{width:min(92%,420px);background:#fff;border:1px solid #dfe4f2;border-radius:16px;padding:18px;box-shadow:0 12px 28px #212f5e33}.aboutTitle{margin:0 0 10px;color:#1d2433;font-size:clamp(18px,2.4vw,24px)}.aboutText{margin:0 0 8px;color:#34425c}.aboutLink{display:inline-block;margin-bottom:14px;color:#111;font-weight:600}.aboutActions{display:flex;justify-content:flex-end}.sidebarCenter{display:flex;align-items:center;justify-content:center;flex:1 1 auto;padding:8px 0}.digitGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(8px,2vw,12px)}.digitButton{width:clamp(56px,7vw,96px);height:clamp(56px,7vw,96px);font-size:clamp(22px,3vw,38px);border:0;border-radius:14px;background:#e9ecf5;cursor:pointer;touch-action:manipulation;transition:background-color .16s ease,transform .12s ease}.digitButton.flashed{color:inherit}.digitButton.flashed.success{background-color:#c9f6d0}.digitButton.flashed.failure{background-color:#f6c9c9}.sprite{position:absolute;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:popIn .5s ease-out}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.progressBar{width:100%;height:20px;background:#e6e9f2;border-radius:999px;margin:8px 0;overflow:hidden;position:relative}.progressFill{height:100%;background:linear-gradient(90deg,#7bd389,#4ac47a);width:0;transition:width .3s ease}.roundLabel{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-weight:600;color:#425066;font-size:clamp(12px,1.6vw,14px);line-height:1;pointer-events:none}@media(max-width:700px){.configScreen{place-items:stretch;padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));overflow:auto}.configCard{width:100%;max-width:none;height:auto;max-height:calc(100svh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));min-height:0;padding:12px;border-radius:14px;box-shadow:none}.configHeader{position:sticky;top:0;z-index:1;background:#fff;padding-bottom:6px}.configCloseButton{width:34px;height:34px;font-size:18px}.gameStage{aspect-ratio:4 / 3;width:min(100%,calc((100svh - (2 * var(--stage-padding))) * 4 / 3));grid-template-columns:1fr;grid-template-rows:1fr auto}.sidebar{width:100%;min-width:0}.sidebarTop{order:2;margin-top:8px}.sidebarCenter{order:1;padding-top:0}.sidebarTop{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto;align-items:center;column-gap:8px;row-gap:0}.topActions{grid-column:1;grid-row:1;display:flex;flex-direction:row;align-items:center;gap:6px}.configPill{width:auto;grid-template-columns:auto;gap:0;padding:6px 10px;min-width:44px;justify-content:center}.infoPill{width:44px;min-width:44px;height:38px;font-size:18px}.configText{display:none}.progressBar{grid-column:2;grid-row:1;min-width:0;height:20px;margin:0}.digitGrid{width:100%;min-width:0;grid-template-columns:repeat(5,minmax(0,1fr))}.digitButton{width:100%;height:auto;aspect-ratio:1 / 1;font-size:clamp(22px,6vw,34px);color:#111}}@media(max-height:520px)and (orientation:landscape){.gameStage{gap:8px;padding:10px;grid-template-columns:minmax(0,1fr) clamp(200px,25vw,300px)}.sidebar{padding:6px;overflow:auto;min-height:0}.sidebarTop{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:0;row-gap:4px}.topActions{grid-column:1;grid-row:2;display:flex;flex-direction:row;align-items:center;gap:6px;justify-content:flex-start}.configPill{width:auto;min-width:44px;padding:6px 10px;grid-template-columns:auto;gap:0;justify-content:center}.infoPill{width:36px;min-width:36px;height:36px;font-size:16px}.configText{display:none}.progressBar{grid-column:1;grid-row:1;height:18px;margin:0}.digitGrid{width:100%;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.digitButton{width:100%;height:auto;aspect-ratio:1 / 1;min-width:0;font-size:clamp(18px,3.2vw,28px);border-radius:14px;color:#111}.configScreen{place-items:stretch;padding:8px}.configCard{width:100%;max-width:none;height:auto;max-height:calc(100svh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));padding:12px;border-radius:14px;box-shadow:none}.configHeader{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;position:static;padding-bottom:0;background:transparent}.configSubtitle{display:none}.configBody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}.configSection{gap:6px}.digitsSection{grid-column:2;grid-row:1 / span 2}.configRow{gap:8px}.configValue{min-width:34px;padding:4px 6px}.presetRow{gap:6px}.presetOption{padding:6px 8px;border-radius:10px;font-size:13px}.digitsPicker{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.digitToggle{height:28px;padding:0;border-radius:8px;font-size:clamp(12px,2.2vw,15px)}.configActions{margin-top:0}.configPrimaryButton{padding:8px 18px;border-radius:12px}.aboutCard{width:100%;max-width:420px;padding:14px}}
