.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at top right,rgba(56,148,255,.18),transparent 26%),radial-gradient(circle at bottom left,rgba(102,66,255,.14),transparent 26%),linear-gradient(180deg,#0b1221,#101a34);color:#102134}.home-card,.chat-card,.history-card{width:min(760px,100%);background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:34px;padding:1.8rem;box-shadow:0 34px 100px #010b2447}.chat-card{max-width:540px;margin-inline:auto;background:#f9fbff;color:#09101b;padding:1.4rem}.chat-card .chat-title,.chat-card .chat-subtitle,.chat-card .assistant-badge{color:#102134}.hero-copy{display:grid;gap:1rem}.greeting{margin:0;color:#a8caff;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem}.home-card h1{margin:0;font-size:clamp(2.3rem,4vw,3.4rem);color:#fff;background:linear-gradient(135deg,#fff,#c8e0ff,#8fb8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(143,184,255,.5));letter-spacing:.02em;font-weight:800}@supports not (background-clip: text){.home-card h1{color:#fff;filter:drop-shadow(0 0 20px rgba(143,184,255,.6))}}.home-actions{display:grid;gap:.85rem;margin-top:1.75rem}.history-button{width:100%;border:none;border-radius:18px;padding:1rem 1.4rem;background:#ffffff14;color:#f7f9ff;font-weight:700;cursor:pointer}.history-button:hover{background:#ffffff24}.subtext,.chat-subtitle,.empty-state{color:#c8d7ffd9;line-height:1.75;margin:0;font-size:.95rem}.start-button,.send-button,.back-button{border:none;border-radius:18px;padding:1rem 1.4rem;cursor:pointer;font-weight:700}.start-button{margin-top:2rem;width:100%;background:linear-gradient(135deg,#8f6cff,#4bd3ff);color:#07101c}.start-button:hover,.send-button:hover,.back-button:hover{opacity:.95}.history-card{width:min(760px,100%);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:2rem;box-shadow:0 28px 80px #00000040}.history-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.history-actions{display:flex;align-items:center;gap:.75rem}.delete-history-button,.delete-session-button{border:none;border-radius:18px;padding:.85rem 1rem;background:#ff586724;color:#ffccd5;cursor:pointer;transition:background .2s ease}.delete-history-button:hover,.delete-session-button:hover{background:#ff586740}.history-item-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center}.history-list{display:grid;gap:1rem}.history-item{display:flex;justify-content:space-between;align-items:center;width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1rem 1.1rem;color:#f7f9ff;cursor:pointer;text-align:left}.history-item:hover{background:#ffffff1f}.history-title{font-weight:700}.history-meta,.history-count{color:#ffffffb8;font-size:.9rem}.chat-header{display:grid;gap:1rem;margin-bottom:1.4rem}.chat-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chat-icons{display:flex;gap:.7rem}.icon-pill,.chat-history-btn{border:none;border-radius:16px;padding:.78rem 1rem;background:#fffffff0;color:#102134;cursor:pointer;transition:transform .18s ease,background .18s ease;box-shadow:0 12px 24px #10213414}.icon-pill:hover,.chat-history-btn:hover{transform:translateY(-1px);background:#e7edf8}.chat-title-row{display:grid;gap:.35rem}.chat-title{margin:0;font-size:1.6rem;font-weight:700}.chat-subtitle{margin:0;color:#44516d}.back-button{background:#ffffff14;color:#f7f9ff;min-width:100px}.messages-panel{display:grid;gap:.9rem;max-height:74vh;min-height:64vh;overflow-y:auto;padding:1rem;margin-bottom:.8rem;border-radius:28px;background:#f4f8ff;border:1px solid rgba(16,33,52,.06);box-shadow:inset 0 0 0 1px #ffffffb3;scroll-behavior:smooth}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:75%;min-width:70px;border-radius:22px;padding:.75rem 1rem;line-height:1.6;box-shadow:0 20px 40px #16305814}.user-bubble{background:#e9f2ff;border:1px solid rgba(86,142,255,.22);color:#102134;align-self:flex-end}.assistant-bubble{background:linear-gradient(180deg,#eef4ff,#f4f8ff);border:1px solid rgba(112,147,255,.26);color:#102134}.message-row.user .message-role,.message-row.assistant .message-role{color:#4f6e8c}.message-content{color:#102134;white-space:pre-wrap}.draft-content{opacity:.96}.typing-caret{display:inline-block;margin-left:.3rem;animation:blinkCaret .9s steps(2,start) infinite}@keyframes blinkCaret{0%,50%{opacity:1}50.1%,to{opacity:0}}.message-bubble p{margin:0}.message-image{margin-top:1rem;width:100%;max-height:360px;border-radius:22px;object-fit:cover;border:1px solid rgba(16,33,52,.08);box-shadow:0 14px 30px #23385e1a}.assistant-badge{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.65rem;border-radius:999px;padding:.35rem .85rem;background:#eef3ff;color:#3a65b9;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;animation:glowLabel 2.6s ease-in-out infinite}@keyframes glowLabel{0%,to{box-shadow:0 0 #86b6ff00}50%{box-shadow:0 0 24px #86b6ff2e}}.typing-bubble{min-width:180px;padding:1rem 1.3rem;background:#eef5ff}.typing-dots{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.8rem 0}.typing-dots span{width:10px;height:10px;border-radius:999px;background:#4b7dff;opacity:.25;animation:blinkDot .95s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes blinkDot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.message-role{font-size:.78rem;color:#4f6e8c;margin-bottom:.45rem}.message-content{color:#102134;line-height:1.8}.markdown-table-wrapper{overflow-x:auto;margin-top:.9rem;margin-bottom:.9rem}.message-content table{width:100%;border-collapse:collapse;margin:.85rem 0;background:#eef3ffcc}.message-content th,.message-content td{border:1px solid rgba(16,33,52,.12);padding:.75rem .9rem;text-align:left}.message-content th{background:#e2e9ffe6;font-weight:700}.code-block-wrapper{position:relative;margin:1rem 0}.code-block{margin:0;padding:1rem;border-radius:18px;overflow-x:auto;background:#1e2942;border:1px solid rgba(16,33,52,.14);box-shadow:inset 0 0 0 1px #ffffff0a;color:#f4f7ff;font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95rem;line-height:1.6}.inline-code{display:inline-block;background:#eaf3ffcc;border-radius:10px;padding:.2rem .45rem;color:#102134}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin-bottom:1rem;border-radius:24px;background:#fff7e8;border:1px solid #ffd79e;color:#7d5a0a;font-weight:600}.update-button{border:none;background:#4b7dff;color:#fff;padding:.75rem 1rem;border-radius:999px;cursor:pointer;font-weight:700}.update-button:hover{background:#3d72e5}.copy-button{position:absolute;top:.8rem;right:.8rem;background:#ffffff1a;border:none;color:#f7f9ff;padding:.4rem .75rem;border-radius:999px;cursor:pointer;font-size:.75rem}.copy-button:hover{background:#ffffff2e}.message-content blockquote{border-left:4px solid #64d8ff;padding:.9rem 1rem;margin:1rem 0;background:#64d8ff14;color:#e7f7ff;border-radius:16px}.message-content ul,.message-content ol{margin:.75rem 0;padding-left:1.2rem}.message-content strong{color:#fff}.error-banner{background:#ff5c5c1f;border:1px solid rgba(255,92,92,.26);padding:.8rem 1rem;border-radius:20px;color:#c1292e;margin-bottom:.8rem;text-align:left;line-height:1.5}.composer{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;padding:.7rem .85rem;border-radius:999px;background:#fff;border:1px solid rgba(16,33,52,.1);box-shadow:0 8px 24px #1630580f;align-items:center}.composer-input-wrap{display:contents}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin-bottom:1rem;border-radius:24px;background:#fff7e8;border:1px solid #ffca8f;color:#7a5500;font-weight:600}.update-button{border:none;background:#4b7dff;color:#fff;padding:.7rem 1rem;border-radius:999px;cursor:pointer;font-weight:700;min-width:100px}.update-button:hover{background:#3a68e0}.composer-input-wrap input{width:100%;min-height:42px;border:none;background:transparent;color:#102134;outline:none;font-size:.95rem;padding:.6rem 0}.composer-input-wrap input::placeholder{color:#a0acc6}.send-button{width:42px;height:42px;border-radius:50%;border:none;background:linear-gradient(135deg,#5b7dff,#4bb3ff);color:#fff;cursor:pointer;display:grid;place-items:center;transition:opacity .2s ease,transform .15s ease}.send-button:hover:not(:disabled){transform:scale(1.05)}.send-button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 720px){.composer{grid-template-columns:auto 1fr auto;padding:.6rem .75rem}.attach-button,.send-button{width:38px;height:38px}.composer-input-wrap input{min-height:38px;font-size:.9rem}}.attach-button{width:42px;height:42px;border-radius:50%;border:none;background:transparent;color:#5a7a9e;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,color .2s ease}.attach-button:hover,.attach-button.active{background:#eef3ff;color:#3a65b9}.photo-menu{display:flex;gap:.5rem;padding:.65rem;background:#fff;border:1px solid rgba(16,33,52,.1);border-radius:20px;box-shadow:0 12px 28px #1021341f;z-index:10}@media (min-width: 721px){.photo-menu{position:absolute;left:0;bottom:52px}}@media (max-width: 720px){.photo-menu{width:100%;justify-content:center;border-radius:16px;padding:.5rem;margin-bottom:.5rem}}.photo-menu-item{border:none;border-radius:14px;padding:.7rem .9rem;background:#f4f8ff;color:#102134;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.85rem;transition:background .2s ease}.photo-menu-item:hover{background:#e9f2ff}.photo-menu-item.icon-only{padding:.65rem}.photo-preview{display:flex;align-items:center;gap:.75rem;padding:.85rem;border-radius:22px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:18px}.clear-photo{border:none;background:#ffffff14;color:#f7f9ff;padding:.65rem .9rem;border-radius:14px;cursor:pointer}.message-image{margin-top:1rem;width:100%;max-height:380px;border-radius:18px;object-fit:contain;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 38px #040d1e47}.composer textarea{width:100%;min-height:100px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#f7f9ff;padding:1rem;resize:vertical;outline:none;font-size:1rem}.composer textarea::placeholder{color:#ffffff8c}.send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 920px){.home-card,.chat-card,.history-card{padding:1.3rem}.messages-panel{max-height:64vh}.message-bubble{max-width:100%;width:100%}.photo-preview img{width:60px;height:60px}.composer textarea{min-height:90px}}@media (max-width: 720px){.app-shell{padding:.5rem}.home-card,.chat-card,.history-card{border-radius:20px;padding:1rem}.chat-card{max-width:100%}.chat-header,.history-header,.composer-top{flex-direction:column;align-items:stretch}.chat-header-top{flex-wrap:wrap}.chat-icons{gap:.5rem}.icon-pill,.chat-history-btn{padding:.6rem .8rem;font-size:.85rem}.chat-title{font-size:1.3rem}.chat-subtitle{font-size:.85rem}.history-actions,.composer-top{width:100%}.history-item-row{grid-template-columns:1fr}.history-item,.delete-session-button,.back-button,.start-button,.send-button,.delete-history-button{width:100%}.photo-menu{position:static;width:100%;left:0;top:0;justify-content:center}.composer{gap:.5rem;padding:.5rem .7rem;border-radius:28px}.composer input{font-size:.9rem;min-height:36px}.attach-button,.send-button{width:36px;height:36px;padding:0}.attach-button svg,.send-button svg{width:18px;height:18px}.composer textarea{min-height:80px}.messages-panel{max-height:60vh;min-height:50vh;padding:.75rem;border-radius:20px}.message-bubble{max-width:85%;padding:.6rem .85rem;font-size:.9rem}.message-image{max-height:240px}.assistant-badge{font-size:.7rem;padding:.3rem .7rem}.photo-preview{padding:.6rem;gap:.5rem}.photo-preview img{width:56px;height:56px;border-radius:12px}}body{margin:0;min-height:100vh;background:#09121f;color:#102134;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
