:root{--bg-primary: #0a0a0a;--bg-secondary: rgba(15, 15, 18, .85);--bg-user-bubble: linear-gradient(135deg, #1d976c, #93f9b9);--bg-model-bubble: rgba(255, 255, 255, .05);--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-bubble-user: #000000;--border-color: rgba(255, 255, 255, .08);--button-background: #ffffff;--button-text: #000000;--font-family: "Outfit", system-ui, -apple-system, sans-serif;--shadow-glow: 0 4px 20px rgba(147, 249, 185, .15)}*,*:before,*:after{box-sizing:border-box}body,html{width:100%;height:100%;margin:0;padding:0;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.chat-app{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;margin:0 auto;box-sizing:border-box;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--bg-secondary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);flex-shrink:0;z-index:10}.header-left{display:flex;align-items:center;gap:16px;margin-left:8px}.header-right{display:flex;justify-content:flex-end;align-items:center;gap:12px}.header-link{display:flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;background:#ffffff0d;padding:8px 12px;border-radius:12px;border:1px solid var(--border-color);font-size:.85rem;font-weight:500;transition:all .2s cubic-bezier(.25,.8,.25,1)}.header-link:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.header-link:active{transform:translateY(0)}.header-link svg{width:18px;height:18px;fill:currentColor}.header-link-text{display:inline-block}.header-title{font-size:1.5rem;font-weight:600;letter-spacing:.5px;margin:0;background:linear-gradient(90deg,#1d976c,#93f9b9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.clear-history-button{display:flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;background:#ffffff0d;padding:8px 12px;border-radius:12px;border:1px solid var(--border-color);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.25,.8,.25,1);font-family:inherit;animation:pulse-attention 8s ease-in-out infinite}.clear-history-button:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.clear-history-button:active{transform:translateY(0)}.clear-history-button svg{width:18px;height:18px;fill:currentColor;transition:fill .2s ease}.clear-history-text{display:inline-block}@keyframes pulse-attention{0%,85%,to{transform:scale(1);box-shadow:0 0 #93f9b900}90%{transform:scale(1.05);box-shadow:0 0 20px 2px #93f9b926}95%{transform:scale(1)}}.chat-history-container{flex-grow:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:24px;scroll-behavior:smooth}.message-row{display:flex;width:100%}.user-row{justify-content:flex-end}.model-row{justify-content:flex-start}.chat-message{padding:16px 24px;border-radius:20px;word-wrap:break-word;max-width:75%;min-width:12rem;box-shadow:0 4px 20px #0003;animation:slideUp .4s cubic-bezier(.2,.8,.2,1) forwards;opacity:0;transform:translateY(15px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.chat-message.user{background:var(--bg-user-bubble);color:var(--text-bubble-user);border-bottom-right-radius:4px}.chat-message.model{background-color:var(--bg-model-bubble);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.message-role{font-weight:700;font-size:.75rem;letter-spacing:.8px;margin-bottom:8px;margin-top:0;color:#ffffff80}.chat-message.user .message-role{color:#00000080}.message-metadata{font-size:.7rem;color:var(--text-secondary);opacity:.7;margin-top:4px;margin-bottom:8px;display:flex;gap:8px;align-items:center;padding:0 4px}.model-row+.message-metadata{justify-content:flex-start}.user-row+.message-metadata{justify-content:flex-end}.message-content{font-size:1.05rem;line-height:1.6}.message-content :global(p){margin-bottom:12px}.message-content :global(p:last-child){margin-bottom:0}.message-content :global(table){width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem;background:#ffffff08;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.message-content :global(th),.message-content :global(td){padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.message-content :global(th){background:#ffffff14;font-weight:600}.message-content :global(tr:last-child td){border-bottom:none}.message-content :global(ul),.message-content :global(ol){margin:12px 0 12px 24px}.message-content :global(li){margin-bottom:6px}.message-content :global(h1),.message-content :global(h2),.message-content :global(h3){margin:20px 0 12px;font-weight:600}.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}.app-footer{padding:20px 32px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:var(--bg-secondary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-color);flex-shrink:0;z-index:10}.prompt-form{display:flex;gap:16px;align-items:center;max-width:1200px;margin:0 auto;width:100%}.prompt-input{flex-grow:1;padding:16px 24px;background-color:#ffffff0a;border:1px solid var(--border-color);border-radius:24px;font-family:var(--font-family);font-size:1.05rem;line-height:1.5;color:var(--text-primary);transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease;resize:none;overflow-y:auto;word-wrap:break-word;white-space:pre-wrap;min-height:56px;max-height:160px;-ms-overflow-style:none;scrollbar-width:none}.prompt-input::-webkit-scrollbar{display:none}.prompt-input::placeholder{color:#ffffff2e;font-size:.92rem;font-style:italic;font-weight:400;transition:color .3s ease}.prompt-input:focus{outline:none;border-color:#ffffff40;background-color:#ffffff14;box-shadow:0 0 0 3px #ffffff0d}.input-wrapper{position:relative;flex-grow:1;display:flex;flex-direction:column}.placeholder-progress{position:absolute;bottom:-4px;left:32px;right:32px;height:2px;background:linear-gradient(90deg,transparent,rgba(147,249,185,.5),rgba(147,249,185,.8),rgba(147,249,185,.5),transparent);border-radius:1px;transform:scaleX(0);transform-origin:center;animation:progress-fill 3s linear forwards;pointer-events:none;z-index:5}@keyframes progress-fill{0%{transform:scaleX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:scaleX(1);opacity:0}}.prompt-input:disabled{opacity:.6;cursor:not-allowed}.send-button{padding:16px 28px;border:none;border-radius:30px;background:var(--button-background);color:var(--button-text);font-weight:600;font-family:var(--font-family);font-size:1.05rem;cursor:pointer;transition:all .2s cubic-bezier(.25,.8,.25,1);display:flex;align-items:center;justify-content:center}.send-button:hover:not(:disabled){transform:scale(1.03);box-shadow:var(--shadow-glow)}.send-button:active:not(:disabled){transform:scale(.96)}.send-button:disabled{background:#ffffff14;color:#ffffff4d;cursor:not-allowed;transform:none;box-shadow:none}.system-message{text-align:center;padding:12px;margin:0 0 16px;border-radius:12px;font-size:.95rem}.system-message.error{background-color:#ef444414;border:1px solid rgba(239,68,68,.15);color:#fca5a5;line-height:1.5;max-width:600px;max-height:120px;overflow-y:auto;word-break:break-word;overflow-wrap:break-word;margin:0 auto 16px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.9rem;scrollbar-width:thin}.retry-button{background:#d4d4d4b0;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);padding:8px 20px;border-radius:14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover:not(:disabled){background:#ffffff26;transform:translateY(-1px);border-color:#ffffff4d}.retry-button:active:not(:disabled){transform:translateY(0)}.retry-button:disabled{opacity:.5;cursor:not-allowed}.retry-button.inline{margin-top:12px;width:100%;display:block;background:#0000001a;border:1px solid rgba(0,0,0,.15);color:inherit;padding:10px;box-shadow:0 2px 8px #0000000d}.retry-button.inline:hover{background:#00000026;border-color:#00000040}.loading-animation{display:flex;align-items:center;gap:12px;padding:4px;opacity:.8}.spinner{width:22px;height:22px;animation:spin 1s cubic-bezier(.5,0,.5,1) infinite;color:#93f9b9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (max-width: 768px){.app-header{padding:12px 20px;padding-top:calc(12px + env(safe-area-inset-top));gap:12px}.header-link-text{display:none}.header-link{padding:8px;border-radius:50%}.clear-history-text{display:none}.clear-history-button{padding:8px;border-radius:50%}.app-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.chat-history-container{padding:20px;min-height:0}.header-title{font-size:1.3rem}.prompt-input{font-size:1rem;padding:14px 20px}.send-button{padding:14px 24px;font-size:1rem}.chat-message{max-width:90%;padding:14px 20px}.modal-content{padding:32px 24px;border-radius:24px}.modal-actions{flex-direction:column;gap:12px}.modal-button{width:100%;padding:14px 20px}.modal-title{font-size:1.5rem}.modal-description{font-size:1rem;margin-bottom:24px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out;padding:16px;box-sizing:border-box}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:28px;padding:40px 32px;max-width:420px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:modalScaleUp .4s cubic-bezier(.16,1,.3,1);position:relative;max-height:85vh;overflow-y:auto}.modal-title{font-size:1.75rem;font-weight:700;margin-bottom:12px;color:var(--text-primary);letter-spacing:-.5px}.modal-description{color:var(--text-secondary);margin-bottom:32px;line-height:1.6;font-size:1.1rem}.modal-actions{display:flex;gap:16px;justify-content:center;width:100%}.modal-button{flex:1;padding:16px 24px;border-radius:18px;font-weight:600;font-family:var(--font-family);font-size:1rem;cursor:pointer;border:none;transition:all .25s cubic-bezier(.2,.8,.2,1)}.modal-button.cancel{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-color)}.modal-button.confirm{background:#ff4d4d;color:#fff;box-shadow:0 4px 15px #ff4d4d33}.modal-button:hover{transform:translateY(-2px) scale(1.02)}.modal-button.cancel:hover{background:#ffffff1a}.modal-button.confirm:hover{background:#f33;box-shadow:0 8px 25px #ff4d4d59}.modal-button:active{transform:translateY(0) scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
