:root{--paper:#f7f2e8;--ink:#243849;--muted:#697577;--blue:#315fa6;--coral:#c96d50;--line:#ded9ca;--gold:#d2a746;--cell:64px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.36;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button[hidden],[hidden]{display:none!important}.shell{max-width:1216px;padding:28px 40px 20px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;gap:20px}.brand{font-weight:850;font-size:19px;letter-spacing:4px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}.sunmark{color:var(--coral);font-size:40px;line-height:1}.edition,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750}.edition{color:var(--muted)}.quiet{background:none;border:0;color:var(--ink);padding:10px 6px;font-size:12px}.quiet:hover{color:var(--coral)}.intro{display:flex;justify-content:space-between;gap:30px;padding:40px 0 28px;align-items:end}.eyebrow{color:var(--coral);margin:0 0 14px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,4.5vw,58px);font-weight:400;line-height:1.03;letter-spacing:-2px;margin:0 0 18px}h1 em{color:var(--coral);font-weight:400}.lede{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.intro-aside{display:flex;align-items:center;gap:20px;padding-bottom:6px}.intro-aside>p{font-size:12px;line-height:1.6;color:var(--muted)}.vertical-line{height:80px;width:1px;background:var(--line)}.collection{margin-left:30px;display:flex;gap:12px;align-items:center}.collection>span:first-child{font-family:Georgia,serif;font-size:34px;color:var(--coral);white-space:nowrap}.collection>span:last-child{font-size:10px;line-height:1.5;color:var(--muted)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.table-card,.side-card{background:#fffcf5;border:1px solid var(--line);border-radius:22px}.table-card{padding:24px 28px 16px;box-shadow:0 12px 32px #50413006}.table-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.table-top .eyebrow{font-size:9px;display:block;margin-bottom:6px}h2{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:0}.select-label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:6px}select{font-size:11px;border:1px solid var(--line);background:var(--paper);padding:9px 28px 9px 10px;border-radius:7px;max-width:190px;color:var(--ink)}.roof-surround{position:relative;margin:26px auto 20px;padding:24px 22px;background:#e4d9c5;border:8px solid #efe7d7;border-radius:18px;width:fit-content;max-width:100%;box-shadow:inset 0 1px 0 #c9bda4,0 5px 0 #d2c4ac}.compass{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:#917b56}.compass span{color:var(--coral)}.sun-orbit{position:absolute;bottom:3px;right:9px;font-size:15px;color:#bd965e}#board{display:grid;position:relative;grid-template-columns:repeat(var(--w),var(--cell));grid-auto-rows:var(--cell);gap:3px;border-radius:6px;outline-offset:7px;isolation:isolate}.cell{border:0;border-radius:5px;position:relative;background:#f5ebd9;color:#a6a190;padding:0;transition:background .16s,box-shadow .16s;min-width:0}.cell .dot{pointer-events:none;opacity:.55;font-size:18px;color:#9caeba}.cell.legal:hover,.cell.preview{background:#c8d9dc;box-shadow:inset 0 0 0 2px #638aa4}.cell.aim{outline:2px solid #587b9f;outline-offset:-3px}.cell.hinted{box-shadow:inset 0 0 0 3px var(--gold);background:#f8e3ab}.cell.skylight{background:#b6c6c6;border:4px solid #e2d4bd;box-shadow:inset 0 0 0 1px #8fa5a6}.cell.skylight::before,.cell.skylight::after{content:"";position:absolute;background:#d9e4e0;opacity:.6}.cell.skylight::before{height:2px;left:6px;right:6px;top:50%}.cell.skylight::after{width:2px;top:6px;bottom:6px;left:50%}.cell.occupied{background:#d3c9b5}.tile{position:absolute;z-index:2;pointer-events:none;object-fit:fill;filter:drop-shadow(0 3px 2px #3e3c3b22);animation:place .26s ease-out}.tile.solar{width:var(--cell);height:calc(var(--cell)*2 + 3px)}.tile.shade{width:var(--cell);height:calc(var(--cell)*2 + 3px);transform-origin:center;transform:rotate(-90deg)}@keyframes place{from{opacity:0;scale:.8}to{opacity:1;scale:1}}.message{font-size:13px;line-height:1.5;min-height:44px;text-align:center;margin:auto;max-width:420px}.message.win{color:#4e8066;font-weight:650}.message.loss{color:var(--coral)}.table-actions{border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;padding-top:9px;margin-top:8px}.primary{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:11px 15px;font-size:12px;margin-left:auto}.primary:hover{background:#264b87}.side-card{padding:24px 22px}.side-card>.eyebrow{font-size:9px}.player-card{display:flex;align-items:center;gap:10px;margin:18px 0}.player-card div{display:flex;flex-direction:column;gap:4px}.player-card strong{font-size:12px}.player-card div>span{font-size:10px;color:var(--muted)}.piece-icon{display:block;width:26px;height:40px;flex-shrink:0;background-position:center;background-size:contain;background-repeat:no-repeat}.solar-icon{background-image:url(solar.webp)}.shade-icon{background-image:url(awning.webp);transform:rotate(90deg)}.direction{font-size:24px;color:var(--blue);margin-left:auto}.rival .direction{color:var(--coral)}.rule{display:flex;gap:10px;padding:11px 0;border-top:1px solid #e9e3d7}.rule>span{font-family:Georgia,serif;color:var(--coral);font-size:16px}.rule p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.rule strong{color:var(--ink);font-weight:600}.space-meter{display:flex;background:#f3eee3;border-radius:10px;padding:12px 10px;margin:12px 0 16px}.space-meter>div{width:50%;display:flex;flex-direction:column;gap:5px;text-align:center}.space-meter>div+div{border-left:1px solid var(--line)}.space-meter span{font-size:10px;color:var(--muted)}.space-meter strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.hint-button{background:var(--blue);color:white;width:100%;border:0;border-radius:10px;padding:13px 10px;font-weight:650;font-size:13px}.hint-button:hover{background:#264b87}.hint-button span{display:block;font-size:9px;font-weight:400;opacity:.75;margin-top:5px}.small-note{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0}.outline{border:1px solid var(--line);border-radius:8px;width:100%;font-size:11px}.keys{font-size:8px;letter-spacing:.6px;color:#89918c;line-height:1.5;margin:14px 0 0}footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);margin:24px 0 4px}.inline{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}.notes{margin-top:20px;background:#fffcf5;padding:28px;border:1px solid var(--line);border-radius:18px}.notes-top{display:flex;justify-content:space-between;align-items:center}.notes h2{font-size:28px;margin-bottom:16px}.notes p{font-size:13px;line-height:1.75;max-width:850px;color:var(--muted)}.notes a{color:var(--blue)}.notes .sources{padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:1000px){.intro-aside>p,.vertical-line,.edition{display:none}.collection{margin-left:0}.play-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.table-card{padding:22px 18px 14px}:root{--cell:54px}.roof-surround{padding:24px 14px}.side-card{padding:22px 18px}}@media(max-width:780px){.shell{padding:20px 20px 16px}.play-layout{grid-template-columns:1fr}.intro{padding:30px 0 24px}.intro-aside{align-self:center}.collection{flex-direction:column;gap:4px;align-items:flex-start}.collection>span:first-child{font-size:28px}.side-card{display:block}.side-card>.eyebrow{margin-bottom:12px}.player-card{display:inline-flex;width:48%;vertical-align:top}.direction{display:none}.side-card .rule{padding:9px 0}.space-meter{max-width:100%}.keys{font-size:9px}h1{font-size:46px}:root{--cell:62px}.roof-surround{padding:24px 20px}.small-note{font-size:11px}.rule p{font-size:12px}.hint-button{font-size:14px}.player-card strong{font-size:11px}.player-card div>span{font-size:9px}}@media(max-width:480px){.shell{padding:16px 14px}.brand{font-size:15px;letter-spacing:3px}.sunmark{font-size:32px}header{padding-bottom:14px}.intro{gap:12px}.intro .eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:36px;letter-spacing:-1.2px}.lede{font-size:12px}.intro-aside{max-width:75px}.collection>span:first-child{font-size:24px}.collection>span:last-child{font-size:8px}.table-card{padding:20px 14px 12px}.table-top{align-items:start;gap:8px}h2{font-size:23px}select{max-width:158px;font-size:10px;padding-right:20px}.select-label{font-size:9px}:root{--cell:46px}.roof-surround{border-width:6px;padding:24px 13px;margin-top:22px}.message{font-size:12px;min-height:53px}.table-actions{gap:8px}.quiet{font-size:11px}.primary{font-size:11px;padding:10px}.side-card{padding:20px 16px}.player-card{gap:7px;width:49%}.player-card strong{font-size:10px}.player-card div>span{font-size:8px}.piece-icon{width:22px;height:34px}footer{font-size:8px;line-height:1.6;gap:12px}.notes{padding:20px}.notes p{font-size:12px}.notes h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:480px){.player-card{display:flex;width:100%;gap:14px;margin:14px 0}.player-card strong{font-size:12px}.player-card div>span{font-size:10px}.piece-icon{width:30px;height:40px}.direction{display:inline;margin-left:auto}}
