.gcard{position:relative;display:flex;flex-direction:column;height:100%;min-height:340px;box-sizing:border-box;overflow:hidden;isolation:isolate;padding:32px;border-radius:var(--radius-2xl, 36px);color:var(--text-strong);box-shadow:0 1px 2px var(--ink-05);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}.gcard:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 30px 60px -28px var(--ink-55)}.gcard-sky{background:linear-gradient(135deg,var(--sky-100) 0%,var(--sky-300) 100%)}.gcard-yellow{background:linear-gradient(135deg,var(--yellow-100) 0%,var(--yellow-400) 100%)}.gcard-mint{background:linear-gradient(135deg,var(--turquoise-100) 0%,var(--turquoise-200) 100%)}.gcard-glyph{position:absolute;right:-12%;bottom:-12%;z-index:0;display:block;width:58%;line-height:0;pointer-events:none;opacity:.16;transform-origin:60% 60%;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .45s ease}.gcard-glyph svg{display:block;width:100%;height:auto}.gcard-sky .gcard-glyph{color:var(--sky-800)}.gcard-yellow .gcard-glyph{color:var(--yellow-800)}.gcard-mint .gcard-glyph{color:var(--turquoise-800)}.gcard:hover .gcard-glyph{transform:scale(1.1) rotate(3deg);opacity:.24}.gcard-glyph-wide{width:64%;right:7%;bottom:17%;transform-origin:100% 100%}.gcard:hover .gcard-glyph-wide{transform:scale(1.06)}.gcard-body{position:relative;z-index:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.gcard-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-bottom:18px;padding:6px 12px;border-radius:var(--radius-pill, 999px);background:color-mix(in srgb,var(--chip-white) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);letter-spacing:.01em;white-space:nowrap;color:var(--text-body)}.gcard-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-black);flex:none}.gcard-text{flex:1 1 auto}.gcard-title{margin:0 0 8px;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:24px;letter-spacing:var(--tracking-tight);color:var(--text-strong)}.gcard-desc{margin:0;max-width:30ch;font-family:var(--font-sans);font-size:14.5px;line-height:1.55;color:var(--text-body);text-wrap:pretty}.gcard-cta{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:24px;min-height:44px;font-family:var(--font-display);font-size:14px;font-weight:var(--fw-semibold);color:var(--text-strong);text-decoration:none}.gcard-cta:hover{text-decoration:underline;text-underline-offset:3px}.gcard-cta:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}.gcard-cta-arrow{transition:transform .3s ease}.gcard-cta:hover .gcard-cta-arrow{transform:translate(4px)}@media (max-width: 720px){.gcard{padding:28px 24px;min-height:300px}.gcard-glyph{width:48%;right:-8%;bottom:-10%}.gcard-glyph-wide{width:56%;right:7%;bottom:17%}}@media (prefers-reduced-motion: reduce){.gcard,.gcard-glyph,.gcard-cta-arrow{transition:none}.gcard:hover,.gcard:hover .gcard-glyph,.gcard-cta:hover .gcard-cta-arrow{transform:none}}.sw-fab{position:fixed;right:24px;bottom:24px;z-index:80;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;padding:0;border:2px solid var(--chip-black);border-radius:var(--radius-pill);background:var(--chip-black);color:var(--chip-white);cursor:pointer;box-shadow:var(--shadow-lg);transition:background .28s ease,border-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease}.sw-fab img{height:26px;width:auto;display:block}.sw-fab:hover{background:var(--chip-yellow);color:var(--chip-black);transform:translateY(-2px);box-shadow:0 14px 30px -14px var(--ink-55)}.sw-fab:hover img{filter:invert(1)}.sw-fab:active{transform:scale(.96)}.sw-fab:focus-visible{outline-color:var(--chip-yellow)}.sw-fab-invert{border-color:var(--chip-white);background:var(--chip-white);color:var(--chip-black)}.sw-fab-invert img{filter:invert(1)}.sw-fab-invert:hover{border-color:var(--chip-black)}.sw-panel{position:fixed;right:24px;bottom:100px;z-index:80;display:flex;flex-direction:column;width:372px;max-width:calc(100vw - 48px);height:min(606px,calc(100dvh - 132px));background:var(--surface-card);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;transform-origin:bottom right;animation:sw-pop var(--duration-slow) var(--ease-out)}@keyframes sw-pop{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}.sw-head{display:flex;align-items:center;gap:4px;padding:14px 12px 14px 20px;background:var(--surface-hero);flex-shrink:0}.sw-head-copy{display:flex;flex-direction:column;gap:3px;flex-grow:1;min-width:0}.sw-head-copy strong{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:17px;letter-spacing:var(--tracking-tight);color:var(--text-on-hero)}.sw-head-copy span{font-size:13px;color:var(--text-on-hero-muted)}.sw-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--chip-white);cursor:pointer;flex-shrink:0}.sw-iconbtn:hover{background:color-mix(in srgb,var(--chip-white) 14%,transparent)}.sw-iconbtn:focus-visible{outline-color:var(--chip-yellow)}.sw-log{display:flex;flex-direction:column;gap:12px;flex-grow:1;padding:16px;overflow-y:auto;font-family:var(--font-sans)}.sw-row{display:flex;align-items:flex-end;gap:8px}.sw-row-user{justify-content:flex-end}.sw-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--chip-black);flex-shrink:0}.sw-avatar img{height:13px;width:auto;display:block}.sw-bubble{max-width:78%;padding:11px 14px;font-size:14px;line-height:var(--leading-normal);border-radius:18px;overflow-wrap:break-word}.sw-bubble-ai{background:var(--surface-sunken);color:var(--text-body);border-bottom-left-radius:var(--radius-xs)}.sw-bubble-user{background:var(--sky-200);color:var(--chip-black);border-bottom-right-radius:var(--radius-xs)}.sw-chips{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:36px}.sw-chip{padding:12px 16px;border:var(--border-width) solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);font-family:var(--font-sans);font-size:13.5px;font-weight:var(--fw-semibold);color:var(--text-body);cursor:pointer;transition:background .26s ease,color .26s ease,border-color .26s ease}.sw-chip:hover{background:var(--chip-black);border-color:var(--chip-black);color:var(--chip-white)}.sw-thinking{display:inline-flex;gap:5px;align-items:center;min-height:20px}.sw-thinking span{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--neutral-400);animation:sw-dot 1.1s infinite ease-in-out}.sw-thinking span:nth-child(2){animation-delay:.18s}.sw-thinking span:nth-child(3){animation-delay:.36s}@keyframes sw-dot{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}.sw-foot{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-top:var(--border-width) solid var(--border-subtle);flex-shrink:0}.sw-ask{display:flex;align-items:center;gap:10px}.sw-ask input{flex-grow:1;min-width:0;padding:12px 18px;border:var(--border-width) solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);font-family:var(--font-sans);font-size:14px;color:var(--text-strong)}.sw-ask input::placeholder{color:var(--neutral-500)}.sw-send{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--chip-black);color:var(--chip-white);cursor:pointer;flex-shrink:0;transition:background .26s ease,color .26s ease}.sw-send:hover{background:var(--chip-yellow);color:var(--chip-black)}.sw-send[disabled]{opacity:.55;cursor:default}.sw-human-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px;padding:0;border:0;background:none;font-family:var(--font-sans);font-size:12.5px;font-weight:var(--fw-semibold);color:var(--text-link);cursor:pointer}.sw-human-link:hover{text-decoration:underline}.sw-form{display:flex;flex-direction:column;gap:14px;flex-grow:1;padding:20px;overflow-y:auto;font-family:var(--font-sans)}.sw-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:var(--fw-semibold);color:var(--text-body)}.sw-form input,.sw-form textarea{padding:12px 14px;border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);font-family:var(--font-sans);font-size:14px;font-weight:var(--fw-regular);line-height:var(--leading-normal);color:var(--text-strong);resize:none}.sw-form input::placeholder{color:var(--neutral-500)}.sw-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;background:var(--surface-sky-soft);border-radius:var(--radius-sm);font-size:12.5px;line-height:var(--leading-normal);color:var(--sky-800)}.sw-note svg{flex-shrink:0;margin-top:2px}.sw-error{margin:0;padding:10px 12px;background:var(--danger-100);border-radius:var(--radius-sm);font-size:12.5px;color:var(--danger-700)}.sw-submit{justify-content:center;font-size:15px;padding:14px 28px;margin-top:auto}.sw-fine{margin:0;font-size:12px;text-align:center;color:var(--text-muted)}.sw-sent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;flex-grow:1;padding:24px;text-align:center;font-family:var(--font-sans)}.sw-sent-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--success-100);color:var(--success-500)}.sw-sent p{margin:0;font-size:14.5px;line-height:var(--leading-normal);color:var(--text-body);max-width:30ch}@media (max-width: 480px){.sw-fab{right:16px;bottom:16px}.sw-panel{right:12px;left:12px;bottom:88px;width:auto;max-width:none;height:min(606px,calc(100dvh - 112px))}}@media (prefers-reduced-motion: reduce){.sw-panel{animation:none}.sw-fab,.sw-chip,.sw-send{transition:none}.sw-fab:hover{transform:none}.sw-thinking span{animation:none;opacity:.7}}
