.ice-layer,.ice-presence{--ip-light:#7fe4ff;--ip-ink:#eaf4ff;--ip-void:#03060f}.ice-presence{position:fixed;z-index:40;left:50%;bottom:clamp(2rem,6vh,4rem);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1.1rem;pointer-events:none}.ice-presence>*{pointer-events:auto}.ice-orb{appearance:none;border:0;background:none;padding:0;cursor:pointer;position:relative;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;transition:width 1.6s cubic-bezier(.16,1,.3,1),height 1.6s cubic-bezier(.16,1,.3,1),opacity 1.6s ease}.ice-orb:before{content:"";position:absolute;inset:-180%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ip-light) 26%,transparent) 0,color-mix(in srgb,var(--ip-light) 8%,transparent) 38%,transparent 72%);filter:blur(6px);opacity:.5;transition:opacity 1.6s ease,inset 1.6s cubic-bezier(.16,1,.3,1);pointer-events:none}.ice-orb-core{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 38% 32%,color-mix(in srgb,#ffffff 88%,var(--ip-light)) 0,color-mix(in srgb,var(--ip-light) 62%,transparent) 22%,color-mix(in srgb,var(--ip-light) 16%,transparent) 52%,transparent 72%),radial-gradient(circle at 62% 74%,color-mix(in srgb,var(--ip-light) 22%,transparent) 0,transparent 60%);box-shadow:inset 0 0 12px color-mix(in srgb,var(--ip-light) 22%,transparent),0 0 26px -8px color-mix(in srgb,var(--ip-light) 70%,transparent)}.ice-orb-core:after{content:"";position:absolute;inset:-12%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 14deg,color-mix(in srgb,var(--ip-light) 42%,transparent) 16deg 18deg,transparent 20deg 62deg,color-mix(in srgb,var(--ip-ink) 30%,transparent) 64deg 66deg,transparent 68deg 128deg,color-mix(in srgb,var(--ip-light) 34%,transparent) 130deg 133deg,transparent 135deg 214deg,color-mix(in srgb,var(--ip-light) 28%,transparent) 216deg 219deg,transparent 221deg 300deg,color-mix(in srgb,var(--ip-ink) 24%,transparent) 302deg 305deg,transparent 307deg 1turn);-webkit-mask-image:radial-gradient(closest-side,transparent 44%,#000 58%,transparent 84%);mask-image:radial-gradient(closest-side,transparent 44%,#000 58%,transparent 84%);filter:blur(.5px);opacity:.85;pointer-events:none}.ice-presence[data-state=dormant] .ice-orb{width:2.6rem;height:2.6rem;opacity:.36}.ice-presence[data-state=dormant] .ice-orb:before{opacity:.28}.ice-presence[data-state=awake] .ice-orb{width:5.25rem;height:5.25rem;opacity:1}.ice-presence[data-state=awake] .ice-orb:before{inset:-230%;opacity:.72}.ice-orb:hover{opacity:1}.ice-orb:focus-visible{outline:1px solid color-mix(in srgb,var(--ip-light) 70%,transparent);outline-offset:10px}.ice-call{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;animation:ice-rise 1.4s cubic-bezier(.16,1,.3,1) both}.ice-call-title{margin:0;font-size:clamp(.7rem,2.4vw,.82rem);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--ip-ink);text-shadow:0 0 22px color-mix(in srgb,var(--ip-light) 45%,transparent)}.ice-call-line{margin:0;font-family:var(--font-bodoni),Didot,serif;font-style:italic;font-size:clamp(.95rem,3vw,1.1rem);color:color-mix(in srgb,var(--ip-ink) 66%,transparent)}@keyframes ice-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ice-layer{position:fixed;inset:0;z-index:60;display:grid;background:radial-gradient(ellipse at 50% 26%,color-mix(in srgb,var(--ip-light) 9%,transparent) 0,transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--ip-void) 97%,transparent) 0,color-mix(in srgb,#000 96%,transparent) 100%);backdrop-filter:blur(34px) saturate(.7) brightness(.5);-webkit-backdrop-filter:blur(34px) saturate(.7) brightness(.5);animation:ice-deepen .9s cubic-bezier(.16,1,.3,1) both;overscroll-behavior:contain}@keyframes ice-deepen{0%{opacity:0;backdrop-filter:blur(0) saturate(1)}to{opacity:1}}.ice-layer-inner{width:min(38rem,100%);margin:0 auto;padding:clamp(4rem,12vh,7rem) clamp(1.4rem,5vw,2rem) clamp(1.5rem,5vh,2.5rem);gap:clamp(1.6rem,5vh,2.4rem);overflow-y:auto;max-height:100%}.ice-head,.ice-layer-inner{display:flex;flex-direction:column}.ice-head{align-items:center;gap:.9rem;text-align:center}.ice-head .ice-orb{width:3.4rem;height:3.4rem;cursor:default}.ice-title{margin:0;font-size:clamp(.72rem,2.6vw,.86rem);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--ip-ink)}.ice-sub{margin:0;font-family:var(--font-bodoni),Didot,serif;font-style:italic;font-size:clamp(1rem,3.2vw,1.2rem);color:color-mix(in srgb,var(--ip-ink) 62%,transparent)}.ice-thread{gap:clamp(1.4rem,4vh,1.9rem)}.ice-thread,.ice-turn{display:flex;flex-direction:column}.ice-turn{gap:.5rem}.ice-who{margin:0;font-size:.58rem;letter-spacing:.36em;text-transform:uppercase}.ice-turn.is-guest .ice-who{color:color-mix(in srgb,var(--ip-ink) 40%,transparent)}.ice-turn.is-tmtc .ice-who{color:color-mix(in srgb,var(--ip-light) 78%,transparent)}.ice-said{margin:0;font-size:clamp(.95rem,3.2vw,1.02rem);line-height:1.7;max-width:42ch;white-space:pre-wrap;overflow-wrap:anywhere;color:color-mix(in srgb,var(--ip-ink) 90%,transparent)}.ice-turn.is-guest .ice-said{color:color-mix(in srgb,var(--ip-ink) 52%,transparent)}.ice-thinking{display:flex;align-items:center;gap:.7rem;font-size:.58rem;letter-spacing:.36em;text-transform:uppercase;color:color-mix(in srgb,var(--ip-light) 60%,transparent)}.ice-thinking i{width:3.2rem;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ip-light) 80%,transparent),transparent);background-size:200% 100%;animation:ice-drift 2.6s ease-in-out infinite}@keyframes ice-drift{0%,to{background-position:200% 0}50%{background-position:-60% 0}}.ice-composer{display:flex;flex-direction:column;gap:1rem}.ice-input{appearance:none;background:none;border:0;border-bottom:1px solid color-mix(in srgb,var(--ip-ink) 20%,transparent);border-radius:0;color:var(--ip-ink);font-family:var(--font-bodoni),Didot,serif;font-size:clamp(1.05rem,4vw,1.25rem);line-height:1.5;padding:.4rem 0 .8rem;width:100%;resize:none;transition:border-color .5s ease}.ice-input::placeholder{color:color-mix(in srgb,var(--ip-ink) 34%,transparent)}.ice-input:focus{outline:none;border-color:color-mix(in srgb,var(--ip-light) 66%,transparent)}.ice-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.ice-send{appearance:none;background:none;cursor:pointer;border:1px solid color-mix(in srgb,var(--ip-ink) 22%,transparent);color:var(--ip-ink);font:inherit;font-size:clamp(.62rem,2.4vw,.7rem);letter-spacing:.34em;text-transform:uppercase;padding:.95rem 1.9rem;transition:border-color .5s ease,color .5s ease}.ice-send:hover:not(:disabled){border-color:color-mix(in srgb,var(--ip-light) 70%,transparent);color:color-mix(in srgb,var(--ip-light) 90%,transparent)}.ice-send:disabled{opacity:.35;cursor:default}.ice-quiet{appearance:none;background:none;border:0;cursor:pointer;color:color-mix(in srgb,var(--ip-ink) 46%,transparent);font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;padding:.95rem .2rem}.ice-quiet:hover{color:var(--ip-ink)}.ice-disclose{margin:0;max-width:46ch;font-size:.72rem;line-height:1.75;color:color-mix(in srgb,var(--ip-ink) 38%,transparent)}.ice-note{margin:0;font-size:.82rem;line-height:1.7;max-width:42ch;color:color-mix(in srgb,var(--ip-ink) 52%,transparent)}.ice-foot{margin:0;text-align:center;font-size:.56rem;letter-spacing:.4em;line-height:2.2;text-transform:uppercase;color:color-mix(in srgb,var(--ip-ink) 26%,transparent)}.ice-close{position:absolute;top:clamp(1rem,3vh,1.8rem);right:clamp(1rem,4vw,2rem);appearance:none;background:none;border:0;cursor:pointer;color:color-mix(in srgb,var(--ip-ink) 50%,transparent);padding:.8rem;line-height:0}.ice-close:hover{color:var(--ip-ink)}.ice-close svg{width:18px;height:18px}@media (max-width:47.99rem){.ice-presence{left:auto;right:clamp(1rem,5vw,1.4rem);bottom:calc(env(safe-area-inset-bottom, 0px) + clamp(1.2rem, 4vh, 2rem));transform:none;align-items:flex-end}.ice-call{align-items:flex-end;text-align:right}.ice-call-title{letter-spacing:.32em;text-indent:.32em}.ice-layer{height:100dvh}.ice-layer-inner{padding:calc(env(safe-area-inset-top, 0px) + 3.4rem) clamp(1.2rem,5vw,1.6rem) calc(env(safe-area-inset-bottom, 0px) + 1.2rem);gap:1.5rem;min-height:100%}.ice-head .ice-orb{width:2.8rem;height:2.8rem}.ice-foot{display:none}}@media (prefers-reduced-motion:reduce){.ice-orb,.ice-orb:before{transition:none}.ice-call,.ice-layer,.ice-orb-core:after{animation:none}.ice-thinking i{animation:none;opacity:.7}}@media (prefers-reduced-motion:no-preference){.ice-orb-core:after{animation:ice-turn 80s linear infinite}@keyframes ice-turn{to{transform:rotate(1turn)}}}