.solver-page{width:min(calc(100% - 64px),var(--page-width));margin:0 auto}.solver-intro{padding:32px 0 36px}.solver-intro h1{max-width:720px;margin:0 0 16px;color:var(--ink);font-family:var(--serif);font-size:clamp(2rem,4.7vw,3.8rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.solver-intro>p:last-child{max-width:550px;margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}.solver-workspace{overflow:clip;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface)}.solver-form,.hints{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding:32px}.work-section-heading .step-number{display:block;margin-bottom:12px;color:var(--rust);font-family:var(--mono);font-size:.72rem}.work-section-heading h2{margin:0 0 10px;font-family:var(--serif);font-size:1.6rem;font-weight:500;letter-spacing:-.03em;line-height:1.2}.work-section-heading p{max-width:24ch;margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}.solver-controls,.hint-content{min-width:0}.mode-tabs{min-width:0;margin:0;padding:0;border:0}.mode-tabs legend{margin-bottom:10px;padding:0;color:var(--muted);font-size:.75rem;font-weight:500}.mode-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:3px;border:1px solid var(--line);border-radius:3px;background:var(--paper)}.mode-options label{position:relative;min-width:0;cursor:pointer}.mode-options input{position:absolute;width:1px;height:1px;opacity:0}.mode-options span{display:flex;min-height:44px;align-items:center;justify-content:center;padding:7px 8px;border:1px solid transparent;border-radius:2px;color:var(--muted);font-size:.77rem;font-weight:550;line-height:1.35;text-align:center}.mode-options label:hover span{color:var(--accent)}.mode-options input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--surface)}.mode-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.mode-options input:disabled+span{cursor:wait;opacity:.65}.clue-fields{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;margin-top:22px}.clue-field{min-width:0}.clue-field:has(input:disabled){display:none}.clue-field label{display:block;margin-bottom:8px;color:var(--muted);font-size:.75rem}.clue-field input{width:100%;min-width:0;min-height:54px;padding:12px;border:1px solid var(--control-border);border-radius:3px;background:var(--surface);color:var(--ink);font-size:1.1rem;text-transform:lowercase}.clue-field input:hover{border-color:var(--accent)}.clue-field input:focus-visible{border-color:var(--accent);outline-offset:2px}.clue-field input::placeholder{color:var(--muted);font-size:.95rem}.clue-field input:read-only{background:var(--paper);color:var(--muted)}.solve-button{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:14px;margin-top:20px;padding:12px 18px;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:var(--surface);font-size:.9rem;font-weight:600}.solve-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.solve-button:active:not(:disabled){transform:translateY(1px)}.solve-button:disabled{border-color:#596b60;background:#596b60;cursor:wait}.solver-status{min-height:16px;margin:8px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.solver-status[data-tone=error]{color:#9c3628}.hints{padding-top:28px;padding-bottom:28px;border-top:1px solid var(--line);background:#f0f2eb}.hint-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line-strong)}.hint-tabs button{min-height:44px;margin-bottom:-1px;padding:8px 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.8rem;font-weight:500}.hint-tabs button:hover{color:var(--accent)}.hint-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.hint-panel{min-height:124px;padding:22px 0 0;color:var(--muted);font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.hint-panel p{margin:0 0 10px}.hint-panel>:last-child{margin-bottom:0}.hint-panel .empty-title{margin-bottom:6px;color:var(--ink);font-family:var(--serif);font-size:1.3rem;font-style:italic;letter-spacing:-.015em}.hint-label{color:var(--accent);font-family:var(--mono);font-size:.65rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.letter-count{color:var(--accent);font-weight:650}.strong-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.strong-candidate{min-width:86px;min-height:46px;padding:10px 14px;border:1px solid var(--control-border);border-radius:3px;background:var(--surface);color:var(--accent);font-family:var(--mono);font-size:.9rem;font-weight:600}.strong-candidate:hover{border-color:var(--accent)}.strong-candidate[data-revealed=true]{border-color:var(--accent);background:var(--accent-soft)}.strong-candidate[data-revealed=false] span{filter:blur(6px);user-select:none}.spoiler-button{min-height:44px;padding:10px 14px;border:1px solid #b37a60;border-radius:3px;background:#fcf5ec;color:#8a472f;font-size:.85rem;font-weight:600}.spoiler-button:hover{background:#f4e9db}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.result-table{width:100%;min-width:620px;border-collapse:collapse;font-size:.78rem;overflow-wrap:normal}.result-table caption{margin-bottom:16px;color:var(--muted);text-align:left}.result-table th,.result-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.result-table th:first-child{padding-left:0}.result-table thead th{border-bottom-color:var(--line-strong);color:var(--muted);font-size:.68rem;font-weight:500;white-space:nowrap}.result-table tbody th{color:var(--accent);font-family:var(--serif);font-size:1.1rem}.result-table tbody tr:hover{background:var(--accent-soft)}.result-table td[data-result-score],.result-table td[data-result-scrabble]{font-family:var(--mono);font-variant-numeric:tabular-nums}.part-of-speech{font-style:italic}.copy-cell button{min-height:44px;padding:7px 11px;border:1px solid var(--control-border);border-radius:3px;background:var(--surface);color:var(--accent);white-space:nowrap}.copy-cell button:hover{border-color:var(--accent)}.copy-feedback{display:block;margin-top:4px;color:var(--muted);font-size:.68rem}.solver-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}.solver-note svg{flex-shrink:0}[data-usage-guide]{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding:36px 32px 0;border-top:1px solid var(--line)}.usage-copy p:last-child{margin-bottom:0}.solver-page [data-faq-list]{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:40px;padding:0 32px}.solver-page [data-faq-list] h2{grid-row:1 / 4;padding-top:14px}.solver-page [data-faq-list] details{grid-column:2}@media(min-width:800px){.hints:has(.result-table),.hints:has(.result-table) .hint-content{display:block}.hints:has(.result-table) .work-section-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}.hints:has(.result-table) .work-section-heading p{max-width:none;margin-left:auto}}@media(max-width:799px){.solver-form,.hints{grid-template-columns:1fr;gap:18px;padding:24px}.work-section-heading{display:flex;align-items:baseline;gap:12px}.work-section-heading .step-number,.work-section-heading h2{margin:0}.work-section-heading h2{font-size:1.4rem}.work-section-heading p{display:none}[data-usage-guide],.solver-page [data-faq-list]{display:block;padding-right:0;padding-left:0}.solver-page [data-faq-list] h2{padding-top:0}}@media(max-width:639px){.solver-page{width:calc(100% - 32px)}.solver-intro{padding:18px 0}.solver-intro h1{margin-bottom:12px;font-size:clamp(1.9rem,7.8vw,2.8rem);line-height:1.08}.solver-intro>p:last-child{font-size:.83rem;line-height:1.55}.solver-form,.hints{gap:14px;padding:18px 16px}.work-section-heading{display:none}.mode-tabs legend{margin-bottom:8px}.mode-options span{padding:6px 4px;font-size:.75rem}.clue-fields{gap:8px;margin-top:16px}.clue-field label{margin-bottom:6px;font-size:.75rem}.clue-field input{min-height:48px;padding:10px 8px;font-size:1rem}.clue-field input::placeholder{font-size:.8rem}.solve-button{margin-top:16px;font-size:.85rem}.solver-status{font-size:.75rem}.hint-panel{min-height:104px;padding-top:16px;font-size:.8rem;line-height:1.5}.hint-panel .empty-title{font-size:1.15rem}.hint-tabs button{font-size:.75rem}.solver-note{align-items:flex-start;justify-content:flex-start;gap:7px;font-size:.67rem}.solver-note svg{margin-top:2px}[data-usage-guide]{padding-top:28px}}
