.jasu{--jasu-ink:var(--mvds-ink,#21302d);--jasu-paper:var(--mvds-paper,#f7f3ea);--jasu-accent:var(--mvds-accent,#8f4b35);color:var(--jasu-ink);font-family:inherit;line-height:1.55;background:#fff;border:1px solid rgba(33,48,45,.08);border-radius:var(--mvds-radius,20px);box-shadow:0 8px 24px rgba(24,35,31,.08);padding:clamp(16px,3vw,28px);max-width:920px;margin:0 auto 28px;box-sizing:border-box}
.jasu *{box-sizing:border-box}.jasu h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;margin:16px 0}.jasu p{max-width:760px}.jasu-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700;background:#ede8de}
.jasu button{font:inherit;font-weight:600;cursor:pointer;color:var(--jasu-ink);background:var(--jasu-paper);border:1px solid rgba(33,48,45,.35);border-radius:10px;padding:9px 12px;min-height:44px;margin:0;line-height:1.2;box-shadow:none;text-transform:none;letter-spacing:normal}
.jasu button:hover{border-color:var(--jasu-accent)}.jasu button:focus-visible,.jasu-collection summary:focus-visible{outline:3px solid var(--mvds-accent-2,#335f68);outline-offset:3px}
.jasu-scroll{overflow-x:auto;padding:6px 4px 12px}.jasu-board{display:grid;grid-template-columns:minmax(72px,max-content) repeat(var(--n),minmax(44px,54px));width:max-content;gap:1px;align-items:stretch}.jasu .jasu-cell{border-radius:0;background:white;border:1px solid var(--jasu-ink);padding:0;font-size:1.25rem;min-height:44px;aspect-ratio:1}.jasu .jasu-cell.is-black{background:var(--jasu-ink);color:white}.jasu .jasu-cell.is-selected{outline:3px solid var(--jasu-accent);outline-offset:-4px}.jasu-col-clue{white-space:pre;align-self:end;text-align:center;padding:6px 2px;font-size:.9rem;font-weight:700}.jasu-row-clue{display:flex;align-items:center;justify-content:flex-end;padding:4px 8px;font-size:.9rem;font-weight:700}.jasu-corner{font-size:.75rem;align-self:end;padding:8px}.jasu-pad,.jasu-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.jasu-actions button:first-child{background:var(--jasu-accent);color:white}.jasu-status{min-height:3em}.jasu-collection details{margin:18px auto;max-width:920px}.jasu-collection summary{cursor:pointer;padding:12px;font-weight:700}.jasu-editor-grid{display:grid;gap:4px;overflow:auto;margin:20px 0}.jasu-editor-grid input{width:48px;height:44px;text-align:center}.jasu-admin input.jasu-max{width:70px}
@media(max-width:800px){.jasu{padding:16px}.jasu-board{grid-template-columns:minmax(64px,max-content) repeat(var(--n),44px)}}
