:root{font-family:Outfit,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background:linear-gradient(160deg,#f0f4ff,#e8f4fc 40%,#fff5f0);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.app{max-width:52rem;margin:0 auto;height:100vh;display:flex;flex-direction:column;padding:0 1rem;box-sizing:border-box}.header{padding:1.25rem 0 1rem;flex-shrink:0;display:flex;align-items:flex-start;gap:.75rem}.header__menu-btn{display:none;flex-shrink:0;padding:.5rem .75rem;margin:-.25rem 0 0 -.25rem;font-size:1.35rem;line-height:1;border:none;border-radius:10px;background:#6366f11f;color:#6366f1;cursor:pointer}.header__menu-btn:hover{background:#6366f133}.header__menu-icon{display:block}.header__text{flex:1;min-width:0}.header h1{margin:0 0 .2rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:#1a1a2e;line-height:1.2}.header p{margin:0;font-size:1rem;color:#5c6b7e;font-weight:500}.header__context{margin-top:.35rem!important;font-size:.8rem!important;color:#94a3b8!important;font-weight:500}.chat-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chat{flex:1;min-height:0;overflow-y:scroll;scrollbar-gutter:stable;padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.chat__bottom{height:0;flex-shrink:0;pointer-events:none}.welcome{padding:1.5rem;text-align:center;color:#5c6b7e;font-size:1rem;font-weight:500;border-radius:20px;background:#ffffffb3;border:2px dashed rgba(99,102,241,.3);box-shadow:0 4px 20px #6366f114}.message{display:flex;flex-direction:column;gap:.4rem;max-width:88%}.message--user{align-self:flex-end}.message--assistant{align-self:flex-start}.message__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5c6b7e}.message--user .message__label{color:#6366f1}.message--assistant .message__label{color:#f59e0b}.message__content{padding:.85rem 1.15rem;border-radius:20px;word-break:break-word;line-height:1.5;font-size:1rem}.message__md{white-space:pre-wrap}.message__md:last-child{margin-bottom:0}.message__md--fallback{white-space:pre-wrap}.message__md>*:first-child{margin-top:0}.message__md h1,.message__md h2,.message__md h3{font-size:1rem;font-weight:700;margin:1em 0 .4em;line-height:1.3}.message__md h1:first-child,.message__md h2:first-child,.message__md h3:first-child{margin-top:0}.message__md h1{font-size:1.1rem}.message__md h2{font-size:1.05rem}.message__md h3{font-size:1rem}.message__md p{margin:.5em 0}.message__md p:first-child{margin-top:0}.message__md p:last-child{margin-bottom:0}.message__md ul,.message__md ol{margin:.5em 0;padding-left:1.4em}.message__md li{margin:.25em 0}.message__md strong{font-weight:700}.message__md em{font-style:italic}.message__md table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.9rem;overflow-x:auto;display:block;max-width:100%}.message__md table thead{background-color:#6366f11a}.message__md table th{font-weight:700;text-align:left;padding:.6rem .8rem;border-bottom:2px solid rgba(99,102,241,.3);color:#1a1a2e}.message__md table td{padding:.6rem .8rem;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:top}.message__md table tbody tr:hover{background-color:#6366f10d}.message__md table tbody tr:last-child td{border-bottom:none}.message__md code{font-family:ui-monospace,monospace;font-size:.9em;padding:.15em .35em;border-radius:6px;background:#0000000f}.message--user .message__md code{background:#ffffff40}.message__md blockquote{margin:.5em 0;padding-left:1em;border-left:3px solid rgba(0,0,0,.15);color:inherit;opacity:.95}.message--user .message__md blockquote{border-left-color:#ffffff80}.message--user .message__content{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 14px #6366f159}.message--assistant .message__content{background:#fff;color:#1a1a2e;border:2px solid rgba(245,158,11,.35);border-bottom-left-radius:6px;box-shadow:0 4px 16px #0000000f}.message__typing{color:#94a3b8;font-style:italic;font-weight:500}.loading-dots span{animation:loading-dot 1.4s ease-in-out infinite;opacity:.3}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loading-dot{0%,80%,to{opacity:.3}40%{opacity:1}}.loading-timer{font-style:normal;font-weight:700;color:#6366f1;margin-left:.15rem}.message__duration{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.06);font-size:.8rem;color:#94a3b8;font-weight:600}.message__weaknesses{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(245,158,11,.25);font-size:.75rem;color:#b45309;font-weight:500}.message__weaknesses-overall{color:#94a3b8;font-weight:600}.error{padding:.7rem 1rem;background:#fef2f2;color:#b91c1c;border-radius:14px;font-size:.9rem;font-weight:600;margin-bottom:.5rem;border:2px solid #fecaca}.form-bar{flex-shrink:0;padding:.75rem 0 1rem;background:transparent}.form{display:flex;gap:.6rem}.input{flex:1;padding:.85rem 1.2rem;font:inherit;font-size:1rem;font-weight:500;border:2px solid rgba(99,102,241,.25);border-radius:16px;background:#fff;color:#1a1a2e;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:#94a3b8}.input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f133}.input:disabled{opacity:.7;cursor:not-allowed}.btn{padding:.85rem 1.4rem;font:inherit;font-size:1rem;font-weight:700;border:none;border-radius:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 14px #6366f166}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.layout{display:flex;height:100vh;overflow:hidden}.layout .app{flex:1;min-width:0;max-width:none;margin:0;padding:0 1rem}.sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#ffffffb3;border-right:1px solid rgba(0,0,0,.08)}.sidebar__header{display:flex;gap:.5rem;padding:.75rem;border-bottom:1px solid rgba(0,0,0,.06)}.sidebar__new{flex:1;padding:.5rem .75rem;font:inherit;font-weight:600;font-size:.9rem;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer}.sidebar__new:hover{opacity:.95}.sidebar__refresh{padding:.5rem .75rem;font:inherit;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff;cursor:pointer}.sidebar__list{list-style:none;margin:0;padding:.5rem;overflow-y:auto;flex:1}.sidebar__list-item{display:flex;align-items:stretch;gap:.25rem;margin-bottom:.25rem}.sidebar__list-item .sidebar__item{flex:1;min-width:0}.sidebar__item{display:block;width:100%;padding:.6rem .75rem;font:inherit;font-size:.9rem;text-align:left;border:none;border-radius:10px;background:transparent;cursor:pointer;color:#1a1a2e}.sidebar__item-edit{flex-shrink:0;padding:.4rem .5rem;font-size:.9rem;border:none;border-radius:8px;background:transparent;cursor:pointer;color:#94a3b8;opacity:.7}.sidebar__item-edit:hover{background:#6366f11a;color:#6366f1;opacity:1}.sidebar__item-delete{flex-shrink:0;padding:.4rem .5rem;font-size:1rem;border:none;border-radius:8px;background:transparent;cursor:pointer;color:#94a3b8;opacity:.7}.sidebar__item-delete:hover{background:#fef2f2;color:#b91c1c;opacity:1}.sidebar__item-edit-input{width:100%;padding:.4rem .6rem;font:inherit;font-size:.9rem;border:2px solid #6366f1;border-radius:8px;background:#fff;color:#1a1a2e;outline:none}.sidebar__item-edit-input:focus{box-shadow:0 0 0 3px #6366f133}.sidebar__overlay{display:none;position:fixed;inset:0;background:#0006;z-index:98;border:none;cursor:pointer}.sidebar__close{display:none;flex-shrink:0;padding:.5rem .75rem;font-size:1.25rem;border:none;border-radius:10px;background:#0000000f;cursor:pointer;color:#5c6b7e}.sidebar__close:hover{background:#0000001a}.sidebar__item:hover{background:#6366f11a}.sidebar__item--active{background:#6366f126;font-weight:600}.sidebar__item-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__item-date{display:block;font-size:.75rem;color:#94a3b8;margin-top:.2rem}.sidebar__footer{padding:.75rem;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.35rem}.sidebar__user{font-size:.8rem;color:#5c6b7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__logout{padding:.4rem .75rem;font:inherit;font-size:.85rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;cursor:pointer;color:#5c6b7e}.sidebar__logout:hover{background:#fef2f2;color:#b91c1c}.sidebar__usage{padding:.5rem .75rem;margin-bottom:.35rem;border-radius:8px;background:#6366f114;border:1px solid rgba(99,102,241,.15);display:flex;flex-direction:column;gap:.15rem}.sidebar__usage-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6366f1}.sidebar__usage-value{font-size:1rem;font-weight:700;color:#1a1a2e}.sidebar__usage-tokens{font-size:.65rem;color:#64748b;margin-top:.1rem}@media(max-width:767px){.header__menu-btn{display:block}.header h1{font-size:1.35rem}.header p{font-size:.9rem}.layout .app{padding:0 .6rem;max-width:100%}.chat{padding:.6rem 0;gap:.75rem}.message{max-width:92%}.message__content{padding:.75rem 1rem;font-size:.95rem}.form-bar{padding:.5rem 0 .75rem}.form{gap:.5rem}.input,.btn{padding:.75rem 1rem;font-size:.95rem}.sidebar{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;z-index:99;transform:translate(-100%);transition:transform .25s ease-out;box-shadow:none}.sidebar--open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar__overlay{display:block;opacity:0;pointer-events:none;transition:opacity .25s ease-out}.sidebar__overlay.sidebar__overlay--visible{opacity:1;pointer-events:auto}.sidebar__close{display:flex;align-items:center;justify-content:center}.sidebar__header{display:flex;align-items:center;gap:.5rem}.sidebar__header .sidebar__new{flex:1;min-width:0}}@media(max-width:480px){.message{max-width:96%}.header h1{font-size:1.2rem}}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.25rem;position:relative;overflow-x:hidden}.landing__bg{position:absolute;inset:0;background:linear-gradient(165deg,#f0f4ff,#e8eeff,#e0e7ff);z-index:0;overflow:hidden;pointer-events:none}.landing__blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.75;animation:landing-blob-float 8s ease-in-out infinite}.landing__blob--1{width:min(80vw,480px);height:min(80vw,480px);background:radial-gradient(circle,rgba(99,102,241,.55) 0%,rgba(99,102,241,.2) 50%,transparent 70%);top:-20%;left:-15%;animation-duration:8s;animation-delay:0s}.landing__blob--2{width:min(65vw,380px);height:min(65vw,380px);background:radial-gradient(circle,rgba(139,92,246,.5) 0%,rgba(139,92,246,.15) 50%,transparent 70%);top:25%;right:-20%;animation-duration:7s;animation-delay:-2s}.landing__blob--3{width:min(60vw,340px);height:min(60vw,340px);background:radial-gradient(circle,rgba(245,158,11,.4) 0%,rgba(245,158,11,.1) 50%,transparent 70%);bottom:-15%;left:10%;animation-duration:9s;animation-delay:-4s}.landing__blob--4{width:min(50vw,300px);height:min(50vw,300px);background:radial-gradient(circle,rgba(99,102,241,.45) 0%,rgba(139,92,246,.15) 50%,transparent 70%);bottom:15%;right:10%;animation-duration:7.5s;animation-delay:-1s}@keyframes landing-blob-float{0%{transform:translate(0) scale(1);opacity:.75}25%{transform:translate(20px,-25px) scale(1.1);opacity:.85}50%{transform:translate(-25px,20px) scale(.92);opacity:.7}75%{transform:translate(15px,15px) scale(1.05);opacity:.8}to{transform:translate(0) scale(1);opacity:.75}}.landing__main{position:relative;z-index:1;width:100%;max-width:52rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 5rem)}.landing__hero{text-align:center;margin-bottom:2.5rem}.landing__badge{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6366f1;background:#6366f11f;padding:.35rem .85rem;border-radius:999px;margin-bottom:1.25rem}.landing__title{font-size:clamp(1.85rem,4.5vw,2.4rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;color:#1a1a2e;margin:0 0 .75rem}.landing__title-accent{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__sub{font-size:1.05rem;color:#475569;line-height:1.55;max-width:28rem;margin:0 auto}.landing__sub strong{color:#6366f1;font-weight:700}.landing__grid{display:grid;gap:2rem;align-items:start;width:100%}.landing__hero{margin-bottom:2.5rem}@media(min-width:720px){.landing__grid{grid-template-columns:1fr 320px;gap:2.5rem}.landing__cta-wrap{position:sticky;top:2rem}}.landing__section-title{font-size:1rem;font-weight:700;color:#475569;margin:0 0 1rem;letter-spacing:.02em}.landing__benefits-wrap{min-width:0}.landing__benefits{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.75rem;text-align:left}@media(min-width:520px){.landing__benefits{grid-template-columns:1fr 1fr;gap:.85rem 1.25rem}}.landing__benefit{display:flex;align-items:flex-start;gap:.85rem;font-size:.9rem;color:#334155;line-height:1.4}.landing__benefit-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;background:linear-gradient(135deg,#6366f124,#8b5cf61a);color:#6366f1;display:flex;align-items:center;justify-content:center}.landing__pricing{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.1rem;background:#ffffffb3;border-radius:14px;border:1px solid rgba(99,102,241,.15);box-shadow:0 2px 12px #0000000a}.landing__pricing-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;background:#f59e0b26;color:#b45309;display:flex;align-items:center;justify-content:center}.landing__pricing-title{display:block;font-size:.9rem;color:#1a1a2e;margin-bottom:.2rem}.landing__pricing-text{font-size:.8rem;color:#64748b;line-height:1.45;margin:0}.landing__cta-wrap{min-width:0}.landing__cta{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;padding:1.75rem 1.5rem;box-shadow:0 8px 32px #6366f124,0 2px 10px #0000000d;border:1px solid rgba(255,255,255,.9)}.landing__cta-label{font-size:.95rem;font-weight:700;color:#1a1a2e;margin:0 0 1rem}.landing__google{display:flex;justify-content:center;margin-bottom:.85rem}.landing__cta-note{font-size:.8rem;color:#64748b;margin:0;line-height:1.45}.landing__card{position:relative;z-index:1;max-width:28rem;margin:0 auto;text-align:center;background:#ffffffe6;padding:2rem;border-radius:20px;box-shadow:0 8px 32px #0000000f}.landing__main .landing__grid{width:100%;align-items:start;justify-content:normal}.landing__card--config .landing__title{font-size:1.5rem;margin-bottom:.75rem}.landing__hint{font-size:.95rem;color:#475569;margin:0 0 .5rem}.landing__hint code{background:#0000000f;padding:.2em .5em;border-radius:6px;font-size:.9em}.landing__hint-small{font-size:.8rem;color:#94a3b8;margin:0}.landing__auth-tabs{display:flex;gap:.5rem;margin-bottom:1rem;background:#6366f114;padding:.25rem;border-radius:10px}.landing__auth-tab{flex:1;padding:.6rem 1rem;border:none;background:transparent;color:#64748b;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.landing__auth-tab:hover{color:#475569;background:#ffffff80}.landing__auth-tab--active{background:#fff;color:#6366f1;box-shadow:0 2px 6px #6366f126}.landing__email-form{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.85rem}.landing__input{width:100%;padding:.75rem 1rem;border:2px solid rgba(99,102,241,.15);border-radius:10px;font-size:.95rem;color:#1a1a2e;background:#fff;transition:all .2s;box-sizing:border-box}.landing__input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.landing__input:disabled{opacity:.6;cursor:not-allowed}.landing__input::placeholder{color:#94a3b8}.landing__btn-submit{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #6366f14d}.landing__btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.landing__btn-submit:active:not(:disabled){transform:translateY(0)}.landing__btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.landing__error{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:.9rem;text-align:center}.landing__auth-links{text-align:center;font-size:.85rem;color:#64748b;margin-top:.5rem}.landing__auth-link{background:none;border:none;color:#6366f1;font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s}.landing__auth-link:hover{color:#8b5cf6}.landing__dev-token{margin-top:1rem;padding:1rem;background:#6366f114;border-radius:10px;text-align:left}.landing__token{display:block;margin:.5rem 0;padding:.75rem;background:#fff;border:1px solid rgba(99,102,241,.2);border-radius:8px;font-family:monospace;font-size:.85rem;word-break:break-all;color:#1a1a2e}
