:root{color-scheme:dark light}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#111827,#050505 45%);color:#f5f6f7}a{color:inherit}a,a:hover{text-decoration:none}.page{min-height:100vh;align-items:center;justify-content:center;padding:80px 24px;gap:48px}.hero,.page{display:flex;flex-direction:column}.hero{max-width:520px;text-align:center;gap:12px}.hero__title{margin:0;font-size:clamp(2.75rem,6vw,3.5rem);letter-spacing:-.02em}.hero__subtitle{margin:0;font-size:1.05rem;line-height:1.6;color:rgba(229,231,235,.7)}.hero__meta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:rgba(229,231,235,.75);margin-top:20px}.hero__signin,.hero__signout{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.hero__error{margin-top:14px;color:#fca5a5;font-size:.95rem}.cards{width:100%;max-width:440px;gap:20px}.card,.cards{display:flex;flex-direction:column}.card{background:rgba(17,24,39,.6);border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:24px;gap:16px;transition:border-color .2s ease,transform .2s ease}.card:hover{border-color:rgba(148,163,184,.45);transform:translateY(-2px)}.card--disabled{opacity:.55;cursor:not-allowed}.card--disabled:hover{transform:none;border-color:rgba(148,163,184,.25)}.card__header h2{margin:0 0 8px;font-size:1.35rem}.card__header p{margin:0;color:rgba(226,232,240,.75);line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid rgba(99,102,241,.4);background:linear-gradient(135deg,rgba(99,102,241,.85),rgba(79,70,229,.85));color:#fff;font-weight:600;font-size:.95rem;transition:transform .15s ease,box-shadow .15s ease}.button svg{flex-shrink:0}.button--icon{padding-inline:14px}.button--icon span{font-size:.9rem}.button--icon-only{width:40px;height:40px;padding:0;border-radius:12px}.button--icon-only svg{margin:0}.button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(79,70,229,.25)}.button:focus-visible{outline:2px solid rgba(165,180,252,.75);outline-offset:3px}.button--disabled{background:rgba(71,85,105,.35);border-color:rgba(71,85,105,.45);color:rgba(226,232,240,.7);cursor:not-allowed;box-shadow:none;transform:none}.button--ghost{background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);color:rgba(226,232,240,.9);font-weight:500}.button--ghost:hover{border-color:rgba(148,163,184,.35);box-shadow:none}.chat{max-width:960px;margin:0 auto;padding:64px 24px 80px;display:flex;flex-direction:column;gap:28px}.chat__header{display:flex;gap:18px;align-items:flex-start}.chat__header h1{margin:0 0 6px;font-size:1.8rem}.chat__header p{margin:0;color:rgba(226,232,240,.7);line-height:1.6}.chat__header-copy{flex:1 1}.chat__header-meta{margin-top:6px;font-size:.9rem;color:rgba(226,232,240,.55)}.chat__header-link{text-decoration:underline;text-underline-offset:4px;color:rgba(129,140,248,.95)}.chat__header-actions{display:flex;gap:12px;align-items:center;margin-left:auto}.chat__header-error{margin-top:8px}.chat__sessions{display:flex;justify-content:space-between;align-items:center}.chat__sessions-track{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.chat__session{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.55);padding:4px;transition:border-color .2s ease,background .2s ease}.chat__session--active{border-color:rgba(99,102,241,.6);background:rgba(99,102,241,.18)}.chat__session-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:.9rem;letter-spacing:.01em}.chat__session-button:hover,.chat__session-button[aria-current=true]{color:rgba(226,232,240,.95)}.chat__session-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(148,163,184,.2);border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;color:rgba(226,232,240,.75);cursor:pointer}.chat__session-remove:hover{background:hsla(0,91%,71%,.3);color:#fecaca}.chat__session-rename{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(148,163,184,.2);border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;color:rgba(226,232,240,.75);cursor:pointer}.chat__session-rename:hover{background:rgba(99,102,241,.35);color:#e0e7ff}.chat__session-form{display:inline-flex;align-items:center;gap:6px;background:rgba(17,24,39,.7);border-radius:999px;padding:4px 6px 4px 10px;border:1px solid rgba(99,102,241,.45)}.chat__session-input{background:transparent;border:none;color:inherit;font-size:.9rem;min-width:120px;outline:none}.chat__session-input::placeholder{color:rgba(226,232,240,.55)}.chat__session-cancel,.chat__session-confirm{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(148,163,184,.25);border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;color:rgba(226,232,240,.85);cursor:pointer}.chat__session-confirm:hover{background:rgba(74,222,128,.35);color:#bbf7d0}.chat__session-cancel:hover{background:hsla(0,91%,71%,.35);color:#fecaca}.chat__session-add{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px dashed rgba(148,163,184,.4);background:rgba(15,23,42,.35);padding:8px 14px;color:rgba(226,232,240,.85);cursor:pointer;transition:border-color .2s ease,background .2s ease}.chat__session-add:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.18)}.chat__warning{background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.4);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;color:#fecaca}.chat__warning strong{color:#fca5a5;font-weight:600}.auth{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:64px 24px}.auth__panel{width:min(420px,100%);background:rgba(15,23,42,.85);border:1px solid rgba(148,163,184,.35);border-radius:20px;padding:32px;gap:20px;box-shadow:0 24px 60px rgba(15,23,42,.35)}.auth__header,.auth__panel{display:flex;flex-direction:column}.auth__header{gap:12px}.auth__header h1{margin:0;font-size:1.75rem}.auth__header p{margin:0;color:rgba(226,232,240,.7);line-height:1.5}.auth__back{align-self:flex-start}.auth__tabs{display:flex;gap:12px;background:rgba(30,41,59,.7);padding:6px;border-radius:14px}.auth__tab{flex:1 1;border:none;background:transparent;color:rgba(226,232,240,.65);font-size:.95rem;font-weight:500;padding:10px 14px;border-radius:10px;cursor:pointer}.auth__tab:focus-visible{outline:2px solid rgba(99,102,241,.7);outline-offset:2px}.auth__tab--active{background:rgba(99,102,241,.22);color:#e0e7ff;font-weight:600}.auth__form{display:flex;flex-direction:column;gap:12px}.auth__label{font-size:.9rem;color:rgba(226,232,240,.7)}.auth__input{border-radius:12px;border:1px solid rgba(148,163,184,.35);padding:12px 14px;background:rgba(15,23,42,.85);color:#f4f4f5;font-size:1rem}.auth__input:focus{outline:none;border-color:rgba(99,102,241,.6);box-shadow:0 0 0 3px rgba(99,102,241,.18)}.auth__error{color:#fca5a5;font-size:.9rem}.auth__info{color:#a5b4fc;font-size:.9rem}.auth__submit{justify-content:center;gap:10px;margin-top:6px}.auth__divider,.auth__submit{display:flex;align-items:center}.auth__divider{gap:12px;margin:12px 0 4px;color:rgba(226,232,240,.55);font-size:.85rem}.auth__divider:after,.auth__divider:before{content:"";flex:1 1;height:1px;background:rgba(148,163,184,.35)}.auth__providers{display:flex;flex-direction:column;gap:10px}.auth__provider{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.75);color:#f4f4f5;padding:12px 16px;font-size:.95rem;font-weight:600;transition:background .2s ease,transform .2s ease}.auth__provider:hover{background:rgba(99,102,241,.18)}.auth__provider:focus-visible{outline:2px solid rgba(99,102,241,.6);outline-offset:2px}.auth__provider:disabled{opacity:.5;cursor:not-allowed}.chat__model{display:flex;flex-direction:column;gap:8px;max-width:260px}.chat__model label{font-size:.9rem;color:rgba(226,232,240,.8)}.chat__model select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.85);color:inherit;padding:12px 14px;font-size:.95rem}.chat__messages{border:1px solid rgba(148,163,184,.2);background:rgba(15,23,42,.5);padding:20px;gap:14px;max-height:420px;overflow-y:auto}.bubble,.chat__messages{border-radius:16px;display:flex;flex-direction:column}.bubble{gap:6px;padding:14px;border:1px solid transparent;max-width:75%}.bubble--assistant{align-self:flex-start;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.35)}.bubble--user{align-self:flex-end;background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.4)}.bubble__label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(226,232,240,.6)}.bubble p{margin:0;line-height:1.6;white-space:pre-wrap}.chat__status{font-size:.85rem;color:rgba(226,232,240,.55)}.chat__empty{padding:24px;margin:8px 0;border-radius:16px;border:1px dashed rgba(148,163,184,.35);background:rgba(15,23,42,.5);text-align:center;font-size:.95rem;line-height:1.6;color:rgba(226,232,240,.7)}.chat__composer{display:flex;flex-direction:column;gap:14px}.chat__composer textarea{width:100%;min-height:140px;resize:vertical;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.7);color:inherit;font-size:1rem;padding:16px;line-height:1.6}.chat__composer textarea::placeholder{color:rgba(226,232,240,.45)}.chat__actions{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.chat__actions span{font-size:.85rem;color:rgba(226,232,240,.65)}.chat__error{color:#fca5a5}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72)}.modal__panel{position:relative;width:min(560px,100%);background:rgba(15,23,42,.95);border:1px solid rgba(148,163,184,.35);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 48px rgba(15,23,42,.6)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal__header h2{margin:0;font-size:1.25rem}.modal__body{display:flex;flex-direction:column;gap:12px}.modal__body label{font-size:.9rem;color:rgba(226,232,240,.8)}.modal__body textarea{resize:vertical;min-height:160px;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.85);padding:16px;color:inherit;font-size:.95rem;line-height:1.6}.modal__hint{margin:0;font-size:.85rem;color:rgba(226,232,240,.6)}.modal__footer{justify-content:space-between;gap:16px;flex-wrap:wrap}.modal__actions,.modal__footer{display:flex;align-items:center}.modal__actions{gap:12px}.wallet__summary{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.wallet__balance{font-size:1.75rem;font-weight:600}.wallet__meta{color:rgba(226,232,240,.75);font-size:.9rem}.wallet__promo{display:flex;flex-direction:column;gap:.75rem}.wallet__promo-row{display:flex;gap:.75rem;flex-wrap:wrap}.wallet__promo-row input{flex:1 1 220px;min-width:200px;padding:.6rem .75rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.4);background-color:rgba(15,23,42,.6);color:#f4f4f5}.wallet__promo textarea{width:100%;border-radius:.9rem;border:1px solid rgba(148,163,184,.35);background-color:rgba(15,23,42,.6);color:#f4f4f5;padding:.9rem;font-size:1rem;line-height:1.5}.wallet__promo-status{font-size:.9rem;color:rgba(148,163,184,.9)}.wallet__promo-status--error{color:#fca5a5}.wallet__label{font-size:.95rem;font-weight:600;color:rgba(226,232,240,.85)}.wallet__transcript{max-height:320px;overflow-y:auto;padding:1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.35);background-color:rgba(15,23,42,.55);color:rgba(226,232,240,.95);white-space:pre-wrap;line-height:1.55;font-size:.95rem}.wallet__segments{margin-top:1rem}.wallet__segments summary{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;color:rgba(226,232,240,.85);font-weight:600}.wallet__segments summary svg{flex-shrink:0}.wallet__segments ul{margin:.75rem 0 0;padding-left:1.1rem;list-style:none;display:grid;grid-gap:.5rem;gap:.5rem;color:rgba(226,232,240,.75)}.wallet__segments li{display:grid;grid-gap:.2rem;gap:.2rem}.wallet__segments li strong{font-size:.85rem;color:rgba(226,232,240,.8)}.wallet__packs{display:grid;grid-gap:.75rem;gap:.75rem}.wallet__pack{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left}.wallet__pack-label{font-weight:600}.wallet__pack-description{font-size:.9rem;color:rgba(226,232,240,.7)}.wallet__transactions{list-style:none;padding:0;margin:0;display:grid;grid-gap:.6rem;gap:.6rem}.wallet__transaction{display:grid;grid-template-columns:1fr auto auto;grid-gap:.75rem;gap:.75rem;align-items:center;background-color:rgba(15,23,42,.45);border:1px solid rgba(148,163,184,.3);border-radius:.9rem;padding:.75rem 1rem}.wallet__transaction-type{text-transform:capitalize}.wallet__transaction-delta{font-weight:600}.wallet__transaction-date{font-size:.85rem;color:rgba(226,232,240,.7);justify-self:end}@media (max-width:768px){.chat{padding:56px 16px 72px;gap:24px}.chat__header{flex-direction:column;align-items:stretch;gap:12px}.chat__sessions-track{width:100%}.chat__messages{max-height:320px}.bubble{max-width:100%}.chat__actions{flex-direction:column;align-items:stretch}.chat__actions span{width:100%}.chat__actions .button{width:100%;justify-content:center}}@media (max-width:640px){.page{padding:64px 16px}.cards{max-width:100%}}