@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f4f2eb;--ink:#28372e;--muted:#73796e;--line:#dcded3;--accent:#cc5638;--green:#e0e8d4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{max-width:1180px;margin:auto;padding:24px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-3px;font-weight:800;text-decoration:none;color:var(--ink)}.brand>span:first-child{color:var(--accent)}.brand-dot{font-size:11px;letter-spacing:0;margin-left:5px}nav{display:flex;gap:28px}nav button,footer button,#hint{border:0;background:none;font-size:13px;padding:8px 0}main{max-width:1100px;margin:56px auto 0;padding:0 32px;display:grid;grid-template-columns:1fr 1.22fr;column-gap:70px}.intro{padding-top:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;display:block}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px}h1{font-family:Manrope,sans-serif;font-size:clamp(44px,4.3vw,60px);font-weight:500;line-height:1.12;letter-spacing:-3.5px;margin:30px 0 22px}h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400;letter-spacing:-2px}.intro>p{font-size:16px;line-height:1.8;color:var(--muted)}.game{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 10px 35px #28372e05}.game-top{display:flex;justify-content:space-between;align-items:center}h2{font-size:17px;font-weight:500;margin:9px 0 0}.edition{font-size:11px;border:1px solid var(--line);border-radius:25px;padding:7px 10px;color:var(--muted)}.progress{display:flex;gap:5px;margin:23px 0 25px}.progress span{height:4px;background:#e9e9e0;flex:1;border-radius:4px}.progress .done{background:#6b845c}.row-caption{display:grid;grid-template-columns:1fr 1.2fr 1fr;text-align:center;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-bottom:10px}.puzzle-row{display:grid;width:100%;grid-template-columns:1fr 1.2fr 1fr;align-items:center;border:1px solid transparent;background:#f2f2eb;border-radius:8px;min-height:57px;margin:7px 0;font-size:13px;font-weight:700;letter-spacing:.8px;padding:0 6px}.puzzle-row.active{border-color:var(--accent);background:#fff5ed;box-shadow:0 0 0 2px #cc563810}.middle{border-left:1px solid #d9dace;border-right:1px solid #d9dace;letter-spacing:3px;color:#96998c;font-size:15px}.solved{background:var(--green)}.solved .middle{color:#43583c;letter-spacing:1px}.revealed{background:#f0ded4}.entry{display:flex;border:1px solid var(--line);padding:5px;border-radius:9px;margin-top:22px}input{min-width:0;width:100%;border:0;background:transparent;padding:9px;font-size:13px;color:var(--ink);outline:none}.entry:focus-within{border-color:var(--accent)}.entry button{background:var(--ink);color:white;border:0;border-radius:6px;padding:10px 17px;font-size:12px;white-space:nowrap}.entry button span{margin-left:13px;color:#bcc7b7}button:disabled{cursor:default;opacity:.55}#message{font-size:11px;min-height:35px;line-height:1.5;margin-top:12px;color:var(--muted)}.game-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}#lives{font-size:11px;color:var(--muted)}#hint{font-size:11px}#hint span{margin-left:8px}.example{grid-column:1;grid-row:2;margin-top:-122px;align-self:start}.example p{display:flex;align-items:center;gap:14px;margin:18px 0 12px;font-size:13px}.example p>span{color:#9c9e92}.example strong{padding:10px 16px;border-radius:5px;background:var(--green);letter-spacing:2px}.example small{font-size:11px;color:var(--muted)}footer{grid-column:1/-1;border-top:1px solid var(--line);margin:46px 0 22px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}footer button{font-size:11px;color:var(--ink)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:32px;max-width:440px;width:calc(100% - 32px)}dialog::backdrop{background:#1b2a2466;backdrop-filter:blur(4px)}#close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:18px}dialog h2{font-family:Georgia,serif;font-size:30px;margin-bottom:22px}dialog p{font-size:14px;line-height:1.8}dialog .stat-grid{display:flex;justify-content:space-between;text-align:center}dialog strong{font-size:28px;display:block}dialog small{color:var(--muted)}#finish{padding-top:16px}#finish h3{margin:0 0 8px}#finish p{font-size:12px;line-height:1.6}#finish button{border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:white;padding:9px 16px;margin-right:8px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:800px){main{max-width:560px;display:flex;flex-direction:column;gap:26px;margin-top:18px;padding:0 20px}.intro{padding-top:4px}.intro h1{font-size:43px;margin:17px 0 12px;letter-spacing:-2px}.intro>p{font-size:14px;margin-bottom:0}.intro>p br{display:none}.example{margin:0;padding:4px 6px}.game{padding:20px}.example p{margin:13px 0}header{padding:15px 20px}.brand{font-size:31px}nav{gap:18px}nav button{font-size:11px}footer{margin:0 0 20px;gap:15px}.puzzle-row{min-height:54px}}@media(prefers-reduced-motion:no-preference){.puzzle-row{transition:background .2s,border .2s}.solved{animation:pop .3s ease}@keyframes pop{50%{transform:scale(1.025)}}}
