:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1f2937;--ink-soft:#6b7280;--line:#9ca3af;--line-strong:#1f2937;--surface:#fff;--button:#f3f4f6;--primary:#1d4ed8;--entered:#1d4ed8;--conflict:#b91c1c;--conflict-bg:#fee2e2;--given-bg:#f3f4f6;--peer-bg:#dbeafe;--same-bg:#93c5fd;--selected-bg:#bfdbfe;--hint-bg:#fef3c7;--memo-bg:#fde68a;--app-width:min(100vw, 480px);color:var(--ink);background:var(--surface);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--surface);margin:0}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}button:disabled{cursor:default}.home{width:var(--app-width);min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:24px;margin:0 auto;display:flex}.home-new{flex-direction:column;gap:20px;display:flex}.big-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:72px;padding:8px 16px;font-size:24px;font-weight:700;display:flex}.big-button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.big-button-note{font-size:16px;font-weight:400}.choice{border:0;margin:0;padding:0}.choice legend{margin-bottom:8px;padding:0;font-size:18px}.choice-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-button{border:2px solid var(--line);background:var(--surface);border-radius:12px;min-height:64px;font-size:22px}.choice-button[aria-pressed=true]{border:4px solid var(--primary);background:var(--peer-bg);font-weight:700}.game{width:var(--app-width);min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:calc(env(safe-area-inset-bottom) + 8px);flex-direction:column;margin:0 auto;display:flex}.game-header{justify-content:space-between;align-items:center;gap:4px;min-height:48px;display:flex}.header-button{background:0 0;border:0;min-width:64px;min-height:48px;padding:0 8px;font-size:17px;text-decoration:underline}.game-title{text-align:center;margin:0;font-size:15px}.board-hit-area{touch-action:none;padding:10px 0 8px}.board{grid-template-columns:repeat(var(--board-size), 1fr);grid-template-rows:repeat(var(--board-size), 1fr);width:var(--app-width);height:var(--app-width);display:grid}.cell{border:0 solid var(--line);background:var(--surface);min-width:0;min-height:0;color:var(--entered);font-size:calc(var(--app-width) / var(--board-size) * .62);font-variant-numeric:tabular-nums;touch-action:none;border-bottom-width:1px;border-right-width:1px;border-radius:0;justify-content:center;align-items:center;padding:0;font-weight:400;line-height:1;display:flex}.cell.given{background:var(--given-bg);color:var(--ink);font-weight:500}.cell.block-right{border-right:2px solid var(--line-strong)}.cell.block-bottom{border-bottom:2px solid var(--line-strong)}.cell.block-left{border-left:2px solid var(--line-strong)}.cell.block-top{border-top:2px solid var(--line-strong)}.cell.peer{background:var(--peer-bg)}.cell.same-digit{background:var(--same-bg);box-shadow:inset 0 0 0 1px var(--primary)}.cell.hint-cell{background:var(--hint-bg)}.cell.conflict{background:var(--conflict-bg);color:var(--conflict);font-weight:800}.cell.selected{background:var(--selected-bg);box-shadow:inset 0 0 0 3px var(--ink)}.cell.selected.conflict{background:var(--conflict-bg)}.notes{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(var(--note-rows), 1fr);width:100%;height:100%;color:var(--ink);font-size:calc(var(--app-width) / var(--board-size) * .27);padding:2px;font-weight:500;display:grid}.notes span{justify-content:center;align-items:center;display:flex}.actions{grid-template-columns:repeat(4,1fr);gap:8px;width:min(90%,400px);margin:4px auto 0;display:grid}.action-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;min-height:52px;padding:0;font-size:18px;font-weight:600}.action-button:disabled{border-color:var(--line);color:var(--ink-soft)}.action-button[aria-pressed=true]{background:var(--ink);color:#fff}.pad{border-radius:12px;grid-template-columns:repeat(3,1fr);grid-auto-rows:64px;gap:8px;margin-top:auto;padding:8px;display:grid}.pad.memo{background:var(--memo-bg)}.pad-button{border:2px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:10px;min-height:56px;padding:0;font-size:30px;font-weight:600;position:relative}.pad.memo .pad-button{border-style:dashed;font-size:24px}.pad-button:disabled{border-color:var(--line);background:var(--button);color:var(--line)}.pad-done{color:var(--ink-soft);font-size:13px;font-weight:400;position:absolute;top:2px;right:6px}@media (height<=760px){.pad-9{grid-template-columns:repeat(10,1fr);grid-auto-rows:56px}.pad-9 .pad-button{grid-column:span 2}.pad-9 .pad-button:nth-child(6){grid-column:2/span 2}.pad-6{grid-auto-rows:56px}}.complete{flex-direction:column;gap:8px;margin-top:auto;padding:8px 16px;display:flex}.complete-text{text-align:center;margin:0;font-size:22px;font-weight:700}.sheet-backdrop{position:fixed;inset:0}.sheet{width:var(--app-width);max-height:60dvh;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);border-top:2px solid var(--line-strong);background:var(--surface);border-radius:16px 16px 0 0;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -4px 16px #00000026}.sheet-title{margin:0 0 8px;font-size:20px}.sheet-text{margin:0 0 8px;font-size:19px;line-height:1.4}.sheet-actions{gap:8px;margin-top:12px;display:flex}.sheet-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;flex:1;min-height:56px;padding:4px 8px;font-size:18px;font-weight:600}.setting{border:2px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-bottom:8px;padding:0 16px;font-size:19px;display:flex}.setting-state{font-weight:700}.setting[aria-checked=true]{border-color:var(--primary);background:var(--peer-bg)}
