/* Wordprint: a quiet, tactile record of a finished (or untimed) board. */
.wordprint-card{--wp-surface:#17354a;--wp-paper:#24495a;--wp-ink:#f7f0df;
  --wp-muted:#bfd2d6;--wp-border:#8ba7ad;--wp-accent:#e6c48f;
  margin:4px 0 14px;padding:18px 16px;border:1px solid var(--wp-border);
  border-radius:15px;background:linear-gradient(145deg,var(--wp-surface),var(--wp-paper));
  box-shadow:0 8px 21px #0003;color:var(--wp-ink)}
.wordprint-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.wordprint-kicker{font-size:10px;font-weight:800;letter-spacing:2px;
  color:var(--wp-muted,#bfd2d6);display:block}
.wordprint-head h3,.wordprint-explorer h3{font:500 21px/1.2 Georgia,serif;
  margin:6px 0 15px;color:var(--wp-ink,#f7f0df)}
.wordprint-mark{font:italic 32px/1 Georgia,serif;color:var(--wp-accent);opacity:.85}
.wordprint-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.wordprint-metrics>div{min-width:0;padding:6px 5px 7px;
  border-right:1px solid var(--wp-border)}
.wordprint-metrics>div:last-child{border:0}
.wordprint-metrics strong{display:block;font:600 clamp(15px,4.1vw,21px)/1.15 Georgia,serif;
  color:var(--wp-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.wordprint-metrics span{display:block;color:var(--wp-muted);font-size:10px;margin-top:7px}
.wordprint-progress-track{margin:15px 0 12px;height:5px;border-radius:8px;
  background:var(--wp-border);overflow:hidden}
.wordprint-progress-track span{display:block;height:100%;width:0;
  background:var(--wp-accent);transition:width .45s ease}
.wordprint-highlight{color:var(--wp-ink)!important;line-height:1.5!important;
  font-size:12px!important;margin:0 0 13px!important}
.wordprint-share{width:100%;padding:10px;border:1px solid var(--wp-accent);
  color:var(--wp-ink);background:transparent;border-radius:10px;
  min-height:44px;cursor:pointer;font-size:12px;font-weight:750}
.wordprint-share:hover,.wordprint-share:focus-visible{background:var(--wp-paper);
  outline:2px solid var(--wp-accent);outline-offset:2px}
.wordprint-share-status{font-size:11px!important;color:var(--wp-muted)!important;
  margin:5px 0 0!important;min-height:0}
.wordprint-share-status:empty{display:none}
.wordprint-explorer{--wp-ink:#f7f0df;--wp-muted:#c5d5d5;--wp-border:#789aa5;--wp-accent:#efca8f;
  border:1px solid #8da8b07a;border-radius:13px;margin:12px 0 16px;padding:13px;
  background:#153c4c;color:var(--wp-ink)}
.wordprint-explorer h3{font-size:18px;margin-bottom:12px}
.wordprint-explorer-body{display:flex;gap:14px;align-items:center}
.wordprint-mini-grid{display:grid;gap:3px;width:min(42%,166px);aspect-ratio:1;flex:none;
  align-self:flex-start;padding:6px;border:1px solid var(--wp-border);background:#082b3c;
  border-radius:10px}
.wordprint-mini-tile{position:relative;display:grid;place-items:center;
  min-width:0;min-height:0;aspect-ratio:1;font:700 clamp(10px,2.4vw,17px)/1 Georgia,serif;
  color:#f8f4e7;background:#205066;border:1px solid #80a1a657;border-radius:4px}
.wordprint-mini-tile.is-in-path{background:var(--wp-accent);color:#172b33;
  border-color:#f8ead1}
.wordprint-mini-tile.is-in-path::after{content:attr(data-step);position:absolute;
  right:1px;bottom:0;font:700 8px/1 system-ui,sans-serif;
  color:#3d4140;opacity:.75}
.wordprint-route-copy{min-width:0;flex:1;display:grid;gap:8px;align-content:center}
.wordprint-route-copy strong{font:600 clamp(16px,4vw,23px)/1.1 Georgia,serif;
  overflow-wrap:anywhere;color:var(--wp-ink)}
.wordprint-route-copy span{font-size:11px;line-height:1.5;color:var(--wp-muted)}
.reveal-word{width:100%;min-height:42px;text-align:left;cursor:pointer;
  font-family:inherit}
.reveal-word:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.reveal-word[aria-pressed=true]{border-color:#f1d39c!important;
  box-shadow:inset 0 0 0 1px #f1d39c;background:#f1d39c20!important}
.reveal-word[aria-pressed=true] strong{color:#ffebc2}
html[data-theme="ink"] .wordprint-card{
  --wp-surface:var(--sheet);--wp-paper:var(--inset);--wp-ink:var(--graphite);
  --wp-muted:var(--soft-ink);--wp-border:var(--rule);--wp-accent:var(--graphite);
  background:
    radial-gradient(ellipse at 18% 26%,rgba(120,109,89,.035),transparent 48%),
    var(--sheet);box-shadow:0 4px 13px var(--paper-shadow)}
html[data-theme="ink"] .wordprint-explorer{
  --wp-ink:var(--graphite);--wp-muted:var(--soft-ink);
  --wp-border:var(--rule);--wp-accent:var(--graphite);
  background:var(--sheet);border-color:var(--rule)}
html[data-theme="ink"] .wordprint-mini-grid{background:var(--inset);border-color:var(--rule)}
html[data-theme="ink"] .wordprint-mini-tile{background:var(--tile-paper);
  border-color:var(--rule);color:var(--graphite)}
html[data-theme="ink"] .wordprint-mini-tile.is-in-path{
  background:var(--graphite);color:var(--tile-paper);border-color:var(--graphite)}
html[data-theme="ink"] .wordprint-mini-tile.is-in-path::after{color:var(--tile-paper)}
html[data-theme="ink"] .wordprint-share{color:var(--graphite);border-color:var(--strong-rule)}
html[data-theme="ink"] .wordprint-share:hover{background:var(--inset)}
html[data-theme="ink"] .reveal-word{
  background:var(--tile-paper);color:var(--graphite);
  border-color:var(--rule)}
html[data-theme="ink"] .reveal-word strong{color:var(--graphite)}
html[data-theme="ink"] .reveal-word small{color:var(--soft-ink)}
html[data-theme="ink"] .reveal-word[aria-pressed=true]{
  background:var(--inset)!important;border-color:var(--graphite)!important;
  box-shadow:inset 0 0 0 1px var(--graphite)}
html[data-theme="ink"] .reveal-word[aria-pressed=true] strong{color:var(--graphite)}
@media(max-width:355px){
  .wordprint-card{padding:13px}
  .wordprint-explorer-body{gap:9px}
  .wordprint-mini-grid{width:42%;padding:4px;gap:2px}
  .wordprint-mini-tile{font-size:10px}
  .wordprint-metrics span{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .wordprint-progress-track span{transition:none}
}
html[data-motion=off] .wordprint-progress-track span{transition:none}
/* Paper-and-ink selection: soft brush stroke without a traveling neon dash. */
html[data-theme="ink"] .trace-halo{opacity:.10;stroke-width:8}
html[data-theme="ink"] .trace-line{stroke-width:3.5;opacity:.9}
html[data-theme="ink"] .trace-current{opacity:0;animation:none}
html[data-theme="ink"] .trace-arrow{opacity:.6;stroke:var(--tile-paper)}
html[data-theme="ink"] .trace-start{stroke-dasharray:none;animation:none;opacity:.65}
html[data-theme="ink"] .trace-end{animation:none;fill-opacity:.1}

/* The long word list may scroll, but the close control stays within reach. */
.reveal-sheet>.sheet-head{position:sticky;top:0;z-index:4;
  background:#15384c;padding-block:10px;border-bottom:1px solid #ffffff24}
html[data-theme="ink"] .reveal-sheet>.sheet-head{
  background:var(--sheet);border-bottom-color:var(--rule)}
