:root{--paper:#261e18;--panel:#30261e;--cream:#f7e9d2;--muted:#cdbba2;--line:#907b61;--wood:#e6bb7d;--head:#e8825e;--accent:#f1b968;--ink:#2d2116;--focus:#a4def1;--error:#ffb69c;font-family:Georgia,'Times New Roman',serif;color:var(--cream);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:repeating-linear-gradient(112deg,transparent 0 23px,#ffffff02 23px 24px)}button,select{min-height:44px;font:inherit;touch-action:manipulation}button{background:var(--panel);color:var(--cream);border:1px solid var(--line);border-radius:3px;padding:10px 15px;cursor:pointer}button:hover:not(:disabled){background:#473627;border-color:var(--wood)}button:disabled{color:#b9a58c;border-color:#6f5a44;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:var(--cream);text-underline-offset:5px}header,main,footer{max-width:1000px;margin:auto;padding-left:24px;padding-right:24px}header{display:flex;justify-content:space-between;align-items:center;min-height:83px;border-bottom:1px solid var(--line)}header>a:last-child{display:flex;align-items:center;min-height:44px;font:14px system-ui,sans-serif}.brand{font-size:28px;text-decoration:none;display:flex;align-items:center;gap:13px;letter-spacing:-.6px}.brand-mark{display:inline-block;width:5px;height:30px;background:var(--wood);border-radius:3px;transform:rotate(25deg);position:relative}.brand-mark::before{content:'';position:absolute;top:-3px;left:-1px;width:7px;height:9px;background:var(--head);border-radius:50%}.skip{position:absolute;top:-70px;left:12px;background:var(--cream);color:var(--ink);padding:12px;z-index:4}.skip:focus{top:10px}.heading{padding:24px 0 20px}.heading h1{font-size:clamp(34px,5vw,52px);font-weight:normal;margin:0 0 9px;letter-spacing:-1.5px}.heading p{font:15px/1.55 system-ui,sans-serif;color:var(--muted);margin:0;max-width:630px}.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;font:14px system-ui,sans-serif}.modes{display:flex;gap:5px}.modes button[aria-pressed=true],.accent{color:var(--ink);background:var(--accent);border-color:var(--accent)}.modes button[aria-pressed=true]:hover,.accent:hover:not(:disabled){color:var(--ink);background:#ffcf8c}.tableau{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 28px 12px}.equation-top{display:flex;justify-content:space-between;font:12px system-ui,sans-serif;color:var(--muted)}.equation-board{display:grid;grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr) 50px minmax(0,1fr);gap:24px;align-items:center;max-width:740px;margin:16px auto 2px}.digit{position:relative;width:100%;aspect-ratio:100/178;max-width:150px;justify-self:center}.segment{position:absolute;padding:0;min-height:0;border:0;border-radius:3px;background:transparent;display:grid;place-items:center}.segment:hover:not(:disabled){background:#ffe4ae12;border:0}.segment[data-segment="0"]{left:21%;top:0;width:58%;height:13%}.segment[data-segment="1"]{left:76%;top:13%;width:24%;height:33%}.segment[data-segment="2"]{left:76%;top:54%;width:24%;height:33%}.segment[data-segment="3"]{left:21%;top:87%;width:58%;height:13%}.segment[data-segment="4"]{left:0;top:54%;width:24%;height:33%}.segment[data-segment="5"]{left:0;top:13%;width:24%;height:33%}.segment[data-segment="6"]{left:21%;top:44%;width:58%;height:13%}.match{position:relative;display:block;width:94%;height:30%;border:1px dashed #aa9070;border-radius:4px;background:transparent}.segment.vertical .match{height:94%;width:27%}.segment.present .match{background:var(--wood);border:0;box-shadow:1px 2px 1px #0006}.segment.present .match::after{content:'';position:absolute;width:13%;height:140%;top:-20%;left:-1%;border-radius:50%;background:var(--head)}.segment.present.vertical .match::after{width:140%;height:13%;left:-20%;top:-1%}.segment.picked{outline:2px solid var(--cream);outline-offset:1px;background:#f1b96822}.segment.hint-from::before,.segment.hint-to::before{position:absolute;z-index:1;font:bold 12px system-ui,sans-serif;background:var(--cream);color:var(--ink);border-radius:2px;padding:1px 3px;left:0;top:0}.segment.hint-from::before{content:'1'}.segment.hint-to::before{content:'2'}.segment:focus-visible{outline-offset:1px}.segment[aria-disabled=true]{cursor:default}.operator{text-align:center;font:50px/1 'Courier New',monospace;position:relative;color:var(--cream)}.operator small{display:block;font:11px system-ui,sans-serif;margin-top:11px;color:var(--muted)}.equation-text{text-align:center;font:19px/1.5 'Courier New',monospace;letter-spacing:3px;margin:14px 0 0;color:var(--muted)}.play-area{display:grid;grid-template-columns:1.08fr 1fr;gap:45px;margin-top:20px}.selection{font:14px/1.5 system-ui,sans-serif;margin:0 0 10px;min-height:42px}.selection-tools{display:flex;gap:8px;font:14px system-ui,sans-serif}.selection-tools button{flex:1}.precise{margin-top:12px}.precise summary,.keyboard summary{min-height:44px;padding:12px 0;font:14px system-ui,sans-serif;cursor:pointer}.number-picker{display:flex;gap:6px;margin:4px 0 8px;font:14px system-ui,sans-serif}.number-picker button{flex:1;padding:8px 5px}.number-picker button[aria-pressed=true]{border-color:var(--cream);box-shadow:inset 0 -2px var(--cream);background:#473627}.segment-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.position-button{min-height:48px;text-align:left;padding:8px 10px;display:flex;gap:8px;justify-content:space-between;align-items:center;font:13px system-ui,sans-serif}.position-button small{font-size:11px;color:var(--muted)}.position-button[aria-pressed=true]{border-color:var(--cream);box-shadow:inset 3px 0 var(--cream)}.status{font:16px/1.6 system-ui,sans-serif;margin:0 0 16px}.status:empty{margin:0}.status.error{color:var(--error)}.status.complete{font-family:Georgia,serif;font-size:25px;margin-bottom:22px}.hint-box{padding:15px;border-left:3px solid var(--accent);background:#3e2f21;font:14px/1.6 system-ui,sans-serif;margin-bottom:16px}.hint-box p{margin:0 0 12px}.hint-box button{font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;font:14px system-ui,sans-serif}.daily-note{font:13px/1.6 system-ui,sans-serif;color:var(--muted);margin:20px 0}.keyboard{margin-top:18px}.keyboard p{font:13px/1.6 system-ui,sans-serif;color:var(--muted);max-width:680px;margin-top:0}.complete .play-area{display:block}.save-problem{border:1px solid var(--error);padding:14px;font:14px/1.6 system-ui,sans-serif;color:var(--error);margin-top:18px}.save-problem p{margin-top:0}.save-problem button{font-size:13px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}footer{border-top:1px solid var(--line);margin-top:34px;padding-top:14px;padding-bottom:20px;display:flex;gap:24px;font:13px system-ui,sans-serif}footer a{display:flex;align-items:center;min-height:44px}dialog{border:1px solid var(--accent);border-radius:5px;background:var(--paper);color:var(--cream);padding:24px;width:min(460px,calc(100% - 28px))}dialog::backdrop{background:#120c08bf}dialog h2{font-size:27px;font-weight:normal;margin:0 0 12px}dialog p{font:15px/1.6 system-ui,sans-serif}.dialog-actions{display:flex;gap:8px}.dialog-actions button{flex:1}button[data-action]{background:var(--accent);color:var(--ink)}.rules{max-width:800px;padding-top:25px}.rules h1{font-weight:normal;font-size:40px;letter-spacing:-.8px}.rules h2{font-weight:normal;font-size:27px;margin-top:30px}.rules p,.rules li{font:16px/1.7 system-ui,sans-serif}.rules li+li{margin-top:9px}.example{background:var(--panel);padding:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.example strong{font:29px 'Courier New',monospace;letter-spacing:3px}.example svg{display:block;width:min(100%,480px);height:auto;margin-top:16px}.play-link{display:inline-flex;align-items:center;min-height:44px;background:var(--accent);color:var(--ink);padding:11px 18px;border-radius:3px;font:16px system-ui,sans-serif;text-decoration:none}[hidden]{display:none!important}@media(max-width:620px){header,main,footer{padding-left:12px;padding-right:12px}header{min-height:64px}.brand{font-size:23px}.brand-mark{height:24px}.heading{padding:16px 0 12px}.heading h1{font-size:35px;margin-bottom:6px}.heading p{font-size:13px}.mode-bar{margin-bottom:12px;font-size:12px}.mode-bar button{padding:9px 12px}.tableau{padding:11px 8px 9px}.equation-board{grid-template-columns:minmax(0,1fr) 21px minmax(0,1fr) 21px minmax(0,1fr);gap:9px;margin-top:15px}.operator{font-size:30px}.operator small{font-size:9px;margin-top:8px}.equation-top{font-size:11px}.equation-text{font-size:16px;margin-top:10px}.play-area{display:flex;flex-direction:column;gap:18px;margin-top:16px}.selection{min-height:0}.precise{margin-top:5px}.precise summary{font-size:13px}.number-picker{margin-top:3px}.segment-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.position-button{min-height:48px}.status{font-size:14px}.actions{gap:6px}.actions button{padding:9px 12px}.keyboard{margin-top:12px}.rules{padding-top:12px}.rules h1{font-size:31px}.rules p,.rules li{font-size:15px}.complete .status.complete{font-size:25px}.complete .play-area{display:block}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
