@font-face{font-family:LanternPixel;src:url('assets/lantern-pixel.ttf')}*{box-sizing:border-box}html,body{margin:0;background:#131326;color:#f8ebcd;font:13px/1.5 ui-monospace,Consolas,monospace;min-height:100%;overscroll-behavior:none}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input{font:inherit;-webkit-tap-highlight-color:transparent}button{min-width:44px;min-height:44px;padding:6px 8px;border:2px solid #665277;border-radius:0;background:#242035;color:#f8ebcd;box-shadow:2px 2px #080916;font:10px/1.4 LanternPixel,monospace;touch-action:manipulation;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #e2aa4a;outline-offset:2px}button:active{transform:translate(1px,1px);box-shadow:none}.gold{background:#e2aa4a;color:#131326;border-color:#f8ebcd}.mint{background:#81b7a1;color:#131326;border-color:#d0cae2}button[aria-pressed=true]{border-color:#e2aa4a;background:#443052}[hidden]{display:none!important}#game{height:calc(var(--vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:245px;max-width:1180px;margin:auto;display:flex;flex-direction:column;border-left:1px solid #443052;border-right:1px solid #443052;background:#131326}header{height:50px;flex:none;display:flex;justify-content:space-between;align-items:center;gap:5px;padding:3px 7px;border-bottom:2px solid #70834b}.wordmark{font-size:12px;background:transparent;border:0;box-shadow:none;padding:3px 1px}.wordmark span{color:#e2aa4a}nav{display:flex;gap:4px}nav button{font:12px ui-monospace,monospace;padding:3px;min-width:44px}#stage{position:relative;flex:1;min-height:0;overflow:hidden}#front{height:100%;display:grid;grid-template-rows:minmax(90px,1fr) auto;gap:8px;padding:6px 8px}.vista{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;background:#131326}#scene,#poster{grid-area:1/1;display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;min-width:0;min-height:0}#poster{position:absolute;inset:0}.ready #poster{display:none}#game:not(.ready) #scene{visibility:hidden}#title-pane{text-align:center;padding:7px 8px;max-height:310px;overflow:auto}.eyebrow{font:7px/1.6 LanternPixel;color:#81b7a1;margin:0 0 8px}h1{font:21px/1.4 LanternPixel;margin:8px 0;color:#f8ebcd}.intro{max-width:440px;margin:9px auto;font-size:12px;line-height:1.6}.title-actions{display:grid;gap:6px}.small{font-size:10px;color:#b6ac66;line-height:1.55;margin:7px 0}.brand{font-size:9px;line-height:1.7;color:#9681b1;margin:10px 0 2px}.brand b{color:#f8ebcd;font-weight:normal}#tools{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px 7px 7px;border-top:1px solid #443052}#tools button{font-size:8px;padding:4px 1px}#tools.title-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.below{max-width:1180px;margin:auto;padding:10px;font-size:9px;color:#9681b1}.below b{font-weight:normal;color:#f8ebcd}body.expanded{position:fixed;inset:0;overflow:hidden}body.expanded #game{max-width:none;width:100%}body.expanded .below{display:none}#play{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:5px;padding:6px;background:linear-gradient(#131326ed,#131326e8),url('assets/grounds.png') center/cover;min-height:0}#board-panel{min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}#board-window{position:relative;overflow:hidden;border:2px solid #70834b;flex:none;box-shadow:0 0 0 2px #242035;width:calc(var(--tile,44px)*6 + 4px);height:calc(var(--tile,44px)*var(--rows,6) + 4px)}#board{display:grid;grid-template-columns:repeat(6,var(--tile,44px));grid-auto-rows:var(--tile,44px);touch-action:none;background:#242035}.tile{position:relative;display:block;width:var(--tile,44px);height:var(--tile,44px);min-width:44px;min-height:44px;border:1px solid #443052;box-shadow:none;padding:0;background:#242035;touch-action:none;overflow:hidden}.tile:nth-child(even){background:#2c293b}.tile:disabled{opacity:1}.tile .glyph{position:absolute;left:14%;top:14%;width:72%;height:72%;background-repeat:no-repeat;image-rendering:pixelated}.tile .ivy{position:absolute;inset:0;background-repeat:no-repeat;image-rendering:pixelated;opacity:.8}.tile .chain{position:absolute;right:1px;bottom:1px;width:45%;height:45%;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(1px 1px #131326)}.tile .layers{position:absolute;left:2px;top:0;font:bold 10px ui-monospace;color:#f8ebcd;background:#324b3d;padding:0 2px}.tile .light{position:absolute;right:1px;top:0;font:bold 14px ui-monospace;color:#e2aa4a;text-shadow:1px 1px #131326}.tile.selected{outline:3px solid #f8ebcd;outline-offset:-4px;background:#665277;z-index:1}.tile.hint{outline:3px dashed #e2aa4a;outline-offset:-4px}.tile.flash .glyph{opacity:.25;transform:scale(.7)}.tile.flash{background:#e2aa4a55}.tile.fall .glyph{animation:fall .16s steps(4)}@keyframes fall{from{transform:translateY(-12px)}to{transform:translateY(0)}}#board-status{margin:5px 0 0;text-align:center;min-height:16px;font-size:10px;line-height:1.3;color:#d0cae2;max-width:400px}aside{min-width:0;padding:3px 6px;display:grid;gap:5px;grid-template-columns:minmax(0,1fr) 142px;align-items:center}#garden-name{font:9px/1.4 LanternPixel;color:#e2aa4a;grid-column:1/-1}#resources{font-size:11px;line-height:1.45;white-space:pre-line;color:#f8ebcd}#objectives{font-size:11px;line-height:1.45;white-space:pre-line;color:#81b7a1}#row-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px;grid-column:1/-1;align-items:center}#row-controls span{font-size:9px;text-align:center;grid-column:1/-1}#row-controls button{padding:3px;font-size:9px}#row-controls.full{display:none}#legend-button{font-size:8px;grid-column:1/-1;min-height:44px}#notice{position:absolute;z-index:2;bottom:5px;left:8px;right:8px;padding:6px 8px;background:#131326ed;border:1px solid #e2aa4a;color:#f8ebcd;font-size:10px;line-height:1.4;pointer-events:none;opacity:0}#notice.show{opacity:1}#result-pane{max-height:320px;overflow:auto;padding:7px 8px;text-align:center}#result-pane h2{font:19px/1.45 LanternPixel;color:#d0cae2;margin:4px 0 10px}.stars{font-size:25px;letter-spacing:5px;color:#e2aa4a}.result-copy{max-width:460px;margin:8px auto;font-size:12px}.result-number{font:12px/1.6 LanternPixel;color:#81b7a1;margin:8px 0}.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.result-actions button{font-size:9px}.result-actions button small{display:block;font:10px ui-monospace;margin-top:4px}.keepsake-icon{display:block;width:52px;height:52px;background-repeat:no-repeat;image-rendering:pixelated;margin:7px auto}.result-actions.single{grid-template-columns:1fr}
dialog{position:fixed;inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);width:min(680px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px));max-height:calc(var(--vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);padding:0;margin:auto;background:#d0cae2;color:#242035;border:3px solid #70834b;overflow:auto;overscroll-behavior:contain;box-shadow:7px 7px #08091677}dialog::backdrop{background:#131326cc}.dialog-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 8px;border-bottom:1px solid #9681b1;background:#d0cae2;font-size:9px}.dialog-head button{min-width:90px;border:0;box-shadow:none;background:transparent;color:#242035}#dialog-body{padding:14px}dialog h2{font:18px/1.5 LanternPixel;color:#443052;margin:0 0 12px}dialog h3{font:11px/1.5 LanternPixel;margin:20px 0 9px}dialog p,dialog li{font-size:12px;line-height:1.65}dialog .small{color:#665277}dialog button{background:#f8ebcd;border-color:#9681b1;color:#242035;box-shadow:none}dialog button.gold{background:#e2aa4a}dialog .actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}dialog .actions button{flex:1;min-width:120px}.collection-grid,.legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.collection-card,.legend-card{padding:8px;background:#f8ebcd;text-align:center;font-size:10px;line-height:1.5}.collection-card.locked{opacity:.55}.collection-card small{display:block}.glyph-icon{display:block;width:44px;height:44px;margin:5px auto;background-repeat:no-repeat;image-rendering:pixelated}.level{width:100%;min-height:44px;accent-color:#665277}label{display:block;margin-top:12px;font-size:12px}.notes{padding:8px;background:#f8ebcd;font-size:11px;line-height:1.6}body.dialog-open{overflow:hidden}
@media(min-width:800px) and (min-height:550px){#front{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);grid-template-rows:1fr;padding:20px;gap:20px}#title-pane,#result-pane{align-self:center;text-align:left;max-height:none;padding:18px}h1{font-size:28px}.intro{font-size:16px}.brand{font-size:11px}#play{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:1fr;gap:15px;padding:14px}aside{align-self:center;grid-template-columns:1fr;gap:15px}#garden-name{font-size:12px}#resources,#objectives{font-size:14px}#legend-button{font-size:10px}#tools{padding:10px 20px;gap:10px}#tools button{font-size:10px}.result-actions{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:520px){header{height:46px}.wordmark{font-size:11px}#front{grid-template-columns:minmax(0,1fr) minmax(230px,1fr);grid-template-rows:1fr;padding:4px 7px;gap:10px}#title-pane,#result-pane{padding:3px 2px;max-height:100%;overflow:auto}h1{font-size:16px;line-height:1.4;margin:4px 0}h1 br{display:none}.eyebrow{font-size:7px;margin-bottom:4px}.intro{font-size:10px;margin:5px auto}.title-actions{grid-template-columns:1fr 1fr;gap:4px}.title-actions button{font-size:8px;padding:3px}.small{font-size:9px;margin:4px 0}.brand{font-size:8px;margin-top:4px}#tools{padding:3px 7px 5px;gap:4px}#play{grid-template-columns:minmax(268px,1fr) minmax(170px,230px);grid-template-rows:1fr;gap:8px;padding:4px 6px}aside{grid-template-columns:1fr;align-content:center;gap:4px;padding:0 3px}#garden-name{font-size:8px}#resources{font-size:10px;line-height:1.3}#objectives{font-size:10px;line-height:1.3}#row-controls{grid-template-columns:1fr 1fr;gap:4px}#row-controls span{font-size:8px}#row-controls button{font-size:8px}#legend-button{display:none}#board-status{font-size:9px;min-height:13px;margin-top:3px}#result-pane h2{font-size:13px;margin:2px 0 4px}.result-copy{display:none}.result-number{font-size:10px;margin:3px 0}.stars{font-size:18px;line-height:1.1}.result-actions{gap:4px;margin-top:6px}.result-actions button{padding:3px;font-size:8px}.result-actions button small{font-size:8px}.keepsake-icon{width:36px;height:36px;margin:3px auto}.below{display:none}}
@media(max-width:350px){header{padding:3px 4px}.wordmark{font-size:10px}nav{gap:3px}#front{padding:5px}#title-pane{padding:4px 6px;max-height:255px}.eyebrow{display:none}h1{font-size:17px;margin:4px 0}h1 br{display:none}.intro{font-size:10px;margin:5px auto}.brand{font-size:8px;margin-top:6px}aside{grid-template-columns:minmax(0,1fr) 136px;gap:3px;padding:1px 3px}#garden-name{font-size:8px}#resources,#objectives{font-size:10px;line-height:1.3}#legend-button{display:none}.collection-grid,.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:portrait) and (max-height:500px){header{height:46px}#front{grid-template-rows:minmax(44px,1fr) auto;gap:3px;padding:3px 5px}#title-pane{max-height:190px;padding:2px}.eyebrow{display:none}h1{font-size:15px;margin:3px 0}h1 br{display:none}.intro{font-size:10px;margin:4px auto}.title-actions{grid-template-columns:1fr 1fr}.brand{font-size:8px;margin:4px 0}#tools{padding:3px 5px}#play{gap:2px;padding:3px 5px}aside{padding:0;gap:2px;grid-template-columns:minmax(0,1fr) 140px}#garden-name{font-size:8px}#resources,#objectives{font-size:10px;line-height:1.2}#legend-button{display:none}#row-controls{grid-template-columns:1fr 1fr;gap:3px}#row-controls span{display:none}#row-controls button{font-size:8px;padding:2px}#result-pane{max-height:200px}#result-pane h2{font-size:14px}.result-copy{display:none}.keepsake-icon{display:none}}

header{border-bottom-color:var(--trim,#70834b)}#board-window{border-color:var(--trim,#70834b)}

.row-number{position:absolute;left:1px;bottom:0;background:#131326cc;color:#d0cae2;font:bold 8px ui-monospace;padding:0 1px}

#notice{position:relative;bottom:auto;left:auto;right:auto;flex:none;height:32px;min-height:32px;max-height:32px;overflow:hidden;border:0;border-bottom:1px solid #443052;padding:3px 8px;font-size:10px;line-height:12px}#game.is-title #notice{display:none}#game.is-title #notice.show{display:block}

#title-pane > .eyebrow{display:block}

html{color-scheme:dark;scrollbar-color:#665277 #131326;scrollbar-width:thin}
/* Keep each entry target clear of an overlay scrollbar on narrow menu panes. */
#title-pane{padding-inline-end:10px;overscroll-behavior:contain}
