:root{--paper:#f6efdf;--paper-2:#efe4cc;--ink:#2e2a24;--ink-soft:#2e2a2459;--muted:#7a6f5f;--shadow:#2e2a242e;--board:#e6dcc2;--grass:#dfe8c4;--grass-dark:#cddcae;--street:#d8ccb0;--met:#3f8f4f;--broken:#c0392b;--cta:#d9483b;--cta-ink:#fffaf0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#26221d;--paper-2:#302a23;--ink:#f1e8d4;--ink-soft:#f1e8d44d;--muted:#b3a68f;--shadow:#0006;--board:#3a332a;--grass:#3f4a32;--grass-dark:#36412b;--street:#4a4134;--met:#7fcf8b;--broken:#ff8a7a;--cta:#e9634f;--cta-ink:#1d1a16}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);background-image:radial-gradient(var(--ink-soft) .5px, transparent .6px);color:var(--ink);-webkit-tap-highlight-color:transparent;background-size:6px 6px;font:15px/1.35 Avenir Next,Nunito,Trebuchet MS,system-ui,sans-serif}button{font:inherit;color:inherit}.center{place-items:center;height:100%;display:grid}.muted{color:var(--muted)}.tiny{text-align:center;margin:8px 0 0;font-size:12px}.spacer{flex:1}.wordmark{letter-spacing:-.02em;font-family:Georgia,Iowan Old Style,serif;font-size:19px;font-style:italic;font-weight:800}.wordmark.small{font-size:16px}.game{max-width:520px;margin:0 auto;padding:8px 10px 16px}.top{align-items:baseline;gap:8px;display:flex}.clock,.streak{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.icon-svg{vertical-align:-2px}.hint{border:2px solid var(--ink);background:var(--paper-2);min-height:2.6em;box-shadow:3px 3px 0 var(--shadow);border-radius:12px;margin:4px 0 6px;padding:6px 10px;font-size:14px}.board-wrap{position:relative}.board{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.board .lot{cursor:pointer;outline:none}.board .lot:focus-visible rect{stroke:var(--cta);stroke-width:4px}.board .art{transform-origin:50px 86px;transition:transform .16s ease-out}.board .art.lifted{transform:translateY(-6px)scale(1.06)}.board .lot.selected>rect{stroke:var(--cta);stroke-width:4px;stroke-dasharray:none}.board .ghost-art{animation:1.4s ease-in-out infinite ghost}@keyframes ghost{50%{opacity:.15}}.board.snapshot{margin:0 auto}.face{overflow:visible}.ribbon{background:var(--cta);border:2px solid var(--ink);height:14px;animation:.9s ease-in forwards cut;position:absolute;top:50%;left:-4px;right:-4px}@keyframes cut{0%{clip-path:inset(0)}60%{clip-path:inset(0);transform:none}to{clip-path:inset(0 50%);opacity:0;transform:translateY(30px)rotate(4deg)}}.tray{grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0;display:grid}.chip{background:var(--paper-2);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--shadow);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-size:11px;line-height:1.1;display:flex}.chip.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}.chip.placed{opacity:.55}.btn{border:2.5px solid var(--ink);background:var(--paper-2);box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:14px;padding:12px 14px;font-weight:700}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn:disabled{opacity:.7;cursor:default}.btn.primary{background:var(--cta);color:var(--cta-ink)}.btn.open{width:100%;margin:8px 0;font-size:16px}.residents{gap:6px;margin:0;padding:0;list-style:none;display:grid}.resident{border:2px solid var(--ink);border-left:8px solid var(--accent);background:var(--paper-2);border-radius:12px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.resident .who{font-size:14px}.resident .credit{color:var(--muted);font-size:12px}.wish{font-size:13px}.wish .icon{width:1.2em;font-weight:800;display:inline-block}.wish.met{color:var(--met)}.wish.broken{color:var(--broken)}.resident.mood-upset .face{animation:.4s wobble}@keyframes wobble{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.card{max-width:380px;margin:0 auto;padding:12px 14px 16px}.card-head{justify-content:space-between;align-items:baseline;display:flex}.snapshot-wrap{background:var(--paper-2);border:2.5px solid var(--ink);width:fit-content;box-shadow:4px 4px 0 var(--shadow);border-radius:16px;margin:8px auto;padding:6px;transform:rotate(-1deg)}.grade{text-align:center;margin:6px 0 0;font-family:Georgia,serif;font-size:30px;font-style:italic;font-weight:800}.grade.perfect{color:var(--cta)}.wishes-granted{text-align:center;color:var(--cta);font-size:15px}.wishes-granted .muted{color:var(--muted)}.stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0;display:grid}.stats div{border:2px solid var(--ink);background:var(--paper-2);border-radius:10px;padding:4px 2px}.stats dt{color:var(--muted);font-size:10px}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:17px;font-weight:800}.flair{text-align:center;margin:4px 0;font-size:14px}.teaser{border:2px dashed var(--ink-soft);border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex}.teaser p{margin:0;font-size:14px}.teaser .face{filter:grayscale(.6)blur(.3px)}.actions{grid-template-columns:1.4fr 1fr;gap:8px;margin-top:10px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
