:root{color-scheme:light;--ink:#263e36;--muted:#68786b;--paper:#f5f1e7;--line:#d6d9c9;--gold:#c3943c;--jade:#318977}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#e4e9d7,transparent 45%),var(--paper);color:var(--ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,sans-serif}main{max-width:1190px;margin:auto;padding:28px 42px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.wordmark{font:italic 37px Georgia,serif;color:var(--ink);text-decoration:none;letter-spacing:-2px}.wordmark span{display:block;font:9px system-ui;letter-spacing:2px;margin-top:3px}.edition,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.edition{color:var(--muted)}.intro{position:relative;padding:30px 0 24px;display:grid;grid-template-columns:1fr 1fr}.intro .eyebrow{grid-column:1/-1;color:#88764e;margin:0 0 10px}h1{font:48px/1.04 Georgia,serif;letter-spacing:-1.5px;margin:0}h1 em{color:#60816d}.intro>p:last-child{align-self:end;justify-self:end;color:var(--muted);font-size:16px;margin:0 0 6px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #bd7e30;outline-offset:3px}button:disabled{opacity:.4;cursor:default}#studies{display:flex;gap:8px;margin:4px 0 22px}#studies button{width:40px;height:35px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:12px;position:relative}#studies button.active{background:var(--ink);color:#fff;border-color:var(--ink)}#studies button.done:after{content:'✧';position:absolute;right:-3px;top:-8px;color:#aa7a22;font-size:18px}.workshop{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid var(--line);border-radius:18px;background:#fffdf6b3;box-shadow:0 15px 45px #35482d08;overflow:hidden}.play{padding:25px 28px}.board-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.board-heading .eyebrow{margin:0 0 4px;font-size:9px}h2{font:28px Georgia,serif;margin:0}.tally{text-align:right}.tally>span{font:30px Georgia}.tally small{display:block;font-size:10px;color:var(--muted)}#board-frame{padding:22px;border:1px solid #c9d1bc;border-radius:12px;background:linear-gradient(140deg,#e8eddf,#dae3d0);max-width:490px;margin:auto;box-shadow:inset 0 1px 5px #40573915}#board{display:grid;gap:7px}.cell{position:relative;aspect-ratio:1;background:#f9f8f0b0;border:1px solid #71866a25;border-radius:8px;padding:0;min-width:0;overflow:visible}.cell>img{width:100%;height:100%;object-fit:cover;border-radius:7px;display:block}.cell.ghost>img{opacity:.36}.cell.filled{box-shadow:0 2px 4px #3a493520}.cell.new{animation:grow .45s ease-out}.cell.wrong{outline:2px solid #b65b4f}.cell .empty-mark{color:#74866f65;font-size:14px}.pin{position:absolute;right:6px;top:5px;width:7px;height:7px;border-radius:50%;background:#c3913c;border:1px solid #f7e0a6;box-shadow:0 1px 2px #543d18}.bond{display:inline-block;width:8px;height:8px;vertical-align:middle;box-shadow:0 0 0 1px #fff9}.round{border-radius:50%;background:#ca9334}.diamond{border-radius:1px;background:#317b6a;transform:rotate(45deg)}.edge{position:absolute;width:9px;height:9px;z-index:2;pointer-events:none}.edge.d0{top:2px;left:calc(50% - 4px)}.edge.d1{right:2px;top:calc(50% - 4px)}.edge.d2{bottom:2px;left:calc(50% - 4px)}.edge.d3{left:2px;top:calc(50% - 4px)}.anchor.d0{top:-15px}.anchor.d1{right:-15px}.anchor.d2{bottom:-15px}.anchor.d3{left:-15px}.board-foot{display:flex;justify-content:space-between;gap:8px;margin:13px auto 0;max-width:490px;font-size:10px;color:var(--muted)}.board-foot .bond{width:6px;height:6px;margin:0 3px}.status{min-height:43px;margin:15px 0 8px;font-size:13px;color:#52694f}.tools{display:flex;gap:7px;flex-wrap:wrap}.tools button{background:none;border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:11px}kbd{font:9px system-ui;opacity:.65;margin-left:4px}.tools #sound{margin-left:auto}aside{border-left:1px solid var(--line);background:#f0f1e7aa;padding:25px 23px}.aside-heading{display:flex;justify-content:space-between;align-items:center}h3{font:19px Georgia,serif;margin:0 0 17px}.pattern p{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 0 0}#target{display:grid;gap:4px;max-width:190px;margin:auto}.mini{aspect-ratio:1;border-radius:4px;position:relative;border:1px solid #7c8d6633;display:flex;align-items:center;justify-content:center;color:#72816988}.mini img{width:100%;height:100%;object-fit:cover;border-radius:3px}.mini .pin{width:5px;height:5px;top:2px;right:2px}.mini.matched:after{content:'✓';position:absolute;bottom:0;right:1px;font-size:10px;color:white;text-shadow:0 1px 3px #000;background:#263e3699;border-radius:3px;padding:0 2px}.palette{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.palette .eyebrow{font-size:9px;margin:0 0 12px}#tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tile-choice{border:1px solid var(--line);border-radius:8px;background:#fffc;padding:5px;display:flex;align-items:center;gap:7px;text-align:left;font-size:11px}.tile-choice img{width:33px;height:33px;border-radius:5px}.tile-choice.selected{border:2px solid #537b60;padding:4px;background:#e1e9d7}.tile-choice small{display:block;font-size:9px;color:var(--muted)}#preview{font-size:12px;min-height:18px;color:var(--muted);margin:13px 0 10px}.release{width:100%;border:0;border-radius:8px;background:var(--ink);color:#fff;padding:14px 5px;font-size:13px}.release:hover{background:#3f614f}.tiny{font-size:9px;line-height:1.6;text-align:center;color:var(--muted);margin-bottom:0}#guide{border-block:1px solid var(--line);margin-top:25px;padding:15px 0;font-size:12px;color:var(--muted)}summary{cursor:pointer;font-size:12px;color:var(--ink)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding-top:10px}.guide-grid b{color:var(--ink)}footer{display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted);padding:23px 0}footer details{max-width:540px;text-align:right}footer summary{font-size:10px}a{color:#386c58}#win{border:1px solid #a9be91;background:#e6eddc;padding:16px;border-radius:10px;margin-top:17px}#win strong{display:block;font:20px Georgia}#win span{display:block;font-size:12px;margin:5px 0 12px}#win button{border:0;border-radius:6px;background:var(--ink);color:#fff;padding:8px 15px}#seal{font-size:11px;color:#9b7728}@keyframes grow{from{transform:scale(.8);opacity:.3}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:800px){main{padding:20px}.edition{font-size:8px;max-width:160px;text-align:right}.intro{grid-template-columns:1fr}.intro>p:last-child{justify-self:start;margin-top:16px;font-size:14px}h1{font-size:39px}.workshop{grid-template-columns:1fr}.play{padding:22px}aside{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:20px}.palette{border:0;margin:0;padding:0}.pattern p{font-size:10px}#target{max-width:160px}.tile-choice{display:block;font-size:10px}.tile-choice img{float:left;width:24px;height:24px;margin-right:5px}.release{font-size:11px}.release kbd{display:none}}@media(max-width:480px){main{padding:15px}.wordmark{font-size:32px}.edition{display:none}.intro{padding-top:23px}h1{font-size:36px}.play{padding:18px 14px}#board-frame{padding:21px}.board-foot{font-size:9px;flex-wrap:wrap}.edge{width:8px;height:8px}.tools button{font-size:10px;padding:6px}.tools kbd{display:none}aside{grid-template-columns:1fr;gap:20px}.pattern{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.pattern .aside-heading{grid-column:1/-1}.pattern h3{margin-bottom:6px}.pattern #target{width:140px}.pattern p{margin:0;align-self:center}.palette{border-top:1px solid var(--line);padding-top:16px}#tiles{grid-template-columns:repeat(4,1fr);gap:5px}.tile-choice{padding:5px;text-align:center}.tile-choice.selected{padding:4px}.tile-choice img{float:none;width:38px;height:38px;margin:0 auto 2px;display:block}.tile-choice small{font-size:8px}.release kbd{display:inline}.guide-grid{grid-template-columns:1fr;gap:0}footer{display:block}footer details{text-align:left;margin-top:10px}#studies{gap:7px}#studies button{width:32px;height:32px}}
