.kelvin{--kelvin-cool:#4FA9DD;--kelvin-warm:#EF7C2E;--kelvin-ink:var(--color-navy,#0b2c40)}.kelvin-ring{transform-origin:150px 150px;animation:kelvinRingPulse 4.5s ease-in-out infinite}.kelvin-eyeL{animation:kelvinSplitL 4.5s ease-in-out infinite}.kelvin-eyeR{animation:kelvinSplitR 4.5s ease-in-out infinite}.kelvin-lid{transform-box:fill-box;transform-origin:center;animation:kelvinBlink 4.5s ease-in-out infinite}.kelvin-smile{animation:kelvinSmileIn 4.5s ease-in-out infinite}@keyframes kelvinRingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes kelvinSplitL{0%,12%{transform:translateX(0)}30%,85%{transform:translateX(-17px)}97%,to{transform:translateX(0)}}@keyframes kelvinSplitR{0%,12%{transform:translateX(0)}30%,85%{transform:translateX(17px)}97%,to{transform:translateX(0)}}@keyframes kelvinBlink{0%,54%{transform:scaleY(1)}57%{transform:scaleY(.08)}60%,78%{transform:scaleY(1)}81%{transform:scaleY(.08)}84%,to{transform:scaleY(1)}}@keyframes kelvinSmileIn{0%,26%{opacity:0}38%,80%{opacity:1}94%,to{opacity:0}}.kelvin-fab{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:flex-end;gap:12px;animation:kelvinEnter .5s cubic-bezier(.2,.8,.2,1) both}.kelvin-btn{position:relative;width:74px;height:74px;flex:0 0 auto;border:0;padding:0;background:none;cursor:pointer}.kelvin-pulse{position:absolute;inset:0;border-radius:50%;background:var(--kelvin-cool);opacity:.3;animation:kelvinPulse 2.8s ease-out infinite}.kelvin-orb{position:absolute;inset:0;background:#fff;border:1px solid var(--color-line,#e4ebf0);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(11,44,64,.16);animation:kelvinBob 3.4s ease-in-out infinite}.kelvin-badge{position:absolute;top:-4px;right:-4px;background:var(--kelvin-ink);color:#fff;font-size:10px;font-weight:500;padding:3px 7px;border-radius:9px;letter-spacing:.04em}.kelvin-bubble{position:relative;background:#fff;border:1px solid var(--color-line,#e4ebf0);border-radius:16px 16px 4px 16px;padding:12px 15px;max-width:240px;color:var(--kelvin-ink);font-size:14px;line-height:1.45;margin-bottom:10px;box-shadow:0 6px 20px rgba(11,44,64,.12);animation:kelvinBubbleIn .4s ease both}.kelvin-bubble b{font-weight:500}.kelvin-bubble-close{position:absolute;top:6px;right:8px;border:0;background:none;cursor:pointer;color:var(--color-ink-faint,#6b8090);font-size:15px;line-height:1;padding:2px}@keyframes kelvinBob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes kelvinPulse{0%{transform:scale(1);opacity:.3}70%,to{transform:scale(1.7);opacity:0}}@keyframes kelvinEnter{0%{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:none}}@keyframes kelvinBubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.kelvin-hero{display:flex;align-items:center;gap:14px;margin-bottom:44px}.kelvin-hero-orb-btn{position:relative;width:68px;height:68px;flex:0 0 auto;border:0;padding:0;background:none;cursor:pointer}.kelvin-hero .kelvin-orb{animation:kelvinBob 3.4s ease-in-out infinite}.kelvin-hero-bubble{position:relative;flex:1;text-align:left;background:#fff;border:1px solid var(--color-line,#e4ebf0);border-radius:16px 16px 16px 4px;padding:13px 16px;font-size:14px;line-height:1.5;color:var(--kelvin-ink,#0b2c40);box-shadow:0 8px 24px rgba(11,44,64,.1);cursor:pointer;opacity:0;transform:scale(.96) translateX(-8px);transform-origin:left center;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),border-color .15s ease}.kelvin-hero-bubble.is-in{opacity:1;transform:none}.kelvin-hero-bubble:hover{border-color:var(--color-accent,#0a7fa8)}.kelvin-hero-bubble strong{display:block;font-weight:600;margin-bottom:2px}.kelvin-hero-cta{display:inline-block;margin-top:6px;font-weight:600;color:var(--color-accent,#0a7fa8)}.kelvin-panel{position:fixed;right:24px;bottom:24px;z-index:60;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-line,#e4ebf0);border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(11,44,64,.22);animation:kelvinEnter .3s ease both}.kelvin-panel-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--kelvin-ink,#0b2c40);color:#fff}.kelvin-panel-orb{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.kelvin-panel-head strong{display:block;font-size:15px;font-weight:500}.kelvin-panel-head span{display:block;font-size:12px;color:#bfe6f4}.kelvin-panel-close{margin-left:auto;background:none;border:0;color:#cfe6f1;font-size:22px;line-height:1;cursor:pointer}.kelvin-panel-cta{display:block;padding:9px 14px;text-align:center;text-decoration:none;background:var(--color-accent,#0a7fa8);color:#fff;font-size:13px;font-weight:600;border-bottom:1px solid var(--color-line,#e4ebf0)}.kelvin-panel-cta:hover{background:var(--color-accent-hover,#075f7e)}.kelvin-panel-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--color-tint,#f4f8fb)}.kelvin-msg{max-width:84%;font-size:14px;line-height:1.5;padding:10px 13px;border-radius:14px}.kelvin-msg-kelvin{align-self:flex-start;background:#fff;border:1px solid var(--color-line,#e4ebf0);color:var(--kelvin-ink,#0b2c40);border-bottom-left-radius:4px}.kelvin-msg-user{align-self:flex-end;background:var(--color-accent,#0a7fa8);color:#fff;border-bottom-right-radius:4px}.kelvin-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.kelvin-quick a,.kelvin-quick button{background:#fff;border:1px solid var(--color-accent,#0a7fa8);color:var(--color-accent,#0a7fa8);font-size:14px;font-weight:500;padding:9px 14px;border-radius:999px;cursor:pointer;text-decoration:none}.kelvin-quick a:hover,.kelvin-quick button:hover{background:var(--color-accent,#0a7fa8);color:#fff}.kelvin-quick-final a{display:inline-block}.kelvin-inline{display:flex;gap:8px}.kelvin-inline input{flex:1}.kelvin-form{flex-direction:column;background:#fff;border:1px solid var(--color-line,#e4ebf0);border-radius:14px;padding:12px}.kelvin-form,.kelvin-form-row{display:flex;gap:8px}.kelvin-form-row input{flex:1;min-width:0}.kelvin-panel input{font-size:14px;padding:10px 12px;border:1px solid var(--color-line-strong,#d3dde6);border-radius:10px;color:var(--kelvin-ink,#0b2c40);width:100%;box-sizing:border-box}.kelvin-panel input:focus{outline:2px solid var(--color-accent,#0a7fa8);outline-offset:1px}.kelvin-chat-input input,.kelvin-inline input{width:auto;min-width:0}.kelvin-submit{background:var(--kelvin-warm,#EF7C2E);color:#3a1c05;font-weight:500;font-size:15px;border:0;border-radius:10px;padding:12px;cursor:pointer}.kelvin-submit:disabled{opacity:.6;cursor:default}.kelvin-legal{font-size:11px;color:var(--color-ink-faint,#6b8090);line-height:1.4;margin:2px 0 0}.kelvin-legal a{color:var(--color-accent,#0a7fa8)}.kelvin-error{font-size:13px;color:#b45309;background:#fef3e2;border-radius:8px;padding:8px 10px}.kelvin-panel-foot{border-top:1px solid var(--color-line,#e4ebf0);padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:8px}.kelvin-chat-input{display:flex;gap:8px;align-items:center}.kelvin-chat-input input{flex:1;min-width:0;font-size:14px;padding:10px 14px;border:1px solid var(--color-line-strong,#d3dde6);border-radius:999px;color:var(--kelvin-ink,#0b2c40)}.kelvin-chat-input input:focus{outline:2px solid var(--color-accent,#0a7fa8);outline-offset:1px}.kelvin-chat-input button{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:50%;background:var(--color-accent,#0a7fa8);color:#fff;font-size:18px;line-height:1;cursor:pointer}.kelvin-chat-input button:disabled{opacity:.45;cursor:default}.kelvin-foot-actions{display:flex;gap:8px}.kelvin-foot-actions a,.kelvin-foot-actions button{flex:1;text-align:center;font-size:13px;font-weight:600;padding:9px 10px;border-radius:999px;cursor:pointer;text-decoration:none;line-height:1.2}.kelvin-foot-actions button{background:var(--kelvin-warm,#EF7C2E);color:#3a1c05;border:0}.kelvin-foot-actions a{background:#fff;border:1px solid var(--color-accent,#0a7fa8);color:var(--color-accent,#0a7fa8);display:flex;align-items:center;justify-content:center}.kelvin-foot-actions a:hover{background:var(--color-accent,#0a7fa8);color:#fff}.kelvin-typing{display:inline-flex;gap:4px;align-items:center}.kelvin-typing span{width:7px;height:7px;border-radius:50%;background:var(--color-ink-faint,#6b8090);animation:kelvinTyping 1.2s infinite}.kelvin-typing span:nth-child(2){animation-delay:.2s}.kelvin-typing span:nth-child(3){animation-delay:.4s}@keyframes kelvinTyping{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.kelvin-hint{font-size:12.5px;line-height:1.45;color:var(--color-ink-soft,#42586a);background:var(--color-tint,#f4f8fb);border:1px solid var(--color-line,#e4ebf0);border-radius:12px;padding:10px 12px}.kelvin-linkbtn{background:none;border:0;padding:0;color:var(--color-accent,#0a7fa8);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.kelvin-form-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px}.kelvin-form-head strong{font-size:14px;color:var(--kelvin-ink,#0b2c40)}@media (max-width:767px){.kelvin-fab{bottom:84px;right:16px}.kelvin-bubble{max-width:220px}.kelvin-panel{top:8px;right:8px;bottom:8px;left:8px;width:auto;height:auto;max-height:none}.kelvin-hero{gap:12px}.kelvin-hero-orb-btn{width:56px;height:56px}}@media (prefers-reduced-motion:reduce){.kelvin-bubble,.kelvin-eyeL,.kelvin-eyeR,.kelvin-fab,.kelvin-lid,.kelvin-orb,.kelvin-pulse,.kelvin-ring,.kelvin-smile{animation:none!important}.kelvin-hero-bubble{opacity:1!important;transform:none!important;transition:none!important}.kelvin-typing span{animation:none!important}.kelvin-eyeL{transform:translateX(-17px)}.kelvin-eyeR{transform:translateX(17px)}.kelvin-smile{opacity:1}.kelvin-pulse{display:none}}.kelvin-panel-notice{margin:0;padding:8px 14px;font-size:12px;line-height:1.45;background:#eaf4f9;color:#2f4757;border-bottom:1px solid var(--color-line,#e4ebf0)}.kelvin-panel-notice a{color:var(--color-accent-hover,#075f7e);text-decoration:underline;text-underline-offset:2px}