@font-face{font-family:'Smile Sans';src:url('/fonts/smile-sans/SmileSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Smile Sans';src:url('/fonts/smile-sans/SmileSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Smile Sans';src:url('/fonts/smile-sans/SmileSans-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Smile Sans';src:url('/fonts/smile-sans/SmileSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}:root{--font-smile:'Smile Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}:root{--ink:#141026;--ink-soft:rgba(20,16,38,.62);--ink-faint:rgba(20,16,38,.38);--hair:rgba(20,16,38,.14);--paper:#ffffff;--paper-2:#f7f6fb;--paper-3:#f1f0f7;--accent:#1E7BFF;--accent-deep:#0B4FCC;--accent-soft:rgba(30,123,255,.30);--accent-dim:rgba(30,123,255,.10);--mint:#17C79A;--sun:#FFC93C;--bg:#ffffff;--card:rgba(20,16,38,.035);--inp:#f7f6fb;--txt:#141026;--err:#d6304a;--warn:#b56e0d;--ok:#0e9488;--inf:#0b6fb8;--tr:.4s ease;--shadow:6px 6px 0 var(--ink);--shadow-sm:4px 4px 0 var(--ink);--shadow-xs:2px 2px 0 var(--ink);--lift:0 12px 28px rgba(20,16,38,.10);--lift-sm:0 2px 10px rgba(20,16,38,.06);--cloud:58% 42% 52% 48%/62% 66% 34% 38%;--pill:999px;--ease:cubic-bezier(.34,1.56,.64,1);--ease-soft:cubic-bezier(.16,1,.3,1)}
*{margin:0;padding:0;box-sizing:border-box;scrollbar-color:var(--accent) var(--paper-3);-webkit-tap-highlight-color:transparent}
html,body{max-width:100%}
body{font-family:var(--font-smile);background:var(--bg);color:var(--txt);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;font-size:16px;line-height:1.6;position:relative;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(20,16,38,.075) 1.3px,transparent 1.3px),linear-gradient(to right,rgba(30,123,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,123,255,.05) 1px,transparent 1px);background-size:22px 22px,110px 110px,110px 110px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bg-anim{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;display:none}
.bubble{position:absolute;border-radius:50%;background:var(--accent-dim);animation:fbub linear infinite;display:none}
@keyframes fbub{0%{transform:translateY(0) rotate(0deg)}100%{transform:translateY(-100vh) rotate(360deg)}}
a{color:var(--accent-deep);text-decoration:none;text-decoration-color:transparent;border-bottom-color:transparent}
a:hover{text-decoration:underline;text-decoration-color:transparent;border-bottom-color:transparent}
#smileBotAvatarWrap{display:none}
.form-wrapper{position:relative;width:100%;max-width:min(450px,90vw);margin:20px auto;padding:3px;border-radius:23px}
.border-spin{position:absolute;inset:0;border-radius:23px;overflow:hidden;pointer-events:none;z-index:0;display:none}
.border-spin::before{content:'';position:absolute;width:200%;height:200%;top:-50%;left:-50%;background:conic-gradient(from 0deg,transparent 0%,transparent 82%,rgba(20,16,38,.18) 88%,var(--accent) 91%,var(--ink) 93%,var(--accent) 95%,rgba(20,16,38,.12) 97%,transparent 100%);animation:rotateBorder 2.5s linear infinite;transition:background-image var(--tr);display:none}
@keyframes rotateBorder{to{transform:rotate(360deg)}}
.border-inner{position:absolute;inset:3px;border-radius:20px;background:var(--paper);z-index:1}
.error-message,#statusMessage,.offline-indicator{font-family:var(--font-smile)!important}
.container{position:relative;z-index:2;background:var(--paper);border-radius:20px;border:2px solid var(--ink);padding:clamp(15px,4vw,25px);width:100%;box-shadow:var(--shadow);transition:border-color var(--tr),box-shadow var(--tr);overflow:hidden}
.container::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(30,123,255,.05),transparent);transform:rotate(45deg);z-index:0;display:none}
@keyframes shine{0%{transform:translateX(-100%) rotate(45deg)}100%{transform:translateX(100%) rotate(45deg)}}
.container>*{position:relative;z-index:1}
.form-title{text-align:center;margin-bottom:clamp(15px,3vw,20px);font-size:clamp(20px,5vw,24px);color:var(--ink);position:relative;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-family:var(--font-smile)}
.form-title::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:3px;border-radius:2px;background:transparent;border-bottom-color:transparent;transition:background var(--tr)}
.form-group{margin-bottom:clamp(12px,2vw,15px);position:relative}
.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--ink-soft);font-size:clamp(13px,2vw,14px);font-family:var(--font-smile);transition:color var(--tr)}
.form-group:focus-within .form-label{color:var(--accent-deep)}
.form-input,.form-textarea{width:100%;padding:10px 12px;background:var(--inp);border:2px solid var(--hair);border-radius:10px;color:var(--txt);font-size:clamp(13px,2vw,14px);outline:none;font-family:var(--font-smile);resize:vertical;transition:border-color var(--tr),box-shadow var(--tr)}
.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.form-input:hover:not(:focus),.form-textarea:hover:not(:focus){border-color:var(--accent-soft)}
.error-message{color:var(--err);font-size:clamp(10px,1.5vw,11px);margin-top:4px;display:none}
.warning-message{color:var(--warn);font-size:clamp(10px,1.5vw,11px);margin-top:4px;display:none}
.char-count{text-align:right;font-size:clamp(10px,1.5vw,11px);color:var(--ink-faint);margin-top:4px}
.char-count.warning{color:var(--warn)}.char-count.error{color:var(--err)}
.submit-btn{width:100%;padding:clamp(10px,2vw,12px);background:var(--accent);color:#fff;border:2px solid var(--ink);border-radius:var(--pill);font-size:clamp(14px,2.5vw,16px);font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft),background var(--tr);font-family:var(--font-smile);user-select:none;box-shadow:var(--shadow-sm)}
.submit-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow);background:var(--accent-deep)}
.submit-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:var(--shadow-xs)}
.submit-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.submit-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transition:left .55s ease}
.submit-btn:hover:not(:disabled)::before{left:100%}
.cooldown-timer{text-align:center;margin-top:8px;font-size:clamp(11px,1.5vw,12px);color:var(--warn);display:none}
.status-message{margin-top:clamp(12px,2vw,15px);text-align:center;font-weight:500;opacity:0;transition:opacity .3s ease;padding:8px;border-radius:8px;font-size:clamp(12px,1.8vw,14px)}
.status-message.success{color:var(--ok);background:rgba(14,148,136,.09);opacity:1}
.status-message.error{color:var(--err);background:rgba(214,48,74,.08);opacity:1}
.status-message.info{color:var(--inf);background:rgba(11,111,184,.08);opacity:1}
.social-links{display:flex;justify-content:center;margin-top:clamp(15px,3vw,20px);gap:clamp(8px,2vw,12px)}
.social-icon{display:flex;align-items:center;justify-content:center;width:clamp(30px,4vw,35px);height:clamp(30px,4vw,35px);border-radius:50%;background:var(--paper-2);border:1.5px solid var(--hair);color:var(--ink-soft);font-size:clamp(14px,2vw,16px);text-decoration:none;transition:color var(--tr),background var(--tr),transform .3s ease}
.social-icon:hover{color:var(--accent);background:var(--accent-dim);transform:translateY(-4px);border-color:var(--accent-soft)}
.offline-indicator{position:fixed;bottom:20px;right:20px;padding:8px 12px;background:var(--paper);border:2px solid var(--err);color:var(--err);border-radius:var(--pill);display:none;z-index:1000;box-shadow:var(--shadow-sm);font-size:clamp(11px,1.5vw,12px);max-width:min(280px,90vw)}
.form-saved-notice{margin-top:12px;font-size:clamp(11px,1.5vw,12px);color:var(--ink-soft);text-align:center;display:none}
.security-info{margin-top:12px;font-size:clamp(10px,1.3vw,11px);color:var(--ink-soft);text-align:center;line-height:1.3;font-family:var(--font-smile);font-weight:400;letter-spacing:.3px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
#securityOverlay{position:fixed;inset:0;background:transparent;z-index:9999;pointer-events:none}
@media(prefers-reduced-motion:reduce){.bubble,.container::before,.border-spin::before,.submit-btn,.form-input,.form-textarea{animation:none!important;transition:none!important}.submit-btn:hover:not(:disabled){transform:none!important}}
@media(max-width:600px){.form-wrapper{margin:10px;max-width:calc(100% - 20px)}.container{padding:15px}}
.submit-btn{display:flex;align-items:center;justify-content:center;overflow:hidden}.submit-btn i{font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(min-width:769px){.form-label{letter-spacing:.5px;line-height:1.2;color:var(--ink)}.submit-btn i{font-size:1.75rem!important;width:100%;height:100%}}
.identity-notice{display:none;margin-top:12px;padding:9px 12px;border-radius:8px;background:rgba(14,148,136,.09);border:1.5px solid rgba(14,148,136,.35);color:var(--ok);font-family:var(--font-smile);font-size:12px;text-align:center;align-items:center;justify-content:center;gap:7px}
.form-input.identity-locked,.form-input:disabled{opacity:.55;cursor:not-allowed;background:var(--paper-3)}
.chat-interface{display:none}
@media(min-width:1024px){.container::before{display:none}body{align-items:stretch;justify-content:stretch}.form-wrapper{max-width:calc(100vw - 48px);width:100%;height:calc(100vh - 48px);margin:24px auto;display:flex}.container{padding:0;width:100%;height:100%;display:flex;flex-direction:column}.form-title{display:none}.form-panel{padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.legacy-fields{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.security-info{padding:0 calc(50% - 320px) 20px;margin-top:0;flex-shrink:0}.chat-interface{display:flex;flex-direction:column;flex:1;min-height:0}.chat-header{display:none}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:32px calc(50% - 320px);display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--accent-soft);border-radius:3px}.chat-bubble{max-width:72%;padding:12px 16px;border-radius:18px;font-family:var(--font-smile);font-size:13.5px;line-height:1.6;opacity:0;transform:translateY(8px);animation:bubbleIn .35s cubic-bezier(.2,.8,.2,1) forwards;word-wrap:break-word;box-shadow:var(--lift-sm)}@keyframes bubbleIn{to{opacity:1;transform:translateY(0)}}.chat-bubble.bot{align-self:flex-start;background:var(--paper);border:1.5px solid var(--hair);border-bottom-left-radius:5px;color:var(--ink)}.chat-bubble.user{align-self:flex-end;background:var(--accent-dim);border:1.5px solid var(--accent-soft);border-bottom-right-radius:5px;color:var(--ink)}.chat-bubble.bot.error-bubble{border-color:rgba(214,48,74,.4);background:rgba(214,48,74,.06);color:var(--err)}.chat-bubble.bot.success-bubble{border-color:rgba(14,148,136,.4);background:rgba(14,148,136,.06)}.chat-typing{align-self:flex-start;display:flex;gap:5px;padding:13px 17px;background:var(--paper);border:1.5px solid var(--hair);border-radius:18px;border-bottom-left-radius:5px;opacity:0;animation:bubbleIn .3s ease forwards}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5;animation:typingDot 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-composer{display:flex;gap:10px;align-items:flex-end;padding:18px calc(50% - 320px) 22px;border-top:1.5px solid var(--hair)}.chat-input{flex:1;resize:none;max-height:120px;padding:12px 16px;background:var(--paper-2);border:2px solid var(--hair);border-radius:14px;color:var(--txt);font-family:var(--font-smile);font-size:13.5px;outline:none;transition:border-color var(--tr),box-shadow var(--tr);line-height:1.4}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{width:44px;height:44px;border-radius:14px;background:var(--accent);border:2px solid var(--ink);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft);box-shadow:var(--shadow-xs)}.chat-send-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow-sm)}.chat-send-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-confirm-btn{margin:0 calc(50% - 320px) 22px;padding:14px;border-radius:var(--pill);background:var(--accent);color:#fff;border:2px solid var(--ink);font-family:var(--font-smile);font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft)}.chat-confirm-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow)}.chat-confirm-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.chat-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}}
.chat-bubble.bot::before,.chat-typing::before,.ai-avatar,.bot-avatar,.avatar,.chat-avatar{border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;filter:none!important;-webkit-filter:none!important}
.chat-bubble.bot,.chat-bubble.bot.success-bubble,.chat-bubble.bot.error-bubble,.chat-typing{-webkit-box-shadow:var(--lift-sm)!important;box-shadow:var(--lift-sm)!important}
.chat-bubble.bot::after,.chat-typing::after{border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important}
@media(max-width:1023px){.chat-bubble.bot::before,.chat-typing::before,.ai-avatar,.bot-avatar,.avatar,.chat-avatar{border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;filter:none!important}}
:root{--smile-bot-avatar:url("")}
@media(min-width:1024px){.chat-bubble.bot{margin-left:48px;position:relative;box-shadow:var(--lift-sm)}.chat-bubble.bot::before{content:'';position:absolute;left:-48px;bottom:0;width:38px;height:38px;border-radius:var(--cloud);background-image:var(--smile-bot-avatar);background-size:cover;background-position:center;background-color:var(--paper-2);border:2px solid var(--ink)}.chat-typing{margin-left:48px;position:relative}.chat-typing::before{content:'';position:absolute;left:-48px;bottom:0;width:38px;height:38px;border-radius:var(--cloud);background-image:var(--smile-bot-avatar);background-size:cover;background-position:center;background-color:var(--paper-2);border:2px solid var(--ink)}}
#smileBotDock{position:fixed;left:50%;bottom:16px;transform:translate(-50%,150%);z-index:9700;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;transition:transform .55s cubic-bezier(.2,.85,.25,1);width:min(320px,92vw)}
#smileBotDock.active{transform:translate(-50%,0)}
#smileBotBubble{max-width:100%;padding:12px 16px;border-radius:16px 16px 16px 6px;background:var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow-sm);color:var(--ink);font-family:var(--font-smile);font-size:13px;line-height:1.5;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .4s ease,transform .4s ease;text-align:center}
#smileBotDock.active #smileBotBubble{opacity:1;transform:translateY(0) scale(1)}
#smileBotAvatarWrap{width:58px;height:58px;border-radius:var(--cloud);overflow:hidden;background:var(--paper-2);border:2px solid var(--ink);box-shadow:var(--shadow-sm);flex-shrink:0}
#smileBotAvatarWrap img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:1024px){#smileBotDock{display:none}}
#offlineIndicator{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1023.98px){#cooldownTimer,#statusMessage,#formSavedNotice,#identityNotice,#nameError,#emailError,#messageError,#messageWarning{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}}
@keyframes aiGlassPopIn{0%{opacity:0;transform:scale(.85) translateY(10px)}55%{opacity:1;transform:scale(1.035) translateY(0)}78%{transform:scale(.985)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes aiGlassOverlayIn{from{opacity:0}to{opacity:1}}
@media(min-width:1024px){.chat-bubble.bot{background:var(--paper)!important;border:2px solid var(--ink)!important;border-radius:26px!important;border-bottom-left-radius:8px!important;box-shadow:var(--shadow-sm)!important;animation:aiGlassPopIn .55s cubic-bezier(.22,1.2,.36,1) both!important;margin-left:0!important;margin-right:28px!important;position:relative!important}.chat-bubble.bot.success-bubble{border-color:var(--ok)!important;box-shadow:var(--shadow-sm)!important}.chat-bubble.bot.error-bubble{background:rgba(214,48,74,.05)!important;border-color:var(--err)!important}.chat-bubble.bot::before{left:auto!important;right:-48px!important;bottom:0!important;width:38px!important;height:38px!important;border-radius:var(--cloud)!important;box-shadow:var(--shadow-xs)!important}.chat-typing{margin-left:0!important;margin-right:28px!important}.chat-typing::before{left:auto!important;right:-48px!important;bottom:0!important;width:38px!important;height:38px!important}#chatSendBtn{box-shadow:var(--shadow-xs)!important}#chatConfirmBtn{background:var(--accent)!important;box-shadow:var(--shadow-sm)!important}}
#aiGlassMobileOverlay{position:fixed;inset:0;z-index:9650;background:rgba(20,16,38,.28);opacity:0;pointer-events:none;transition:opacity .4s ease}
#aiGlassMobileOverlay.active{opacity:1;pointer-events:auto}
@media(min-width:1024px){#aiGlassMobileOverlay{display:none!important}}
#smileBotDock{z-index:9700!important}
@media(prefers-reduced-motion:reduce){#smileBotDock,#smileBotBubble{transition:none!important}}
.chat-bubble.bot::before,.chat-typing::before,.ai-avatar,.bot-avatar,.avatar,.chat-avatar,#smileBotAvatarWrap,#smileBotAvatarWrap img{background:transparent!important;background-color:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;filter:none!important;-webkit-filter:none!important}#smileBotAvatarWrap{width:58px;height:58px;border-radius:var(--cloud);overflow:hidden;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;flex-shrink:0}#smileBotAvatarWrap img{width:100%;height:100%;object-fit:cover;display:block;background:transparent!important}.chat-bubble.bot::before,.chat-typing::before{background-color:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important}body::before{content:none}
@media(max-width:768px){.form-label{font-size:10px!important;line-height:1.1!important}}
.submit-btn svg{width:28px;height:28px;display:block;flex-shrink:0}
.submit-btn-icon{width:36px;height:36px;object-fit:contain;display:block}