:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4ecdf;background:#050913;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{position:relative;width:100%;height:100%;height:100dvh;background:#050913}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.top-controls{position:absolute;top:calc(18px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.top-controls button{border:1px solid rgba(255,255,255,.12);color:#efe5d4;background:#080a0ec7;border-radius:999px;padding:10px 15px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.weather-dev{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:16rem}.weather-dev button{padding:6px 10px;font-size:.72rem;letter-spacing:.04em}.weather-dev button.is-active{border-color:#ffd2a073;background:#281c12e0}.floating-story{position:relative;width:min(30rem,88vw);min-height:4.5rem;margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:visible;will-change:transform;transform:translateZ(0)}.floating-story__aura{position:absolute;left:50%;top:45%;width:18rem;height:7rem;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:0;will-change:opacity}.floating-story__glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at center,#ff964638,#ff6e281a 38%,#ff501400 72%);filter:blur(2px)}.floating-story__wisp{position:absolute;left:50%;top:55%;width:2.4rem;height:3.6rem;margin-left:-1.2rem;border-radius:60% 60% 45% 45%;background:radial-gradient(ellipse at 50% 70%,#ffc87859,#ff782824 45%,#ff501400 78%);filter:blur(3px);will-change:transform,opacity;opacity:0}.floating-story__wisp--a{margin-left:-2.4rem}.floating-story__wisp--b{margin-left:-.6rem;height:4.2rem}.floating-story__wisp--c{margin-left:.8rem;height:3.2rem}.floating-story__guide{position:absolute;left:50%;top:40%;width:7px;height:7px;margin:0;border-radius:50%;background:radial-gradient(circle,#ffc56a,#ff8a2a 48%,#ff5a1400 74%);box-shadow:0 0 10px #ff8c32d9,0 0 20px #ff641e66;pointer-events:none;z-index:2;opacity:0;will-change:transform,opacity;transform:translate3d(-50%,110px,0)}.floating-story__text{position:relative;z-index:1;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:clamp(1.22rem,2.35vw,1.55rem);line-height:1.5;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;filter:drop-shadow(0 1px 1px rgba(8,4,0,.72)) drop-shadow(0 0 10px rgba(20,10,0,.45)) drop-shadow(0 0 18px rgba(255,140,55,.16))}.floating-story__line{display:inline}.floating-story__word{display:inline-block;white-space:nowrap}.floating-story__letter{display:inline-block;white-space:pre;opacity:0;will-change:opacity;color:#f2e6d2;background:none}.floating-story__letter--punct{margin-left:.015em;color:#edd6b4}.floating-story__letter--space{background:none;color:transparent}.floating-story__embers{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:3}.floating-story__ash{position:absolute;left:0;top:0;width:3px;height:3px;border-radius:50%;opacity:0;background:radial-gradient(circle,#ffe7a8,#ff9a3a 45%,#ff5a1400 72%);box-shadow:0 0 8px #ff963c8c;pointer-events:none;will-change:transform,opacity;transform:translateZ(0)}.spark-invites{position:absolute;left:50%;bottom:calc(36px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;pointer-events:none}.spark-invite{position:relative;display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.35rem .55rem;border:0;border-radius:0;background:transparent;color:#e8d6bc6b;font-size:.92rem;font-weight:400;letter-spacing:.02em;cursor:pointer;pointer-events:auto;transition:color .45s ease}.spark-invite:hover,.spark-invite:focus-visible{color:#f2e0c6b8;outline:none}.spark-invite__mark{font-size:.85rem;opacity:.75}.spark-another{opacity:0;pointer-events:none;transition:color .45s ease,opacity .7s ease}.spark-another.is-present{opacity:1;pointer-events:auto}.spark-another:disabled{cursor:default}.spark-invites:has(.spark-invite:not(.spark-another)) .spark-another{position:absolute;left:50%;bottom:calc(100% + .15rem);transform:translate(-50%)}.spark-paper{--paper-fade: .7s;--spark-vv-height: 100dvh;--spark-kb-inset: 0px;--paper-ink: #2c2118;--paper-ink-soft: #4a3a2c;position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:calc(1.25rem + env(safe-area-inset-top,0px)) calc(1.25rem + env(safe-area-inset-right,0px)) calc(1.25rem + env(safe-area-inset-bottom,0px) + var(--spark-kb-inset)) calc(1.25rem + env(safe-area-inset-left,0px));background:#06090e00;opacity:0;transition:opacity var(--paper-fade) cubic-bezier(.22,.61,.36,1),background var(--paper-fade) cubic-bezier(.22,.61,.36,1),padding-bottom .2s ease;pointer-events:none;overflow:hidden}.spark-paper--dormant{visibility:hidden}.spark-paper--present{opacity:1;background:#05080c47;pointer-events:auto}.spark-paper--keyboard{align-items:flex-end;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px) + var(--spark-kb-inset))}.spark-paper--leaving{pointer-events:none;opacity:0;background:#06090e14;transition:opacity 1s cubic-bezier(.4,0,.2,1),background 1s cubic-bezier(.4,0,.2,1)}.spark-paper--leaving .spark-paper__page{transform:translateY(-10px) scale(.985);opacity:.25;transition:transform 1.05s cubic-bezier(.33,0,.2,1),opacity .9s cubic-bezier(.33,0,.2,1)}.spark-paper--leaving .spark-paper__input{color:#2c21188c;transition:color .65s ease}.spark-paper--aborting{pointer-events:none;opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1)}.spark-paper--aborting .spark-paper__page{transform:translateY(8px);opacity:0;transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .55s ease}.spark-paper__page{width:min(34.5rem,92vw);height:auto;max-height:min(66vh,calc(var(--spark-vv-height) - 2.5rem));box-shadow:0 14px 40px #00000061,0 2px 8px #0000002e,0 0 0 1px #281c101f;transform:translateY(14px) scale(.985);opacity:0;border-radius:2px 3px 2px 2px;transition:transform calc(var(--paper-fade) + .1s) cubic-bezier(.22,.61,.36,1),opacity var(--paper-fade) cubic-bezier(.22,.61,.36,1),max-height .2s ease}.spark-paper--present .spark-paper__page{transform:translateY(0) scale(1);opacity:1}.spark-paper--keyboard .spark-paper__page{max-height:min(66vh,calc(var(--spark-vv-height) - 1rem))}.spark-paper__sheet{position:relative;isolation:isolate;width:100%;display:flex;flex-direction:column;padding:1.55rem 1.65rem 1.15rem;color:var(--paper-ink);background:radial-gradient(ellipse 110% 70% at 12% 8%,rgba(255,250,235,.7) 0%,transparent 48%),radial-gradient(ellipse 80% 60% at 92% 18%,rgba(170,140,100,.12) 0%,transparent 50%),radial-gradient(ellipse 100% 80% at 78% 92%,rgba(130,100,70,.16) 0%,transparent 55%),linear-gradient(172deg,#f0e5cf,#e6d6bb,#dcc9ab 68%,#e3d2b6);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif;overflow:hidden;cursor:text;border-radius:inherit}.spark-paper__grain{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.11;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:120px 120px}.spark-paper__wear{position:absolute;inset:0;z-index:0;pointer-events:none;box-shadow:inset 0 0 36px #46321e1a,inset -20px -24px 40px #5a442812,inset 14px 12px 28px #fff5dc14}.spark-paper__wear:before,.spark-paper__wear:after{content:none}.spark-paper__sheet>*:not(.spark-paper__grain):not(.spark-paper__wear):not(.spark-paper__close){position:relative;z-index:1}.spark-paper__close{position:absolute;top:.4rem;right:.55rem;left:auto;z-index:4;width:2.25rem;height:2.25rem;margin:0;padding:0;border:0;background:transparent;color:#2c21187a;font-size:1.45rem;line-height:1;cursor:pointer;transition:color .25s ease}.spark-paper__close:hover{color:#2c2118b3}.spark-paper__close:focus-visible{color:#2c2118cc;outline:1px solid rgba(70,50,30,.4);outline-offset:2px;border-radius:2px}.spark-paper__prompt{flex-shrink:0;margin:.15rem 1.4rem .7rem 0;padding:0;text-align:left;color:var(--paper-ink-soft);font-size:1.02rem;font-style:italic;font-weight:400;line-height:1.4;letter-spacing:.01em;opacity:0;transform:translateY(5px);transition:opacity .85s cubic-bezier(.22,.61,.36,1) .12s,transform .85s cubic-bezier(.22,.61,.36,1) .12s,color .45s ease}.spark-paper--present .spark-paper__prompt{opacity:1;transform:none}.spark-paper--has-words .spark-paper__prompt{color:#4a3a2cb8}.spark-paper__input{flex:0 1 auto;width:100%;min-height:7.5rem;max-height:14rem;margin:0;padding:.05rem .05rem .5rem;border:0;border-radius:0;resize:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;background:transparent;color:var(--paper-ink);caret-color:#8c5830d9;font:inherit;font-size:clamp(1.625rem,2.7vw,1.875rem);line-height:1.52;letter-spacing:.008em;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none}.spark-paper__input::-webkit-scrollbar{width:0;height:0;display:none}.spark-paper__input:focus,.spark-paper__input:focus-visible{outline:none;border:0;box-shadow:none}.spark-paper__input::selection{background:#be8c4647;color:var(--paper-ink)}.spark-paper__input:disabled{opacity:1;color:var(--paper-ink);-webkit-text-fill-color:var(--paper-ink)}.spark-paper__footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-top:.85rem;padding-top:0;border:0;background:none;cursor:default}.spark-paper__hint{color:#3a2c20b8;font-size:.9rem;font-style:italic;max-width:13.5rem;line-height:1.35}.spark-paper--has-words .spark-paper__hint{color:#3a2c20ad}.spark-paper__offer{flex-shrink:0;margin:0 0 0 auto;min-height:2.75rem;min-width:6.75rem;padding:.5rem .1rem;border:0;border-radius:0;background:transparent;color:#3a2a1c8c;font:inherit;font-size:1.08rem;font-style:italic;font-weight:400;letter-spacing:.02em;box-shadow:none;cursor:default;transition:color .3s ease,box-shadow .3s ease;-webkit-tap-highlight-color:transparent}.spark-paper--has-words .spark-paper__offer:not(:disabled){color:#241a10eb;cursor:pointer;box-shadow:inset 0 -1px #2c201473}.spark-paper__offer:hover:not(:disabled),.spark-paper__offer:focus-visible:not(:disabled){color:#1c140cfa;box-shadow:inset 0 -1px #241a10a6;outline:none}.spark-paper__offer:focus-visible:not(:disabled){outline:1px solid rgba(70,50,30,.35);outline-offset:4px}.spark-paper__offer:active:not(:disabled){color:#3a2a1cb3}.spark-paper__offer:disabled{cursor:default}.spark-paper--leaving .spark-paper__offer,.spark-paper--leaving .spark-paper__hint,.spark-paper--leaving .spark-paper__close{opacity:0;transition:opacity .35s ease}.look-hint{position:absolute;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);color:#ffffff5c;font-size:.78rem;pointer-events:none;z-index:3;text-align:center;max-width:min(22rem,calc(100vw - 2.5rem));line-height:1.4}.look-hint--welcome{color:#f2e6d280;letter-spacing:.02em}.spark-paper__hint--offer{color:#483020d1;font-style:italic}footer{position:absolute;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));color:#ffffff6b;font-size:.78rem;pointer-events:none;z-index:3}.spark-retry{position:absolute;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:4;border:0;background:transparent;color:#e8dcc461;font-size:.72rem;letter-spacing:.02em;cursor:pointer;padding:.2rem .35rem}.spark-retry:hover,.spark-retry:focus-visible{color:#e8dcc49e;outline:none}.spark-retry:disabled{opacity:.5;cursor:default}@media(max-width:640px){.floating-story{width:min(22rem,calc(100vw - 2.75rem))}.floating-story__aura{width:16rem}.floating-story__text{font-size:clamp(1.12rem,4.2vw,1.28rem);line-height:1.48}.spark-invites{bottom:calc(22px + env(safe-area-inset-bottom,0px))}.spark-invite{font-size:.88rem}.look-hint{bottom:calc(56px + env(safe-area-inset-bottom,0px))}.spark-paper{align-items:center;padding:calc(.55rem + env(safe-area-inset-top,0px)) calc(.65rem + env(safe-area-inset-right,0px)) calc(.55rem + env(safe-area-inset-bottom,0px) + var(--spark-kb-inset)) calc(.65rem + env(safe-area-inset-left,0px))}.spark-paper--keyboard{align-items:flex-end}.spark-paper__page{width:min(34.5rem,94vw);max-height:min(62vh,calc(var(--spark-vv-height) - 1.2rem))}.spark-paper--keyboard .spark-paper__page{max-height:min(62vh,calc(var(--spark-vv-height) - .7rem))}.spark-paper__sheet{padding:1.25rem 1.2rem .95rem}.spark-paper__prompt{margin:.05rem 1.2rem .55rem 0;font-size:.98rem}.spark-paper__input{min-height:6.5rem;max-height:11rem;font-size:1.55rem;line-height:1.5}.spark-paper__footer{margin-top:.65rem;gap:.55rem;min-height:2.75rem}.spark-paper__hint{font-size:.84rem;max-width:10.5rem;color:#3a2c20bd}.spark-paper__offer{font-size:1.05rem;min-height:2.75rem;padding:.5rem .05rem}footer{display:none}.spark-retry{bottom:calc(12px + env(safe-area-inset-bottom,0px));right:calc(12px + env(safe-area-inset-right,0px))}}@media(prefers-reduced-motion:reduce){.spark-invite,.spark-another{transition:none}.spark-paper,.spark-paper__page,.spark-paper__prompt,.spark-paper__offer,.spark-paper__hint,.spark-paper--leaving .spark-paper__page,.spark-paper--aborting .spark-paper__page{transition:none!important;animation:none!important}.spark-paper__page{transform:none}.spark-paper__grain{opacity:.07}}
