*{box-sizing:border-box} :root{--bg:#f7f5fb;--card:#fff;--text:#241d2b;--muted:#766c80;--line:#ebe4f0;--p:#a32bc2;--p2:#e72d91;--soft:#faeffb;--green:#20ad68;--shadow:0 12px 35px rgba(60,30,75,.09)}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}a{text-decoration:none;color:inherit}.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:68px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:19px;white-space:nowrap}.brand i{font-style:normal;font-weight:500;color:var(--p)}.logo{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 7px 18px #a32bc230}.desktop-nav{display:flex;gap:5px}.desktop-nav a{padding:10px 13px;border-radius:10px;font-size:14px;font-weight:750;color:#6d6376}.desktop-nav a:hover,.desktop-nav .active{background:var(--soft);color:var(--p)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.search{height:40px;width:205px;background:#f7f4f9;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;padding:0 10px;color:#8a8090}.search input{border:0;outline:0;background:transparent;width:100%;padding:0 6px}.bell,.userlink,.login-btn{height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 12px;font-weight:750;font-size:13px}.bell{position:relative}.bell b{position:absolute;right:-5px;top:-6px;background:#e72d91;color:#fff;border-radius:20px;font-size:9px;padding:2px 5px}.userlink{gap:7px}.mini,.avatar-circle{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eedcf2;color:#822d98;font-weight:850}.login-btn{background:var(--soft);color:var(--p);border-color:#ead5ef}.hero{margin:26px 0 22px;border-radius:26px;background:linear-gradient(135deg,#7128a0,#a92cba 52%,#e72d91);color:#fff;overflow:hidden;box-shadow:var(--shadow)}.hero-inner{padding:34px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:850;opacity:.76}.hero h1{font-size:clamp(31px,4vw,49px);line-height:1.05;margin:8px 0}.hero p{max-width:680px;color:#fffD;font-size:16px;line-height:1.6;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;padding:12px 17px;font-weight:850;cursor:pointer}.white{background:#fff;color:#92269e}.glass{background:#ffffff18;color:#fff;border:1px solid #ffffff40}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;padding-top:19px;border-top:1px solid #ffffff2b}.stat{padding:0 18px;border-right:1px solid #ffffff25}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{display:block;font-size:23px}.stat span{font-size:11px;color:#fffb}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:3px 0 13px}.section-head h2{font-size:20px;margin:0}.section-head a{font-size:12px;color:var(--p);font-weight:850}.category-list{display:flex;flex-direction:column;gap:10px}.category{display:grid;grid-template-columns:54px minmax(0,1fr) 120px 175px;gap:15px;align-items:center;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.18s}.category:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:#dfc6e6}.cat-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#f9eafa,#fde9f3);font-size:21px}.cat-title{font-weight:850;font-size:15px;margin-bottom:4px}.cat-desc{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-stats{font-size:11px;line-height:1.7;color:var(--muted)}.latest-title{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest small,.meta{display:block;color:var(--muted);font-size:10px;margin-top:4px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 22px #3d1f4b08}.list{padding:4px 17px}.item{display:block;padding:13px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.badge{display:inline-block;background:var(--soft);color:#952aad;border-radius:20px;padding:3px 7px;font-weight:800;margin-right:4px}.side{display:flex;flex-direction:column;gap:15px}.side-card{padding:17px}.side-title{font-weight:850;font-size:14px;margin-bottom:12px}.user-top{display:flex;align-items:center;gap:10px}.user-name{font-weight:850}.online{color:var(--green);font-size:10px;font-weight:800}.user-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:15px;padding-top:13px;text-align:center}.user-stats strong{display:block}.user-stats span{font-size:9px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:30px}.mobile-nav{display:none}
.page{padding:25px 0 50px}.form-card{max-width:650px;margin:auto;padding:24px}.form-card h1{margin-top:0}.field{margin:0 0 15px}.field label{display:block;font-weight:750;font-size:13px;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;outline:0}.field textarea{min-height:170px;resize:vertical}.notice{padding:11px;border-radius:10px;background:#fff0f4;color:#9b2858;margin-bottom:14px}.thread-head{padding:23px}.thread-head h1{margin:7px 0;font-size:clamp(24px,4vw,36px)}.post{display:grid;grid-template-columns:155px minmax(0,1fr);border-top:1px solid var(--line)}.post-user{padding:18px;text-align:center;background:#fcf9fd;border-right:1px solid var(--line)}.post-user .avatar-circle{width:58px;height:58px;margin:auto;font-size:20px}.post-user strong{display:block;margin-top:8px}.post-body{padding:20px;min-width:0}.post-meta{color:var(--muted);font-size:11px;margin-bottom:13px}.post-content{line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.reply-box{padding:18px}.profile-head{padding:25px;display:flex;align-items:center;gap:16px}.profile-head .avatar-circle{width:80px;height:80px;font-size:28px}.profile-name{font-size:27px;font-weight:900}.profile-meta{color:var(--muted);font-size:12px}.notif{padding:15px;border-bottom:1px solid var(--line)}@media(max-width:1000px){.desktop-nav{display:none}.layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:repeat(2,1fr)}.category{grid-template-columns:54px minmax(0,1fr) 115px}.category .latest{display:none}}@media(max-width:700px){.wrap{width:calc(100% - 20px)}.nav{height:60px;gap:7px}.brand{font-size:16px}.logo{width:36px;height:36px}.search{width:40px;padding:0;justify-content:center}.search input{display:none}.search:before{content:"⌕";font-size:20px}.hide-sm{display:none}.hero{margin:14px 0 16px;border-radius:21px}.hero-inner{padding:25px 20px 20px}.hero h1{font-size:31px}.hero p{font-size:14px}.stats{grid-template-columns:repeat(2,1fr);gap:16px 0}.stat{padding:0 12px}.stat:nth-child(3){padding-left:0}.stat:nth-child(2){border:0}.category{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:13px}.cat-icon{width:46px;height:46px}.cat-desc{white-space:normal;line-height:1.4}.cat-stats{grid-column:2;margin-top:-5px}.side{display:flex}.user-card{display:none}.list{padding:3px 14px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:60;background:#fffffff7;border-top:1px solid var(--line);padding:6px 7px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(15px)}.mobile-nav a{text-align:center;color:#746b7e;font-size:10px;font-weight:800;padding:4px}.mobile-nav b{display:block;font-size:18px;line-height:20px}.post{grid-template-columns:1fr}.post-user{display:flex;align-items:center;gap:10px;text-align:left;padding:11px;border-right:0;border-bottom:1px solid var(--line)}.post-user .avatar-circle{width:42px;height:42px;margin:0;font-size:15px}.post-user strong{margin:0}.post-body{padding:15px}.profile-head{padding:18px}.profile-name{font-size:22px}.form-card{padding:18px}}@media(max-width:390px){.actions .btn{width:100%}.side{gap:10px}}
.avatar-circle.big{width:82px;height:82px;font-size:30px}.avatar-circle img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-stats{display:flex;gap:18px;margin-top:10px}.profile-stats span{font-size:13px;color:var(--muted)}.profile-stats b{color:var(--ink)}.success{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;padding:11px 13px;border-radius:12px;margin-bottom:12px}.post-actions{display:flex;gap:8px;margin-top:12px}.reaction-btn,.report-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;cursor:pointer;color:var(--muted);font-weight:750}.reaction-btn.active{background:#fff0f6;color:#d63384;border-color:#f5b8d2}.report-toggle{font-size:12px}.report-form{display:none;gap:8px;flex-wrap:wrap;margin-top:10px;padding:10px;background:#fafafa;border-radius:12px}.report-form.show{display:flex}.report-form input,.report-form select{min-height:40px;border:1px solid var(--line);border-radius:9px;padding:8px}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.mod-report{border-top:1px solid var(--line);padding:18px 0}.mod-report:first-of-type{border-top:0}.inline-actions{display:flex;gap:8px}.field small{display:block;color:var(--muted);margin-top:5px}@media(max-width:700px){.avatar-circle.big{width:64px;height:64px;font-size:24px}.profile-head{align-items:center}.report-form input{width:100%}}

/* v2.2 */
.narrow{max-width:560px;margin:0 auto}.auth-divider{text-align:center;color:var(--muted);margin:14px 0}.google-btn{display:block;text-align:center;background:#fff!important;color:#222!important;border:1px solid #ddd!important}.search-wide{display:flex;gap:10px;margin-top:15px}.search-wide input{flex:1}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:15px}.member-card{display:block;position:relative;overflow:hidden;padding:17px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.member-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--p),var(--p2));opacity:.9}.member-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(60,30,75,.12);border-color:#ddc5e6}.member-card-top{display:flex;align-items:center;gap:12px;min-width:0}.member-avatar-wrap{position:relative;flex:0 0 auto}.member-card .avatar-circle.big{width:66px;height:66px;font-size:23px;border:3px solid #fff;box-shadow:0 4px 14px rgba(90,35,105,.14)}.member-identity{min-width:0;flex:1}.member-identity h3{margin:0 0 3px;font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-handle{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role{flex:0 0 auto;background:var(--soft);color:var(--p);border:1px solid #ead7ef;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.member-status{position:absolute;right:1px;bottom:2px;width:13px;height:13px;border-radius:50%;background:#b9b2bd;border:3px solid #fff}.member-status.is-online{background:var(--green);box-shadow:0 0 0 2px #dff7ea}.member-bio{min-height:36px;margin:14px 0 13px!important;color:var(--muted);font-size:12px!important;line-height:1.5}.member-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:750}.member-card-footer span:first-child{color:var(--muted)}.member-card-footer span:first-child:has(+ span){ }.pagination{display:flex;gap:7px;justify-content:center;margin:22px 0}.pagination a{padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #e8e8ef;text-decoration:none;color:#444}.pagination a.active{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-color:transparent}@media(max-width:850px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.member-grid{grid-template-columns:1fr}.search-wide{flex-direction:column}.member-card{padding:16px}.member-card .avatar-circle.big{width:60px;height:60px}.member-role{font-size:8px;padding:4px 7px}}

/* v2.4 authentication alignment */
.auth-card{width:100%;max-width:560px;margin:0 auto;} .auth-card h1{text-align:center;margin-bottom:8px}.auth-card>.meta:first-of-type{text-align:center;margin-bottom:22px}.auth-card .btn{min-height:46px}.auth-card .field input{min-height:46px;font-size:15px}.auth-card .auth-divider{display:flex;align-items:center;gap:12px;justify-content:center;margin:18px 0;color:var(--muted);font-size:12px;font-weight:700}.auth-card .auth-divider:before,.auth-card .auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-card .google-btn{width:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.auth-card>p:last-child{text-align:center;margin-bottom:0}@media(max-width:560px){.auth-card{padding:20px 16px}.auth-card .btn{width:100%!important}.auth-card .field{margin-bottom:14px}}

/* v2.6 admin console alignment */
.admin-page{max-width:1180px}.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.stat-card{padding:17px 16px;text-align:center}.stat-card b{display:block;font-size:25px;line-height:1.1}.stat-card span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.stat-card.alert{border-color:#f3c5d2}.admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:16px}.admin-wide{min-width:0}.admin-row,.admin-member,.admin-log{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0}.admin-row:first-of-type,.admin-member:first-of-type,.admin-log:first-of-type{border-top:0}.admin-row .meta,.admin-member .meta{margin-top:3px}.admin-member-list{max-height:600px;overflow:auto}.admin-log{align-items:flex-start}.admin-log span{color:var(--muted);font-size:12px;margin-left:auto}.admin-log small{color:var(--muted);font-size:10px;white-space:nowrap}.admin-grid .form-card{max-width:none;margin:0}.admin-grid h2{margin-top:0}@media(max-width:900px){.admin-stats{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:560px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-row,.admin-member{align-items:flex-start;flex-direction:column}.admin-row form,.admin-member .inline-actions,.admin-member form{width:100%}.admin-row .btn,.admin-member .btn{width:100%}.admin-log{display:grid;grid-template-columns:1fr}.admin-log span,.admin-log small{margin-left:0}.admin-grid .form-card{padding:17px 15px}}


/* v2.8 advanced experience */
.notif-wrap{position:relative}.notif-trigger{border:0;background:transparent;position:relative;cursor:pointer;padding:7px 9px}.notif-trigger>b{position:absolute;top:-2px;right:-2px;background:#d63384;color:#fff;border-radius:999px;font-size:9px;min-width:16px;height:16px;display:grid;place-items:center}.notif-menu{position:absolute;right:0;top:calc(100% + 10px);width:340px;max-width:calc(100vw - 28px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(50,20,70,.16);overflow:hidden;z-index:100}.notif-menu-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line)}.notif-menu-head a{font-size:11px;color:var(--p);font-weight:800}.notif-item{display:flex;gap:9px;padding:11px 13px;text-decoration:none;color:var(--ink);border-bottom:1px solid #f0edf3;font-size:12px;line-height:1.4}.notif-item:hover,.notif-item.unread{background:#fbf7fd}.notif-item small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.notif-dot{width:7px;height:7px;border-radius:50%;background:transparent;margin-top:5px;flex:0 0 7px}.notif-item.unread .notif-dot{background:var(--p)}.notif-empty{padding:24px 15px;text-align:center;color:var(--muted);font-size:12px}.composer{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.editor-tools{display:flex;gap:5px;padding:7px;border-bottom:1px solid var(--line);background:#faf8fc}.editor-tools button{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:32px;height:30px;cursor:pointer;font-weight:800;color:var(--ink)}.composer .field{margin:0}.composer textarea{border:0!important;border-radius:0!important;min-height:145px;resize:vertical}.composer textarea:focus{box-shadow:none!important}.composer small{display:block;padding:0 11px 10px;color:var(--muted);font-size:10px}.notif-page-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.notif-page-actions form{margin:0}@media(max-width:560px){.notif-menu{position:fixed;top:58px;right:12px}.editor-tools{overflow:auto}.editor-tools button{flex:0 0 32px}.composer textarea{min-height:125px}}
.notif-page-item{display:flex;gap:12px;align-items:flex-start;padding:14px 2px;border-top:1px solid var(--line);text-decoration:none;color:inherit}.notif-page-item:first-of-type{border-top:0}.notif-page-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--soft);flex:0 0 36px}.notif-page-item small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--p);margin-bottom:4px}@media(max-width:560px){.section-head{flex-direction:column}.notif-page-actions{width:100%;justify-content:flex-start}.notif-page-actions .btn{width:100%}}


/* v2.8.1 responsive + interaction fixes */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.notif-page-card{overflow:hidden;padding:0}
.notif-page-card .section-head{padding:20px 20px 16px;margin:0;border-bottom:1px solid var(--line)}
.notif-page-card .section-head h1{margin:4px 0 5px;font-size:clamp(24px,4vw,32px);line-height:1.15}
.notif-page-card .section-head p{margin:0}
.notif-page-card .notif-page-item{padding:15px 20px}
.notif-page-card .notif-page-item:hover{background:#fbf7fd}
.notif-page-card .empty{padding:45px 20px}
.reaction-btn{min-width:68px;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.reaction-btn:disabled{opacity:.65;cursor:wait}
.post-actions{align-items:center;flex-wrap:wrap}
@media(max-width:700px){
 body{padding-bottom:82px}
 .page{padding-bottom:28px}
 .hero{margin-bottom:16px}
 .stats{margin-bottom:8px}
 .layout{padding-bottom:4px}
 .notif-page-card .section-head{padding:17px 15px 14px;gap:12px}
 .notif-page-card .notif-page-item{padding:13px 15px}
 .notif-page-card .notif-page-item>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
 .notif-page-actions{width:100%}
 .notif-page-actions .btn{width:100%;min-height:42px}
 .notif-page-icon{flex:0 0 36px}
 .post-actions .reaction-btn,.post-actions .report-toggle{min-height:38px}
 .thread-head{padding:18px 15px}
 .thread-head h1{line-height:1.15}
}
@media(max-width:390px){body{padding-bottom:88px}.wrap{width:calc(100% - 16px)}.notif-page-card .section-head{padding-left:13px;padding-right:13px}.notif-page-card .notif-page-item{padding-left:13px;padding-right:13px}}

/* v2.8.2 attachment composer/rendering */
.attachment-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.post-attachment{display:block;width:min(100%,320px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none}.post-attachment img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:#f7f5f8}.attachment-name{display:block;padding:8px 10px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.attach-picker input[type=file]{max-width:100%;font-size:12px}.attach-help{color:var(--muted);font-size:11px}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px}.selected-file{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.attach-preview{display:none;margin-top:10px}.attach-preview.show{display:block}.attach-preview img{max-width:180px;max-height:140px;border-radius:10px;border:1px solid var(--line)}
@media(max-width:700px){.attachment-list{display:grid;grid-template-columns:1fr}.post-attachment{width:100%}.composer-actions{align-items:stretch}.composer-actions .btn{width:100%}.attach-picker{align-items:flex-start;flex-direction:column}.attach-picker input[type=file]{width:100%}}

.admin-delete-post {
    color: #b42318 !important;
    border-color: rgba(180, 35, 24, .22) !important;
    background: rgba(180, 35, 24, .06) !important;
}

.admin-delete-post:hover {
    background: rgba(180, 35, 24, .12) !important;
}

@media (max-width: 600px) {
    .post-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        align-items: center;
    }

    .post-actions form {
        margin: 0;
    }

    .post-actions button {
        white-space: nowrap;
    }
}

.forgot-password {
    text-align: right;
    margin-top: -8px;
    margin-bottom: 16px;
}

.forgot-password a {
    font-size: 14px;
    text-decoration: none;
}

.forgot-password a:hover {
    text-decoration: underline;
}