.w23l-edition{margin:0 0 16px;color:#526680;font-size:.81rem;font-weight:750}.w23l-kakuro{display:grid;grid-template-columns:repeat(var(--kakuro-columns),minmax(0,1fr));width:100%;max-width:560px;margin:auto;gap:2px;padding:5px;background:#243d63;border-radius:14px;box-shadow:0 10px 24px #1b3a6212;overflow:hidden}.w23l-kcell,.w23l-clue{position:relative;aspect-ratio:1;min-width:0;min-height:0!important;border:0!important;border-radius:4px!important;padding:2px!important;display:flex!important;align-items:center;justify-content:center}.w23l-kcell{background:#fff!important;color:#213b61!important}.w23l-kcell:disabled{opacity:1!important}.w23l-kcell.is-run{background:#eaf2ff!important}.w23l-kcell.is-selected{box-shadow:inset 0 0 0 3px #0053e2!important;background:#dce9ff!important}.w23l-kcell.is-conflict{color:#a32038!important;background:#fff0ee!important}.w23l-kcell.is-fixed{color:#0a7460!important;background:#e5f4ed!important}.w23l-kcell strong{font-size:clamp(1.1rem,3.2vw,2.25rem)}.w23l-clue{color:#fff;background:#243d63!important}.w23l-clue.has-clue{background:linear-gradient(45deg,transparent 49%,#8b9dbc 49.5%,#8b9dbc 51%,transparent 51.5%)!important}.w23l-clue span{position:absolute;font-size:clamp(.58rem,1.35vw,.92rem);line-height:1.1;font-weight:800;white-space:nowrap}.w23l-clue .is-down{top:6px;right:4px}.w23l-clue .is-across{bottom:5px;left:3px}.w23l-notes{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-content:center;gap:0}.w23l-notes i{font-style:normal;text-align:center;font-size:clamp(.5rem,1vw,.84rem);line-height:1}.w23l-run-sums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px auto;max-width:560px}.w23l-run-sums>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;background:#edf3fd;padding:11px;border:1px solid #d6e3f4;border-radius:12px}.w23l-run-sums small{grid-column:1/-1;font-size:.72rem;color:#576b86}.w23l-run-sums span{font-size:.82rem}.w23l-run-sums strong{font-size:1.1rem}.w23l-run-sums .is-conflict{background:#fff1ec;border-color:#eac5b9;color:#992c35}.w23l-number-pad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;width:100%}.w23l-number-pad button{min-height:45px;padding:5px!important;font-size:1.12rem!important}.w23l-kcell:focus-visible{outline:3px solid #003fab!important;outline-offset:-3px}.w23l-code-slots{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px 0 20px}.w23l-slot{padding:6px!important;background:#f1f5fc!important;border:2px solid transparent!important;border-radius:13px!important;display:flex!important;flex-direction:column;align-items:center;gap:4px;min-width:45px}.w23l-slot.is-selected{border-color:#0053e2!important;background:#e6efff!important}.w23l-slot small{font-size:.65rem;color:#405d82}.w23l-peg{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-weight:850;font-size:1.3rem;box-shadow:inset 0 2px 4px #ffffff35,0 2px 4px #0f2c4320;flex-shrink:0}.w23l-peg.is-small{width:31px;height:31px;font-size:.95rem}.w23l-code-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:520px;margin:0 auto 15px}.w23l-colour-button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:9px!important;min-height:65px!important;background:#f8faff!important;min-width:0}.w23l-colour-button small{font-size:.72rem;line-height:1.2}.w23l-code-editor{width:100%;text-align:center}.w23l-code-editor>.gk-primary{min-height:46px}.w23l-attempts{list-style:none!important;padding:0!important;margin:0 0 20px!important;display:grid;gap:9px}.w23l-attempts>li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;background:#f3f6fc;border:1px solid #dce5f2;padding:10px;border-radius:13px}.w23l-attempt-number{font-size:.8rem;font-weight:750;color:#708098}.w23l-attempt-code{display:flex;gap:7px;flex-wrap:wrap}.w23l-feedback{display:flex;align-items:center;gap:6px;flex-direction:column}.w23l-feedback-pegs{display:flex;gap:4px;align-items:center;min-height:18px}.w23l-feedback-pegs span{line-height:1;font-size:20px;color:#173c73}.w23l-feedback small{font-size:.63rem;color:#4d6483;white-space:nowrap}.w23l-code-reveal{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:16px;background:#edf4fd;border-radius:14px}.w23l-code-reveal strong{width:100%;text-align:center}.w23l-handoff{text-align:center;background:#ecf3ff;padding:32px 18px;border-radius:22px}.w23l-handoff h3{font-size:1.55rem;margin:12px 0}.w23l-secret-mark{font-size:2rem;letter-spacing:.45rem;color:#0053e2}.w23l-fraction-title{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.w23l-fraction-title>span{color:#506987;font-weight:700;font-size:.9rem}.w23l-fraction-title>strong{font-size:2rem;color:#123e82}.w23l-fraction-title>button{margin-left:auto;font-size:.78rem!important;min-height:40px!important}.w23l-fraction-visual{display:block;width:100%;height:auto;max-height:230px;margin:6px auto}.w23l-workbench{padding:16px;margin-top:18px;background:#fff;border:2px dashed #c5d6ef;border-radius:17px}.w23l-workbench h3{margin:0!important;font-size:1rem!important;color:#33567c}.w23l-selected-tiles{display:flex;gap:7px;flex-wrap:wrap;min-height:10px;margin-top:9px}.w23l-selected-tile{min-height:39px!important;min-width:56px!important;padding:7px 10px!important;background:#edf3ff!important;font-size:.85rem!important}.w23l-fraction-status{padding:11px 13px;margin:12px 0;font-size:.88rem;background:#edf3fd;border-radius:12px;color:#345b8c;line-height:1.5}.w23l-fraction-status.is-correct{background:#e3f3e9;color:#186744}.w23l-fraction-status.is-over{background:#fff0e7;color:#9d4c18}.w23l-fraction-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.w23l-fraction-tile{min-height:76px!important;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:11px!important;min-width:0;background:#fff!important;border:1px solid #bccfeb!important}.w23l-fraction-tile strong{font-size:1.2rem;color:#25518b}.w23l-fraction-tile.is-hint{outline:3px solid #aa6b09;outline-offset:2px}.w23l-tile-mini{display:block;height:9px;width:100%;border-radius:3px;background:#e6edf8;overflow:hidden}.w23l-tile-mini i{display:block;height:100%;background:#0053e2;border-radius:2px}@media(max-width:620px){.w23l-code-slots{gap:5px}.w23l-slot{padding:4px!important;min-width:37px}.w23l-slot .w23l-peg{width:35px;height:35px;font-size:1rem}.w23l-attempt-code{gap:4px}.w23l-attempt-code .w23l-peg.is-small{width:25px;height:25px;font-size:.75rem}.w23l-attempts>li{grid-template-columns:18px minmax(0,1fr);gap:5px;padding:8px}.w23l-feedback{grid-column:2;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.w23l-feedback small{font-size:.65rem}.w23l-code-palette{gap:6px}.w23l-colour-button{padding:7px 3px!important}.w23l-number-pad{gap:3px}.w23l-number-pad button{min-height:42px;font-size:.94rem!important}.w23l-clue .is-down{top:4px;right:2px}.w23l-clue .is-across{bottom:3px;left:2px}.w23l-fraction-tray{gap:6px}.w23l-fraction-tile{padding:8px 6px!important;min-height:65px!important}.w23l-fraction-tile strong{font-size:1.04rem}.w23l-workbench{padding:11px}.w23l-run-sums>div{padding:8px;gap:3px}.w23l-run-sums strong{font-size:.95rem}.w23l-run-sums span{font-size:.74rem}.w23l-run-sums small{font-size:.64rem}}@media(max-width:380px){[data-otk-tool="kakuro"] .gk-main,[data-otk-tool="codebreaker"] .gk-main{padding:8px}[data-otk-tool="kakuro"] .gk-surface,[data-otk-tool="codebreaker"] .gk-surface{padding:5px}.w23l-kakuro{padding:4px;gap:2px}.w23l-code-slots{gap:3px}.w23l-slot{min-width:31px;padding:3px!important}.w23l-slot .w23l-peg{width:29px;height:29px}.w23l-clue span{font-size:.52rem}}

/* Full-size mathematical graphics override generic theme SVG icons. */
.otk-game-kit .gk-surface svg.w23l-fraction-visual{display:block;width:100%!important;height:auto!important;max-height:230px;flex:none}

/* Keep every code position on one readable row, including six-position mobile codes. */
.w23l-code-editor .w23l-code-slots{display:grid;grid-template-columns:repeat(var(--code-length),minmax(0,1fr));max-width:450px;margin:10px auto 20px;gap:5px}.w23l-code-editor .w23l-slot{min-width:0;width:100%;padding:4px!important;box-sizing:border-box}.w23l-code-editor .w23l-slot .w23l-peg{width:100%;max-width:48px;height:auto;aspect-ratio:1;font-size:clamp(.85rem,2vw,1.3rem)}.w23l-colour-button{border:1px solid #c5d6ed!important;border-radius:12px!important;color:#254970!important}.w23l-colour-button:hover{background:#e8f1ff!important}.w23l-fraction-tile{border-radius:12px!important}.w23l-selected-tile{border:1px solid #b9cdef!important;border-radius:9px!important;color:#214d87!important}
/* Target and selected pieces share one physical unit scale, including workbench insets. */
.otk-game-kit[data-otk-tool="fraction-tiles-puzzle"] .gk-board{--w23l-whole-inset:18px}
.otk-game-kit .gk-surface svg.w23l-fraction-visual{max-height:none}
.otk-game-kit .gk-surface .w23l-fraction-title + svg.w23l-fraction-visual{width:calc(100% - var(--w23l-whole-inset) - var(--w23l-whole-inset))!important}
.otk-game-kit[data-otk-tool="fraction-tiles-puzzle"] .w23l-workbench{padding:calc(var(--w23l-whole-inset) - 2px)}
@media(max-width:620px){.otk-game-kit[data-otk-tool="fraction-tiles-puzzle"] .gk-board{--w23l-whole-inset:13px}}

/* dark-mode:start — generated by scripts/dark-mode.py from build/game-kit-assets/wave23-logic.css; do not edit by hand */
@media screen{
 html[data-theme="dark"] .w23l-edition:not([data-otk-paper],[data-otk-paper] *){color:#aaaaaa}
 html[data-theme="dark"] .w23l-kakuro:not([data-otk-paper],[data-otk-paper] *){background:#243d63;box-shadow:0 10px 24px #1b3a6212}
 html[data-theme="dark"] .w23l-kcell:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .w23l-clue:not([data-otk-paper],[data-otk-paper] *){border:0 !important}
 html[data-theme="dark"] .w23l-kcell:not([data-otk-paper],[data-otk-paper] *){background:#212121 !important;color:#dbdbdb !important}
 html[data-theme="dark"] .w23l-kcell.is-run:not([data-otk-paper],[data-otk-paper] *){background:#292929 !important}
 html[data-theme="dark"] .w23l-kcell.is-selected:not([data-otk-paper],[data-otk-paper] *){box-shadow:inset 0 0 0 3px #0053e2 !important;background:#313131 !important}
 html[data-theme="dark"] .w23l-kcell.is-conflict:not([data-otk-paper],[data-otk-paper] *){color:#fe9096 !important;background:#322624 !important}
 html[data-theme="dark"] .w23l-kcell.is-fixed:not([data-otk-paper],[data-otk-paper] *){color:#67bfa8 !important;background:#212f29 !important}
 html[data-theme="dark"] .w23l-clue:not([data-otk-paper],[data-otk-paper] *){color:#fff;background:#243d63 !important}
 html[data-theme="dark"] .w23l-clue.has-clue:not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(45deg,transparent 49%,#506486 49.5%,#506486 51%,transparent 51.5%) !important}
 html[data-theme="dark"] .w23l-run-sums>div:not([data-otk-paper],[data-otk-paper] *){background:#292929;border:1px solid #3c3c3c}
 html[data-theme="dark"] .w23l-run-sums small:not([data-otk-paper],[data-otk-paper] *){color:#a5a5a5}
 html[data-theme="dark"] .w23l-run-sums .is-conflict:not([data-otk-paper],[data-otk-paper] *){background:#322622;border-color:#5b3b30;color:#f99898}
 html[data-theme="dark"] .w23l-kcell:focus-visible:not([data-otk-paper],[data-otk-paper] *){outline:3px solid #003fab !important}
 html[data-theme="dark"] .w23l-slot:not([data-otk-paper],[data-otk-paper] *){background:#292929 !important;border:2px solid transparent !important}
 html[data-theme="dark"] .w23l-slot.is-selected:not([data-otk-paper],[data-otk-paper] *){border-color:#0053e2 !important;background:#2c2c2c !important}
 html[data-theme="dark"] .w23l-slot small:not([data-otk-paper],[data-otk-paper] *){color:#b4b4b4}
 html[data-theme="dark"] .w23l-peg:not([data-otk-paper],[data-otk-paper] *){box-shadow:inset 0 2px 4px rgba(33,33,33,0.208),0 2px 4px #0f2c4320}
 html[data-theme="dark"] .w23l-colour-button:not([data-otk-paper],[data-otk-paper] *){background:#1d1d1d !important}
 html[data-theme="dark"] .w23l-attempts>li:not([data-otk-paper],[data-otk-paper] *){background:#191919;border:1px solid #3b3b3b}
 html[data-theme="dark"] .w23l-attempt-number:not([data-otk-paper],[data-otk-paper] *){color:#8e8e8e}
 html[data-theme="dark"] .w23l-feedback-pegs span:not([data-otk-paper],[data-otk-paper] *){color:#d8d8d8}
 html[data-theme="dark"] .w23l-feedback small:not([data-otk-paper],[data-otk-paper] *){color:#acacac}
 html[data-theme="dark"] .w23l-code-reveal:not([data-otk-paper],[data-otk-paper] *){background:#292929}
 html[data-theme="dark"] .w23l-handoff:not([data-otk-paper],[data-otk-paper] *){background:#292929}
 html[data-theme="dark"] .w23l-secret-mark:not([data-otk-paper],[data-otk-paper] *){color:#80abf7}
 html[data-theme="dark"] .w23l-fraction-title>span:not([data-otk-paper],[data-otk-paper] *){color:#a7a7a7}
 html[data-theme="dark"] .w23l-fraction-title>strong:not([data-otk-paper],[data-otk-paper] *){color:#d3d3d3}
 html[data-theme="dark"] .w23l-workbench:not([data-otk-paper],[data-otk-paper] *){background:#212121;border:2px dashed #32425b}
 html[data-theme="dark"] .w23l-workbench h3:not([data-otk-paper],[data-otk-paper] *){color:#fafafa}
 html[data-theme="dark"] .w23l-selected-tile:not([data-otk-paper],[data-otk-paper] *){background:#292929 !important}
 html[data-theme="dark"] .w23l-fraction-status:not([data-otk-paper],[data-otk-paper] *){background:#292929;color:#8fb9f1}
 html[data-theme="dark"] .w23l-fraction-status.is-correct:not([data-otk-paper],[data-otk-paper] *){background:#223128;color:#82cca4}
 html[data-theme="dark"] .w23l-fraction-status.is-over:not([data-otk-paper],[data-otk-paper] *){background:#33261e;color:#e78f60}
 html[data-theme="dark"] .w23l-fraction-tile:not([data-otk-paper],[data-otk-paper] *){background:#212121 !important;border:1px solid #34455f !important}
 html[data-theme="dark"] .w23l-fraction-tile strong:not([data-otk-paper],[data-otk-paper] *){color:#97c3ff}
 html[data-theme="dark"] .w23l-fraction-tile.is-hint:not([data-otk-paper],[data-otk-paper] *){outline:3px solid #aa6b09}
 html[data-theme="dark"] .w23l-tile-mini:not([data-otk-paper],[data-otk-paper] *){background:#2e2e2e}
 html[data-theme="dark"] .w23l-tile-mini i:not([data-otk-paper],[data-otk-paper] *){background:#0053e2}
 html[data-theme="dark"] .w23l-colour-button:not([data-otk-paper],[data-otk-paper] *){border:1px solid #324359 !important;color:#cccccc !important}
 html[data-theme="dark"] .w23l-colour-button:hover:not([data-otk-paper],[data-otk-paper] *){background:#292929 !important}
 html[data-theme="dark"] .w23l-selected-tile:not([data-otk-paper],[data-otk-paper] *){border:1px solid #364560 !important;color:#a0c7fe !important}
}
/* dark-mode:end */
