.cw,.cw-dlg{--cw-c:#0b2540;--cw-p:#2f8fcf;--cw-pt:#e3f0f9;--cw-ps:#a9d3f0;--cw-bad:#b3261e;--cw-top:16px}
.cw{padding:18px 0 40px;background:var(--paper,#fff)}
.cw [hidden],.cw-dlg [hidden]{display:none!important}
html:not(.cw-js) #cw-app,html:not(.cw-js) #cw-play{display:none}
html[data-season="halloween"] .cw,html[data-season="halloween"] .cw-dlg{--cw-p:#c4581a;--cw-pt:#fbe6d6;--cw-ps:#f3bf98}
.cw-in{max-width:1040px;margin:0 auto}
.cw-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;border-bottom:1px solid var(--rule,#d5dce3);padding-bottom:8px;margin-bottom:12px}
.cw-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,6vw,2.3rem);line-height:1.05;margin:0;color:var(--navy,#0b2540)}
.cw-num{font-family:var(--sans);font-weight:500;color:var(--ink-2,#3c4a57);margin:0;flex:1 1 auto}
.cw-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
.cw-time{font:600 1.05rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink,#15212c);min-width:3.2em}
.cw-tools button{font:600 .95rem/1 var(--sans);min-height:44px;padding:0;border:0;background:none;color:var(--navy,#0b2540);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cw-tools button[aria-pressed="true"]{text-decoration-thickness:3px}
.cw-spon{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-family:var(--sans);margin:0 0 12px;color:var(--ink-2,#3c4a57)}
.cw-spon-l{font-size:.85rem;font-weight:500}
.cw-spon a{font-weight:600;color:var(--navy,#0b2540)}
.cw-intro{font-family:var(--serif);font-size:1.02rem;line-height:1.5;color:var(--ink-2,#3c4a57);margin:0 0 14px;max-width:40em}
.cw-cols{display:grid;gap:18px 36px}
.cw-main{min-width:0}
.cw-bar{position:sticky;top:var(--cw-top);z-index:3;display:flex;gap:10px;align-items:baseline;min-height:3.4em;padding:9px 12px;margin:0 0 8px;background:var(--cw-c);color:#fff;font-family:var(--serif);font-size:1.02rem;line-height:1.35;max-width:480px}
.cw-bar-n{font:700 .95rem/1.35 var(--sans);flex:0 0 auto}
.cw-board{position:relative;width:100%;max-width:480px;container-type:inline-size}
.cw-grid{display:grid;grid-template-columns:repeat(var(--n,9),1fr);gap:0;border:2px solid var(--cw-c);background:var(--cw-c);aspect-ratio:1 / 1;width:100%}
.cw-b{background:var(--cw-c)}
.cw-c{position:relative;background:#fff;outline:1px solid #8f9ba6;outline-offset:-.5px;min-width:0}
.cw-no{position:absolute;top:1px;left:3px;font:600 calc(100cqw / var(--n,9) * .24)/1 var(--sans);color:var(--ink,#15212c);pointer-events:none;z-index:1}
.cw-i{display:block;width:100%;height:100%;margin:0;padding:calc(100cqw / var(--n,9) * .12) 0 0;border:0;border-radius:0;background:transparent;text-align:center;font:600 calc(100cqw / var(--n,9) * .56)/1 var(--serif);text-transform:uppercase;color:var(--ink,#15212c);caret-color:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}
.cw-i:focus{outline:none}
.cw-c.is-word{background:var(--cw-pt)}
.cw-c.is-cur{background:var(--cw-ps);box-shadow:inset 0 0 0 3px var(--cw-c)}
.cw-c.is-bad .cw-i{color:var(--cw-bad)}
.cw-c.is-bad::after{content:"";position:absolute;left:12%;right:12%;top:50%;border-top:2px solid var(--cw-bad);transform:rotate(-45deg);pointer-events:none}
.cw-c.is-rev::before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 calc(100cqw / var(--n,9) * .22) calc(100cqw / var(--n,9) * .22) 0;border-color:transparent var(--cw-p) transparent transparent;pointer-events:none}
.cw-c.is-ok .cw-i{color:var(--cw-c)}
.cw-board.is-paused .cw-grid{visibility:hidden}
.cw-paused{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font:600 1.4rem/1 var(--serif);color:var(--navy,#0b2540);border:2px solid var(--cw-c);background:var(--mist,#f1f4f6)}
.cw-acts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:12px 0 4px;max-width:480px}
.cw-menu{position:relative}
.cw-menu summary,.cw-acts>button,.cw-act button,.cw-act a,.cw-close{font:600 .95rem/1 var(--sans);min-height:44px;padding:0 16px;border:2px solid var(--navy,#0b2540);background:#fff;color:var(--navy,#0b2540);border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none;list-style:none}
.cw-menu summary::-webkit-details-marker{display:none}
.cw-menu summary::after{content:"";width:0;height:0;margin-left:8px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}
.cw-menu[open] summary{background:var(--navy,#0b2540);color:#fff}
.cw-menu-b{position:absolute;z-index:4;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;min-width:9.5em;background:#fff;border:2px solid var(--navy,#0b2540);box-shadow:0 6px 18px rgba(11,37,64,.18)}
.cw-menu-b button{font:600 .95rem/1 var(--sans);min-height:44px;padding:0 14px;border:0;border-bottom:1px solid var(--rule,#d5dce3);background:#fff;color:var(--navy,#0b2540);text-align:left;cursor:pointer}
.cw-menu-b button:last-child{border-bottom:0}
.cw-act button{background:var(--navy,#0b2540);color:#fff}
.cw-msg{min-height:1.5em;font-family:var(--sans);font-weight:600;color:var(--ink,#15212c);margin:6px 0 8px;max-width:480px}
.cw-end{border-top:3px double var(--navy,#0b2540);padding-top:12px;margin:12px 0 14px;max-width:480px}
.cw-res{font-family:var(--serif);font-weight:600;font-size:1.5rem;margin:0 0 10px;color:var(--navy,#0b2540)}
.cw-act{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.cw-share-p{white-space:pre-line;font-family:var(--sans);background:var(--mist,#f1f4f6);padding:10px 12px;margin:0 0 8px}
.cw-next{font-family:var(--sans);color:var(--ink-2,#3c4a57);margin:0}
.cw-clues{display:grid;gap:18px 28px;align-content:start;min-width:0}
.cw-clues h2{font:600 1.05rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--navy,#0b2540);margin:0 0 6px;padding-bottom:6px;border-bottom:2px solid var(--navy,#0b2540)}
.cw-cl{list-style:none;margin:0;padding:0}
.cw-cl li{border-bottom:1px solid var(--rule,#d5dce3);border-left:4px solid transparent}
.cw-cb{display:flex;gap:10px;width:100%;min-height:44px;padding:8px 8px 8px 6px;border:0;background:none;text-align:left;font-family:var(--serif);font-size:1rem;line-height:1.4;color:var(--ink,#15212c);cursor:pointer}
.cw-cn{font:700 .95rem/1.45 var(--sans);min-width:1.4em;text-align:right;flex:0 0 auto}
.cw-cl li.is-cur{background:var(--cw-pt);border-left-color:var(--cw-p)}
.cw-cl li.is-x{border-left-color:var(--cw-ps)}
.cw-ct{min-width:0;overflow-wrap:anywhere}
.cw-cl li.is-done .cw-ct{color:var(--ink-2,#3c4a57)}
.cw-cl .cw-story{display:block;padding:0 8px 10px calc(1.4em + 16px);font:600 .9rem/1.3 var(--sans)}
.cw button:focus-visible,.cw a:focus-visible,.cw summary:focus-visible,.cw-dlg button:focus-visible{outline:3px solid #f6c61e;outline-offset:2px;box-shadow:0 0 0 5px #0b2540}
.cw-c:focus-within{box-shadow:inset 0 0 0 3px var(--cw-c),inset 0 0 0 5px #f6c61e}
.cw-none{font-family:var(--serif);font-size:1.3rem;color:var(--navy,#0b2540);margin:24px 0}
.cw-dlg{border:0;border-top:4px solid var(--navy,#0b2540);padding:18px 20px 20px;max-width:min(460px,calc(100vw - 32px));width:100%;color:var(--ink,#15212c)}
.cw-dlg::backdrop{background:rgba(11,37,64,.55)}
.cw-dlg h2{font-family:var(--serif);font-weight:600;margin:0 0 10px;color:var(--navy,#0b2540)}
.cw-dlg p{font-family:var(--serif);line-height:1.5;margin:0 0 12px}
@media (min-width:860px){.cw-cols{grid-template-columns:minmax(0,480px) minmax(0,1fr)}.cw-clues{max-height:calc(100vh - var(--cw-top) - 24px);overflow:auto;position:sticky;top:calc(var(--cw-top) + 8px)}}
@media (min-width:1000px){.cw-clues{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.cw *{transition:none!important;animation:none!important}}
.cw-i::selection{background:transparent;color:inherit}
