.cw{--cw-desk:#e7eef6;--cw-paper:#fffdf6;--cw-line:#8fa3c4;--cw-ink:#262b36;--cw-muted:#5d6779;--cw-black:#333a48;--cw-marker:#fff0a3;--cw-cursor:#ffd34f;--cw-red:#d9534f;--cw-blue:#2f63c9;--cw-ok:#3f9c7b;--play-ink:var(--cw-ink);--play-icon-bg:#ffffffbf;border-radius:var(--radius-xl);background:repeating-linear-gradient(0deg, transparent 0 27px, #8fa3c429 27px 28px), linear-gradient(160deg, #f1f5fa, var(--cw-desk));color:var(--cw-ink);isolation:isolate;-webkit-tap-highlight-color:transparent;border:1px solid #d7e0ec;position:relative;overflow:hidden}.cw p{margin:0}.cw-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.cw [hidden]{display:none!important}.cw :focus-visible{outline:3px solid var(--cw-blue);outline-offset:2px}.cw-stage{padding:var(--space-5) var(--space-4) var(--space-2);cursor:pointer;place-items:center;display:grid}.cw-paper{padding:var(--space-4);background:var(--cw-paper);border-radius:6px;position:relative;rotate:-2deg;box-shadow:0 10px 24px #262b3624,0 2px #e9e2cf}.cw-sample{grid-template-columns:repeat(var(--w), 1fr);border:2px solid var(--cw-black);width:min(56vw,210px);display:grid}.cw-sample__cell{aspect-ratio:1;border:1px solid var(--cw-line);color:#3e4553;place-items:center;font-size:clamp(.9rem,4.5vw,1.4rem);font-weight:700;display:grid;position:relative}.cw-sample__cell small{color:var(--cw-muted);font-size:.5rem;font-weight:700;position:absolute;top:1px;left:3px}.cw-sample__cell.is-black{background:var(--cw-black);border-color:var(--cw-black)}.cw-pencil{filter:drop-shadow(0 4px 3px #00000026);width:150px;position:absolute;bottom:-14px;right:-60px;rotate:-28deg}.cw-entry{padding:var(--space-4) var(--space-4) var(--space-5);justify-items:center;display:grid}.cw[data-play-mode=on] :is(.cw-entry,.cw-stage){display:none}.cw:not([data-play-mode=on]) :is(.cw-status,.cw-pick,.cw-play){display:none!important}.cw-cta{min-width:160px;min-height:56px;padding-inline:var(--space-6);border-radius:var(--radius-full);background:var(--cw-black);color:#fff;font:inherit;cursor:pointer;touch-action:manipulation;border:0;font-size:1.15rem;font-weight:800;transition:translate 60ms,box-shadow 60ms;box-shadow:0 4px #161a22}.cw-cta:active{translate:0 3px;box-shadow:0 1px #161a22}.cw-link{min-height:44px;padding:0 var(--space-3);color:var(--cw-blue);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.cw[data-play-mode=on]{-webkit-user-select:none;user-select:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.cw[data-play-mode=on] .play-bar{padding:calc(env(safe-area-inset-top) + var(--space-2)) calc(env(safe-area-inset-right) + var(--space-3)) var(--space-1) calc(env(safe-area-inset-left) + var(--space-3))}.cw-status{top:calc(env(safe-area-inset-top) + var(--space-2));gap:var(--space-2);min-height:var(--tap-min);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;align-items:center;font-weight:800;display:flex;position:absolute;left:50%;translate:-50%}@media (width<=420px){.cw-status{left:calc(env(safe-area-inset-left) + var(--space-3) + var(--tap-min) + var(--space-2));translate:none}}.cw-status__hints{color:var(--cw-muted);font-size:.85rem}.cw-status__hints:empty{display:none}.cw:not([data-phase=play]):not([data-phase=clear]) .cw-status{visibility:hidden}.cw[data-paused=true] .cw-status [data-time]{opacity:.5}.cw-pick{padding:var(--space-3) calc(env(safe-area-inset-right) + var(--space-4)) calc(env(safe-area-inset-bottom) + var(--space-4)) calc(env(safe-area-inset-left) + var(--space-4));overflow:auto}.cw-pick__title{margin:0 0 var(--space-2);text-align:center;font-size:1.25rem}.cw-rule{width:fit-content;max-width:100%;padding:6px var(--space-3);border-radius:var(--radius-sm);text-align:center;background:#fff0a3b3;font-size:.85rem;font-weight:700;margin:0 auto var(--space-3)!important}.cw-level-filter{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px auto;display:flex}.cw-filter{border:1px solid var(--cw-line);background:var(--cw-paper);min-height:44px;color:var(--cw-ink);font:inherit;cursor:pointer;border-radius:8px;padding:4px 12px}.cw-level-filter [aria-pressed=true]{background:var(--cw-marker);outline:2px solid var(--cw-blue)}.cw-pick__list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));max-width:640px;margin:0 auto;padding:0;list-style:none;display:grid}.cw-card{width:100%;min-height:84px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--cw-paper);color:var(--cw-ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;border:1.5px solid #cfd8e6;justify-items:start;gap:2px;display:grid;box-shadow:0 2px #dfe5ee}.cw-card__name{font-size:1.1rem;font-weight:800}.cw-card__size,.cw-card__status{color:var(--cw-muted);font-size:.85rem;font-weight:700}.cw-card[data-state=done]{border-color:var(--cw-ok)}.cw-card[data-state=done] .cw-card__status{color:var(--cw-ok)}.cw-card[data-state=progress] .cw-card__status{color:var(--cw-blue)}@media (hover:hover){.cw-card:hover{border-color:var(--cw-line);background:#fff}}.cw-play{gap:var(--space-2);min-height:0;padding:0 calc(env(safe-area-inset-right) + var(--space-2)) calc(env(safe-area-inset-bottom) + var(--space-2)) calc(env(safe-area-inset-left) + var(--space-2));grid-template:"clue""board"minmax(0,1fr)"tools""pad"/minmax(0,1fr);display:grid;position:relative}.cw[data-phase=clear] .cw-play{padding-top:var(--space-2);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"board""clear"}.cw[data-phase=clear] :is(.cw-tools,.cw-pad,.cw-cluebar){display:none}.cw-cluebar{border-radius:var(--radius-md);background:var(--cw-marker);grid-area:clue;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:52px;display:grid;box-shadow:inset 0 -2px #0000000f}.cw-cluebar__text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.cw-badge{background:var(--cw-black);color:#fff;vertical-align:1px;border-radius:6px;margin-right:6px;padding:0 6px;font-size:.8rem;line-height:1.5;display:inline-block}.cw-arrow{width:44px;height:44px;color:var(--cw-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.cw-boardwrap{grid-area:board;place-items:center;min-height:120px;display:grid;position:relative;container-type:size}.cw-board{--cell:calc(min(100cqw, 100cqh) / var(--w));grid-template-columns:repeat(var(--w), minmax(0, 1fr));grid-template-rows:repeat(var(--h), minmax(0, 1fr));width:calc(var(--cell) * var(--w));height:calc(var(--cell) * var(--h));border:2px solid var(--cw-black);background:var(--cw-paper);touch-action:none;cursor:pointer;display:grid;position:relative;box-shadow:0 8px 20px #262b361f}.cw-board:has(+.cw-input:focus-visible),.cw-board:has(+.cw-input:focus){outline:3px solid var(--cw-blue);outline-offset:3px}.cw-cell{border:1px solid var(--cw-line);background:var(--cw-paper);place-items:center;min-width:0;min-height:0;transition:background .12s;display:grid;position:relative}.cw-cell.is-black{background:var(--cw-black);border-color:var(--cw-black);cursor:default}.cw-cell__n{font-size:calc(var(--cell) * .22);color:var(--cw-muted);font-weight:700;line-height:1;position:absolute;top:1px;left:3px}.cw-cell__ch{font-size:calc(var(--cell) * .56);color:var(--cw-ink);font-weight:700;line-height:1}.cw-cell__ch:empty{display:none}.cw-cell[data-in-entry]{background:var(--cw-marker)}.cw-cell[data-cursor]{background:var(--cw-cursor)}.cw-cell[data-revealed] .cw-cell__ch{color:var(--cw-blue)}.cw-cell[data-revealed]:after{content:"";border:calc(var(--cell) * .1) solid var(--cw-blue);border-bottom-color:#0000;border-left-color:#0000;position:absolute;top:0;right:0}.cw-cell[data-wrong] .cw-cell__ch{color:var(--cw-red)}.cw-cell[data-wrong]:before{content:"";background:linear-gradient(to top right,#0000 calc(50% - 1px),#d9534fb3 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));position:absolute;inset:14%}.cw-cell__pending{z-index:1;font-size:calc(var(--cell) * .24);white-space:nowrap;color:var(--cw-blue);background:#ffffffd9;border-radius:3px;padding:0 1px;font-weight:700;line-height:1.1;position:absolute;bottom:2px;right:3px}.cw-cell__pending:empty{display:none}@media (prefers-reduced-motion:no-preference){.cw-cell[data-pop] .cw-cell__ch{animation:.18s ease-out cw-pop}.cw-cell[data-flash]{animation:.6s ease-out cw-flash}.cw[data-phase=clear] .cw-cell:not(.is-black){animation:.7s ease-out both cw-wave;animation-delay:calc(var(--d,0) * 45ms)}}.cw[data-phase=clear] .cw-cell:not(.is-black){background:#dff3ea}@keyframes cw-pop{0%{scale:1.35}to{scale:1}}@keyframes cw-flash{0%{background:#c9f0de}to{background:inherit}}@keyframes cw-wave{0%{background:var(--cw-paper);translate:0}40%{background:#b9ead3;translate:0 -6%}to{background:#dff3ea;translate:0}}.cw-input{opacity:0;caret-color:#0000;pointer-events:none;border:0;width:1px;height:1px;padding:0;font-size:16px;position:absolute;top:50%;left:50%}.cw-msg{max-width:94%;padding:4px var(--space-3);border-radius:var(--radius-full);background:var(--cw-black);color:#fff;text-align:center;pointer-events:none;z-index:2;font-size:.85rem;font-weight:700;position:absolute;bottom:4px;left:50%;translate:-50%}.cw-msg:empty{display:none}.cw-tools{gap:var(--space-1);grid-area:tools;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cw-tool{border-radius:var(--radius-full);min-height:44px;color:var(--cw-ink);font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:#fffc;border:1.5px solid #cfd8e6;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:.85rem;font-weight:800;display:inline-flex}.cw-tool:disabled{opacity:.45;cursor:default}@media (width<=359px){.cw-tool svg{display:none}.cw-tool{font-size:.8rem}}.cw-pad{touch-action:manipulation;grid-area:pad;gap:4px;display:grid}.cw-pad__row{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.cw[data-locale=ja] .cw-pad{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:160px;padding:2px 4px 4px;overflow-y:auto}.cw[data-locale=ja] .cw-pad__row{grid-template-columns:repeat(5,minmax(44px,1fr))}.cw[data-locale=ja] .cw-key{min-width:44px}.cw-key{background:var(--cw-paper);min-height:44px;color:var(--cw-ink);font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:8px;padding:0;font-size:1.1rem;font-weight:700;box-shadow:0 2px #c9d2df}.cw-key:active,.cw-key[data-down]{background:var(--cw-marker);translate:0 2px;box-shadow:0 0 #c9d2df}.cw-key--erase{background:#e9edf3;font-size:.8rem}.cw[data-locale=en] .cw-pad__row:nth-child(2){grid-template-columns:repeat(9,minmax(0,1fr));padding-inline:5%}.cw[data-locale=en] .cw-pad__row:nth-child(3){grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.8fr)}.cw-lists{display:none}.cw[data-lists-open=true] .cw-lists{inset:0 var(--space-2) var(--space-2);z-index:5;align-content:start;gap:var(--space-3);overscroll-behavior:contain;padding:var(--space-3);border-radius:var(--radius-md);background:var(--cw-paper);display:grid;position:absolute;overflow:auto;box-shadow:0 10px 30px #00000038}.cw-lists__head{justify-content:flex-end;display:flex}.cw-lists__close{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-full);font:inherit;cursor:pointer;background:#fff;border:1.5px solid #cfd8e6;font-weight:800}.cw-list h3{margin:0 0 var(--space-1);font-size:.95rem}.cw-list ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.cw-clue{width:100%;min-height:44px;padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--cw-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:2.2em 1fr;gap:4px;font-size:.9rem;display:grid}.cw-clue__n{font-weight:800}.cw-clue[data-current]{background:var(--cw-marker)}.cw-clue[data-cross]{background:#fff0a366}.cw-clue[data-full] .cw-clue__t{color:var(--cw-muted)}.cw-clear{justify-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--cw-paper);text-align:center;grid-area:clear;display:grid;box-shadow:0 6px 18px #262b361f}.cw-clear__badge{padding:2px var(--space-4);border-radius:var(--radius-full);background:var(--cw-cursor);font-weight:800}.cw-clear__title{font-size:1.5rem;font-weight:800}.cw-clear__stats{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(4,auto);margin:0;display:grid}.cw-clear__stats div{gap:2px;display:grid}.cw-clear__stats dt{color:var(--cw-muted);font-size:.8rem;font-weight:700}.cw-clear__stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:800}.cw-clear__all{color:var(--cw-ok);font-weight:800}.cw-clear__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}@media (prefers-reduced-motion:no-preference){.cw-clear{animation:.35s cubic-bezier(.2,.9,.3,1.2) cw-rise}}@keyframes cw-rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@media (width<=380px){.cw-clear__stats{grid-template-columns:repeat(2,auto)}.cw-cluebar__text{font-size:.88rem}}@media (orientation:landscape) and (width>=640px){.cw-play{column-gap:var(--space-4);grid-template:"board clue""board lists"minmax(0,1fr)"board tools""board pad"/minmax(0,1fr) minmax(300px,440px)}.cw[data-phase=clear] .cw-play{grid-template-rows:minmax(0,1fr);grid-template-areas:"board clear"}.cw[data-phase=clear] .cw-lists{display:none}.cw-lists,.cw[data-lists-open=true] .cw-lists{align-content:start;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);box-shadow:none;background:#ffffffb3;grid-area:lists;grid-template-columns:1fr 1fr;min-height:0;display:grid;position:static;overflow:auto}.cw-lists__head,.cw-tool--lists{display:none!important}.cw-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.cw-clear{align-self:center}}@media (orientation:landscape) and (width>=640px) and (height<=480px){.cw-lists,.cw[data-lists-open=true] .cw-lists{grid-template-columns:1fr}.cw-cluebar{min-height:46px}.cw-play{gap:4px}}
