:root,:root[data-theme=light]{--bg: #f7f7fb;--bg-grad: radial-gradient( 1000px 620px at 8% -8%, rgba(168, 85, 247, .16), transparent 60% ), radial-gradient(900px 600px at 100% 0%, rgba(236, 72, 153, .13), transparent 55%), radial-gradient(820px 520px at 50% 116%, rgba(56, 189, 248, .1), transparent 60%), #f7f7fb;--card: #ffffff;--card-hover: #fbfafd;--border: #ececf3;--border-strong: #dcdce8;--text: #1a1626;--muted: #6b6880;--primary: #db2777;--primary-hover: #be185d;--primary-2: #a855f7;--primary-soft: rgba(219, 39, 119, .1);--primary-shadow: rgba(219, 39, 119, .24);--upvote: #16a34a;--downvote: #818cf8;--downvote-soft: rgba(129, 140, 248, .14);--danger: #e23b3b;--shadow-sm: 0 1px 2px rgba(15, 20, 25, .06);--shadow: 0 4px 16px rgba(15, 20, 25, .08);--shadow-lg: 0 12px 32px rgba(15, 20, 25, .14);--navbar-bg: rgba(255, 255, 255, .72)}:root[data-theme=dark]{--bg: #0b0a11;--bg-grad: radial-gradient( 1000px 620px at 8% -8%, rgba(168, 85, 247, .18), transparent 60% ), radial-gradient(900px 600px at 100% 0%, rgba(236, 72, 153, .15), transparent 55%), radial-gradient(820px 520px at 50% 116%, rgba(56, 189, 248, .12), transparent 60%), #0b0a11;--card: #16151c;--card-hover: #1d1c25;--border: #2b2934;--border-strong: #3b3947;--text: #ece9f3;--muted: #9794a6;--primary: #f472b6;--primary-hover: #f9a8d4;--primary-2: #c084fc;--primary-soft: rgba(244, 114, 182, .16);--primary-shadow: rgba(244, 114, 182, .3);--upvote: #34d399;--downvote: #a5b4fc;--downvote-soft: rgba(165, 180, 252, .18);--danger: #ff6060;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 18px rgba(0, 0, 0, .5);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .6);--navbar-bg: rgba(18, 19, 21, .72)}:root{--radius: 14px;--radius-sm: 10px;--radius-pill: 999px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;background:var(--bg-grad);background-attachment:fixed;color:var(--text);transition:background-color .25s ease,color .25s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1,h2,h3{letter-spacing:-.02em}::selection{background:var(--primary-soft)}.container{width:100%}.page{min-height:calc(100vh - 60px)}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 360px;gap:28px;max-width:1680px;margin:0 auto;padding:28px 32px 80px;align-items:start}.shell-main{min-width:0}.sidebar{position:sticky;top:80px;align-self:start;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 96px);overflow-y:auto;scrollbar-width:thin}@media(max-width:1280px){.app-shell{grid-template-columns:240px minmax(0,1fr);gap:24px}.sidebar-right{display:none}}@media(max-width:1024px){.app-shell{gap:20px;padding:24px 20px 72px}}@media(max-width:900px){.app-shell{grid-template-columns:1fr;padding:20px 16px 64px}.sidebar-left{display:none}}.side-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;color:var(--text);transition:background .14s,color .14s}.side-nav-item:hover{background:var(--bg)}.side-nav-item.active{background:var(--primary-soft);color:var(--primary)}.side-ico{font-size:15px}.side-section-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;padding:0 4px}.side-empty{font-size:13px;color:var(--muted);padding:4px}.community-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.c-badge{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;font-size:13px;font-weight:800;flex-shrink:0}.c-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:2px 6px;border-radius:var(--radius-pill)}.widget-title{font-weight:700;font-size:15.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.block{display:block;width:100%;text-align:center;margin-top:12px}.micro{font-size:11px}.discover-list,.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.discover-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.d-name{display:flex;align-items:center;gap:9px;min-width:0;font-weight:600;font-size:13.5px}.d-name>span:last-child{min-width:0}.d-name div:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joined-tag{font-size:11px;font-weight:700;color:var(--muted);flex-shrink:0}.live-dot{width:8px;height:8px;border-radius:50%;background:#2ec26b;box-shadow:0 0 #2ec26b99;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #2ec26b80}70%{box-shadow:0 0 0 6px #2ec26b00}to{box-shadow:0 0 #2ec26b00}}.activity-item{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;border-radius:var(--radius-sm);padding:4px;transition:background .14s}.activity-item:hover{background:var(--bg)}.activity-icon{flex-shrink:0}.activity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-widget{text-align:center}.avatar.sm{width:52px;height:52px;font-size:22px;margin-bottom:8px}.pw-name{font-weight:800;font-size:15px}.pw-stats{font-size:13px;color:var(--muted);margin:2px 0 4px}.navbar{position:sticky;top:0;z-index:20;height:60px;background:var(--navbar-bg);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 20px}.navbar .logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px}.logo-img{width:28px;height:28px;display:block}.logo-text{background:linear-gradient(135deg,var(--primary-2),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.navbar .search{position:relative;flex:1;max-width:420px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6;pointer-events:none}.search-input{padding-left:34px!important;border-radius:var(--radius-pill)!important;background:var(--bg)!important}.navbar .spacer{flex:1}.navbar .nav-links{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);font-size:16px;display:grid;place-items:center;transition:background .15s,transform .15s,border-color .15s}.icon-btn:hover{background:var(--card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:14px;background:var(--card);color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea.input{resize:vertical;min-height:92px;line-height:1.5}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.btn{border:none;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;font-weight:700;padding:10px 18px;border-radius:var(--radius-pill);font-size:14px;box-shadow:0 2px 10px var(--primary-shadow);transition:transform .15s,box-shadow .15s,filter .15s}.btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 16px var(--primary-shadow)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.outline{background:transparent;border:1px solid var(--border-strong);color:var(--text);box-shadow:none}.btn.outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.btn.small{padding:7px 14px;font-size:13px}.link{color:var(--primary);font-weight:600;transition:opacity .15s}.link:hover{text-decoration:underline}.muted{color:var(--muted)}.error{color:var(--danger);font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:box-shadow .18s,transform .18s,border-color .18s,background .2s}.post{display:flex;gap:18px}.post.clickable{cursor:pointer}.post.clickable:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--border-strong)}.post .meta{color:var(--muted);font-size:13.5px;font-weight:500}.post .meta .link{font-weight:700}.post .title{font-size:21px;font-weight:700;margin:6px 0 8px;line-height:1.3}.post .snippet{font-size:15.5px;line-height:1.55;color:var(--text);opacity:.86}.post .footer{color:var(--muted);font-size:12.5px;font-weight:600;margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--bg)}.post img.media{max-width:100%;border-radius:var(--radius-sm);margin:8px 0;border:1px solid var(--border)}.vote{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;height:fit-content;background:var(--bg);border-radius:var(--radius-pill);min-width:36px}.vote button{background:none;border:none;font-size:13px;line-height:1;color:var(--muted);padding:4px;border-radius:50%;transition:color .12s,background .12s,transform .12s}.vote button.up:hover{color:var(--upvote);background:var(--primary-soft);transform:scale(1.15)}.vote button.down:hover{color:var(--downvote);background:var(--downvote-soft);transform:scale(1.15)}.vote button.up.active{color:var(--upvote)}.vote button.down.active{color:var(--downvote)}.vote .score{font-weight:800;font-size:13px;color:var(--text)}.vote .score.voted{color:var(--primary)}.comment .actions .up.active{color:var(--upvote)}.comment .actions .down.active{color:var(--downvote)}.comment{border-left:3px solid var(--primary-soft);padding:12px 14px}.comment .author{color:var(--muted);font-size:12.5px;font-weight:600;margin-bottom:3px}.comment .deleted{font-style:italic;color:var(--muted)}.comment .actions{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:13px}.comment .actions .row{background:var(--bg);border-radius:var(--radius-pill);padding:2px 8px;gap:6px}.comment .actions .score{font-weight:700;font-size:12.5px}.comment .actions .up:hover{color:var(--upvote)}.comment .actions .down:hover{color:var(--downvote)}.tabs{display:inline-flex;gap:4px;margin-bottom:18px;padding:4px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.tabs button{background:none;border:none;padding:7px 18px;font-weight:600;font-size:13.5px;color:var(--muted);border-radius:var(--radius-pill);text-transform:capitalize;transition:color .15s,background .15s}.tabs button:hover{color:var(--text)}.tabs button.active{color:#fff;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 2px 8px var(--primary-shadow)}.auth-wrap{max-width:380px;margin:56px auto;padding:32px 28px;box-shadow:var(--shadow-lg)}.auth-wrap h1{text-align:center;margin:0 0 20px;background:linear-gradient(135deg,var(--primary-2),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.stack>*+*{margin-top:14px}.scroll-sentinel{height:1px}.loading-more,.feed-end{text-align:center;color:var(--muted);font-size:14px;padding:16px}.feed-end{font-size:13px;opacity:.7}.joined-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text);box-shadow:none}.joined-btn .lbl-leave{display:none}.joined-btn:hover{background:transparent;border-color:var(--danger);color:var(--danger);filter:none;transform:none;box-shadow:none}.joined-btn:hover .lbl-joined{display:none}.joined-btn:hover .lbl-leave{display:inline}.center{text-align:center;padding:56px 16px;color:var(--muted)}.row{display:flex;align-items:center;gap:8px}.community-header{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.community-header:before{content:"";position:absolute;inset:0 0 auto 0;height:64px;background:linear-gradient(135deg,var(--primary-soft),transparent)}.community-header>*{position:relative}.community-header h1{margin:0}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 24px;text-align:center;box-shadow:var(--shadow)}.avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 4px 16px var(--primary-shadow)}.composer{display:flex;gap:10px;margin-top:12px;align-items:flex-end}.composer .input{flex:1}.nav-hamburger{display:none;font-size:18px}@media(max-width:900px){.navbar{gap:10px;padding:0 12px}.nav-hamburger{display:grid}.nav-auth{display:none}.navbar .search{max-width:none}}@media(max-width:560px){body{font-size:15px}.logo-text{display:none}.app-shell{padding:16px 12px 56px}.card{padding:16px}.post{gap:12px}.post .title{font-size:18px}.post .snippet{font-size:14.5px}.tabs{display:flex;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex-shrink:0}.auth-wrap{margin:32px auto;padding:26px 20px}.community-header{padding:18px}.profile-card{padding:26px 18px}.composer{flex-direction:column;align-items:stretch}}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;animation:drawer-fade .18s ease}.mobile-drawer{position:absolute;top:0;left:0;bottom:0;width:84%;max-width:320px;padding:16px;overflow-y:auto;background:var(--bg);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;animation:drawer-slide .22s cubic-bezier(.22,1,.36,1)}.mobile-auth{display:flex;flex-direction:column;gap:4px}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(min-width:901px){.mobile-drawer-backdrop{display:none}}
