.logic-pack{--logic-green:#698564;--logic-ink:#415440;width:100%;max-width:520px;margin:auto;outline:none}.logic-hint{text-align:center;font-size:13px;color:#667360;margin:4px 0 18px;line-height:1.5}.logic-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));max-width:380px;margin:auto;padding:8px;background:#d1d9c7;border-radius:18px;box-shadow:0 10px 0 #bbc7b0,0 16px 25px #354b3018;gap:2px}.logic-cell{position:relative;min-width:0;min-height:0;width:100%;aspect-ratio:1;border:1px solid #a6b79c;border-radius:5px;background:#f6f7ec;color:var(--logic-ink);font-weight:600;line-height:1;font-family:inherit;font-size:clamp(18px,5vw,28px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;padding:0;transition:background .18s,box-shadow .18s,transform .13s}.logic-cell:not(:disabled):active{transform:scale(.94)}.logic-cell:disabled{opacity:1;cursor:default}.logic-cell-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logic-cell svg{width:52%;height:52%;max-width:38px;max-height:38px}.logic-cell.is-selected{box-shadow:inset 0 0 0 3px #6b9866;background:#ebf3dd;z-index:2}.logic-cell:focus-visible,.logic-number-tray button:focus-visible{outline:3px solid #ab9d58;outline-offset:2px}.logic-given{font-weight:800;background:#e3e9d7}.logic-blocked{background:#5b6b55;color:#fff8df;border-color:#53624e}.logic-shaded{background:#658063;color:#e3ebda;border-color:#506e4e}.logic-shaded .logic-cell-content{color:#edf3e5}.logic-cross{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#a3b49a}.logic-cross svg{width:30%;height:30%}.logic-outside{grid-template-columns:45px repeat(var(--n),minmax(0,1fr));background:#e2e8d8;gap:3px;padding:10px 9px 10px 3px}.logic-sky-grid{grid-template-columns:26px repeat(var(--n),minmax(0,1fr)) 26px;padding:8px 3px}.logic-clue{font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:4px;color:#657b60;min-width:0;white-space:pre}.logic-col-clue{flex-direction:column;min-height:43px;gap:1px;justify-content:flex-end;padding:0 0 5px}.logic-clue.is-met{color:#36643b;background:#cde0bf;border-radius:8px}.logic-clue small{font-size:12px}.logic-row-clue{font-size:13px;white-space:normal;text-align:center;padding:2px}.logic-sum{font-size:clamp(12px,3.5vw,18px);position:absolute}.logic-sum.right{right:5px;bottom:7px}.logic-sum.down{left:5px;top:7px}.logic-cage{position:absolute;left:4px;top:4px;font-size:clamp(10px,2.8vw,13px);line-height:1;z-index:2;color:#61705b}.logic-kenken .logic-grid{gap:0;padding:8px}.logic-kenken .logic-cell{border-color:#738b65;border-radius:2px}.logic-kenken .logic-cell-content{padding-top:8px}.logic-spaced{gap:15px;background:#e8eddf;padding:10px}.logic-inequality{position:absolute;z-index:3;color:#6d7f63;font-size:25px;font-weight:500;pointer-events:none}.logic-inequality.right{right:-17px;top:50%;transform:translateY(-50%)}.logic-inequality.down{bottom:-20px;left:50%;transform:translateX(-50%)}.logic-tower{position:absolute;left:23%;right:23%;bottom:9%;border-radius:3px 3px 0 0;background:#bdcfb3;box-shadow:4px 3px 0 #a8be9c}.logic-skyscrapers .logic-cell-content{align-items:flex-start;padding-top:7px}.logic-binary-1{background:#cddfc2;color:#597a50}.logic-binary-2{background:#f3e5bd;color:#aa883e}.logic-tree{background:#ddebd2;color:#6e8b61}.logic-region-0{background:#e8edd4}.logic-region-1{background:#e2e6f0}.logic-region-2{background:#f1dfd7}.logic-region-3{background:#f4e9c5}.logic-region-4{background:#d7e9e0}.logic-starbattle .logic-cell{border-color:#9aa98d;border-radius:2px}.logic-starbattle .logic-grid{gap:0;padding:8px}.logic-starbattle .logic-cell svg{color:#ac8934;fill:#d6b354}.logic-ship-segment{width:65%;height:65%;border-radius:7px;background:#d8e7d1;box-shadow:inset 0 -4px 0 #b9d0b0}.logic-fleet-legend{display:flex;justify-content:center;gap:22px;margin:22px 0 0}.logic-fleet-legend span{display:flex;gap:2px}.logic-fleet-legend i{display:block;width:17px;height:17px;background:#648161;border-radius:4px}.logic-lit{background:#fbefb7}.logic-bulb{background:#f6dd85;color:#9c7824}.logic-mark-legend{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#87947f;margin:20px 0 0}.logic-mark-legend svg{width:18px;height:18px}.logic-number-tray{margin:22px auto 0;max-width:380px;padding:10px;background:#eef2e5;border:1px solid #d5dfca;border-radius:15px}.logic-number-tray[hidden]{display:none}.logic-number-tray>span{display:block;text-align:center;font-size:11px;color:#77876d;margin-bottom:8px}.logic-number-tray>div{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.logic-number-tray button{width:44px;height:44px;min-width:0;border:1px solid #c2d1b8;border-radius:9px;background:#fafbf4;color:#496444;font-weight:600;line-height:1;font-family:inherit;font-size:20px;cursor:pointer}.logic-number-tray button:disabled{opacity:.45}.logic-status{min-height:18px;text-align:center;font-weight:600;color:#65865b;font-size:14px;margin:18px 0 8px}.logic-help{border-top:1px solid #dce3d3;padding-top:12px;color:#697760;font-size:13px;line-height:1.6}.logic-help summary{cursor:pointer;text-align:center;list-style-position:inside;font-size:12px;color:#829176}.logic-help p{margin:10px 8px}.logic-edge-board{width:100%;display:block;max-width:390px;margin:auto;background:#f2f4e9;border:1px solid #dce4d0;border-radius:22px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 8px 0 #d4dec7}.logic-edge-hit{stroke:transparent;stroke-width:25;cursor:pointer;pointer-events:stroke}.logic-edge-guide{stroke:#c7d3bd;stroke-width:2;stroke-dasharray:3 6;pointer-events:none}.logic-edge-line{stroke:#71916a;stroke-width:5;stroke-linecap:round;pointer-events:none}.logic-edge-cross{stroke:#a7b49a;stroke-width:2;pointer-events:none}.logic-loop-dot{fill:#75906e;pointer-events:none}.logic-loop-clue,.logic-island text{font:600 22px sans-serif;fill:#597451;text-anchor:middle;pointer-events:none}.logic-island circle{fill:#e5ecd8;stroke:#92aa82;stroke-width:2}.logic-island.is-met circle{fill:#c7dfb6;stroke:#668a58}.logic-island.is-selected circle{stroke:#c2a452;stroke-width:4}.logic-island{cursor:grab}.logic-edge-board [role=button]:focus-visible .logic-edge-guide{stroke:#c7a348;stroke-width:6}.logic-code-history{max-height:360px;overflow:auto;overscroll-behavior:contain}.logic-code-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0}.logic-code-row>small{width:16px;text-align:center;font-size:12px;color:#9aa58f}.logic-pegs{display:flex;gap:8px;align-items:center}.logic-peg{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:inset 0 -4px 0 #00000013,0 3px 4px #35402b12;color:#fff9ed;position:relative}.logic-peg>span{font-size:14px;font-weight:700}.logic-color-0{background:#729469}.logic-color-1{background:#c8869b}.logic-color-2{background:#d6b259}.logic-color-3{background:#77a7bb}.logic-color-4{background:#9d8cb4}.logic-color-5{background:#d38f70}.logic-color-empty{background:#e2e7d8;box-shadow:inset 0 2px 4px #7b8d6533}.logic-code-feedback{display:grid;grid-template-columns:repeat(2,9px);gap:4px;width:22px}.logic-code-feedback i,.logic-code-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dde4d2;border:1px solid #d2ddc5}.logic-code-feedback .exact,.logic-code-legend .exact{background:#657f5d;border-color:#657f5d}.logic-code-feedback .near,.logic-code-legend .near{background:transparent;border:2px solid #8b9d7c}.logic-pegs button,.logic-code-palette button{background:transparent;border:2px solid transparent;padding:3px;border-radius:50%;cursor:pointer}.logic-pegs button.is-selected{border-color:#7b985f;background:#e1ebd5}.logic-pegs button:disabled,.logic-code-palette button:disabled{opacity:.6;cursor:default}.logic-code-draft{padding:12px 0;background:#f0f3e7;border-radius:15px}.logic-code-palette{display:flex;gap:2px;justify-content:center;margin:15px auto;max-width:360px}.logic-code-palette .logic-peg{width:34px;height:34px}.logic-submit{display:block;margin:0 auto;padding:11px 28px;background:#718f63;border:0;border-radius:20px;color:#fffbee;font-weight:600;line-height:1.3;font-family:inherit;cursor:pointer}.logic-submit:disabled{opacity:.45;cursor:default}.logic-code-legend{text-align:center;color:#8a987f;font-size:11px}.logic-code-legend i{margin:0 3px}@media(max-width:360px){.logic-outside{grid-template-columns:35px repeat(var(--n),minmax(0,1fr));gap:2px}.logic-sky-grid{grid-template-columns:22px repeat(var(--n),minmax(0,1fr)) 22px}.logic-grid{padding:6px}.logic-spaced{gap:13px;padding:8px}.logic-inequality.right{right:-15px}.logic-number-tray button{width:40px;height:42px}.logic-cage{left:3px;top:3px}.logic-pegs{gap:4px}.logic-peg{width:35px;height:35px}.logic-code-row{gap:7px}.logic-code-palette .logic-peg{width:29px;height:29px}.logic-code-palette{gap:0}}@media(prefers-reduced-motion:reduce){.logic-cell{transition:none}}

.logic-hitori-note{position:absolute;right:2px;top:2px;display:flex;width:15px;height:15px;color:#9fb18e}.logic-hitori-note svg{width:15px;height:15px;max-width:none;max-height:none}

.logic-edge-target{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}
