.fanfare-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fanfare);display:grid;place-items:center;padding:16px;background:var(--scrim);cursor:pointer;animation:fanfare-fade .25s ease-out both}.fanfare{position:relative;display:grid;justify-items:center;gap:6px;min-width:220px;max-width:min(88vw,360px);padding:18px 22px 12px;border:2px solid var(--ink-b);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--shadow-hard);font-family:var(--type-body);text-align:center;animation:fanfare-in .45s cubic-bezier(.2,1.4,.4,1) both}.fanfare-title{margin:0;font-size:1.3rem;font-weight:800}.fanfare-gains{margin:0;font-size:1.15rem;font-weight:800;color:var(--reward);font-variant-numeric:tabular-nums;animation:fanfare-pop .4s ease-out .75s both}.fanfare-find,.fanfare-box{display:grid;justify-items:center;gap:4px}.fanfare-find p,.fanfare-box p{margin:0}.fanfare-tap{margin:4px 0 0;font-size:.8rem;opacity:.6}.fanfare-lead{margin:0;font-size:1rem;font-weight:700}.fanfare-detail{margin:0;font-size:.95rem;opacity:.8}.fanfare.big .fanfare-title{font-size:2.2rem;line-height:1.1}.sealed-box.opening{animation:fanfare-shake .5s ease-in-out both}.sealed-box.opening .sealed-lid{animation:fanfare-lid .45s ease-in .55s both;transform-box:fill-box;transform-origin:50% 100%}@keyframes fanfare-shake{0%,to{rotate:0deg}20%{rotate:-9deg}40%{rotate:9deg}60%{rotate:-6deg}80%{rotate:6deg}}@keyframes fanfare-lid{to{transform:translate(18px,-60px) rotate(30deg);opacity:0}}.sealed-box{animation:fanfare-wiggle 1.6s ease-in-out .5s infinite;transform-origin:50% 90%}.fanfare.big{animation:fanfare-in .45s cubic-bezier(.2,1.4,.4,1) both,fanfare-pulse 1.4s ease-in-out .5s infinite}.fanfare-sparks{position:absolute;left:50%;top:50%;pointer-events:none}.fanfare-sparks i{position:absolute;width:8px;height:8px;margin:-4px;border-radius:2px;background:var(--gold);transform:rotate(var(--a)) translateY(0) scale(0);animation:fanfare-spark .9s ease-out var(--d) both}.fanfare-sparks i:nth-child(3n){background:var(--roof-1)}.fanfare-sparks i:nth-child(3n+1){background:var(--roof-2)}.fanfare.big .fanfare-sparks i{width:11px;height:11px;animation-duration:1.3s}@keyframes fanfare-fade{0%{opacity:0}to{opacity:1}}@keyframes fanfare-in{0%{opacity:0;transform:translateY(-24px) scale(.85)}to{opacity:1;transform:none}}@keyframes fanfare-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes fanfare-pulse{0%,to{scale:1}50%{scale:1.03}}@keyframes fanfare-wiggle{0%,60%,to{rotate:0deg}70%{rotate:-6deg}80%{rotate:6deg}90%{rotate:-3deg}}@keyframes fanfare-spark{0%{transform:rotate(var(--a)) translateY(0) scale(0);opacity:1}70%{opacity:1}to{transform:rotate(var(--a)) translateY(-150px) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.fanfare,.fanfare.big,.fanfare-gains,.sealed-box,.fanfare-layer{animation:none}.fanfare-sparks{display:none}}.toast-layer{position:fixed;left:0;right:0;bottom:calc(40px + env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;justify-items:center;gap:6px;pointer-events:none}.toast-item{max-width:min(88vw,360px);padding:8px 16px;border:2px solid var(--ink-b);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--shadow-hard);font-family:var(--type-body);font-weight:700;animation:toast-life 3.5s ease-in-out both}@keyframes toast-life{0%{opacity:0;transform:translateY(12px)}10%,85%{opacity:1;transform:none}to{opacity:0}}@media(prefers-reduced-motion:reduce){.toast-item{animation:none}}body:has(.zoom-buttons) .toast-layer{bottom:calc(92px + env(safe-area-inset-bottom))}.tag-pen{stroke:var(--ink);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 4px;border:2px solid transparent;border-radius:999px;background:var(--card-face);font-size:.9rem;font-weight:600;white-space:nowrap}.tag-chip.small{padding:1px 7px 1px 3px;font-size:.78rem;border-width:1.5px}.tag-chip.any{border-style:dashed;border-color:var(--ink-quiet);background:var(--paper)}.tag-chip.lit{background:var(--gold);border-color:var(--ink)}.tag-chip.lit.small{animation:tag-light .5s ease-out}@keyframes tag-light{0%{transform:scale(1.25)}to{transform:none}}.tag-icon{flex:none;overflow:visible}.tag-list{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px}.find-detail .tag-list{max-width:300px}.library h3{margin:16px 0 8px}.recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:8px}.recipe{display:grid;gap:6px;justify-items:start;padding:10px 12px;border-radius:14px;text-align:left;font-weight:600}.recipe.on{background:var(--cream);border-width:3px;box-shadow:3px 3px 0 var(--shadow-hard)}@media(max-width:640px){.recipes{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(250px,78%);overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px}.recipe{scroll-snap-align:start}}.recipe-line{display:grid;gap:4px}.recipe-slots{display:flex;flex-wrap:wrap;gap:4px}.recipe-makes{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.9rem}.pot-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pot-slot{display:grid;justify-items:center;align-content:center;gap:4px;min-height:132px;padding:8px 4px;border:2px dashed var(--ink-quiet);border-radius:14px;background:var(--paper);text-align:center;font-weight:600}.pot-slot.full{border:2px solid var(--ink-b);background:var(--card-face);animation:slot-drop .35s ease-out}.pot-slot .kcell{margin:0}.pot-slot>.tag-chip{max-width:100%;box-sizing:border-box}.pot-slot>.tag-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.pot-slot>.tag-chip{font-size:.8rem;padding-right:7px}}.pot-slot-name{font-size:.85rem}@keyframes slot-drop{0%{transform:translateY(-10px) scale(.92)}to{transform:none}}button.brew{display:block;width:100%;margin:12px 0 0;font-size:1.2rem}button.brew:not(:disabled){background:var(--gold)}.pot-bag{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px}.pot-bag button{display:flex;align-items:center;gap:10px;width:100%;padding:4px 10px 4px 4px;border-radius:14px;text-align:left}.pot-bag button .kcell{margin:0;flex:none}.pot-bag button.nofit{opacity:.45}.pot-bag-text{display:grid;gap:4px;justify-items:start}.pot-bag-text .tag-list{justify-content:flex-start}.stir-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-card);display:grid;place-items:center;padding:16px;background:var(--scrim)}.stir{display:grid;justify-items:center;gap:10px;padding:16px 20px 20px;border:2px solid var(--ink-b);border-radius:18px;background:var(--paper);max-width:min(92vw,380px)}.stir-say{margin:0;font-weight:700;font-size:1.1rem;text-align:center}.stir-pot{position:relative;touch-action:none;cursor:grab}.stir-pot.done .cauldron{animation:pot-bubble .45s ease-in-out 2}@keyframes pot-bubble{50%{transform:scale(1.04) translateY(-3px)}}.stir-bubbles{position:absolute;left:50%;top:28%}.stir-bubbles i{position:absolute;width:14px;height:14px;border:2px solid var(--ink-b);border-radius:50%;background:var(--reward);animation:bubble-up .9s ease-out forwards}.stir-bubbles i:nth-child(2){left:-34px;animation-delay:.12s}.stir-bubbles i:nth-child(3){left:26px;animation-delay:.24s}@keyframes bubble-up{0%{transform:none;opacity:1}to{transform:translateY(-60px) scale(1.4);opacity:0}}.stir-meter{width:220px;height:14px;border:2px solid var(--ink-b);border-radius:999px;overflow:hidden;background:var(--card-face)}.stir-meter span{display:block;height:100%;background:var(--reward);transition:width .15s}@media(prefers-reduced-motion:reduce){.pot-slot.full,.tag-chip.lit.small,.stir-pot.done .cauldron{animation:none}.stir-meter span{transition:none}}.recipe-book{display:grid;justify-items:center}.book{width:100%;box-sizing:border-box;padding:16px 18px;border:3px solid var(--ink);border-radius:10px 10px 4px 4px;background:var(--paper-old);box-shadow:0 4px 0 var(--wood),0 6px 12px var(--shadow)}.book-recipe{padding:8px 0 12px;border-bottom:2px dashed var(--ink-quiet);break-inside:avoid}.book-recipe:last-child{border-bottom:none}.book-recipe h4{margin:0 0 6px;display:flex;justify-content:space-between;gap:8px}.book-makes{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.book-makes .kcell{margin:0}.lectern{width:min(100%,300px);height:auto;margin-top:-2px}@media(min-width:640px){.book{columns:2;column-gap:40px;column-rule:3px solid var(--wood)}}.reading-form{display:grid;gap:10px}.reading-form h3{margin-bottom:0}.reading-form label{display:grid;gap:4px;font-weight:600}.reading-form input{min-height:44px;padding:0 12px;border:2px solid var(--ink-b);border-radius:12px;font:inherit;background:var(--card-face)}.reading-state{display:flex;flex-wrap:wrap;gap:8px}.reading-state button.on{background:var(--ink);color:var(--paper)}.reading-form button[type=submit]:not(:disabled){background:var(--gold)}.reading-form p{margin:0}.shelf{list-style:none;margin:0;padding:0;display:grid}.shelf-book{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:6px solid var(--wood)}.spine{flex:none;width:16px;height:58px;border:2px solid var(--ink-b);border-radius:3px}.shelf-book{flex-wrap:wrap}.shelf-text{display:grid;flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.shelf-actions{display:flex;gap:6px;margin-left:auto}.scrapbook{display:grid;gap:16px}.scrap-page{display:grid;justify-items:center;gap:6px;padding:18px 14px;border:2px solid var(--ink-b);border-radius:6px;background:var(--paper-old);text-align:center;transform:rotate(-.6deg)}.scrap-page.left{display:none;transform:rotate(.6deg)}.scrap-page p{margin:0}.scrap-title{font-size:1.3rem;font-weight:800}.scrap-photo{position:relative;padding:8px 8px 20px;border:1.5px solid var(--ink-quiet);background:var(--card-face);box-shadow:0 3px 8px var(--shadow);transform:rotate(1.5deg)}.scrap-photo:before{content:"";position:absolute;top:-10px;left:50%;width:56px;height:18px;margin-left:-28px;background:var(--crystal-light);opacity:.8;transform:rotate(-4deg)}.scrap-photo .kcell{margin:0}.scrap-who{font-weight:700}.scrap-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}@media(min-width:700px){.scrapbook{grid-template-columns:1fr 1fr}.scrap-page.left{display:grid}.scrap-page.right:only-child{grid-column:2}}:root,.fanfare-layer,.toast-layer,.frame-bar{--reward: #3f6b3a;--shadow: rgba(42, 36, 31, .25);--scrim: rgba(42, 36, 31, .35);--z-panel: 50;--z-card: 60;--z-frame: 800;--z-toast: 900;--z-fanfare: 1000;--z-sheet: 2000;--paper: #f5f0e6;--ink: #2a241f;--ink-quiet: #6b6258;--ink-b: #4a3728;--ink-s: #2f5a36;--shade: rgba(42, 36, 31, .16);--shadow-hard: rgba(74, 55, 40, .24);--window-edge: #8cc0dd;--type-body: "Atkinson Hyperlegible", system-ui, sans-serif;--type-title: "Fraunces", Georgia, serif;--gap: 16px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--grass: #86c95a;--grass-tuft: #79bc4f;--path: #e3c48a;--path-edge: #cfae72;--plaza: #eadcbb;--plaza-inner: #f2e8cf;--sun-shadow: rgba(42, 60, 30, .18);--lamp: #ffe08a;--sky-night: #1d2a5a;--sky-day: #cfe6f4;--hill-far: #a9d6b6;--sky-dusk: #f08a3c;--night-moonlit: #6c7ec4;--night-lanterns: #5b62a6;--night-twilight: #8d87c6;--moon: #f6f2d8;--canvas: #ffffff;--sky-rain: #5c7287;--sky-storm: #3a4656;--sky-snow: #ffffff;--rain-drop: rgba(225, 238, 250, .75);--fog: rgba(245, 245, 240, .55);--smoke: rgba(245, 242, 235, .85);--cloud-shadow: rgba(30, 50, 40, .09);--rain-tile: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="120" height="160"%3E%3Cg stroke="%23e1eefa" stroke-opacity=".75" stroke-width="2" stroke-linecap="round"%3E%3Cpath d="M10 5v16M46 40v16M82 12v16M110 70v16M28 96v16M64 120v16M96 140v16M18 150v8"/%3E%3C/g%3E%3C/svg%3E");--snow-tile: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="200" height="200"%3E%3Cg fill="%23fff" fill-opacity=".9"%3E%3Ccircle cx="20" cy="30" r="3"/%3E%3Ccircle cx="90" cy="10" r="2.5"/%3E%3Ccircle cx="160" cy="50" r="3.2"/%3E%3Ccircle cx="60" cy="90" r="2.4"/%3E%3Ccircle cx="130" cy="120" r="3"/%3E%3Ccircle cx="30" cy="160" r="2.6"/%3E%3Ccircle cx="180" cy="180" r="2.2"/%3E%3Ccircle cx="100" cy="190" r="3"/%3E%3C/g%3E%3C/svg%3E");--lot: #d8c79c;--river: #6fb7e8;--river-glint: #9ad2f3;--river-bank: #4f9fd4;--river-night: #22376b;--water-night: #22376b;--plaza-night: #7f9f72;--scatter-night: #2a3458;--grass-light: #a8dc7a;--lot-grass: #a3d97c;--mow: #6aa847;--plaza-edge: #d2bf94;--leaf-edge: #2e7a3c;--water-shadow: rgba(30, 70, 110, .22);--flower-1: #f07a95;--flower-2: #fff4d6;--flower-3: #f2b34c;--leaf: #4aa35a;--leaf-dark: #3d8b4c;--trunk: #7a5230;--wood: #b77b4f;--wood-light: #d39a6a;--box-green: #5e9b4a;--pot: #c9774a;--stake: #7a5230;--wall: #fff2cc;--wall-stone: #f2ece0;--column: #fbf8f1;--door: #6b4428;--window: #bfe3f5;--roof-1: #d96a5c;--roof-2: #6f98c9;--roof-3: #7fae6a;--roof-4: #d9b25a;--roof-5: #9b84c4;--roof-6: #4a5568;--roof-7: #c97b3c;--roof-8: #3d8f86;--roof-9: #b8313a;--roof-10: #5e7d3a;--roof-11: #6b3f7a;--roof-slate: #7a8aa8;--awning-a: #d96a5c;--awning-b: #fbf8f1;--card-face: #fffdf7;--card-red: #d0453b;--metal: #c9ccd3;--metal-dark: #8d939e;--rust: #b75a32;--concrete: #cfc8b8;--water: #6fb7e8;--wall-1: #fff2cc;--wall-2: #f6dcc8;--wall-3: #dfeccb;--wall-4: #dbe6f2;--wall-5: #f7d6e0;--wall-6: #e6dcf5;--wall-7: #f3e2a6;--wall-8: #d6efe3;--wall-9: #fbd9c4;--wall-10: #cfe3f7;--door-1: #6b4428;--door-2: #8f3b33;--door-3: #2f5d7c;--door-4: #3f6b3a;--door-5: #d4a52f;--door-6: #6d4fa0;--door-7: #c9342b;--door-8: #2a8c8a;--door-9: #f4f1ea;--floor-tile: #e9e2d2;--floor-tile-edge: #cdc3ad;--floor-carpet: #c9b7de;--floor-carpet-edge: #b39fcc;--floor-stone: #c9c4b8;--floor-stone-edge: #a8a295;--floor-checker: #f2ebdc;--floor-checker-edge: #b7a98f;--rock: #8a7a66;--rock-dark: #6e604f;--moon: #c3c4cc;--moon-dark: #9d9ea8;--mars: #c7633f;--mars-dark: #9c4a2c;--tektite: #3e6b4f;--glass: #d8eef7;--dust: #b9a6e0;--solar: #2f4f8a;--solar-line: #6f8fc9;--paper-old: #efe1bf;--ice: #cfeefe;--ice-dark: #9fd4ee;--crystal: #b26fe0;--crystal-light: #d9b4f5;--gold: #d9b25a;--gold-dark: #b08a32;--brass: #c9a24a;--tin: #b8bcc4;--stone-green: #7d9a8a;--cream: #fff4d6;--pink: #f2a6b8;--chocolate: #7a4a2a;--silver: #d5d8de;--jade: #4fae8f;--ruby: #c8324a;--sapphire: #3a6fd6;--alien: #8bd16a;--silhouette: #d6d0c4;--silhouette-mark: #ebe7de;--frame-common: #d9cfbd;--frame-uncommon: #8fb6d9;--frame-rare: #c3a0e0;--glint: #fffbe8;--person-1: #e8473c;--person-2: #2f7fe0;--person-3: #f2a52b;--person-4: #7a3fd1;--person-5: #1fa36a;--person-6: #e0459c;--person-7: #12a3b8;--person-8: #ff7a1a;--person-9: #8bc34a;--person-10: #1d3f8f;--person-11: #b03a5b;--person-12: #f5c518;--person-13: #5d4037;--person-14: #ffffff;--person-15: #5fcfa8;--person-16: #f26b5b;--person-17: #7b4b94;--wear-wizard: #3a3f8f;--wear-cowboy: #a9743f;--wear-headband: #f7c6d9;--wear-bowtie: #c9342b;--wear-cape: #8f1d3a;--wear-cap: #2f7fe0;--wear-beanie: #e8473c;--wear-bow: #e0459c;--wear-sunhat: #e8c98a;--wear-party: #7a3fd1;--wear-crown: #f2c230;--wear-scarf: #e8473c;--wear-pack: #3f6b3a;--wear-lens: #bfe3f5;--made: var(--person-2);--made-soft: #8fb8ee;--skin: #f3c9a0;--skin-1: #f6d4b4;--skin-2: #e8b58c;--skin-3: #c98d5f;--skin-4: #9b6440;--skin-5: #6b4227;--hair-1: #2b2420;--hair-2: #6b4428;--hair-3: #b0532c;--hair-4: #e2b54f;--hair-5: #a9a39b}.pen-p,.pen-b,.pen-s,.pen-wb,.pen-ws{stroke-linejoin:round;vector-effect:non-scaling-stroke}.pen-p{stroke:var(--ink);stroke-width:var(--pen-p)}.pen-b{stroke:var(--ink-b);stroke-width:var(--pen-b)}.pen-s{stroke:var(--ink-s);stroke-width:var(--pen-s)}.pen-wb{stroke-width:var(--pen-b)}.pen-ws{stroke-width:var(--pen-s)}.edge-s{stroke-width:var(--pen-e);vector-effect:non-scaling-stroke;stroke-linejoin:round}.inked-s .edge-s{stroke:var(--ink-s)}.ink-under :is(path,rect,circle,ellipse,polygon){fill:var(--ink-x)!important;stroke:var(--ink-x)!important;stroke-width:calc(var(--pen-x) * 2)!important;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.ink-under.ink-b{--ink-x: var(--ink-b);--pen-x: var(--pen-b)}.ink-under.ink-s{--ink-x: var(--ink-s);--pen-x: var(--pen-s)}.ink-under.ink-p{--ink-x: var(--ink);--pen-x: var(--pen-p)}.inked :is(path,rect,circle,ellipse,polygon):not([fill=none],.win,.edge-t){stroke:none!important}.inked .win{stroke:var(--window-edge)!important;stroke-width:var(--pen-e)!important;vector-effect:non-scaling-stroke}.inked .edge-t{stroke-width:var(--pen-e)!important;vector-effect:non-scaling-stroke}.as-mask :is(path,rect,circle,ellipse,polygon){fill:var(--ink)!important;stroke:none!important;opacity:1!important}.as-shade :is(path,rect,circle,ellipse,polygon){fill:var(--shade)!important;stroke:none!important;opacity:1!important}:is(.ink-under,.as-mask,.as-shade) :is(.no-ink,.mv,[fill=none],.halo,.glow,.night-sky,.night-fill){display:none!important}.layer-lights :is(.ink-under,.as-shade),.layer-lights mask{display:none!important}.layer-motion :is(.ink-under,.as-shade),.layer-motion mask{display:none!important}.edge-g{stroke-width:1.5px;vector-effect:non-scaling-stroke}.kcell{position:relative;margin:0;padding:4px;box-sizing:border-box;background:var(--card-face);border:2px solid var(--frame-common);border-radius:12px;text-align:center}.kcell svg{display:block;margin:0 auto}.kcell figcaption{font-size:.75rem;line-height:1.2;overflow-wrap:anywhere}.kcell.tier-uncommon,.kcell.tier-rare{border-color:var(--frame-uncommon)}.kcell.tier-rare{border-color:var(--frame-rare);box-shadow:inset 0 0 0 3px var(--card-face),inset 0 0 0 4px var(--frame-rare)}.kcell.tier-uncommon:before,.kcell.tier-rare:before{content:"";position:absolute;top:-2px;left:50%;width:14px;height:5px;margin-left:-7px;border-radius:0 0 4px 4px;background:var(--frame-uncommon)}.kcell.tier-rare:before{background:var(--frame-rare)}.glints{animation:glint-shimmer 2.6s ease-in-out infinite}.glints path{transform-box:fill-box;transform-origin:center;animation:glint-twinkle 1.8s ease-in-out infinite}.glints path:nth-child(2){animation-delay:.6s}.glints path:nth-child(3){animation-delay:1.2s}@keyframes glint-twinkle{0%,to{transform:scale(.6) rotate(0);opacity:.5}50%{transform:scale(1.15) rotate(20deg);opacity:1}}@keyframes glint-shimmer{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.glints,.glints path{animation:none}}.d2{opacity:0}.d2.on{opacity:1}.town .d2{transition:opacity .35s ease-out}.town .pen-s,.town .pen-b,.town .pen-p{transition:stroke-width .25s ease-out}.town.entering{animation:town-enter .34s ease-in both}@keyframes town-enter{to{opacity:0}}@media(prefers-reduced-motion:reduce){.town .d2{transition:none}.town.entering{animation:none}.town .pen-s,.town .pen-b,.town .pen-p{transition:none}}.zoom-buttons{position:absolute;display:flex}.zoom-buttons button{width:var(--zoom-size);height:var(--zoom-size);padding:0;font-size:1.6rem;line-height:1;box-shadow:0 2px 8px var(--shadow)}.sky{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.sky-tint,.sky-fog,.sky-flash{position:absolute;top:0;right:0;bottom:0;left:0}.sky-fog{background:linear-gradient(180deg,var(--fog),transparent 70%,var(--fog));animation:fog-drift 18s ease-in-out infinite alternate}.sky-flash{background:var(--sky-snow);opacity:0;animation:storm-flash 11s linear infinite}.sky .fall{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;transform:rotate(12deg)}.sky .fall-snow{transform:none}.sky .fall-layer{position:absolute;left:0;right:0;top:-200px;bottom:0;background-repeat:repeat;will-change:transform}.sky .fall-rain .fall-layer{background-image:var(--rain-tile);animation:rain-fall .45s linear infinite}.sky .fall-rain .fall-layer.far{background-size:80px 107px;opacity:.6;animation-duration:.7s}.sky .fall-snow .fall-layer{background-image:var(--snow-tile);animation:snow-fall 9s linear infinite}.sky .fall-snow .fall-layer.far{background-size:130px 130px;opacity:.7;animation-duration:14s}.sky .drift{position:absolute;top:-20px;animation:leaf-fall 14s linear infinite}.sky .leaves{width:12px;height:8px;border-radius:8px 0}.sky .leaves.tone-0{background:var(--flower-3)}.sky .leaves.tone-1{background:var(--roof-1)}.sky .leaves.tone-2{background:var(--wood)}.sky .petals{width:8px;height:6px;border-radius:6px 1px;background:var(--pink);opacity:.85}.sky .motes{width:4px;height:4px;border-radius:50%;background:var(--sky-snow);opacity:.6;animation-name:mote-drift}.sky .butterflies{width:10px;height:8px;background:radial-gradient(circle at 25% 50%,var(--flower-3) 45%,transparent 47%),radial-gradient(circle at 75% 50%,var(--flower-3) 45%,transparent 47%);animation-name:butterfly}.sky .butterflies.tone-1{background:radial-gradient(circle at 25% 50%,var(--card-face) 45%,transparent 47%),radial-gradient(circle at 75% 50%,var(--card-face) 45%,transparent 47%)}.sky .fireflies{width:5px;height:5px;border-radius:50%;background:var(--lamp);box-shadow:0 0 6px 2px var(--lamp);animation-name:firefly}@keyframes mote-drift{0%{transform:translate(0);opacity:0}20%{opacity:.6}to{transform:translate(-40px,110vh);opacity:0}}@keyframes butterfly{0%{transform:translate(0) scaleX(1)}25%{transform:translate(30px,-20px) scaleX(.3)}50%{transform:translate(60px,5px) scaleX(1)}75%{transform:translate(30px,25px) scaleX(.3)}to{transform:translate(0) scaleX(1)}}@keyframes firefly{0%,to{transform:translate(0);opacity:0}30%{opacity:1}50%{transform:translate(14px,-10px);opacity:.2}70%{opacity:.9}}@keyframes rain-fall{0%{transform:translateY(0)}to{transform:translateY(160px)}}@keyframes snow-fall{0%{transform:translate(0)}to{transform:translate(20px,200px)}}@keyframes leaf-fall{0%{transform:translate(0) rotate(0)}25%{transform:translate(40px,27vh) rotate(120deg)}50%{transform:translate(-20px,55vh) rotate(220deg)}75%{transform:translate(30px,82vh) rotate(320deg)}to{transform:translate(-10px,110vh) rotate(420deg)}}@keyframes fog-drift{to{transform:translate(4%)}}@keyframes storm-flash{0%,91%,94%,to{opacity:0}92%{opacity:.35}93%{opacity:.1}}@media(prefers-reduced-motion:reduce){.sky .fall-layer,.sky .drift,.sky-flash,.sky-fog{animation:none}.sky .fall,.sky .drift,.sky-flash{display:none}}.anim .sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 5s ease-in-out infinite alternate}@keyframes sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}.anim .ripple{animation:ripple-flow 14s linear infinite}@keyframes ripple-flow{to{stroke-dashoffset:-400}}.anim .jet{transform-box:fill-box;transform-origin:50% 100%;animation:jet 1.6s ease-in-out infinite alternate}@keyframes jet{0%{transform:scaleY(.75)}to{transform:scaleY(1.1)}}.anim .spray{animation:spray 1.6s ease-in-out infinite alternate}@keyframes spray{0%{opacity:.35}to{opacity:.9}}.anim .crown{transform-box:fill-box;animation:crown 1.6s ease-in-out infinite alternate}@keyframes crown{0%{transform:translateY(6px)}to{transform:translateY(-2.4px)}}.anim .sheet{animation:sheet .8s ease-in-out infinite alternate}@keyframes sheet{0%{opacity:.6}to{opacity:1}}.anim .ring{transform-box:fill-box;transform-origin:center;animation:ring 2.4s ease-out infinite}@keyframes ring{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.4);opacity:0}}.anim .smoke{transform-box:fill-box;transform-origin:center;animation:smoke 3.6s ease-out infinite}@keyframes smoke{0%{transform:translate(0) scale(.6);opacity:.8}to{transform:translate(10px,-36px) scale(1.7);opacity:0}}.anim .flutter{transform-box:fill-box;transform-origin:0% 50%;animation:flutter .9s ease-in-out infinite alternate}@keyframes flutter{0%{transform:skewY(-6deg) scaleX(.94)}to{transform:skewY(5deg) scaleX(1)}}.sky-over{position:absolute;left:0;top:0;width:1400px;height:1000px;transform-origin:0 0;pointer-events:none;will-change:transform}.sky-over .cloud{position:absolute;left:0;animation:cloud-drift 140s linear infinite;will-change:transform}.sky-over .cloud i{position:absolute;border-radius:50%;background:var(--cloud-shadow)}@keyframes cloud-drift{0%{transform:translate(-500px)}to{transform:translate(1900px)}}.sky-over .birds{position:absolute;left:0;top:0;overflow:visible;will-change:transform;animation:birds 46s linear infinite}@keyframes birds{0%{transform:translate(-200px,420px)}32%{transform:translate(1600px,180px)}to{transform:translate(1600px,180px)}}.anim .bird{animation:flap .5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes flap{to{transform:scaleY(.4)}}.anim .flame{transform-box:fill-box;transform-origin:50% 0%;animation:flame .18s ease-in-out infinite alternate}@keyframes flame{0%{transform:scaleY(.8)}to{transform:scaleY(1.15)}}@media(prefers-reduced-motion:reduce){.anim .sway,.anim .ripple,.anim .jet,.anim .spray,.anim .crown,.anim .sheet,.anim .ring,.anim .smoke,.anim .flutter,.sky-over .cloud,.birds,.anim .bird,.anim .flame{animation:none}.birds{display:none}}.town.moving .sway,.town.moving .ripple,.town.moving .jet,.town.moving .spray,.town.moving .crown,.town.moving .sheet,.town.moving .ring,.town.moving .smoke,.town.moving .flutter,.town.moving .cloud,.town.moving .birds,.town.moving .bird,.town.moving .water-glint,.town.moving .breathe,.town.moving .rock,.town.moving .beacon,.town.moving .flag-up,.town.moving .walking,.town.moving .paper,.town.moving .steam{animation-play-state:paused}.anim .water-glint{transform-box:fill-box;transform-origin:center;animation:glint-twinkle 2.4s ease-in-out infinite}.anim .breathe{transform-box:fill-box;transform-origin:50% 100%;animation:breathe 3.2s ease-in-out infinite alternate}@keyframes breathe{0%{transform:scaleY(1)}to{transform:scaleY(1.025)}}.anim .rock{transform-box:fill-box;transform-origin:50% 100%;animation:rock 4s ease-in-out infinite alternate}@keyframes rock{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.anim .beacon{animation:beacon 1.6s steps(1) infinite}@keyframes beacon{0%{opacity:1}50%{opacity:.15}}.anim .flag-up{transform-box:fill-box;transform-origin:50% 100%;animation:flag-wave 1.2s ease-in-out infinite alternate}@keyframes flag-wave{0%{transform:rotate(-6deg)}to{transform:rotate(4deg)}}.anim .win,.anim .lamp{transition:fill 1.5s ease}.halo{opacity:0;transition:opacity 1.5s ease}.river-night,.night-fill{opacity:calc(var(--dark, 0) * .85)}.anim .sheet,.anim .spray,.anim .ring{stroke:color-mix(in srgb,var(--river-glint),var(--water-night) calc(var(--dark, 0) * 80%))}.sky .leaves.tone-0{background:color-mix(in srgb,var(--flower-3),var(--scatter-night) calc(var(--dark, 0) * 70%))}.sky .leaves.tone-1{background:color-mix(in srgb,var(--roof-1),var(--scatter-night) calc(var(--dark, 0) * 70%))}.sky .leaves.tone-2{background:color-mix(in srgb,var(--wood),var(--scatter-night) calc(var(--dark, 0) * 70%))}.sky .petals{background:color-mix(in srgb,var(--pink),var(--scatter-night) calc(var(--dark, 0) * 70%))}.sky .motes{background:color-mix(in srgb,var(--sky-snow),var(--scatter-night) calc(var(--dark, 0) * 55%))}.anim.night .win{fill:var(--lamp)}.anim .halo{opacity:calc(var(--dark, 0) * .35)}@media(prefers-reduced-motion:reduce){.anim .water-glint,.anim .breathe,.anim .rock,.anim .beacon,.anim .flag-up{animation:none}}.anim .walking{animation:walk-bob .32s ease-in-out infinite alternate}@keyframes walk-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.anim .paper{transform-box:fill-box;transform-origin:50% 0%;animation:paper-stir 3.4s ease-in-out infinite alternate}@keyframes paper-stir{0%{transform:rotate(-3deg)}to{transform:rotate(2deg)}}.anim .steam{transform-box:fill-box;transform-origin:center;opacity:0;animation:steam 7s ease-out infinite}@keyframes steam{0%,70%{transform:translate(0) scale(.4);opacity:0}75%{opacity:.8}to{transform:translateY(-18px) scale(1.6);opacity:0}}.town-label{animation:label-in .3s ease-out both}@keyframes label-in{0%{opacity:0}to{opacity:1}}.sky-tint{transition:opacity 2s ease,background-color 2s ease}@media(prefers-reduced-motion:reduce){.anim .walking,.anim .paper,.anim .steam,.town-label{animation:none}}.town.band-far .sway,.town.band-far .ripple,.town.band-far .water-glint,.town.band-far .smoke,.town.band-far .flutter,.town.band-far .breathe,.town.band-far .rock,.town.band-far .beacon,.town.band-far .flag-up,.town.band-far .paper,.town.band-far .steam{animation:none}.town svg.layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.town svg.layer-motion,.town svg.layer-top{pointer-events:none}.layer-still .mv{display:none}.layer-motion :is(rect,path,circle,ellipse,text,polygon,polyline,line):not(.mv,.mv *){display:none}.town .night-dark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity 2s ease}.town svg.layer-lights{pointer-events:none}.layer-lights :is(rect,path,circle,ellipse,text,polygon,polyline,line):not(.win,.lamp,.halo,.glow *,.night-sky *){display:none}.layer-lights .win{fill:var(--lamp)}.anim .layer-lights .halo{opacity:calc(var(--dark, 0) * .55)}.glow,.night-sky{display:none}.layer-lights .glow,.layer-lights .night-sky,.sheet-night .glow,.sheet-night .night-sky{display:inline}.look-lanterns .layer-lights .glow ellipse{opacity:.26}.look-lanterns .layer-lights .halo{opacity:calc(var(--dark, 0) * .75)}.look-twilight .layer-lights .glow ellipse{opacity:.11}.sky-over .star{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:var(--moon);transform:rotate(45deg);border-radius:1px;will-change:opacity;animation:star-twinkle 3.2s ease-in-out infinite}.sky-over .star.big{width:10px;height:10px;margin:-5px 0 0 -5px}@keyframes star-twinkle{0%,to{opacity:.3}50%{opacity:1}}.town.moving .star{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.sky-over .star{animation:none}.town .night-dark{transition:none}}.town.night .day-cloud{display:none}
