*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Helvetica,Arial,sans-serif;background-color:#f0f2f5;color:#1c1e21;line-height:1.6}a{color:#1877f2;text-decoration:none;transition:color .2s}a:hover{color:#145db2;text-decoration:underline}.container{max-width:680px;margin:0 auto;padding:0 16px}.navbar{background:#1877f2;padding:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #00000026}.navbar .container{display:flex;justify-content:space-between;align-items:center;height:56px;max-width:960px}.navbar .logo{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.5px}.navbar .logo:hover{text-decoration:none;opacity:.9}.navbar .nav-links{display:flex;gap:8px;align-items:center}.navbar .nav-links a{color:#ffffffe6;font-size:.9rem;font-weight:500;padding:8px 12px;border-radius:6px;transition:background .2s}.navbar .nav-links a:hover{background:#ffffff26;text-decoration:none;color:#fff}.navbar .nav-links .nav-user{display:flex;align-items:center;gap:8px;color:#fff;font-size:.9rem;font-weight:500}.navbar .nav-links button{background:#fff3;border:none;cursor:pointer;color:#fff;font-size:.85rem;font-weight:500;padding:8px 14px;border-radius:6px;transition:background .2s}.navbar .nav-links button:hover{background:#ffffff4d;text-decoration:none}.navbar .btn-create-post{background:#fff!important;color:#1877f2!important;font-weight:600!important;padding:8px 16px!important;border-radius:20px!important;font-size:.85rem!important;transition:transform .15s,box-shadow .15s!important}.navbar .btn-create-post:hover{transform:scale(1.03);box-shadow:0 2px 8px #0003;background:#f0f0f0!important}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-md{width:40px;height:40px;font-size:.9rem}.avatar-lg{width:48px;height:48px;font-size:1.1rem}.page{padding:24px 0}.page>h1{margin-bottom:20px;font-size:1.5rem;font-weight:700;color:#1c1e21}.create-post-prompt{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:box-shadow .2s}.create-post-prompt:hover{box-shadow:0 2px 8px #00000026}.create-post-prompt .prompt-input{flex:1;background:#f0f2f5;border:none;border-radius:20px;padding:10px 16px;font-size:.95rem;color:#65676b;cursor:pointer;transition:background .2s}.create-post-prompt .prompt-input:hover{background:#e4e6e9}.card{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;margin-bottom:20px;overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:0 2px 8px #00000026}.post-card{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;margin-bottom:20px;overflow:hidden;transition:box-shadow .2s}.post-card:hover{box-shadow:0 4px 12px #00000026}.post-card-header{display:flex;align-items:center;gap:10px;padding:16px 16px 0}.post-card-header-info{display:flex;flex-direction:column}.post-card-header-info .author-name{font-weight:600;font-size:.9rem;color:#050505}.post-card-header-info .post-time{font-size:.8rem;color:#65676b}.post-card-body{padding:12px 16px}.post-card-body h2{font-size:1.2rem;font-weight:700;margin-bottom:8px;line-height:1.3}.post-card-body h2 a{color:#050505;transition:color .2s}.post-card-body h2 a:hover{color:#1877f2;text-decoration:none}.post-card-body .excerpt{color:#333;font-size:.95rem;line-height:1.5}.post-card-footer{padding:0 16px 12px;margin-top:12px}.post-card-footer .read-more{display:inline-block;color:#1877f2;font-weight:600;font-size:.9rem;padding:6px 0;transition:color .2s}.post-card-footer .read-more:hover{color:#145db2;text-decoration:underline}.post-detail{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;overflow:hidden}.post-detail-header{display:flex;align-items:center;gap:12px;padding:20px 20px 0}.post-detail-header-info .author-name{font-weight:600;font-size:.95rem;color:#050505}.post-detail-header-info .post-time{font-size:.8rem;color:#65676b}.post-detail-body{padding:16px 20px 20px}.post-detail-body h1{font-size:1.7rem;font-weight:800;margin-bottom:16px;color:#050505;line-height:1.3}.post-detail-body .content{font-size:1rem;line-height:1.8;white-space:pre-wrap;color:#1c1e21}.post-detail-actions{padding:12px 20px;border-top:1px solid #e4e6e9;display:flex;gap:8px}.form-card{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;padding:24px}.form-card h1{font-size:1.3rem;font-weight:700;margin-bottom:20px;color:#1c1e21}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:.85rem;color:#606770}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #dddfe2;border-radius:8px;font-size:1rem;font-family:inherit;background:#f5f6f7;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1877f2;box-shadow:0 0 0 2px #1877f233;background:#fff}.form-group textarea{min-height:150px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background-color:#1877f2;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s;font-family:inherit}.btn:hover{background-color:#166fe5}.btn:active{transform:scale(.98)}.btn-danger{background-color:#fa3e3e}.btn-danger:hover{background-color:#e02020}.btn-secondary{background-color:#e4e6eb;color:#050505}.btn-secondary:hover{background-color:#d8dadf}.btn-sm{padding:6px 14px;font-size:.85rem;border-radius:6px}.error-message{background:#ffebe9;color:#cf222e;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem;border:1px solid #ffcecb}.comments-section{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;margin-top:20px;overflow:hidden}.comments-section-header{padding:16px 20px;border-bottom:1px solid #e4e6e9;font-size:1rem;font-weight:700;color:#1c1e21}.comment-form{padding:16px 20px;display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid #e4e6e9}.comment-form .comment-input-wrapper{flex:1;display:flex;flex-direction:column;gap:8px}.comment-form textarea{width:100%;min-height:40px;max-height:120px;padding:10px 14px;border:none;border-radius:20px;font-size:.9rem;font-family:inherit;resize:none;background:#f0f2f5;transition:background .2s}.comment-form textarea:focus{outline:none;background:#e4e6e9}.comment-form .btn{border-radius:20px;padding:8px 18px;font-size:.85rem;align-self:flex-end}.comment{padding:12px 20px;display:flex;gap:10px;align-items:flex-start}.comment+.comment{border-top:none}.comment-bubble{flex:1}.comment-bubble-inner{background:#f0f2f5;border-radius:18px;padding:10px 14px;display:inline-block;max-width:100%}.comment-bubble-inner .author-name{font-weight:600;font-size:.8rem;color:#050505}.comment-bubble-inner .content{font-size:.9rem;color:#1c1e21;margin-top:2px;line-height:1.4}.comment-meta{display:flex;align-items:center;gap:12px;padding:4px 14px 0;font-size:.75rem;color:#65676b}.comment-meta .delete-btn{background:none;border:none;color:#fa3e3e;cursor:pointer;font-size:.75rem;font-weight:600;padding:0;transition:color .2s}.comment-meta .delete-btn:hover{color:#e02020;text-decoration:underline}.no-comments{padding:20px;text-align:center;color:#65676b;font-size:.9rem}.auth-wrapper{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:40px 16px}.auth-page{width:100%;max-width:400px}.auth-page .auth-brand{text-align:center;margin-bottom:20px}.auth-page .auth-brand h1{font-size:2.2rem;font-weight:800;color:#1877f2;letter-spacing:-1px}.auth-page .auth-brand p{color:#606770;font-size:1rem;margin-top:6px}.auth-page .auth-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a,0 8px 16px #0000001a;padding:24px}.auth-page .auth-card .form-group input{padding:14px 16px;font-size:1rem;border-radius:8px;background:#fff;border:1px solid #dddfe2}.auth-page .auth-card .form-group input:focus{border-color:#1877f2;box-shadow:0 0 0 2px #1877f233}.auth-page .auth-card .btn{width:100%;padding:12px;font-size:1.1rem;border-radius:8px;margin-top:8px}.auth-divider{border:none;border-top:1px solid #dadde1;margin:20px 0}.auth-page .switch-link{text-align:center;margin-top:20px;font-size:.95rem;color:#606770}.auth-page .switch-link a{color:#1877f2;font-weight:600}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:60px 0}.spinner{width:36px;height:36px;border:4px solid #e4e6e9;border-top-color:#1877f2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a}.empty-state .empty-icon{font-size:3rem;margin-bottom:12px}.empty-state h3{font-size:1.2rem;color:#1c1e21;margin-bottom:8px}.empty-state p{color:#65676b;font-size:.95rem}.hero-banner{position:relative;height:420px;background-image:url(https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=1400&q=80);background-size:cover;background-position:center 30%;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1877f2d1,#643cb4b8)}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:0 24px;max-width:620px}.hero-title{font-size:2.4rem;font-weight:900;line-height:1.2;margin-bottom:14px;text-shadow:0 2px 8px rgba(0,0,0,.2)}.hero-subtitle{font-size:1.1rem;opacity:.92;margin-bottom:24px;line-height:1.5}.hero-members{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px}.hero-member-avatars{display:flex}.hero-member-img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover;margin-left:-10px;box-shadow:0 2px 6px #00000040}.hero-member-avatars .hero-member-img:first-child{margin-left:0}.hero-member-text{font-size:.9rem;font-weight:600;opacity:.95}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-btn-primary{background:#fff!important;color:#1877f2!important;font-weight:700!important;padding:12px 28px!important;border-radius:24px!important;font-size:1rem!important;box-shadow:0 4px 14px #0003;transition:transform .15s,box-shadow .15s!important}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000047!important;text-decoration:none!important}.hero-btn-secondary{background:#ffffff2e!important;color:#fff!important;font-weight:600!important;padding:12px 28px!important;border-radius:24px!important;font-size:1rem!important;border:2px solid rgba(255,255,255,.6)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s!important}.hero-btn-secondary:hover{background:#ffffff4d!important;text-decoration:none!important}.community-strip{background:#fff;border-bottom:1px solid #e4e6e9;padding:16px 0;overflow-x:auto}.community-strip-inner{display:flex;gap:16px;max-width:960px;margin:0 auto;padding:0 16px;justify-content:center}.community-vibe{flex-shrink:0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;position:relative;width:200px;transition:transform .2s,box-shadow .2s}.community-vibe:hover{transform:translateY(-3px);box-shadow:0 6px 18px #00000026}.vibe-img{width:100%;height:110px;object-fit:cover;display:block}.vibe-label{background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);color:#fff;font-size:.82rem;font-weight:700;padding:8px 10px;position:absolute;bottom:0;left:0;right:0}.post-card-image-link{display:block;overflow:hidden}.post-card-image{width:100%;height:200px;object-fit:cover;display:block;transition:transform .3s}.post-card:hover .post-card-image{transform:scale(1.03)}.post-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 14px;border-top:1px solid #f0f2f5}.post-card-reactions{display:flex;gap:6px}.reaction-emoji{font-size:1.2rem;cursor:default;transition:transform .15s;display:inline-block}.reaction-emoji:hover{transform:scale(1.3)}.empty-state-img{width:100%;max-width:360px;height:180px;object-fit:cover;border-radius:12px;margin-bottom:20px}@media (max-width: 768px){.container,.navbar .container{padding:0 12px}.navbar .logo{font-size:1.25rem}.navbar .nav-links{gap:4px}.navbar .nav-links a{padding:6px 8px;font-size:.8rem}.post-card-body h2{font-size:1.05rem}.auth-page .auth-brand h1{font-size:1.8rem}.post-detail-body h1{font-size:1.3rem}.post-detail-body{padding:12px 16px 16px}}
