@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap";:root{--bg:#151b2e;--bg-2:#0e1426;--surface:#151d33;--surface-2:#1c2742;--line:#ffffff14;--line-strong:#ffffff24;--text:#ecf0fa;--muted:#8e98b4;--violet:#8b6cff;--coral:#ff7e6b;--cyan:#57e0d8;--twilight:linear-gradient(120deg, #8b6cff 0%, #b06cff 45%, #ff7e6b 100%)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;overflow-y:scroll}html,body{background-color:#151b2e;width:100%;max-width:100%;min-height:100%;overflow-x:hidden}#root{background-color:#151b2e;min-height:100dvh;overflow-x:clip}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;letter-spacing:0;background-color:#151b2e;min-height:100%;font-family:Roboto,sans-serif;font-weight:400;position:relative}body:before{content:"";pointer-events:none;z-index:0;will-change:transform;background:radial-gradient(900px 500px at 12% -8%,#8b6cff38,#0000 60%),radial-gradient(800px 460px at 95% 8%,#ff7e6b29,#0000 60%),radial-gradient(700px 500px at 50% 110%,#57e0d81a,#0000 55%);position:fixed;inset:0;transform:translateZ(0)}.tp-app{z-index:1;width:100%;max-width:480px;min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:clip}.tp-wrap{width:100%;max-width:480px;margin:0 auto;padding:0 20px;overflow-x:hidden}.tp-wordmark{letter-spacing:-.01em;background:var(--twilight);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Roboto,sans-serif;font-weight:900;display:inline-block}h1,h2,h3{letter-spacing:-.01em;font-family:Roboto,sans-serif;font-weight:700}.tp-card{background:linear-gradient(180deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px #0006}.tp-input{background:var(--surface-2);border:1px solid var(--line-strong);width:100%;color:var(--text);border-radius:14px;padding:15px 16px;font-family:inherit;font-size:16px;transition:border-color .18s,box-shadow .18s}.tp-input::placeholder{color:var(--muted)}@supports (-webkit-touch-callout:none){input,textarea,select{font-size:16px!important}}.tp-input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px #8b6cff2e}.tp-btn{background:var(--twilight);color:#0a0e1c;cursor:pointer;border:none;border-radius:14px;width:100%;padding:15px 20px;font-family:Roboto,sans-serif;font-size:16px;font-weight:500;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 10px 30px #8b6cff52}.tp-btn:hover{transform:translateY(-2px);box-shadow:0 14px 38px #8b6cff73}.tp-btn:active{transform:translateY(0)}.tp-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.tp-btn-ghost{color:var(--muted);border:1px solid var(--line-strong);box-shadow:none;background:0 0}.tp-btn-ghost:hover{color:var(--text);border-color:var(--line-strong);box-shadow:none;transform:none}.tp-avatar{color:#0a0e1c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-family:Roboto,sans-serif;font-size:15px;font-weight:700;display:flex}.tp-chip{background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:600;transition:border-color .16s,transform .16s,background .16s;display:flex}.tp-chip:hover{border-color:var(--violet);transform:translateY(-1px)}.tp-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--violet);font-size:12px;font-weight:700}.tp-fade{animation:.5s both tpFade}@keyframes tpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tp-screen-in{animation:.28s both tpScreenIn}@keyframes tpScreenIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tp-fade,.tp-screen-in{animation:none}.tp-btn,.tp-chip{transition:none}}.tp-skel{background:#ffffff0a;border-radius:12px;position:relative;overflow:hidden}.tp-skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);animation:1.4s infinite tp-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes tp-shimmer{to{transform:translate(100%)}}
