:root{--bg:#fff;--surface:#fff;--surface-2:#f7f6f4;--surface-3:#f0eeea;--border:#e8e6e1;--border-strong:#d6d2ca;--text:#29272c;--text-dim:#6b6b70;--text-muted:#9a979c;--on-dark:#fff;--primary:#ff7e1d;--primary-hover:#e8630a;--primary-soft:#ff7e1d1a;--primary-ring:#ff7e1d29;--selected:#29272c;--selected-hover:#3a383e;--confirm:#2a8f7f;--confirm-bg:#2a8f7f17;--confirm-border:#2a8f7f38;--error:#c23b22;--accent-sky:#30a0f0;--accent-indigo:#402080;--accent-green:#00a050;--accent-gold:#f0c000;--accent-teal:#2a8f7f;--font-display:"Fredoka", system-ui, sans-serif;--font:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-card:20px;--radius-input:16px;--radius-pill:999px;--header-h:64px;--measure:760px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:16px;line-height:1.6}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{color:var(--primary-hover)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.wordmark{font-family:var(--font-display);color:var(--primary);letter-spacing:-.01em;font-weight:500;line-height:1;display:inline-block}.btn-primary{background:var(--primary);width:100%;min-height:60px;color:var(--on-dark);border-radius:var(--radius-pill);font-family:var(--font);letter-spacing:-.01em;cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 28px;font-size:17px;font-weight:700;transition:background .15s,transform 80ms;display:flex}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.985)}.btn-primary:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.btn-ghost{color:var(--text-dim);font-family:var(--font);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;padding:10px 16px;font-size:15px;font-weight:600;transition:background .15s,color .15s}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.btn-icon{background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.btn-icon:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-icon:active{background:var(--surface-3)}.option-pill{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);width:100%;min-height:58px;font-family:var(--font);color:var(--text);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:16px;font-weight:600;line-height:1.35;transition:border-color .15s,background .15s,color .15s;display:flex}.option-pill:hover{border-color:var(--border-strong);background:var(--surface-2)}.option-pill[aria-pressed=true],.option-pill.is-selected{background:var(--selected);border-color:var(--selected);color:var(--on-dark)}.option-pill[aria-pressed=true]:hover,.option-pill.is-selected:hover{background:var(--selected-hover);border-color:var(--selected-hover)}.chat-layout{height:100dvh;max-width:var(--measure);flex-direction:column;width:100%;margin:0 auto;display:flex}.chat-header{height:var(--header-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);z-index:10;background:#ffffffeb;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex;position:sticky;top:0}.chat-logo .wordmark{font-size:26px}.chat-header-right{align-items:center;gap:8px;display:flex}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:32px 20px 12px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.chat-empty-layout{flex:1;justify-content:center;align-items:center;padding:40px 0;display:flex;overflow-y:auto}.chat-empty{text-align:center;flex-direction:column;align-items:stretch;width:100%;max-width:560px;margin:auto;padding:0 20px;display:flex;position:relative}.empty-arcs{pointer-events:none;z-index:0;width:480px;max-width:118%;line-height:0;position:absolute;top:-132px;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 30%,#0000 72%);mask-image:linear-gradient(#000 30%,#0000 72%)}.empty-arcs svg{width:100%;height:auto}.chat-empty>:not(.empty-arcs){z-index:1;position:relative}.chat-empty-logo.wordmark{margin:0 auto 12px;font-size:56px;display:block}.chat-empty h2{font-family:var(--font);letter-spacing:-.02em;color:var(--text);margin-bottom:12px;font-size:34px;font-weight:700;line-height:1.2}.chat-blurb{color:var(--text-dim);text-wrap:pretty;max-width:460px;margin:0 auto 32px;font-size:16px;font-weight:400;line-height:1.6}.chat-suggestions{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.chat-suggestions-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:700}.bubble{flex-direction:column;width:100%;display:flex}.bubble-user{align-items:flex-end}.bubble-assistant{align-items:stretch}.bubble-body{flex-direction:column;gap:12px;min-width:0;display:flex}.bubble-user .bubble-body{max-width:78%}.bubble-assistant .bubble-body{width:100%}.bubble-content{color:var(--text);font-size:16px;line-height:1.65}.bubble-user .bubble-content{background:var(--selected);color:var(--on-dark);border-radius:var(--radius-card);border-bottom-right-radius:6px;padding:14px 22px;font-weight:500}.bubble-assistant .bubble-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 22px}.bubble-assistant .bubble-content>:last-child{margin-bottom:0}.bubble-assistant .bubble-content p{margin-bottom:12px}.bubble-assistant .bubble-content h1,.bubble-assistant .bubble-content h2,.bubble-assistant .bubble-content h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:20px 0 8px;font-size:13px;font-weight:700}.bubble-assistant .bubble-content h1:first-child,.bubble-assistant .bubble-content h2:first-child,.bubble-assistant .bubble-content h3:first-child{margin-top:0}.bubble-assistant .bubble-content ul,.bubble-assistant .bubble-content ol{margin-bottom:12px;padding-left:22px}.bubble-assistant .bubble-content li{margin-bottom:6px}.bubble-assistant .bubble-content li:last-child{margin-bottom:0}.bubble-assistant .bubble-content strong{color:var(--text);font-weight:700}.bubble-assistant .bubble-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.bubble-assistant .bubble-content code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:.9em}.cursor{color:var(--primary);margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-dots{align-items:center;gap:6px;padding:2px;display:inline-flex}.typing-dots span{background:var(--primary);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite bounce;display:inline-block}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.bubble-sources{flex-wrap:wrap;align-items:center;gap:8px;padding:0 4px;display:flex}.bubble-sources-label{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.source-pill{background:var(--surface);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:5px 13px 5px 11px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex}.source-dot,.pill-dot{background:var(--accent-teal);border-radius:50%;flex-shrink:0;width:8px;height:8px}.source-pill-policy .source-dot{background:var(--accent-indigo)}.source-pill-handbook .source-dot{background:var(--primary)}.source-pill-certificate .source-dot{background:var(--accent-green)}.source-pill-guide .source-dot{background:var(--accent-sky)}.source-pill-regulator .source-dot{background:var(--accent-gold)}.source-pill-document .source-dot{background:var(--accent-teal)}.option-pill-label{flex:0 auto}.pill-dot-orange{background:var(--primary)}.pill-dot-indigo{background:var(--accent-indigo)}.pill-dot-green{background:var(--accent-green)}.pill-dot-sky{background:var(--accent-sky)}.chat-footer{background:var(--bg);border-top:1px solid var(--border);flex-shrink:0;padding:12px 20px 20px}.chat-input-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:8px;padding:7px 7px 7px 22px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}.chat-input{color:var(--text);font-family:var(--font);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 0;font-size:16px;font-weight:500}.chat-input::placeholder{color:var(--text-muted);font-weight:400}.btn-send{background:var(--primary);width:44px;height:44px;color:var(--on-dark);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,transform 80ms;display:flex}.btn-send:hover:not(:disabled){background:var(--primary-hover)}.btn-send:active:not(:disabled){transform:scale(.94)}.btn-send:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.chat-disclaimer{text-align:center;color:var(--text-muted);margin-top:12px;font-size:13px;font-weight:400}.auth-container{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:440px;padding:44px 36px}.auth-logo{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:36px;display:flex}.auth-logo .wordmark{font-size:40px}.auth-logo-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:700}.auth-card h1{font-family:var(--font);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:30px;font-weight:700;line-height:1.2}.auth-subtitle{color:var(--text-dim);margin-bottom:28px;font-size:16px;line-height:1.6}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-input{border:1px solid var(--border);border-radius:var(--radius-pill);width:100%;min-height:60px;font-family:var(--font);background:var(--surface);color:var(--text);outline:none;padding:0 24px;font-size:16px;font-weight:500;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--text-muted);font-weight:400}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}.auth-error{color:var(--error);padding:0 8px;font-size:14px;font-weight:500}.auth-sent{text-align:center}.auth-sent-icon{background:var(--confirm-bg);width:64px;height:64px;color:var(--confirm);border:1px solid var(--confirm-border);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:26px;display:flex}.auth-sent h2{font-family:var(--font);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:24px;font-weight:700}.auth-sent p{color:var(--text-dim);margin-bottom:24px;font-size:16px;line-height:1.6}@media (width<=600px){.chat-header{padding:0 16px}.chat-logo .wordmark{font-size:24px}.chat-messages{gap:16px;padding:20px 16px 8px}.chat-empty{padding:0 16px}.empty-arcs{width:300px;max-width:86%;top:-76px}.chat-empty-logo.wordmark{font-size:46px}.chat-empty h2{font-size:27px}.chat-blurb{font-size:15px}.option-pill{min-height:54px;padding:12px 20px;font-size:15px}.bubble-user .bubble-body{max-width:88%}.chat-footer{padding:10px 12px 16px}.auth-card{border:none;padding:32px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
