:root{--wood-dark:#1a0b05;--wood:#5a2a12;--wood-light:#9a5428;--gold:#e9b25c;--text:#f3dfbf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--wood-dark);min-height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;font-family:Palatino,Palatino Linotype,Book Antiqua,Georgia,serif}button{font:inherit;color:var(--text);background:linear-gradient(var(--wood-light), var(--wood));cursor:pointer;touch-action:manipulation;border:1px solid #2a1206;border-radius:8px;padding:10px 14px}button:active{filter:brightness(1.2)}button:disabled{opacity:.45;cursor:default;filter:none}header{z-index:2;padding:max(8px, env(safe-area-inset-top)) 16px 8px;background:linear-gradient(#7a3a18,#4a1f0b);border-bottom:2px solid #2a1206;align-items:center;gap:12px;display:flex;position:sticky;top:0}header h1{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:22px;font-weight:400;overflow:hidden}.back{padding:4px 12px 8px;font-size:24px;line-height:1}.coins{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.coin{background:radial-gradient(circle at 35% 35%,#fff2b0,#e9b25c 45%,#9a6416);border-radius:50%;width:1em;height:1em;display:inline-block;box-shadow:inset 0 0 0 1px #7a4a10}.wallet{color:var(--gold);background:#0000004d;border-radius:999px;padding:4px 10px}button.wallet{border:none}.wallet-add{margin-left:2px;font-weight:700}.stars{color:var(--gold);letter-spacing:1px}.stars .dim{color:#ffffff2e}.buy{color:#2a1206;background:linear-gradient(#f3cf7a,#c98a2a)}.area .buy,.puzzle .buy{margin:0 10px 10px}.page{min-height:100dvh;padding-bottom:max(24px, env(safe-area-inset-bottom))}.summary{opacity:.8;margin:12px 16px 0}.areas{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:12px 16px;display:grid}.area,.puzzle{background:linear-gradient(var(--wood), #3a1708);cursor:pointer;touch-action:manipulation;border:1px solid #2a1206;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.area:not(.locked):active,.puzzle.open:active,.puzzle.solved:active{filter:brightness(1.25)}.puzzle.loading{animation:.8s ease-in-out infinite alternate pulse}@keyframes pulse{to{filter:brightness(1.5)}}.area img,.puzzle img,.area .blank,.puzzle .blank{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.area .blank,.puzzle .blank{color:var(--gold);opacity:.8;background:radial-gradient(circle,#6a3216,#2a1206);justify-content:center;align-items:center;display:flex}.area .info,.puzzle .info{flex-direction:column;gap:3px;padding:8px 10px 10px;display:flex}.area h2{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:20px}.area small,.puzzle small{opacity:.75}.area.locked,.puzzle.locked,.puzzle.buyable{cursor:default}.area.locked img,.puzzle.locked img,.puzzle.buyable img,.area.locked .blank,.puzzle.locked .blank,.puzzle.buyable .blank{filter:grayscale()blur(3px)brightness(.6)}.puzzle.solved{border-color:var(--gold)}.puzzle.blank-slot,.area.coming-soon{cursor:default;opacity:.45}.puzzle.blank-slot .blank{font-size:14px}.coming{opacity:.7}.credits main{max-width:720px;padding:8px 16px max(24px, env(safe-area-inset-bottom));-webkit-user-select:text;user-select:text;margin:0 auto;line-height:1.45}.credits h2{color:var(--gold);letter-spacing:.05em;text-transform:uppercase;margin:20px 0 8px;font-size:17px;font-weight:400}.credits a{color:var(--gold)}.credit-list{margin:0;padding:0;list-style:none}.credit-list li{margin:0 0 12px}.credit-list small{opacity:.7}.cities{padding:12px 16px}.expansions{border-top:1px solid var(--wood);margin-top:16px;scroll-margin-top:72px}.section-heading{color:var(--gold);margin:22px 16px 0;font-size:23px;font-weight:400}.expansion-areas{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.pack-badge{color:var(--gold);letter-spacing:.1em;text-transform:uppercase}.area .pack-description,.pack-intro p{margin:4px 0 8px;line-height:1.5}.pack-intro{max-width:760px;margin:4px 0 24px}.pack-intro .summary{margin:0;font-size:14px}.subject{margin-bottom:28px}.subject h2 small{opacity:.65;font-size:13px}.subject .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.finale-grid{grid-template-columns:minmax(0,360px)}@media (width<=700px){.subject .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.puzzle-description{line-height:1.4}.puzzle strong{color:var(--gold)}.cities h2{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 8px;font-size:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.screen{height:100dvh;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:linear-gradient(90deg, #3a1708, var(--wood) 50%, #3a1708);flex-direction:column;display:flex}.timer{font-variant-numeric:tabular-nums;color:var(--gold)}.screen h1.puzzle-title{letter-spacing:.02em;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(13px,3.6vw,20px);line-height:1.2;display:-webkit-box}.stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:8px;display:flex;position:relative}.board{width:min(100%, calc((100dvh - 150px) * var(--aspect,650 / 540)));aspect-ratio:var(--aspect,650 / 540);touch-action:none;border:3px solid #2a1206;border-radius:4px;display:block}.board.flash{filter:invert()hue-rotate(180deg)}.screen footer{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 16px 12px;display:flex}.toggle{opacity:.55}.toggle.on{opacity:1}.overlay{background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.dialog{text-align:center;color:#2a1206;background:linear-gradient(#c98a4a,#8a4a1c);border:2px solid #2a1206;border-radius:10px;max-width:340px;margin:16px;padding:20px}.dialog h2{margin:0 0 4px}.dialog p{margin:6px 0}.big-stars .stars{color:#fff2b0;text-shadow:0 1px 2px #5a2a12;font-size:34px}.big-stars .stars .dim{color:#2a120640;text-shadow:none}.record{font-weight:700}.earned{font-size:20px;font-weight:700}.dialog .row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.title{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 30%, #5a2a12, var(--wood-dark) 75%);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.splash{aspect-ratio:950/1000;border-radius:6px;width:min(100%,520px,95dvh - 323px);animation:1.2s ease-out both rise;overflow:hidden;box-shadow:0 10px 40px #0009,0 0 60px #e9b25c1f}.splash img{object-fit:cover;object-position:50% 0;width:100%;height:100%;animation:24s ease-in-out infinite alternate drift;display:block}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes drift{to{transform:scale(1.06)}}.app-name{color:var(--gold);letter-spacing:.06em;text-align:center;text-transform:uppercase;text-shadow:0 2px 12px #0009;margin:-4px 0 0;font-size:clamp(24px,7vw,34px);font-weight:400;animation:1.2s ease-out .2s both rise}.panel{flex-direction:column;align-items:center;gap:10px;width:min(100%,360px);animation:1.2s ease-out .4s both rise;display:flex}button.big{letter-spacing:.08em;text-transform:uppercase;width:100%;margin:0;padding:14px;font-size:22px;box-shadow:0 0 24px #e9b25c59}button.link{color:var(--gold);text-underline-offset:3px;background:0 0;border:none;padding:4px 6px;text-decoration:underline}.tally,.player{color:var(--text);margin:0}.tally{white-space:pre;font-size:18px}.login{background:linear-gradient(var(--wood), #3a1708);border:1px solid #2a1206;border-radius:10px;flex-direction:column;gap:8px;width:100%;padding:14px;display:flex}.login.hidden{display:none}.login.busy{opacity:.6;pointer-events:none}.login p{opacity:.85;margin:0 0 4px;font-size:14px}.login input{font:inherit;color:#2a1206;-webkit-user-select:text;user-select:text;background:#f3dfbf;border:1px solid #2a1206;border-radius:8px;padding:10px 12px;font-size:18px}.login .row{gap:8px;display:flex}.login .row button{flex:1;margin:0}.form-error{color:#ffb08a;min-height:1em}.form-error:empty{display:none}.credit{text-align:center;opacity:.5;max-width:360px}.intro{z-index:10;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intro video{width:100%;max-height:100%}.intro .skip{right:16px;bottom:max(16px, env(safe-area-inset-bottom));position:absolute}header .feedback{padding:5px 10px;font-size:14px}.feedback-overlay{z-index:20;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.feedback-dialog{width:min(100% - 32px,420px);max-width:none;max-height:calc(100% - 32px);overflow-y:auto}.feedback-dialog.busy{opacity:.6;pointer-events:none}.feedback-dialog textarea{width:100%;font:inherit;color:#2a1206;resize:vertical;-webkit-user-select:text;user-select:text;background:#f3dfbf;border:1px solid #2a1206;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:17px}.feedback-dialog .shot{text-align:left;align-items:center;gap:10px;margin:8px 0 0;font-size:14px;display:flex}.feedback-dialog .shot img{object-fit:contain;background:#000;border:1px solid #2a1206;width:88px;max-height:88px}.feedback-dialog .form-error{color:#7a1a00;font-weight:700}header .options{padding:4px 9px 6px;font-size:18px;line-height:1}.targets{font-size:15px}.targets .target{display:block}.shop-dialog .buy.big{margin:8px 0}.shop-note{opacity:.8;font-size:13px}.options-dialog{text-align:left;width:min(100% - 32px,420px);max-width:none;max-height:calc(100% - 32px);overflow-y:auto}.options-dialog h2{text-align:center}.options-dialog h3{margin:14px 0 6px}.options-dialog .volume{align-items:center;gap:12px;margin:10px 0;display:flex}.options-dialog .volume span{width:110px;font-weight:700}.options-dialog input[type=range]{accent-color:#5a2a12;flex:1}.options-dialog .restart-sound{opacity:.85;margin:12px 0 0;font-size:14px}.options-dialog .restart-sound button.link{padding:0}.options-dialog .packs{flex-direction:column;gap:6px;display:flex}.options-dialog .pack{text-align:left;opacity:.75;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.options-dialog .pack.on{opacity:1;border-color:#fff2b0;box-shadow:0 0 0 2px #fff2b0}.options-dialog .pack small{opacity:.85}.boot{min-height:100dvh;color:var(--gold);place-items:center;margin:0;font-size:20px;animation:1.6s ease-in-out infinite alternate boot-pulse;display:grid}@keyframes boot-pulse{0%{opacity:.35}to{opacity:1}}.test-badge{z-index:30;left:4px;bottom:max(4px, env(safe-area-inset-bottom));color:#fff;letter-spacing:.1em;pointer-events:none;background:#b3261e;border-radius:10px;padding:2px 10px;font:700 11px/1.4 system-ui,sans-serif;position:fixed}.area .buy-note{text-align:center;opacity:.8;margin:-4px 10px 10px;display:block}
