:root{--soil-1: #e9dcc3;--soil-2: #d9b98c;--soil-3: #9b9186;--soil-4: #4a4540;--magma: #d4541c;--bg: #efe5d3;--surface: #fbf7ef;--text: #2b2420;--muted: #6e6257;--border: #ddd0bb;--slab-edge: #c9b79b;--accent: #a3561a;--accent-edge: #7a3e10;--accent-text: #ffffff;--hit: #f3d27a;--hit-first: #e0a526;--miss: #b23a26;--grit: rgb(60 35 10 / .07);--shadow: inset 0 1px 0 rgb(255 255 255 / .7), 0 6px 18px rgb(70 40 10 / .12);--display: "Zilla Slab", "Rockwell", "Georgia", serif;--serif: "Linux Libertine", "Georgia", "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{--soil-1: #2a2219;--soil-2: #3a2a1c;--soil-3: #2b2b2e;--soil-4: #18171a;--magma: #ff7a3d;--bg: #171411;--surface: #221d18;--text: #efe6d8;--muted: #ab9d8c;--border: #3a3129;--slab-edge: #120f0c;--accent: #e39a52;--accent-edge: #a8642a;--accent-text: #1b130c;--hit: #6b5418;--hit-first: #d9a032;--miss: #ef7a62;--grit: rgb(255 230 200 / .035);--shadow: inset 0 1px 0 rgb(255 255 255 / .04), 0 8px 22px rgb(0 0 0 / .45);color-scheme:dark}}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(var(--grit) 1px,transparent 1.6px) 0 0 / 7px 7px,radial-gradient(var(--grit) 1px,transparent 1.6px) 3px 4px / 13px 13px,linear-gradient(to bottom,var(--soil-1) 0,var(--soil-1) 220px,var(--soil-2) 40%,var(--soil-3) 75%,var(--soil-4) 96%,color-mix(in srgb,var(--magma) 45%,var(--soil-4)) 100%)}body{margin:0;color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:680px;margin:0 auto;padding:0 16px 48px}.dev-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:8px 0 0;padding:6px 8px;border:1px dashed var(--border);border-radius:8px;font-size:.8rem}.dev-controls button{font:inherit;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.dev-tag{font-weight:700;color:var(--miss)}.dev-date{font-variant-numeric:tabular-nums;padding:0 4px}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px;border-bottom:3px double color-mix(in srgb,var(--soil-2) 70%,var(--text));margin-bottom:20px}.header h1{margin:0;font-family:var(--display);font-size:1.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.accent{color:var(--accent)}.icon-button{width:36px;height:36px;border-radius:6px;border:1px solid var(--border);border-bottom:3px solid var(--slab-edge);background:var(--surface);color:var(--text);font-family:var(--display);font-size:1.05rem;font-weight:700;cursor:pointer}.icon-button:active{transform:translateY(1px)}.icon-button:hover{border-color:var(--accent)}.main{display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-bottom:4px solid var(--slab-edge);border-radius:6px;padding:20px;box-shadow:var(--shadow)}.mode-tabs{display:flex;justify-content:center;gap:4px;margin:-8px auto 16px;padding:4px;width:fit-content;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-shadow:inset 0 2px 4px #0000001f}.mode-tab{font:inherit;font-family:var(--display);font-size:.95rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 16px;border:none;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.mode-tab.active{background:var(--accent);color:var(--accent-text);box-shadow:0 2px 0 var(--accent-edge)}.puzzle-card{text-align:center}.puzzle-meta{color:var(--muted);font-size:.85rem}.puzzle-label{margin-top:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--accent)}.puzzle-title{margin:4px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,6.5vw,2.8rem);line-height:1.15}.puzzle-title.loading{color:var(--muted)}.puzzle-sentence{margin:10px 0 0;font-family:var(--serif);font-size:1rem;line-height:1.5;color:var(--muted)}.guess-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.guess-label{display:block;font-weight:500}.pickaxes{white-space:nowrap;font-size:1.2rem;line-height:1;letter-spacing:2px}.pickaxe.broken{filter:grayscale(1);opacity:.3}.result-guess .pickaxes{font-size:1rem;margin-left:6px;vertical-align:middle}.miss-text{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--miss) 12%,transparent);color:var(--miss);font-size:.9rem}.missed-list{margin:8px 0 0;font-size:.85rem}.result-text .missed-list{margin:2px 0 6px}.guess-row{display:flex;gap:8px}.guess-input{flex:1;min-width:0;font-size:1.1rem;padding:10px 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);box-shadow:inset 0 2px 4px #00000014}.guess-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.skip-row{display:flex;justify-content:center;margin-top:12px}.confirm-text{margin:0 0 14px;text-align:center;font-size:1.05rem}.button-row{display:flex;gap:8px;justify-content:center}.button{font:inherit;font-weight:700;padding:10px 18px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:transform .05s}.button:active:not(:disabled){transform:translateY(2px)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--accent);color:var(--accent-text);box-shadow:0 3px 0 var(--accent-edge)}.button.primary:active:not(:disabled){box-shadow:0 1px 0 var(--accent-edge)}.button.secondary{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:0 3px 0 var(--slab-edge)}.button.secondary:active:not(:disabled){box-shadow:0 1px 0 var(--slab-edge)}.error-text{color:var(--miss);margin:8px 0 0;font-size:.9rem}.muted{color:var(--muted)}.error-card{text-align:center}.result-body{display:flex;gap:20px;align-items:stretch;margin-bottom:16px}.depth-meter{position:relative;width:22px;min-height:140px;border-radius:4px;border:2px solid var(--slab-edge);overflow:hidden;flex-shrink:0;background:linear-gradient(to bottom,#7a5230 0,#7a5230 15%,#2e2e2e 15%,#2e2e2e 30%,#c46a2b 30%,#c46a2b 45%,#8a8f96 45%,#8a8f96 60%,#c9ccd1 60%,#c9ccd1 75%,#e0a526 75%,#e0a526 90%,#5fd3e6 90%,#5fd3e6 99%,#e2501c 99%,#e2501c)}.depth-fill{position:absolute;inset:0 0 auto 0;box-shadow:0 0 0 100vh color-mix(in srgb,var(--surface) 80%,transparent);transition:height .8s ease-out}.depth-marker{position:absolute;left:0;right:0;height:3px;background:var(--text);box-shadow:0 0 0 1px var(--surface);transform:translateY(-50%)}.result-text{display:flex;flex-direction:column;justify-content:center}.result-guess{font-family:var(--serif);font-size:1.3rem}.score-bar{position:fixed;top:0;left:0;right:0;z-index:5;padding:env(safe-area-inset-top) 16px 0;pointer-events:none;visibility:hidden;transform:translateY(-110%);transition:transform .2s ease-out,visibility .2s}.score-bar.visible{visibility:visible;transform:none}.score-bar-inner{display:flex;align-items:center;gap:8px;max-width:648px;margin:0 auto;padding:8px 10px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-top:none;border-bottom:3px solid var(--slab-edge);border-radius:0 0 6px 6px;box-shadow:var(--shadow),0 2px 8px #00000014;pointer-events:auto}.score-bar-summary{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.score-bar-summary:hover{background:var(--bg)}.score-bar-guess{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:1.05rem}.score-bar-score{flex-shrink:0;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.score-bar-score.miss{color:var(--miss)}.score-bar-summary .muted{flex-shrink:0;font-size:.85rem}.button.small{flex-shrink:0;padding:6px 12px;font-size:.9rem}.scroll-top{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:5;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-bottom:3px solid var(--slab-edge);border-radius:6px;background:var(--surface);color:var(--text);font-size:1.25rem;line-height:1;box-shadow:var(--shadow),0 2px 8px #0000001f;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s}.scroll-top.visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover{border-color:var(--accent);color:var(--accent)}.scroll-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.score-bar,.scroll-top{transition:none}}.result-material{margin-top:4px}.material-rule{white-space:nowrap}.result-score{font-family:var(--display);font-size:3.4rem;font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.result-score.miss{color:var(--miss)}.countdown{text-align:center;margin:12px 0 0;font-size:.85rem;font-variant-numeric:tabular-nums}.top-heading{margin:0 0 10px;font-family:var(--display);font-weight:700;font-size:1.3rem}.top-list{list-style:none;margin:0;padding:0}.top-row{display:grid;grid-template-columns:1.75em 1fr auto 4.5em;gap:10px;align-items:baseline;padding:6px 8px;border-radius:3px;font-variant-numeric:tabular-nums}.top-row:nth-child(odd){background:var(--bg)}.top-row.yours{background:var(--hit)}.top-rank{color:var(--muted);text-align:right}.top-word{font-family:var(--serif);font-size:1.05rem;overflow-wrap:anywhere}.top-badge{margin-left:8px;padding:1px 6px;border-radius:999px;background:var(--hit-first);color:#000;font-family:var(--sans);font-size:.7rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.top-depth{color:var(--muted);font-size:.85rem}.top-score{font-weight:700;text-align:right}.article-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);margin-bottom:12px}.article-header h2{margin:0 0 6px;font-family:var(--display);font-weight:600}.article-header a{color:var(--accent);font-size:.85rem;white-space:nowrap}.article-body{font-family:var(--serif);font-size:1rem;line-height:1.65}.article-body h2,.article-body h3,.article-body h4{font-family:var(--serif);font-weight:500;margin:1.4em 0 .4em}.article-body h2{border-bottom:1px solid var(--border)}.article-body p{margin:0 0 .8em}.article-body .article-li{margin:0 0 .3em;padding-left:1.2em;position:relative}.article-body .article-li:before{content:"•";position:absolute;left:.3em}mark.hit{background:var(--hit);color:inherit;border-radius:2px;padding:0 1px}mark.hit.first{background:var(--hit-first);color:#000;font-weight:700;outline:2px solid var(--hit-first)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e12088c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.modal{background:var(--surface);border:1px solid var(--border);border-bottom:4px solid var(--slab-edge);border-radius:6px;box-shadow:var(--shadow);padding:20px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-header h2{margin:0;font-family:var(--display);font-weight:700}.rules ul{padding-left:1.2em}.rules li{margin-bottom:6px}.stats-heading{margin:12px 0 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stats-grid{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;text-align:center;padding:8px 0}.stat-value{font-family:var(--display);font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{font-size:.75rem;color:var(--muted)}.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.badge{padding:2px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);box-shadow:inset 0 1px 2px #0000001f;font-family:var(--sans);font-size:.8rem;font-weight:600;white-space:nowrap}
