*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:radial-gradient(ellipse at top,#1b1f2a,#0b0d12);color:#e6e8ef;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:24px;text-align:center}.landing-title{font-size:3.5rem;font-weight:700;letter-spacing:.04em;margin:0;color:#f1f2f7;text-shadow:0 2px 40px rgba(100,108,255,.2)}.landing-subtitle{color:#8a92a6;font-size:1rem;margin:-20px 0 0;max-width:480px}.landing-button-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.primary-button,.secondary-button{padding:14px 32px;font-size:1rem;font-weight:600;border-radius:8px;border:1px solid transparent;transition:transform .08s ease,background .12s ease,border-color .12s ease}.primary-button{background:#5865f2;color:#fff;border-color:#5865f2}.primary-button:hover{background:#6975ff}.primary-button:active{transform:scale(.98)}.secondary-button{background:transparent;color:#e6e8ef;border-color:#3a3f52}.secondary-button:hover{border-color:#8a92a6;background:#8a92a614}.secondary-button:active{transform:scale(.98)}.danger-button{padding:14px 32px;font-size:1rem;font-weight:600;border-radius:8px;border:1px solid #a23a3a;background:#b04040;color:#fff;transition:transform .08s ease,background .12s ease,border-color .12s ease}.danger-button:hover{background:#c44a4a;border-color:#c44a4a}.danger-button:active{transform:scale(.98)}.danger-button:disabled{opacity:.6;cursor:not-allowed}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog{width:min(380px,100%);max-height:none;border-radius:10px}.confirm-dialog-body{padding:20px 22px 16px;display:flex;flex-direction:column;gap:8px}.confirm-dialog-heading{margin:0;font-size:1.05rem;font-weight:600;color:#f1f2f7;line-height:1.35}.confirm-dialog-message{margin:0;font-size:.9rem;line-height:1.5;color:#a8aec0;white-space:pre-wrap;word-break:break-word}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #2c313e;background:#171b26}.confirm-dialog-footer .primary-button,.confirm-dialog-footer .secondary-button,.confirm-dialog-footer .danger-button{padding:7px 14px;font-size:.85rem;font-weight:500;border-radius:6px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e2230;color:#e6e8ef;border:1px solid #3a3f52;padding:12px 20px;border-radius:8px;font-size:.9rem;box-shadow:0 8px 32px #0006;z-index:200}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.overlay-window{background:#14171f;border:1px solid #2c313e;border-radius:12px;width:min(640px,100%);max-height:min(560px,100%);display:flex;flex-direction:column;box-shadow:0 24px 60px #0000008c;overflow:hidden}.overlay-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2c313e;background:#171b26}.overlay-title{font-size:.95rem;font-weight:600;color:#c7cbd8;letter-spacing:.04em;text-transform:uppercase}.overlay-close-button{background:transparent;border:1px solid transparent;color:#8a92a6;width:32px;height:32px;border-radius:6px;font-size:1.1rem;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.overlay-close-button:hover{color:#f1f2f7;border-color:#3a3f52;background:#ffffff0a}.overlay-body{flex:1;padding:24px;overflow-y:auto;display:flex;align-items:flex-start;justify-content:flex-start}.overlay-response{font-size:1.05rem;line-height:1.55;color:#e6e8ef;white-space:pre-wrap;word-break:break-word}.overlay-response.thinking{color:#6e7488;font-style:italic;display:inline-flex;align-items:baseline;animation:thinking-pulse 1.8s ease-in-out infinite}.thinking-dots{display:inline-flex;margin-left:2px}.thinking-dots span{animation:thinking-dot-blink 1.2s infinite ease-in-out;opacity:.25}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-dot-blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-1px)}}@keyframes thinking-pulse{0%,to{opacity:.7}50%{opacity:1}}.overlay-cursor{display:inline-block;width:.5ch;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.overlay-footer{display:flex;padding:12px 16px;gap:8px;border-top:1px solid #2c313e;background:#171b26}.overlay-input{flex:1;font-family:inherit;font-size:1rem;background:#0f1218;border:1px solid #2c313e;color:#e6e8ef;padding:10px 14px;border-radius:8px;outline:none;transition:border-color .12s ease}.overlay-input:focus{border-color:#5865f2}.overlay-input:disabled{opacity:.5;cursor:not-allowed}.overlay-send-button{font-family:inherit;font-size:.95rem;font-weight:600;background:#5865f2;color:#fff;border:1px solid #5865f2;padding:0 18px;border-radius:8px;transition:transform .08s ease,background .12s ease,border-color .12s ease}.overlay-send-button:hover:not(:disabled){background:#6975ff;border-color:#6975ff}.overlay-send-button:active:not(:disabled){transform:scale(.98)}.overlay-send-button:disabled{opacity:.5;cursor:not-allowed}.error-banner{background:#3a1f24;color:#ffb4b4;padding:10px 16px;font-size:.9rem;border-bottom:1px solid #5a2a30}
