.chat-page{--chat-width:min(72rem, 95%);--art-alpha:1;--art-blur:0px;--art-lift:0%;--art-zoom:1;--glow-alpha:1;isolation:isolate;background:var(--gp-ground);min-height:0;color:var(--gp-ink);flex-direction:column;flex:1;display:flex;position:relative;overflow:clip}.chat-page.dim{--art-alpha:.3;--art-blur:3px;--art-lift:1.5%;--art-zoom:1.04;--glow-alpha:.45}@media (max-width:768px){.chat-page{--art-alpha:0;--glow-alpha:.6}.chat-page.dim{--art-alpha:.2;--glow-alpha:.3}}.chat-page .chat-bg{--bg-w:min(38vw + 32rem, 80rem);--bg-bleed:max(0px, (var(--bg-w) - 100vw) * .6);z-index:-1;right:calc(var(--bg-bleed) * -1);bottom:calc(var(--bg-w) * -.12);width:var(--bg-w);pointer-events:none;-webkit-user-select:none;user-select:none;filter:opacity(var(--art-alpha)) blur(var(--art-blur)) var(--gp-art-tint);transform:translateY(var(--art-lift)) scale(var(--art-zoom));transition:filter .9s var(--gp-ease), transform .9s var(--gp-ease);-webkit-mask-image:radial-gradient(108% 105% at right calc(13rem + var(--bg-bleed)) bottom 10%, black 14%, transparent 84%);mask-image:radial-gradient(108% 105% at right calc(13rem + var(--bg-bleed)) bottom 10%, black 14%, transparent 84%);animation:.9s ease-out .4s backwards app-fade-in;position:absolute}.chat-page .chat-glow{--glow-size:clamp(24rem, 45vw, 44rem);z-index:-1;top:calc(var(--glow-size) * -.32);right:calc(var(--glow-size) * -.32);width:var(--glow-size);height:var(--glow-size);background:radial-gradient(closest-side, color-mix(in srgb, var(--gp-accent) 9%, transparent), color-mix(in srgb, var(--gp-accent) 3%, transparent) 45%, transparent 80%);pointer-events:none;filter:opacity(var(--glow-alpha));transition:filter .9s var(--gp-ease);animation:.9s ease-out .4s backwards app-fade-in;position:fixed}.chat-page .scroller{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto;transform:translateZ(0);-webkit-mask-image:linear-gradient(#0000 0,#000 2rem calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(#0000 0,#000 2rem calc(100% - 1.5rem),#0000 100%)}.chat-page .transcript{width:var(--chat-width);flex-direction:column;flex:1 0 auto;margin:0 auto;display:flex}.chat-page .msgs{flex-direction:column;gap:.75rem;padding:2rem 0;display:flex}.chat-page .confirm-button{background:var(--gp-accent);color:var(--gp-on-accent);box-shadow:0 4px 14px color-mix(in srgb, var(--gp-accent) 22%, transparent);cursor:pointer;transition:background .2s var(--gp-ease), transform .2s var(--gp-ease), box-shadow .2s var(--gp-ease), opacity .2s var(--gp-ease);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.625rem 1.375rem;font-size:.875rem;font-weight:600;display:flex}.chat-page .confirm-button:hover{background:var(--gp-accent-deep);box-shadow:0 6px 18px color-mix(in srgb, var(--gp-accent) 28%, transparent);transform:translateY(-1px)}.chat-page .confirm-button:disabled{opacity:.8;pointer-events:none}.chat-page .confirm-button.saved{background:var(--gp-success);box-shadow:0 4px 14px color-mix(in srgb, var(--gp-success) 25%, transparent);animation:.6s ease-out app-pulse}.chat-page .confirm-button.error{background:var(--gp-danger);box-shadow:0 4px 14px color-mix(in srgb, var(--gp-danger) 25%, transparent)}.chat-page .chat-records-failed{color:var(--gp-ink-muted);margin:0;font-size:.8125rem}.chat-page .chat-records{contain:layout style;flex-direction:column;gap:.5rem;display:flex}.chat-page .chat-records>.aspect-record{width:-moz-fit-content;width:fit-content;max-width:90%;animation:app-fade-in-up .4s var(--gp-ease) backwards}.chat-page .chat-records .aspect-record-gutter{width:var(--gutter-width);transition:opacity .22s}.chat-page .chat-records .aspect-record-card{container-type:normal}@media (max-width:768px){.chat-page .chat-records>.aspect-record{width:100%;max-width:100%}.chat-page .chat-records .aspect-record-card{container-type:inline-size}}.chat-page .err-msg{background:color-mix(in srgb, var(--gp-danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--gp-danger) 20%, transparent);max-width:17.5rem;color:var(--gp-danger);border-radius:.5rem;align-self:flex-start;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;animation:.2s ease-out app-fade-in;display:flex}.chat-page .err-msg .error-icon{flex-shrink:0;margin-top:.1rem}@keyframes drop-overlay-card-enter{0%{opacity:0;transform:scale(.95)}}.drop-overlay{background:color-mix(in srgb, var(--gp-ground) 67%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.drop-overlay .card{border:2px dashed color-mix(in srgb, var(--gp-accent) 45%, transparent);background:var(--gp-ground);box-shadow:0 12px 40px color-mix(in srgb, var(--gp-accent) 12%, transparent);border-radius:1.5rem;flex-direction:column;align-items:center;gap:.25rem;padding:2.5rem 3.5rem;animation:.2s drop-overlay-card-enter;display:flex}.drop-overlay .icon{background:color-mix(in srgb, var(--gp-accent) 10%, transparent);width:3rem;height:3rem;color:var(--gp-accent-deep);border-radius:50%;place-items:center;margin-bottom:.5rem;display:grid}.drop-overlay .title{color:var(--gp-ink);font-size:1.125rem;font-weight:600}.drop-overlay .hint{color:var(--gp-ink-muted);font-size:.875rem}.lightbox{z-index:100;cursor:pointer;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox .lightbox-image{border-radius:1rem;max-width:92vw;max-height:92dvh;box-shadow:0 25px 50px -12px #00000040}.composer-dock{flex-shrink:0;position:relative}.scroll-button{z-index:40;background:color-mix(in srgb, var(--gp-ground) 84%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb, var(--gp-ink) 7%, transparent);width:2.75rem;height:2.75rem;box-shadow:var(--gp-lift-sm);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:background .3s,scale .3s,opacity .3s;display:grid;position:absolute;bottom:100%;left:50%;translate:-50%}.scroll-button:hover{background:color-mix(in srgb, var(--gp-ground) 95%, transparent);scale:1.05}.scroll-button:active{scale:.95}.scroll-button.visible{opacity:1;pointer-events:auto}.scroll-button>svg{color:var(--gp-ink-muted)}.scroll-button:hover>svg{color:var(--gp-ink-soft)}.typing-bubble{background:linear-gradient(135deg, color-mix(in srgb, var(--gp-ground) 93%, transparent), color-mix(in srgb, var(--gp-surface) 93%, transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb, var(--gp-accent) 8%, transparent);width:-moz-fit-content;width:fit-content;box-shadow:var(--gp-lift-sm);border-radius:1rem;gap:.375rem;padding:.5rem .75rem;animation:.3s ease-out app-fade-in-up;display:flex;position:relative;overflow:hidden}.typing-bubble:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gp-accent) 3%, transparent), transparent);will-change:transform;animation:3s infinite app-shimmer;position:absolute;top:0;bottom:0;left:0;right:0}.typing-bubble .typing-icon{color:var(--gp-accent);will-change:transform, opacity;animation:1.4s ease-in-out infinite app-bounce;position:relative}.typing-bubble .typing-icon:nth-child(2){animation-delay:.2s}.typing-bubble .typing-icon:nth-child(3){animation-delay:.4s}
