:root{--cream:#fbf6ef;--ink:#3a3340;--ink-soft:#5e5566;--line:#3a334024;--surface:#fffbf6db;--whatif-accent:#7d5070;--whatif-accent-strong:#6d4462;--focus:#6d4462;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--ease-soft:cubic-bezier(.33, 0, .2, 1);--mode-fade:.9s;--glide:.35s}@property --night{syntax:"<number>";inherits:true;initial-value:0}@property --lantern{syntax:"<number>";inherits:true;initial-value:0}.app{--night:0;--lantern:0;transition:--night var(--mode-fade) var(--ease-soft), --lantern var(--mode-fade) var(--ease-soft)}.app[data-mode=whatIf]{--night:1;--lantern:1}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-rows:1fr;height:100dvh;display:grid}.stage{grid-row:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.landscape{-webkit-user-select:none;user-select:none;--plate-ratio:1.7917;--frame-w:max(100cqw, 100cqh * var(--plate-ratio));--frame-h:max(100cqh, 100cqw / var(--plate-ratio));--frame-left:calc((100cqw - var(--frame-w)) * .6);--frame-top:calc((100cqh - var(--frame-h)) * .5);--house-x:.648;--house-top:.52;--below-house:.6;position:relative;overflow:clip;container-type:size}@container (aspect-ratio<.9){.world,.card-slot,.postcard{--frame-h:calc(100cqh * 1.7);--frame-w:calc(var(--frame-h) * var(--plate-ratio));--frame-left:calc(60cqw - var(--frame-w) * var(--house-x));--frame-top:calc(64cqh - var(--frame-h) * .585)}}.world{position:absolute;inset:0;overflow:hidden}.world__frame{left:var(--frame-left);top:var(--frame-top);width:var(--frame-w);height:var(--frame-h);position:absolute}.world__plate{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.world__sky{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 45%,#0000 51%);mask-image:linear-gradient(#000 45%,#0000 51%)}.world__drift{animation:480s linear infinite sky-drift;position:absolute;inset:0}@keyframes sky-drift{to{translate:200%}}.world__tile{position:absolute;inset:0}.world__tile:first-child{translate:-200%}.world__tile--mirrored{translate:-100%;scale:-1 1}.world__pool{mix-blend-mode:soft-light;opacity:0;width:56%;height:16%;transition:opacity 1.2s var(--ease-soft);background:radial-gradient(closest-side,#ffeec48c,#ffeec400);border-radius:50%;position:absolute;top:74%;left:50%;translate:-50% -50%}.world.is-waiting .world__pool{opacity:1;animation:pool-breathe 3.6s var(--ease-soft) infinite}@keyframes pool-breathe{50%{filter:brightness(1.25);scale:1.06}}.world__plate--dusk{opacity:var(--night)}.centre-light{mix-blend-mode:screen;pointer-events:none;min-width:11rem;animation:centre-light-in 1.2s var(--ease-soft) both;background:radial-gradient(closest-side,#ffecbebf,#ffecbe59 60%,#ffecbe00);border-radius:50%;position:absolute;translate:-50% -50%}@keyframes centre-light-in{0%{opacity:0}}.atmosphere{pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(at 50% 45%,#0000 55%,#5a344e29 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.45 0 0 0 0 0.45 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.landscape__empty{color:var(--ink);place-items:center;margin:0;display:grid;position:absolute;inset:0}.part{--d:calc(var(--scale) * 18cqmin);--hit:max(var(--d), 44px);width:0;height:0;transition:left var(--glide) var(--ease-soft), top var(--glide) var(--ease-soft), opacity .7s var(--ease-soft), filter .7s var(--ease-soft);position:absolute}.part__body{left:calc(var(--hit) / -2);top:calc(var(--hit) / -2);width:var(--hit);height:var(--hit);cursor:grab;touch-action:none;background:0 0;border:0;padding:0;position:absolute}.part.is-dragging .part__body{cursor:grabbing}.part__figure{width:var(--d);height:var(--d);transition:width var(--glide) var(--ease-soft), height var(--glide) var(--ease-soft);position:absolute;bottom:0;left:50%;translate:-50%}[data-mode=whatIf] .figure{filter:saturate(.88)brightness(.93)hue-rotate(-6deg)}.part[data-side=right] .part__figure{scale:-1 1}.part{--shadow-x:.5;--shadow-w:.5}.part[data-look=lantern]{--shadow-x:.42;--shadow-w:.38}.part[data-look=sleeper]{--shadow-x:.52;--shadow-w:.8}.part[data-look=defender],.part[data-look=pod]{--shadow-w:.45}.part[data-look=curled]{--shadow-w:.57}.part[data-look=selfhug]{--shadow-x:.49;--shadow-w:.41}.part[data-look=ribbon]{--shadow-x:.64;--shadow-w:.37}.part[data-look=kaleidoscope]{--shadow-x:.4;--shadow-w:.44}.part[data-look=stack]{--shadow-w:.42}.part[data-look=map]{--shadow-x:.48}.part[data-look=doodle]{--shadow-w:.65}.part[data-look=shell]{--shadow-x:.44;--shadow-w:.49}.figure{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;transition:filter var(--mode-fade) var(--ease-soft);position:absolute;inset:0}.figure__blink{opacity:0}.figure__blink.is-visible{opacity:1}.figure__lantern-rig{transform-origin:55.5% 39.1%;transition:rotate .95s var(--ease-soft);position:absolute;inset:0;rotate:0deg}.figure__lantern-rig.is-raised{rotate:-7deg}.figure__shadow{left:calc(var(--shadow-x) * 100%);width:calc(var(--shadow-w) * 100%);background:radial-gradient(closest-side,#342c286b,#342c2800);border-radius:50%;height:8%;position:absolute;bottom:5%;translate:-50% 50%}.figure__glow{mix-blend-mode:screen;width:30%;height:30%;opacity:var(--lantern);pointer-events:none;background:radial-gradient(closest-side,#ffd68cb3,#ffd68c00);border-radius:50%;position:absolute;top:40.8%;left:71.8%;translate:-50% -50%}.part__ring{left:calc(var(--shadow-x) * 100%);width:calc(var(--shadow-w) * 100% + 14px);height:max(calc(var(--d) * .12), 10px);opacity:0;transition:opacity .2s var(--ease-soft);border:2px solid #fffbf0f2;border-radius:50%;position:absolute;bottom:5%;translate:-50% 50%;box-shadow:0 0 14px #fff6dce6}.part.is-selected .part__ring{opacity:1}.part__body:focus-visible{outline:none}.part__body:focus-visible .part__ring{opacity:1;border-color:var(--focus);box-shadow:0 0 0 2px #ffffffe6}.part__handle{left:calc(var(--d) * (var(--shadow-x) + var(--shadow-w) / 2 - .5) + 12px);top:calc(var(--hit) / 2 - var(--d) * .05);background:var(--surface);border:1.5px solid var(--ink-soft);cursor:nwse-resize;touch-action:none;width:18px;height:18px;transition:left var(--glide) var(--ease-soft), top var(--glide) var(--ease-soft), opacity .6s var(--ease-soft);border-radius:50%;position:absolute;translate:-50% -50%;box-shadow:0 1px 3px #3a334040}.part[data-side=right] .part__handle{left:calc(var(--d) * (.5 - var(--shadow-x) + var(--shadow-w) / 2) + 12px)}.part__handle:before{content:"";border-radius:50%;position:absolute;inset:-10px}.part__tag{left:var(--label-left,0px);top:calc(var(--hit) / 2 + 8px);translate:var(--label-shift,-50%) 0;align-items:var(--label-align,center);pointer-events:none;width:max-content;max-width:min(18em,70cqw);transition:top var(--glide) var(--ease-soft), opacity .6s var(--ease-soft);flex-direction:column;gap:8px;display:flex;position:absolute}.part[data-label-x=start]{--label-left:-12px;--label-shift:0%;--label-align:flex-start;--label-text:left}.part[data-label-x=end]{--label-left:12px;--label-shift:-100%;--label-align:flex-end;--label-text:right}.part__label,.part__actions{white-space:nowrap;align-items:center;display:flex}.part__label{align-items:var(--label-align,center);background:var(--surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;flex-direction:column;gap:1px;max-width:100%;padding:4px 12px 5px}.part__name{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:var(--label-text,center);text-wrap:balance;font-size:.95rem;font-weight:600}.part__name--edit{color:inherit;font:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--ink-soft);text-decoration-color:var(--ink-soft);text-underline-offset:4px;cursor:text;pointer-events:auto;background:0 0;border:0;border-radius:8px;margin:-4px -6px;padding:4px 6px;font-size:.95rem;font-weight:600}.part__name--edit:hover{text-decoration-style:solid}.part__rename{border:1px solid var(--whatif-accent);width:14em;font:inherit;text-align:center;pointer-events:auto;background:#fff;border-radius:6px;padding:2px 6px;font-size:.95rem;font-weight:600}.part__actions{pointer-events:auto;gap:6px;justify-content:var(--label-align,center);flex-wrap:wrap}.part__words{align-items:var(--label-align,center);white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:var(--label-text,center);text-wrap:pretty;flex-direction:column;gap:3px;margin-top:4px;display:flex}.part__voice{font-family:var(--font-display);font-size:.92rem;font-style:italic}.part__intent{font-size:.85rem}.part__intent-label{color:var(--ink-soft);font-style:italic}.part[data-label-y=above] .part__tag{top:auto;bottom:calc(var(--hit) / 2 + 8px);flex-direction:column-reverse}.part__figures{justify-content:var(--label-align,center);pointer-events:auto;background:#fffbf6;border-radius:16px;flex-wrap:wrap;gap:6px;width:max-content;max-width:min(18rem,50cqw);padding:8px;display:flex;box-shadow:0 1px 4px #3a33401f}.part__figure-choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;width:52px;height:52px;padding:3px}.part__figure-choice:hover,.part__figure-choice:focus-visible{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus);outline:none}.part__figures .part__actions{flex-basis:100%}.figure-thumb{width:100%;height:100%;display:block;position:relative}.part__actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:36px;padding:6px 12px;font-size:.85rem;box-shadow:0 1px 4px #3a33401f}.part__sizes{gap:6px;display:flex}.part__actions .part__more{min-width:40px;padding:6px 10px;font-weight:700;line-height:1}.part__actions .part__more[aria-expanded=true]{border-color:var(--ink-soft);background:#f4ece4}.part.is-dragging,.part.is-dragging *{transition:none}.part.is-walking{animation:part-walk-in var(--walk) var(--ease-soft) both}.part.is-walking .part__figure{animation:part-trace var(--walk) linear both}.part.is-walking .figure{animation:.65s ease-in-out 3 part-step}.part.is-walking .part__tag,.part.is-walking .part__handle{animation:part-late var(--walk) var(--ease-soft) both}@keyframes part-walk-in{0%{translate:var(--walk-from) 0}}@keyframes part-trace{0%{opacity:0;filter:grayscale()brightness(1.7)contrast(.5)}20%,55%{opacity:.6;filter:grayscale()brightness(1.7)contrast(.5)}to{opacity:1;filter:none}}@keyframes part-step{50%{translate:0 -2%}}@keyframes part-late{0%,70%{opacity:0}}.figure-walk,.figure-walk__shadow{transform:translate(-200cqw)}.figure-walk{position:absolute;inset:0}.figure-walk__board{position:absolute}.figure-walk__canvas{width:100%;height:100%;position:absolute;inset:0}.figure-trail{pointer-events:none;width:100%;height:100%;transition:opacity 1.8s;position:absolute;top:0;left:0;overflow:visible}.figure-trail.is-faded{opacity:0}.figure-trail__stitches{fill:none;stroke:#ae9f86;stroke-width:max(2px, var(--d) * .0115);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:max(6px, var(--d) * .03) max(6.5px, var(--d) * .033)}.figure-trail__stitches--shade{stroke:#4a3a2c4d;translate:0 max(1px, var(--d) * .005)}.figure-trail__crayon{fill:none;stroke-width:calc(var(--d) * .017);stroke-linecap:round;stroke-linejoin:round;opacity:.9}.part.is-entering :is(.part__tag,.part__handle){opacity:0}.part.is-handing-over .part__figure>:is(.figure,.figure__shadow:not(.figure-walk__shadow),.figure__lantern-rig){animation:figure-in .5s var(--ease-soft) both}.part.is-handing-over .figure-walk__shadow{animation:figure-in .5s var(--ease-soft) reverse both}@keyframes figure-in{0%{opacity:0}}.link{--thread:#fff7ea;pointer-events:none;position:absolute;inset:0}.link__threads{filter:drop-shadow(0 1px 1.5px #3a334066);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.link__threads line{stroke-width:3px;stroke-linecap:round;stroke-dasharray:.1 7;vector-effect:non-scaling-stroke}.link__anchor{z-index:600;width:0;height:0;position:absolute}.link__knot{background:var(--thread);cursor:pointer;pointer-events:auto;border:1.5px solid #3a334066;border-radius:3px;width:14px;height:14px;padding:0;position:absolute;top:-7px;left:-7px;rotate:45deg;box-shadow:0 1px 3px #3a33404d}.link__knot:before{content:"";border-radius:50%;position:absolute;inset:-15px}.link.is-selected .link__knot,.link__knot:focus-visible{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #ffffffe6}.link__tag{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:18px;left:0;translate:-50%}.link__words{font-size:.95rem;font-weight:600}.card{--card-w:min(30rem, calc(100cqw - 32px));--card-top:min(calc(var(--frame-top) + var(--frame-h) * var(--below-house)), calc(100cqh - 15rem));z-index:1100;left:clamp(16px, calc(var(--card-x,50cqw) - var(--card-w) / 2), calc(100cqw - 16px - var(--card-w)));top:max(16px, var(--card-top));width:var(--card-w);max-height:calc(100cqh - max(16px, var(--card-top)) - 16px);outline-offset:-8px;-webkit-backdrop-filter:blur(10px)saturate(1.1);color:var(--ink);text-align:center;animation:card-in .55s var(--ease-soft) both;transition:background .4s var(--ease-soft), opacity .45s var(--ease-soft), translate .45s var(--ease-soft);background:#fffaf247;border:1.5px solid #fffcf6e6;border-radius:20px;outline:1px solid #c98a5e66;flex-direction:column;gap:14px;padding:22px 24px 20px;display:flex;position:absolute;box-shadow:0 10px 30px #3a33401a}.card-slot{display:contents}@container (aspect-ratio<.9){.card-slot{z-index:1100;top:16px;right:0;bottom:calc(100cqh - var(--frame-top) - var(--frame-h) * var(--house-top) + 14px);pointer-events:none;flex-direction:column;display:flex;position:absolute;left:0}.card{--card-x:calc(var(--frame-left) + var(--frame-w) * var(--house-x));pointer-events:auto;flex:none;max-height:calc(100cqh - 32px);margin-top:auto;position:relative;top:0}}.card:focus-within{background:#fffbf666}[data-mode=whatIf] .card{background:#fcf5f74d;outline-color:#7d507073}[data-mode=whatIf] .card:focus-within{background:#fdf8f966}@keyframes card-in{0%{opacity:0;translate:0 10px}}.card.is-waiting .card__lines,.card.is-waiting .card__field{opacity:.45}.card.is-away{opacity:0;pointer-events:none;translate:0 6px}.card-pill{z-index:1100;-webkit-backdrop-filter:blur(8px);color:#3a334099;font-family:var(--font-display);white-space:nowrap;pointer-events:none;animation:pill-in .45s var(--ease-soft) both;background:#fffaf238;border:1.5px solid #fffcf6b3;border-radius:999px;margin:0;padding:8px 22px;font-size:1rem;position:absolute;top:16px;left:50%;translate:-50%}@keyframes pill-in{0%{opacity:0}}@container (aspect-ratio<.9){.card-pill{flex:none;align-self:center;position:relative;top:0;left:auto;translate:none}}@media (prefers-reduced-motion:reduce){.card-pill{animation:none}}.card__lines{min-height:0;transition:opacity .4s var(--ease-soft);flex-direction:column;gap:10px;display:flex;overflow-y:auto}.card__line{font-family:var(--font-display);text-wrap:pretty;margin:0;font-size:1.08rem;line-height:1.45}.card__reply{flex-direction:column;gap:12px;display:flex}.card__choices{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.card__choice{overflow-wrap:anywhere;min-width:0;max-width:100%;min-height:40px;padding:7px 14px}.card__field{width:100%;color:var(--ink);font:inherit;resize:none;transition:opacity .4s var(--ease-soft);background:#ffffff4d;border:1px solid #3a334038;border-radius:12px;padding:10px 14px;font-size:1rem;line-height:1.4}.card__field:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.card__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.card__button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;min-width:9rem;min-height:44px;padding:8px 18px;font-size:.95rem}[data-mode=whatIf] .card__button{border-color:var(--whatif-accent-strong);background:var(--whatif-accent-strong)}.card__button--quiet,[data-mode=whatIf] .card__button--quiet{color:var(--ink);background:0 0;border-color:#3a334066}.card__button:disabled{opacity:.6;cursor:default}a.card__button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.dev-badge{z-index:1200;color:#fff;pointer-events:none;background:#3a3340bf;border-radius:6px;margin:0;padding:3px 8px;font-size:.72rem;position:absolute;bottom:8px;right:8px}.corner-undo{z-index:1200;top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;animation:corner-undo-in .3s var(--ease-soft) both;background:#fffaf2d9;border-radius:999px;padding:8px 16px;font-size:.9rem;position:fixed;box-shadow:0 2px 10px #3a334024}@keyframes corner-undo-in{0%{opacity:0}}.toast-region{z-index:10;position:fixed;bottom:20px;left:50%;translate:-50%}.toast{background:var(--ink);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:14px;padding:8px 8px 8px 18px;display:flex;box-shadow:0 6px 20px #3a334040}.toast button{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;min-height:36px;padding:6px 14px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.spike-walk{z-index:1150;pointer-events:none;position:fixed;inset:0}.spike-walk__canvas{width:100%;height:100%;display:block}.spike-walk__traveler{aspect-ratio:1;width:clamp(190px,34vmin,320px);position:absolute;top:50%;left:50%;translate:-50% -50%}.spike-walk__traveler--entering{transform:translate(-100vw)}.spike-walk__replay{pointer-events:auto;position:absolute;bottom:12px;left:12px}.spike-entrance{--figure:clamp(190px, 34vmin, 320px);z-index:1150;pointer-events:none;position:fixed;inset:0;overflow:hidden}.spike-entrance__canvas{width:100%;height:100%;display:block}.spike-entrance__traveler{width:calc(var(--figure) * var(--board-w) / var(--box));aspect-ratio:var(--board-w) / var(--board-h);translate:calc(-100% * var(--box-cx) / var(--board-w)) calc(-100% * var(--box-cy) / var(--board-h));position:absolute;top:50%;left:50%}.spike-entrance__traveler--entering{transform:translateY(-200vh)}.spike-entrance--from-left :is(.spike-entrance__traveler,.spike-entrance__shadow){transform:translate(-200vw)}.spike-entrance--from-right :is(.spike-entrance__traveler,.spike-entrance__shadow){transform:translate(200vw)}.spike-entrance__shadow{left:calc(50% + (var(--shadow-x) + var(--shadow-dx,0) - .5) * var(--figure));top:calc(50% + (var(--feet-y) - var(--box-cy)) / var(--box) * var(--figure));width:calc(var(--shadow-w) * var(--figure));height:calc(.08 * var(--figure));background:radial-gradient(closest-side,#342c286b,#342c2800);border-radius:50%;position:absolute;translate:-50% -50%}.spike-entrance__replay{pointer-events:auto;position:absolute;bottom:12px;left:12px}.spike-entrance__trail{width:100%;height:100%;transition:opacity 1.8s;position:absolute;inset:0}.spike-entrance__trail--faded{opacity:0}.spike-entrance__stitches{fill:none;stroke:#ae9f86;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:9 10}.spike-entrance__stitches--shade{stroke:#4a3a2c4d;translate:0 1.5px}.spike-entrance__crayon{fill:none;stroke:url(#spike-crayon);stroke-width:calc(var(--figure) * .017);stroke-linecap:round;stroke-linejoin:round;opacity:.9}.landscape__scene{--zoom:clamp(1.25, calc(1.9 / var(--cam-scale,1)), 1.6);--focus-x:var(--cam-side,.2);--focus-y:.6;transform-origin:0 0;transition:transform var(--camera) var(--ease-soft);position:absolute;inset:0}@container (aspect-ratio<.9){.landscape__scene{--zoom:clamp(1.4, calc(2.2 / var(--cam-scale,1)), 1.8);--focus-x:.5;--focus-y:.74}}.landscape__scene.is-focused{transform:translate(clamp(calc((1 - var(--zoom)) * 100%), calc((var(--focus-x) - var(--zoom) * var(--cam-x)) * 100%), 0%), clamp(calc((1 - var(--zoom)) * 100%), calc((var(--focus-y) - var(--zoom) * var(--cam-y)) * 100%), 0%)) scale(var(--zoom))}.landscape__scene.is-focused .part:not(.is-focus),.landscape__scene.is-focused .link{opacity:.45;filter:saturate(.5)blur(1.2px)}.landscape__scene.is-focused :is(.part__tag,.part__handle,.link__anchor){opacity:0;pointer-events:none}.landscape__scene.is-focused :is(.part__body,.link){pointer-events:none}.link{transition:opacity .7s var(--ease-soft), filter .7s var(--ease-soft)}.landscape__scene.is-choosing .part.is-offered .part__ring{opacity:1;animation:offered 2.4s var(--ease-soft) infinite}.landscape__scene.is-choosing .part.is-offered .part__body{cursor:pointer}.landscape__scene.is-choosing .part:not(.is-offered){opacity:.55;filter:saturate(.5)blur(1px)}@keyframes offered{50%{scale:1.06;box-shadow:0 0 22px #fff6dc}}.card--hinted .card__line+.card__line{color:var(--ink-soft);font-size:.95rem}.part.is-thanked{--lantern:1}.part.is-thanked .part__figure{filter:drop-shadow(0 0 10px #ffdc96b3)drop-shadow(0 0 28px #ffcd8259);animation:thanked 2.2s var(--ease-soft) both}@keyframes thanked{0%{filter:drop-shadow(0 0 #ffdc9600)drop-shadow(0 0 #ffcd8200)}45%{filter:drop-shadow(0 0 22px #ffd68c)drop-shadow(0 0 60px #ffc46ecc)}}.speech,.speech-intent{z-index:1050;pointer-events:none;width:max-content;animation:speech-in .6s var(--ease-soft) both;margin:0;position:absolute}.speech{max-width:min(16rem,100cqw - 32px);color:var(--ink);font-family:var(--font-display);text-align:center;text-wrap:pretty;background:#fffaf2;border:2px dashed #c98a5e73;border-radius:18px;padding:10px 16px;font-size:1.05rem;font-style:italic;line-height:1.35;box-shadow:0 6px 18px #3a33402e}.speech:after{content:"";left:var(--tail,50%);background:#fffaf2;border-bottom:2px dashed #c98a5e73;border-right:2px dashed #c98a5e73;width:16px;height:16px;position:absolute;bottom:-9px;translate:-50%;rotate:45deg}.speech-intent{max-width:min(20rem,100cqw - 32px);color:var(--ink);text-align:center;background:#fffbf6e6;border-radius:999px;padding:5px 12px;font-size:.85rem;line-height:1.35;box-shadow:0 2px 10px #3a334026}.speech-intent__label{color:var(--ink-soft)}@keyframes speech-in{0%{opacity:0;translate:0 6px}}.part.is-marked .part__ring{opacity:.85}.card__aside{min-height:44px;color:var(--ink-soft);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:6px 12px;font-size:.85rem;text-decoration:underline}.card__aside:disabled{cursor:default;opacity:.6}.card__aside:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.app[data-beat=ending]{--night:1;--lantern:1}[data-beat=ending] .figure{filter:saturate(.88)brightness(.93)hue-rotate(-6deg)}.ending-veil{z-index:1040;animation:veil-in .9s var(--ease-soft) both;background:linear-gradient(#3c28461a,#3c284659);position:absolute;inset:0}@keyframes veil-in{0%{opacity:0}}.postcard{z-index:1060;top:16px;right:16px;bottom:calc(100cqh - max(16px, min(calc(var(--frame-top) + var(--frame-h) * var(--below-house)), calc(100cqh - 15rem))) + 24px);pointer-events:none;justify-content:center;align-items:flex-end;margin:0;display:flex;position:absolute;left:16px}.postcard__image{max-width:min(100%,34rem);min-height:0;max-height:100%;animation:postcard-in .9s var(--ease-soft) both;pointer-events:auto;border-radius:6px;rotate:-2deg;box-shadow:0 14px 34px #281c3259}@keyframes postcard-in{0%{opacity:0;translate:0 14px;rotate:0deg}}@container (aspect-ratio<.9){.postcard{top:calc(var(--frame-top) + var(--frame-h) * var(--house-top) + 6px);align-items:flex-start;bottom:16px}}@media (prefers-reduced-motion:reduce){.ending-veil,.postcard__image{animation:none}.landscape__scene{transition:none}.landscape__scene.is-choosing .part.is-offered .part__ring,.part.is-thanked .part__figure,.speech,.speech-intent{animation:none}}
