:root{color-scheme:dark;--bg:#0a0e17;--bg-secondary:#0f1419;--panel:#1a1f2e;--panel-hover:#232938;--panel-border:#2d3548;--text:#e2e8f0;--text-secondary:#cbd5e1;--muted:#94a3b8;--accent:#06b6d4;--accent-strong:#0891b2;--accent-glow:rgba(6,182,212,.3);--error:#ef4444;--error-bg:rgba(239,68,68,.1);--success:#10b981;--success-bg:rgba(16,185,129,.15)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:linear-gradient(135deg,var(--bg) 0,var(--bg-secondary) 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4,h5,h6{margin:0;color:var(--text)}h1,h2,h3,h4,h5,h6{font-weight:600}h1{font-size:2rem;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-shell{margin:0 auto;max-width:900px;padding:20px 20px 40px;min-height:100vh;display:flex;flex-direction:column}.header{justify-content:space-between;gap:16px;margin-bottom:20px;padding:12px 0;flex-shrink:0}.header,.header-actions{display:flex;align-items:center}.header-actions{gap:12px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.3),0 0 1px rgba(6,182,212,.1);overflow:hidden;transition:all .3s ease;flex:1 1;display:flex;flex-direction:column;min-height:0}.panel:hover{box-shadow:0 10px 40px rgba(0,0,0,.4),0 0 20px rgba(6,182,212,.15)}.chat-list{min-height:400px;flex:1 1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,rgba(15,20,25,.3),rgba(10,14,23,.1))}.chat-list::-webkit-scrollbar{width:8px}.chat-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.chat-list::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.chat-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.chat-message-wrapper{display:flex;align-items:flex-start;gap:8px;animation:slideIn .3s ease;max-width:90%}.chat-message-wrapper:has(.chat-user){align-self:flex-end}.chat-message-wrapper:has(.chat-error),.chat-message-wrapper:has(.chat-system){align-self:flex-start}.chat-message{border-radius:12px;padding:14px 18px;flex:1 1;line-height:1.6;border:1px solid transparent;transition:all .2s ease;word-wrap:break-word}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-system{align-self:flex-start;background:rgba(71,85,105,.15);border-color:rgba(71,85,105,.2);color:var(--text-secondary)}.chat-user{align-self:flex-end;background:var(--success-bg);border-color:rgba(16,185,129,.25);color:var(--text);box-shadow:0 2px 8px rgba(16,185,129,.1)}.chat-error{align-self:flex-start;background:var(--error-bg);border-color:rgba(239,68,68,.3);color:#fca5a5}.message-actions{display:flex;gap:8px;flex-shrink:0}.copy-button,.delete-button,.download-icon-button,.edit-button{flex-shrink:0;width:32px;height:32px;padding:0;border-radius:8px;background:rgba(71,85,105,.2);border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:none}.copy-button:hover:enabled,.delete-button:hover:enabled,.download-icon-button:hover:enabled,.edit-button:hover:enabled{background:rgba(71,85,105,.4);border-color:var(--accent);color:var(--accent);transform:scale(1.1);box-shadow:0 2px 8px rgba(6,182,212,.2)}.delete-button:hover:enabled{border-color:var(--error);color:var(--error);box-shadow:0 2px 8px rgba(239,68,68,.2)}.copy-button:active:enabled,.delete-button:active:enabled,.download-icon-button:active:enabled,.edit-button:active:enabled{transform:scale(.95)}.download-button-container{display:flex;justify-content:flex-end;margin-top:8px;margin-bottom:8px;animation:slideIn .3s ease}.download-button{padding:8px 16px;font-size:.85rem;font-weight:600;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--accent-glow)}.download-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,182,212,.4)}.download-button:active{transform:translateY(0)}.controls{display:flex;flex-wrap:nowrap;gap:12px;padding:20px 24px;border-top:1px solid var(--panel-border);background:rgba(10,14,23,.2);align-items:center;flex-shrink:0}.controls .ghost{margin-left:auto}.language-selector{border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;transition:all .2s ease;position:relative;box-shadow:0 4px 12px rgba(6,182,212,.2);-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:12px 48px 12px 16px}.language-selector:after{content:"▼";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:.9rem;color:#fff;pointer-events:none;opacity:.9;z-index:10}.language-selector:hover:enabled{transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,182,212,.3)}.language-selector:hover:enabled:after{opacity:1}.language-selector:active:enabled{transform:translateY(0)}.language-selector:disabled{opacity:.6;cursor:not-allowed}.language-selector option{background:#1a1f2e;color:#e2e8f0;padding:12px 16px;font-weight:600;font-size:1rem;border:none}button{border:none;border-radius:10px;padding:12px 20px;font-weight:600;font-size:.95rem;cursor:pointer;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(6,182,212,.2)}button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent);opacity:0;transition:opacity .2s ease}button:hover:enabled:before{opacity:1}button:hover:enabled{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}button:active:enabled{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.secondary{background:linear-gradient(135deg,#334155,#1e293b);box-shadow:0 4px 12px rgba(0,0,0,.2)}.secondary:hover:enabled{box-shadow:0 6px 20px rgba(51,65,85,.4)}.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--panel-border);box-shadow:none}.ghost:hover:enabled{background:var(--panel-hover);border-color:var(--muted);box-shadow:0 4px 12px rgba(0,0,0,.2)}.lang-switcher{background:transparent;border:1px solid var(--panel-border);padding:8px 14px;font-size:.9rem;box-shadow:none;color:var(--text-secondary)}.lang-switcher:hover:enabled{background:var(--panel-hover);transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,.3)}.status{font-size:.9rem;color:var(--muted);font-weight:500}.footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--panel-border);flex-shrink:0}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer-text{font-size:.9rem;color:var(--muted);margin:0}.footer-link{color:var(--accent);text-decoration:none;transition:all .2s ease}.footer-link:hover{text-decoration:underline;color:var(--accent-strong)}.footer-heart{color:var(--accent);display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.footer-version{font-size:.85rem;color:var(--muted);opacity:.7;margin:0;font-family:Courier New,monospace}@media (max-width:640px){.app-shell{padding:20px 12px 40px}h1{font-size:1.5rem}.header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:space-between}.chat-list{min-height:350px;padding:16px}.controls{padding:16px;flex-wrap:wrap}.controls .language-selector{flex:1 1 100%;min-width:100%;order:-2}.controls .status{flex:1 1 100%;order:-1;text-align:center;padding:8px 0}.controls .ghost{margin-left:0}.controls .ghost,.controls button:not(.ghost){flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px)}.chat-message-wrapper{max-width:100%;flex-wrap:wrap}.message-actions{flex-wrap:wrap;width:100%;justify-content:flex-end;margin-top:8px}button{padding:10px 16px;font-size:.9rem}.footer{margin-top:24px;padding-top:16px}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:8px}.footer-text{font-size:.85rem}}.landing-page{max-width:1200px}.landing-header{padding:20px 0 40px;margin-bottom:0}.landing-header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:2.5rem;font-weight:700;margin:0}.hero{text-align:center;padding:80px 20px;margin-bottom:60px}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:24px;line-height:1.2;background:linear-gradient(135deg,var(--accent) 0,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:40px;line-height:1.8}.cta-button{padding:16px 48px;font-size:1.1rem;font-weight:600;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px var(--accent-glow)}.cta-button:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(6,182,212,.5)}.cta-button:active{transform:translateY(-2px)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:32px;gap:32px;margin-bottom:80px;padding:0 20px}.feature-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:40px 32px;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 12px 40px var(--accent-glow)}.feature-icon{font-size:3rem;margin-bottom:20px;filter:drop-shadow(0 4px 12px var(--accent-glow))}.feature-title{font-size:1.5rem;margin-bottom:12px;color:var(--text)}.feature-desc{color:var(--text-secondary);line-height:1.7}.hobby-notice{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(6,182,212,.1));border:1px solid rgba(16,185,129,.3);border-radius:16px;padding:40px;margin:0 20px 60px;text-align:center}.hobby-notice-content{max-width:700px;margin:0 auto}.hobby-notice-title{font-size:1.75rem;margin-bottom:16px;color:var(--text)}.hobby-notice-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.8}.cta-section{text-align:center;padding:60px 20px 80px;background:linear-gradient(135deg,rgba(6,182,212,.05),rgba(16,185,129,.05));border-radius:24px;margin-bottom:60px}.cta-title{font-size:2rem;margin-bottom:32px;color:var(--text)}.cta-button-secondary{padding:14px 40px;font-size:1rem;font-weight:600;border-radius:12px;background:transparent;color:var(--accent);border:2px solid var(--accent);cursor:pointer;transition:all .3s ease}.cta-button-secondary:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow)}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero{padding:60px 20px}.features{grid-template-columns:1fr;gap:24px}.hobby-notice{padding:32px 24px;margin:0 20px 40px}.hobby-notice-title{font-size:1.4rem}.hobby-notice-desc{font-size:1rem}.cta-section{padding:40px 20px 60px}.cta-title{font-size:1.5rem}}.privacy-page{max-width:900px}.privacy-header{padding:20px 0;margin-bottom:40px;border-bottom:1px solid var(--panel-border)}.privacy-header-content{display:flex;justify-content:space-between;align-items:center}.privacy-content{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:48px;margin-bottom:40px}.privacy-title{font-size:2.5rem;font-weight:700;margin-bottom:20px;background:linear-gradient(135deg,var(--accent) 0,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.privacy-intro{font-size:1.1rem;color:var(--text-secondary);margin-bottom:40px;line-height:1.8}.privacy-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--panel-border)}.privacy-section:last-of-type{border-bottom:none;margin-bottom:40px}.privacy-section-title{font-size:1.5rem;font-weight:600;color:var(--accent);margin-bottom:12px}.privacy-section-desc{color:var(--text-secondary);line-height:1.8;font-size:1rem}.privacy-back{text-align:center;padding-top:20px}.privacy-back-link{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;font-size:1rem;font-weight:500;border-radius:8px;background:transparent;color:var(--accent);border:2px solid var(--accent);text-decoration:none;transition:all .3s ease}.privacy-back-link:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow)}@media (max-width:768px){.privacy-content{padding:32px 24px}.privacy-title{font-size:2rem}.privacy-intro{font-size:1rem}.privacy-section-title{font-size:1.25rem}.privacy-section-desc{font-size:.95rem}}@keyframes wave{0%{transform:translateX(0) scaleY(1)}25%{transform:translateX(12.5%) scaleY(1.5)}50%{transform:translateX(25%) scaleY(1)}75%{transform:translateX(12.5%) scaleY(.8)}to{transform:translateX(0) scaleY(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}