@import "https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700;800&display=swap";
:root{--ds-navy:#0a122a;--ds-green:#21cc38;--ds-platinum:#dad9d7;--ds-white:#fff;--ds-yellow:#f0c808;--ds-pink:#e81167;--ds-light-blue:#4a90e2;--ds-signal-blue:#69a2b0;--ds-red:#d32f2f;--ds-black:#101318;--ds-medium-gray:#636466;--ds-soft:#f7f7f7;--ds-chip:#f0f0f0;--ds-teal:#09b180;--ds-light-green:#2dcdb0;--color-primary:var(--ds-green);--color-primary-hover:#1db832;--color-authority:var(--ds-navy);--color-surface:var(--ds-white);--color-surface-alt:var(--ds-soft);--color-surface-card:var(--ds-white);--color-text-heading:var(--ds-navy);--color-text-body:var(--ds-medium-gray);--color-text-muted:#94a3b8;--color-border:var(--ds-platinum);--color-border-focus:var(--ds-green);--color-success:var(--ds-green);--color-warning:var(--ds-yellow);--color-danger:var(--ds-red);--glow-green:#21cc382e;--shadow-card:0 1px 3px #0a122a0f,0 1px 2px #0a122a0a;--shadow-card-hover:0 4px 14px #0a122a1a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font:"Raleway",sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);background:var(--color-surface);color:var(--color-text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font);outline:none}input{font-family:var(--font);outline:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-container{background:#f9f9f8;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.chat-header{border-bottom:1px solid var(--ds-platinum);z-index:10;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:relative}.header-brand{align-items:center;gap:10px;display:flex}.header-avatar{border-radius:var(--radius-sm);background:var(--ds-navy);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:5px 7px;display:flex;overflow:hidden}.header-avatar img{object-fit:contain;width:auto;height:100%}.header-info h1{color:var(--ds-navy);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.2}.header-info p{color:var(--ds-medium-gray);align-items:center;gap:5px;font-size:11px;line-height:1.3;display:flex}.status-dot{background:var(--ds-green);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.progress-container{z-index:10;background:#fff;flex-shrink:0;padding:0 20px 10px;position:relative}.progress-bar{background:var(--ds-chip);border-radius:var(--radius-full);height:2px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--ds-green),var(--ds-teal));border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.progress-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-top:5px;font-size:10px;font-weight:600;display:flex}.messages-container{z-index:1;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background:#f9f9f8;flex-direction:column;flex:1;gap:4px;padding:24px 20px 16px;display:flex;position:relative;overflow:hidden auto}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:0 0}.messages-container::-webkit-scrollbar-thumb{background:var(--ds-platinum);border-radius:99px}.messages-container>*{width:100%;max-width:680px;margin-left:auto;margin-right:auto}.message{word-break:break-word;gap:12px;padding:4px 0;animation:.3s cubic-bezier(.16,1,.3,1) messageIn;display:flex}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-user{flex-direction:row-reverse;align-self:flex-end;max-width:80%;margin-left:auto}.message-bot{align-self:flex-start;max-width:100%}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:13px;display:flex}.message-bot .message-avatar{background:var(--ds-navy);padding:4px 5px;overflow:hidden}.message-bot .message-avatar img{object-fit:contain;width:100%;height:auto}.message-user .message-avatar{background:var(--ds-chip);color:var(--ds-medium-gray);font-size:14px}.message-bubble{border-radius:18px;padding:10px 15px;font-size:14.5px;line-height:1.65}.message-user .message-bubble{background:var(--ds-navy);color:#fff;border-bottom-right-radius:5px}.message-bot .message-bubble{color:var(--ds-navy);background:0 0;padding-left:0;font-size:15px}.message-bubble strong{color:var(--ds-navy);font-weight:700}.message-user .message-bubble strong{color:#fff}.message-bubble p{margin-bottom:6px}.message-bubble p:last-child{margin-bottom:0}.options-grid{gap:var(--space-2);padding:var(--space-2)0;grid-template-columns:1fr 1fr;animation:.3s cubic-bezier(.16,1,.3,1) .1s both messageIn;display:grid}.option-card{text-align:center;padding:14px var(--space-2);border:1px solid var(--ds-platinum);border-radius:var(--radius-md);cursor:pointer;color:var(--ds-navy);font-family:var(--font);-webkit-tap-highlight-color:transparent;background:#fff;flex-direction:column;align-items:center;gap:6px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0a122a0d}.option-card:hover,.option-card:active{border-color:var(--ds-green);background:#21cc380a;transform:translateY(-1px);box-shadow:0 4px 12px #0a122a14}.option-card .option-emoji{font-size:22px;line-height:1}.option-card .option-label{color:var(--ds-navy);font-size:12px;font-weight:700;line-height:1.3}.option-card .option-desc{color:var(--ds-medium-gray);font-size:10px;line-height:1.3}.score-card{padding:var(--space-4)0;align-self:center;width:100%;max-width:440px;animation:.5s cubic-bezier(.16,1,.3,1) messageIn}.score-card-inner{border:1px solid var(--ds-platinum);border-radius:var(--radius-xl);padding:var(--space-6)var(--space-4);background:#fff;box-shadow:0 2px 12px #0a122a12}.score-header{text-align:center;margin-bottom:20px}.score-header h3{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:14px;font-size:11px;font-weight:700}.score-circle{width:120px;height:120px;margin:0 auto var(--space-3);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.score-circle:before{content:"";background:conic-gradient(var(--score-color,var(--ds-green))calc(var(--score-percent,0)*3.6deg),var(--ds-chip)0deg);-webkit-mask-composite:xor;border-radius:50%;padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.score-number{letter-spacing:-.03em;color:var(--ds-navy);font-size:40px;font-weight:800}.score-label{color:var(--color-text-muted);font-size:11px;font-weight:600}.score-classification{text-align:center;color:var(--ds-navy);margin-bottom:20px;font-size:16px;font-weight:700}.score-breakdown{gap:var(--space-2);flex-direction:column;margin-bottom:20px;display:flex}.score-item{align-items:center;gap:var(--space-2);display:flex}.score-item-emoji{text-align:center;flex-shrink:0;width:20px;font-size:14px}.score-item-label{color:var(--ds-medium-gray);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.score-item-bar{background:var(--ds-chip);border-radius:var(--radius-full);flex-shrink:0;width:60px;height:4px;overflow:hidden}.score-item-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,var(--ds-green),var(--ds-teal));height:100%;transition:width 1s cubic-bezier(.16,1,.3,1)}.score-item-value{text-align:right;width:30px;color:var(--ds-white);flex-shrink:0;font-size:11px;font-weight:700}.visa-recommendations{gap:var(--space-2);flex-direction:column;margin-bottom:20px;display:flex}.visa-rec{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff14;padding:10px 14px;display:flex}.visa-rec-name{color:var(--ds-white);font-size:13px;font-weight:700}.visa-rec-viability{border-radius:var(--radius-full);white-space:nowrap;padding:3px 10px;font-size:11px;font-weight:700}.viability-high{color:var(--ds-green);background:#21cc381f}.viability-moderate{color:#c9a800;background:#f0c8081f}.viability-low{color:var(--ds-red);background:#d32f2f1f}.cta-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:var(--ds-green);width:100%;color:var(--ds-white);font-family:var(--font);-webkit-tap-highlight-color:transparent;border:none;padding:14px 20px;font-size:15px;font-weight:700;transition:all .25s;display:flex;box-shadow:0 2px 8px #21cc3840}.cta-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #21cc384d}.input-container{padding:12px 20px;padding-bottom:max(16px,env(safe-area-inset-bottom,16px));border-top:1px solid var(--ds-platinum);z-index:10;background:#f9f9f8;flex-shrink:0;position:relative}.input-wrapper{border:1px solid var(--ds-platinum);border-radius:var(--radius-full);background:#fff;align-items:center;gap:10px;max-width:680px;margin:0 auto;padding:8px 8px 8px 18px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 4px #0a122a0f}.input-wrapper:focus-within{border-color:var(--ds-green);box-shadow:0 0 0 3px #21cc381a}.chat-input{color:var(--ds-navy);font-family:var(--font);background:0 0;border:none;flex:1;min-width:0;padding:6px 0;font-size:15px}.chat-input::placeholder{color:var(--color-text-muted)}.send-btn{background:var(--ds-navy);width:36px;height:36px;color:var(--ds-white);-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.send-btn:hover:not(:disabled){background:var(--ds-green);transform:scale(1.05)}.send-btn:disabled{opacity:.25;cursor:default}.typing-dots{gap:4px;padding:4px 0;display:flex}.typing-dots span{background:var(--ds-medium-gray);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite typingBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.landing-root{background:var(--color-surface);flex-direction:column;min-height:100dvh;display:flex}.landing-hero{flex-shrink:0;width:100%;height:100svh;min-height:500px;position:relative;overflow:hidden}.landing-hero-bg{object-fit:cover;object-position:center 60%;width:100%;height:100%;position:absolute;inset:0}.landing-hero-overlay{background:linear-gradient(#0a122a73 0%,#0a122a59 40%,#0a122acc 100%);position:absolute;inset:0}.landing-hero-top{z-index:2;padding:20px 24px;position:absolute;top:0;left:0;right:0}.landing-logo-hero{width:auto;height:32px;margin-bottom:20px}.landing-hero-center{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20vh 24px 40px;display:flex;position:absolute;inset:0}.landing-hero-title{font-family:var(--font);letter-spacing:-.03em;color:var(--ds-white);margin-bottom:14px;font-size:clamp(48px,10vw,80px);font-weight:800;line-height:1}.landing-hero-sub{color:#ffffffc7;max-width:460px;margin-bottom:24px;font-size:15px;line-height:1.6}.landing-input-box{width:100%;max-width:560px}.landing-input-inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-full);background:#fffffff5;border:1.5px solid #ffffff4d;align-items:center;gap:10px;padding:10px 10px 10px 16px;transition:box-shadow .2s;display:flex;box-shadow:0 8px 32px #00000040}.landing-input-inner:focus-within{box-shadow:0 8px 32px #0000004d,0 0 0 2px var(--ds-green)}.landing-input-icon{opacity:.5;flex-shrink:0;font-size:16px}.landing-input{font-family:var(--font);color:var(--ds-navy);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.landing-input::placeholder{color:var(--color-text-muted)}.landing-lang-toggle{background:var(--ds-chip);border-radius:var(--radius-full);flex-shrink:0;gap:2px;padding:3px;display:flex}.lang-pill{font-family:var(--font);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s}.lang-pill.active{background:var(--ds-navy);color:var(--ds-white)}.landing-send-btn{background:var(--ds-green);width:38px;height:38px;color:var(--ds-white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .15s,transform .1s;display:flex}.landing-send-btn:hover{background:var(--color-primary-hover);transform:scale(1.05)}.landing-trust-hero{color:#ffffff8c;text-align:center;margin-top:16px;font-size:11px}.landing-trust-hero strong{color:#fffc}.landing-body{padding:var(--space-8)20px var(--space-12);text-align:center;flex-direction:column;align-items:center;display:flex}.landing-page{min-height:100dvh;padding:var(--space-8)20px;text-align:center;z-index:1;background:var(--color-surface);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.landing-logo{width:180px;max-width:50vw;margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);padding:14px 20px;animation:3.5s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.landing-title{letter-spacing:-.03em;margin-bottom:var(--space-2);color:var(--color-text-heading);font-size:36px;font-weight:800;line-height:1.15}.landing-subtitle{color:var(--color-text-body);max-width:420px;margin-top:0;margin-bottom:var(--space-8);font-size:16px;line-height:1.7}.landing-features{gap:var(--space-3);width:100%;max-width:420px;margin-bottom:var(--space-8);display:flex}.feature-card{padding:var(--space-4)10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);flex:1;transition:all .25s}.feature-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.feature-card .emoji{margin-bottom:6px;font-size:24px}.feature-card h3{color:var(--color-text-heading);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:11px;font-weight:700;line-height:1.3}.feature-card p{color:var(--color-text-muted);font-size:10px;line-height:1.4}.language-selector{flex-direction:column;gap:10px;width:100%;max-width:360px;animation:.4s messageIn;display:flex}.language-selector h2{text-align:center;color:var(--color-text-heading);font-size:18px;font-weight:700}.language-selector p{text-align:center;color:var(--color-text-body);margin-bottom:var(--space-1);font-size:13px;font-weight:600}.language-btn{padding:var(--space-4)20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-heading);font-family:var(--font);-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-card);align-items:center;gap:14px;font-size:16px;font-weight:600;transition:all .25s;display:flex}.language-btn:hover,.language-btn:active{border-color:var(--ds-green);box-shadow:var(--shadow-card-hover),0 0 0 1px var(--ds-green);transform:translateY(-1px)}.language-btn .flag{flex-shrink:0;font-size:26px}.language-btn .lang-text{text-align:left;flex:1}.language-btn .lang-text span{color:var(--color-text-muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.language-btn .lang-arrow{color:var(--color-text-muted);font-size:18px;transition:color .2s}.language-btn:hover .lang-arrow{color:var(--ds-green)}.landing-trust{margin-top:var(--space-6);color:var(--color-text-muted);font-size:12px;line-height:1.5}.landing-trust strong{color:var(--color-text-body)}@media (max-width:374px){.landing-title{font-size:30px}.landing-subtitle{font-size:14px}.landing-features{flex-direction:column}.feature-card{padding:12px 10px}.message{max-width:92%}.options-grid{grid-template-columns:1fr;margin-left:0}.score-card-inner{padding:20px var(--space-3)}}@media (min-width:375px) and (max-width:480px){.message{max-width:90%}.options-grid{margin-left:36px}}@media (min-width:481px) and (max-width:768px){.messages-container{padding:20px var(--space-6)}.chat-header{padding:14px var(--space-6)}.input-container{padding:var(--space-3)var(--space-6)}.progress-container{padding:0 var(--space-6)var(--space-2)}.options-grid{margin-left:36px}.score-card{max-width:400px}}@media (min-width:769px){.chat-header{padding:14px var(--space-8)}.messages-container{padding:var(--space-6)var(--space-8);width:100%;max-width:720px;margin:0 auto}.input-container{padding:14px var(--space-8)}.input-wrapper{max-width:720px;margin:0 auto}.progress-container{padding:0 var(--space-8)10px}.message{max-width:75%}.options-grid{max-width:400px;margin-left:36px}.landing-title{font-size:44px}.landing-subtitle{max-width:480px;font-size:17px}.landing-features{gap:var(--space-4);max-width:520px}.feature-card{padding:20px 14px}.feature-card h3{font-size:13px}.feature-card p{font-size:11px}.language-selector{max-width:400px}.score-card{max-width:460px}.score-card-inner{padding:28px var(--space-6)}.score-circle{width:130px;height:130px}.score-number{font-size:44px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.input-container{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
