*{box-sizing:border-box} :root{font-family:ui-sans-serif,system-ui,sans-serif;color:#243b36;background:#f5f3ed;font-size:14px;--cell:18px}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{min-height:44px;padding:10px 15px;background:white;border:1px solid #c8cec6;border-radius:7px;color:inherit}button:hover{background:#e9eee6}button:disabled{opacity:.45;cursor:default}input[type=search],select{width:100%;padding:12px;border:1px solid #bfc8be;border-radius:6px;background:#fff;color:inherit}input[type=search]{margin:22px 0 8px}button:focus-visible,input:focus-visible,select:focus-visible,[role=gridcell]:focus-visible{outline:3px solid #b36928;outline-offset:3px}::selection{background:#d7e6a7}header{height:100px;padding:22px 36px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #d8dbd1;background:#faf9f5}header p{flex:1;color:#58675b;margin-left:44px}.brand{font:28px Georgia,serif;color:#243b36;text-decoration:none;line-height:1}.brand span{display:block;font:11px system-ui;letter-spacing:.19em;margin-top:8px;text-transform:uppercase}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr)}.library{padding:28px 22px;border-right:1px solid #d8dbd1}.library-heading h2{font-size:16px;margin:0 0 8px}.library-heading span,.source,.hint{color:#59695e;font-size:12px;line-height:1.6}#library{max-height:65vh;overflow:auto;margin-top:15px;scrollbar-color:#a5b29f transparent}.puzzle-link{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;border-radius:5px;margin:3px 0;padding:10px}.puzzle-link.active{background:#dfe8db}.puzzle-link small{display:block;color:#59695e;margin-top:4px}.thumb{width:42px;height:42px;image-rendering:pixelated;flex-shrink:0}.source{border-top:1px solid #d8dbd1;padding-top:18px}main{padding:32px 40px;max-width:1450px;width:100%;margin:auto;min-width:0}.title-row,.status-row,.paper-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}#page-label{color:#59695e;margin:0 0 8px}h1{font:36px Georgia,serif;margin:0 0 22px;letter-spacing:-.025em}.navigation{display:flex;gap:8px}.status-row{font-size:12px;color:#536353}progress{display:block;appearance:none;width:100%;height:5px;border:0;margin:12px 0 26px}progress::-webkit-progress-bar{background:#dfe3d8;border-radius:4px}progress::-webkit-progress-value{background:#46734e;border-radius:4px}.drawing-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:30px;align-items:start}.paper{background:#fff;padding:24px 20px 14px;box-shadow:0 10px 30px #243b3610}.paper-heading{font-size:9px;letter-spacing:.1em;margin-bottom:20px;color:#59695e}#viewport{overflow:auto;max-height:72vh;padding:3px;scrollbar-color:#a5b29f #fff}#grid{display:grid;width:max-content;margin:auto;border:1px solid #bfc7bb;touch-action:pan-y}.cell{width:var(--cell);height:var(--cell);padding:0;min-height:0;border:0;border-radius:0;border-right:1px solid #d8dcd4;border-bottom:1px solid #d8dcd4;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell)*.42);font-variant-numeric:tabular-nums;color:#617064;background:#fff;cursor:crosshair;user-select:none}.cell.match{background:#e7eddb;color:#263f30}.cell.filled{border-color:#ffffff25}.cell:hover{outline:2px solid #315e4c;outline-offset:-2px}.paper-footer{text-align:center;font:italic 14px Georgia;color:#697565;margin:20px 0 4px}.tools h2{font:23px Georgia;margin:0 0 8px}.tools>p{font-size:12px;line-height:1.6;color:#59695e}#palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.swatch{padding:8px;display:flex;align-items:center;gap:8px;font-size:11px}.swatch.selected{outline:2px solid #315e4c;outline-offset:2px}.chip{width:25px;height:27px;display:grid;place-items:center;border-radius:4px;font-weight:bold}.check{display:flex;gap:7px;align-items:center;font-size:12px;line-height:1.5}.tool-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.tool-buttons button{font-size:12px;padding:8px}.zoom{font-size:12px;display:block}.zoom input{width:100%;accent-color:#315e4c;margin-top:12px}#message{color:#315e4c;font-size:13px}dialog{border:0;border-radius:12px;padding:30px;max-width:90vw;color:#243b36;box-shadow:0 12px 60px #0003}dialog::backdrop{background:#243b3680}dialog form{display:flex;gap:12px;justify-content:end}dialog h2{font:26px Georgia}button[aria-pressed=true]{background:#dfe8db}@media(min-width:1500px){:root{--cell:21px}}@media(max-width:1100px){.workspace{grid-template-columns:210px 1fr}main{padding:25px 22px}.drawing-layout{grid-template-columns:minmax(0,1fr)}.tools{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.tools h2,.tools>p{grid-column:1/-1}#palette{grid-row:3/7;margin:10px 0}.paper{order:2}.tools{order:1}.hint{display:none}}@media(max-width:650px){header{height:auto;padding:18px;flex-wrap:wrap;gap:8px}header p{display:none}.brand{flex:1;font-size:23px}header button{font-size:11px;padding:8px}.workspace{display:block}.library{padding:18px;border-right:0;border-bottom:1px solid #d8dbd1}.library-heading{display:flex;justify-content:space-between}#library{display:flex;max-height:100px;gap:6px;overflow-x:auto}.puzzle-link{min-width:150px}.source{margin-bottom:0;font-size:11px}.library input{margin-top:12px}.library select{margin-top:5px}main{padding:22px 15px}h1{font-size:29px}#saved{max-width:130px;text-align:right}.paper{padding:18px 10px}.tools{gap:0 15px}#palette{gap:6px}.swatch{padding:5px}.chip{width:23px}.drawing-layout{gap:20px}}
header button,.swatch,.brand span,.source,.paper-heading{font-size:12px!important}
progress::-webkit-progress-value{transition:none}
