:root{--bg: #F4F3EF;--card: #FFFFFF;--ink: #16150F;--muted: #87867F;--faint: #A8A7A0;--hair: rgba(22, 21, 15, .08);--blue: #2563EB;--green: #15A34A;--red: #E5463C;--purple: #7C5CFC;--gold: #B7791F;--gain-win-bg: linear-gradient(140deg, #101512, #0c1a14 50%, #0a120e);--gain-loss-bg: linear-gradient(140deg, #1a1010, #1f0e0e 50%, #140a0a);--gain-win-num: #45E9AC;--gain-loss-num: #FF7E7E;--font-ui: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-card: 16px;--radius-pill: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.mono{font-family:var(--font-mono)}.card{background:var(--card);border:.5px solid var(--hair);border-radius:var(--radius-card);padding:16px}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;line-height:1.6}.pill--level{background:var(--ink);color:#fff}.pill--rank-1{background:linear-gradient(90deg,#b7791f,#d4a63a);color:#fff}.pill--type{background:#15a34a1f;color:var(--green)}.pill--group{opacity:.9}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;transition:filter .12s ease,transform .08s ease,background .12s ease,color .12s ease,opacity .12s ease}button:active{transform:scale(.97)}button:disabled{cursor:default;transform:none}input,textarea{font-family:var(--font-ui);font-size:15px;color:var(--ink)}a{color:var(--blue);text-decoration:none}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;max-width:1200px;margin:0 auto}.sidebar{padding:24px 16px;border-right:.5px solid var(--hair);position:sticky;top:0;height:100vh;overflow-y:auto}.main-content{max-width:920px;padding:24px 32px}.mobile-topbar{display:none}@media (max-width: 768px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main-content{padding:16px 16px 40px}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:.5px solid var(--hair);position:sticky;top:0;background:#f4f3efd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50}}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}.landing-hero{display:grid;grid-template-columns:1.05fr 420px;gap:48px;align-items:center}.landing-features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 900px){.landing-hero{grid-template-columns:1fr;gap:28px}}@media (max-width: 720px){.landing-features{grid-template-columns:1fr}}.messages-split{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}@media (max-width: 768px){.messages-split{grid-template-columns:1fr}.messages-list-pane{display:none}}@keyframes edge-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-panel{animation:edge-drawer-in .2s ease both}.auth-wrap{position:relative;overflow-x:hidden;background:radial-gradient(900px 500px at 50% 30%,rgba(37,99,235,.06),transparent 70%),#f4f3ef}.auth-curve{position:absolute;left:0;right:0;top:0;width:100%;height:420px;pointer-events:none;z-index:0;opacity:.7}.auth-card{position:relative;z-index:2}@keyframes edge-fade-in{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:none}}@keyframes edge-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes edge-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.fade-in{animation:edge-fade-in .22s ease both}.backdrop-in{animation:edge-backdrop-in .16s ease both}.lift{transition:transform .14s ease,box-shadow .16s ease,border-color .14s ease}.lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #16150f14}.row-hover{transition:background .12s ease}.row-hover:hover{background:#16150f06}.pressable:hover:not(:disabled){filter:brightness(1.06)}.pop:active{animation:edge-pop .25s ease}@keyframes edge-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.typing-dots{display:inline-flex;gap:3px;align-items:center}.typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:edge-blink 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes edge-banner-drift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.banner-drift{animation:edge-banner-drift 8s ease infinite}@keyframes edge-float{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-14px);opacity:.85}}.banner-dot{position:absolute;border-radius:50%;background:#ffffff8c;animation:edge-float 5s ease-in-out infinite;pointer-events:none}@keyframes edge-avatar-glow{0%,to{box-shadow:0 0 0 3px var(--glow),0 0 16px 1px #0000}50%{box-shadow:0 0 0 3px var(--glow),0 0 22px 5px var(--glow)}}.avatar-glow{animation:edge-avatar-glow 3s ease-in-out infinite}@keyframes edge-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rank-bob{display:flex;animation:edge-bob 3.5s ease-in-out infinite}.tilt-card{transition:box-shadow .2s ease;will-change:transform}.tilt-card:hover{box-shadow:0 12px 30px #16150f1a}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
