*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--gp-navy: #19386d;--gp-navy-light: #244a8c;--gp-gold: #d4af37;--gp-gold-light: #f9e29c;--gp-gold-dark: #a67c00;--gp-gold-muted: #c6a34f;--gp-gold-gradient: linear-gradient( 103deg, #f9e29c, #d4af37 30%, #a67c00 70%, #c6a34f );--gp-surface: #f7f9ff;--gp-border: #e2eaf8;--gp-border-strong: #d6e1ee;--gp-text: #222;--gp-muted: #585858;--gp-muted-light: #8a8a8a;--gp-white: #fff;--gp-error: #d03f33;--gp-success: #16a34a;--gp-shadow: 0 2px 12px rgba(25, 56, 109, .08)}body{margin:0;font-family:Nunito Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--gp-white);color:var(--gp-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:860px;margin:0 auto;padding:0 1rem;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{text-align:center;padding:1rem 0 .75rem;background-color:var(--gp-white);border-bottom:1px solid var(--gp-border);margin-bottom:1rem}.header-logo{height:38px;width:auto;margin:0 auto;display:block}.header-tagline{margin:.5rem 0 0;color:var(--gp-muted);font-size:.875rem;font-weight:500;letter-spacing:.2px}.chat-container{flex:1;overflow-y:auto;background:var(--gp-surface);border:1px solid var(--gp-border);border-radius:12px;box-shadow:var(--gp-shadow);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.empty-state{text-align:center;margin-top:3rem;color:var(--gp-muted-light);padding:0 1rem}.empty-state-title{font-size:1.15rem;font-weight:700;color:var(--gp-navy);margin-bottom:.5rem}.empty-state-subtitle{font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.empty-state-examples{display:flex;flex-direction:column;gap:.5rem;max-width:420px;margin:0 auto}.empty-state-example{background:var(--gp-white);border:1px solid var(--gp-border);border-radius:10px;padding:.75rem 1rem;font-size:.875rem;color:var(--gp-muted);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;text-align:left;touch-action:manipulation}.empty-state-example:hover{border-color:var(--gp-gold);box-shadow:0 2px 8px #d4af3726;color:var(--gp-text)}.message{max-width:85%;padding:.875rem 1rem;border-radius:12px;line-height:1.5;position:relative;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user .message-content{white-space:pre-wrap}.message.user{align-self:flex-end;background-color:var(--gp-navy);color:var(--gp-white);border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background-color:var(--gp-white);color:var(--gp-text);border:1px solid var(--gp-border);border-bottom-left-radius:4px;box-shadow:0 1px 3px #19386d0d}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.message-avatar{width:22px;height:22px;border-radius:50%;background:var(--gp-navy);color:var(--gp-gold);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}.message.user .message-avatar{background:var(--gp-white);color:var(--gp-navy)}.message .role{font-size:.75rem;font-weight:700;opacity:.95;text-transform:uppercase;letter-spacing:.5px}.message.assistant .role{color:var(--gp-navy)}.progress-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.progress-chip{font-size:.75rem;padding:.35rem .75rem;background-color:var(--gp-navy);color:var(--gp-white);border-radius:9999px;display:flex;align-items:center;gap:.4rem;font-weight:600;letter-spacing:.3px}.progress-chip:before{content:"";width:.55rem;height:.55rem;border:2px solid var(--gp-gold);border-top-color:transparent;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message.assistant .message-content{line-height:1.6}.message.assistant .message-content p{margin:0 0 .75rem}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3,.message.assistant .message-content h4{margin:1rem 0 .5rem;line-height:1.3;color:var(--gp-navy);font-weight:700}.message.assistant .message-content h1{font-size:1.25rem}.message.assistant .message-content h2{font-size:1.15rem}.message.assistant .message-content h3{font-size:1.05rem}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:0 0 .75rem;padding-left:1.25rem}.message.assistant .message-content li{margin-bottom:.35rem}.message.assistant .message-content a{color:var(--gp-navy);text-decoration:underline;font-weight:600}.message.assistant .message-content a:hover{color:var(--gp-gold-dark)}.message.assistant .message-content strong{font-weight:700;color:var(--gp-navy)}.message.assistant .message-content code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.85em;background-color:var(--gp-surface);color:var(--gp-navy);padding:.125rem .35rem;border-radius:.35rem;border:1px solid var(--gp-border)}.message.assistant .message-content pre{background-color:var(--gp-navy);color:var(--gp-surface);padding:.75rem;border-radius:.5rem;overflow-x:auto;margin:0 0 .75rem}.message.assistant .message-content pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;border:none;font-size:.85em}.message.assistant .message-content blockquote{margin:0 0 .75rem;padding-left:.75rem;border-left:3px solid var(--gp-gold);color:var(--gp-muted)}.message.assistant .message-content hr{border:none;border-top:1px solid var(--gp-border);margin:.75rem 0}.message.assistant .message-content table{width:100%;border-collapse:collapse;margin:0 0 .75rem;font-size:.9rem}.message.assistant .message-content th,.message.assistant .message-content td{border:1px solid var(--gp-border);padding:.45rem .65rem;text-align:left}.message.assistant .message-content th{background-color:var(--gp-surface);font-weight:700;color:var(--gp-navy)}.input-container{display:flex;gap:.75rem;margin-top:1rem;align-items:flex-end;position:sticky;bottom:0;background-color:var(--gp-white);border-top:1px solid var(--gp-border);padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom,0px));z-index:10}.input-container textarea{flex:1;resize:none;padding:.9rem 1.1rem;border:1px solid var(--gp-border-strong);border-radius:12px;font-size:1rem;font-family:inherit;min-height:3rem;max-height:8rem;background-color:var(--gp-white);color:var(--gp-text);transition:border-color .15s ease,box-shadow .15s ease}.input-container textarea:focus{outline:none;border-color:var(--gp-navy);box-shadow:0 0 0 3px #19386d1a}.input-container textarea::placeholder{color:var(--gp-muted-light)}.input-container button{padding:.9rem 1.6rem;background:var(--gp-gold-gradient);color:#000;border:none;border-radius:44px;font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;font-family:inherit;transition:filter .15s ease,transform .1s ease;box-shadow:0 2px 6px #a67c0040;touch-action:manipulation}.input-container button:hover:not(:disabled){filter:brightness(1.05)}.input-container button:active:not(:disabled){transform:translateY(1px)}.input-container button:disabled{background:var(--gp-border-strong);color:var(--gp-muted-light);cursor:not-allowed;box-shadow:none}.input-container button .send-icon{display:none}@media (max-width: 640px){.app{padding:0 .75rem}.header{padding:.75rem 0 .5rem}.header-logo{height:28px}.header-tagline{font-size:.75rem;margin-top:.35rem}.chat-container{padding:.75rem;border-radius:10px;gap:.75rem}.empty-state{margin-top:1.5rem;padding:0}.empty-state-title{font-size:1rem}.empty-state-subtitle{font-size:.85rem}.empty-state-example{width:100%;padding:.85rem 1rem;font-size:.9rem}.message{max-width:95%;padding:.75rem .875rem}.message-avatar{width:18px;height:18px;font-size:.6rem}.message .role{display:none}.message.assistant .message-content h1{font-size:1.1rem}.message.assistant .message-content h2{font-size:1rem}.message.assistant .message-content h3{font-size:.95rem}.message.assistant .message-content table{font-size:.8rem;display:block;overflow-x:auto;white-space:nowrap}.input-container{gap:.5rem;padding:.65rem 0 calc(.65rem + env(safe-area-inset-bottom,0px))}.input-container textarea{padding:.75rem .9rem;min-height:2.75rem}.input-container button{padding:.8rem 1.1rem;font-size:.8rem}}@media (max-width: 480px){.input-container button{padding:0;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.input-container button .send-text{display:none}.input-container button .send-icon{display:inline-block;width:18px;height:18px}}
