:root{--font-body:"Inter";--font-display:"Oswald";--bg:#0b0f14;--surface:#121821;--surface-2:#1a2230;--line:#243041;--text:#f3f6f2;--text-2:#bac4bc;--muted:#7e8a82;--green:#5f5;--green-ink:#0b0f14;--green-dim:#1d7a2e;--red:#ff5a5f;--radius:14px;--nav-h:60px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body),system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:0;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:var(--text)}img,video{display:block;max-width:100%}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px}.shell{max-width:560px;margin:0 auto;min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-b) + 12px)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(var(--safe-t) + 10px) 16px 10px;background:rgba(11,15,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:20px;text-transform:uppercase}.logo,.topbar h1{font-family:var(--font-display),sans-serif;letter-spacing:.5px}.logo{font-size:22px}.logo,.logo b{font-weight:700}.logo b{color:var(--green)}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;position:relative}.icon-btn:active{background:var(--surface-2)}.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:rgba(11,15,20,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center}.bottom-nav nav{width:100%;max-width:560px;display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav a{display:grid;place-items:center;color:var(--muted);position:relative}.bottom-nav a[aria-current=page]{color:var(--text)}.bottom-nav .plus{width:44px;height:32px;border-radius:10px;background:var(--green);color:var(--green-ink);display:grid;place-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;background:var(--green);color:var(--green-ink);font-weight:700}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--surface-2);color:var(--text)}.btn.ghost{color:var(--text)}.btn.danger,.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{color:var(--red)}.btn.small{min-height:34px;padding:0 14px;border-radius:10px;font-size:14px}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--text-2)}.input,.textarea{width:100%;min-height:46px;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);outline:none}.input:focus,.textarea:focus{border-color:var(--green-dim)}.textarea{min-height:96px;resize:vertical}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--red)}.error,.ok{font-size:14px;margin:8px 0}.ok{color:var(--green)}.page{padding:16px}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1 1;min-width:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty{text-align:center;padding:48px 24px;color:var(--text-2)}.empty h2{font-family:var(--font-display),sans-serif;text-transform:uppercase;color:var(--text);margin:0 0 8px;font-size:22px}.tabs{display:flex;gap:6px;padding:10px 16px 0}.tab{padding:8px 14px;border-radius:999px;background:var(--surface);color:var(--text-2);font-weight:600;font-size:14px}.tab[aria-selected=true]{background:var(--text);color:var(--bg)}.avatar{border-radius:50%;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;flex:none;font-weight:700;color:var(--text-2)}.avatar img{width:100%;height:100%;object-fit:cover}.ring{padding:2px;border-radius:50%;background:conic-gradient(var(--green),#b6ff3b,var(--green))}.ring.seen{background:var(--line)}.ring>.avatar{border:2px solid var(--bg)}.verified{color:var(--green);display:inline-flex;vertical-align:-2px;margin-left:3px}.rail{display:flex;gap:14px;overflow-x:auto;padding:12px 16px;scrollbar-width:none;border-bottom:1px solid var(--line)}.rail::-webkit-scrollbar{display:none}.rail-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:68px;flex:none}.rail-item span{font-size:12px;color:var(--text-2);max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-add{position:relative}.rail-add i{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;border:2px solid var(--bg);font-style:normal;font-weight:800}.story-screen{position:fixed;inset:0;z-index:60;background:#000;display:flex;justify-content:center}.story-frame{position:relative;width:100%;max-width:480px;height:100%}.story-media{position:absolute;inset:0;display:grid;place-items:center}.story-media img,.story-media video{width:100%;height:100%;object-fit:contain}.story-top{position:absolute;left:0;right:0;top:0;padding:calc(var(--safe-t) + 8px) 12px 12px;background:linear-gradient(rgba(0,0,0,.6),transparent);z-index:2}.story-bars{display:flex;gap:4px;margin-bottom:10px}.story-bars div{flex:1 1;height:3px;border-radius:2px;background:hsla(0,0%,100%,.3);overflow:hidden}.story-bars div i{display:block;height:100%;background:#fff;width:0}.story-tap{position:absolute;top:0;bottom:0;width:35%;z-index:1}.story-tap.left{left:0}.story-tap.right{right:0;width:65%}.story-caption{position:absolute;left:0;right:0;bottom:0;padding:20px 16px calc(var(--safe-b) + 20px);background:linear-gradient(transparent,rgba(0,0,0,.7));z-index:2}.post{border-bottom:1px solid var(--line);padding-bottom:10px}.post-head{display:flex;align-items:center;gap:10px;padding:12px 16px}.post-head .name{font-weight:700}.post-head .sub{font-size:12px;color:var(--muted)}.carousel{position:relative;background:#000}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/5;display:grid;place-items:center;position:relative;overflow:hidden}.slide img,.slide video{width:100%;height:100%;object-fit:cover}.slide.contain img,.slide.contain video{object-fit:contain}.slide .ph{width:100%;height:100%;background:linear-gradient(110deg,#10161e 30%,#18212c 50%,#10161e 70%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;pointer-events:none}.dots i{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.45)}.dots i.on{background:#fff}.count-pill{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);padding:2px 9px;border-radius:999px;font-size:12px}.mute-btn{bottom:12px;right:12px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);place-items:center;z-index:2}.heart-pop,.mute-btn{position:absolute;display:grid}.heart-pop{inset:0;place-items:center;pointer-events:none;animation:pop .8s ease forwards;color:#fff}@keyframes pop{0%{transform:scale(.4);opacity:0}20%{transform:scale(1.1);opacity:1}70%{opacity:1}to{transform:scale(1);opacity:0}}.actions{display:flex;align-items:center;gap:6px;padding:6px 10px 0}.actions .icon-btn.liked{color:var(--red)}.post-body{padding:4px 16px 0}.post-body p{margin:4px 0;white-space:pre-wrap;word-wrap:break-word}.tagline{font-size:13px;color:var(--text-2)}.tagline a{color:var(--text);font-weight:600}.team-chip{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--green);font-size:12px;font-weight:600}.profile-head{padding:18px 16px 8px}.stats{display:flex;gap:22px;margin-top:14px}.stats div{text-align:center}.stats b{display:block;font-size:17px}.stats span{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2px;gap:2px}.grid a{aspect-ratio:1;background:var(--surface);position:relative;overflow:hidden}.grid img,.grid video{width:100%;height:100%;object-fit:cover}.grid .kind{position:absolute;top:6px;right:6px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.list-item{display:flex;align-items:center;gap:12px;padding:10px 16px}.list-item:active{background:var(--surface)}.list-item.unread{background:rgba(85,255,85,.05)}.sheet-backdrop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:85dvh;overflow-y:auto;background:var(--surface);border-radius:18px 18px 0 0;padding:8px 0 calc(var(--safe-b) + 12px)}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--line);margin:6px auto 10px}.sheet h3{margin:4px 16px 10px;font-size:16px}.sheet-btn{display:flex;width:100%;align-items:center;gap:12px;padding:14px 16px;text-align:left}.sheet-btn:active{background:var(--surface-2)}.sheet-btn.danger{color:var(--red)}.picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.picker .thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface)}.picker .thumb img,.picker .thumb video{width:100%;height:100%;object-fit:cover}.picker .thumb button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.7);display:grid;place-items:center}.picker .add{aspect-ratio:1;border-radius:10px;border:1.5px dashed var(--line);display:grid;place-items:center;color:var(--text-2);text-align:center;font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;border-radius:999px;background:var(--surface-2);font-size:13px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border-radius:12px;padding:4px;grid-gap:4px;gap:4px}.segmented button{min-height:38px;border-radius:9px;font-weight:600;color:var(--text-2)}.segmented button[aria-pressed=true]{background:var(--surface-2);color:var(--text)}.progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.progress i{display:block;height:100%;background:var(--green);transition:width .2s}.switch{position:relative;width:48px;height:28px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{inset:0;border-radius:999px;background:var(--surface-2)}.switch span,.switch span:after{position:absolute;transition:.2s}.switch span:after{content:"";left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--text-2)}.switch input:checked+span{background:var(--green-dim)}.switch input:checked+span:after{transform:translateX(20px);background:#fff}.switch input:disabled+span{opacity:.5}.comment{display:flex;gap:10px;padding:10px 16px}.comment p{margin:2px 0 0;white-space:pre-wrap;word-wrap:break-word}.composer-bar{position:-webkit-sticky;position:sticky;bottom:calc(var(--nav-h) + var(--safe-b));display:flex;gap:8px;padding:10px 16px;background:var(--bg);border-top:1px solid var(--line)}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:32px 20px calc(var(--safe-b) + 32px)}.hero-logo{font-family:var(--font-display),sans-serif;font-size:44px;font-weight:700;letter-spacing:1px;line-height:1}.hero-logo b{color:var(--green)}.rules li{margin-bottom:8px}