:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-card:#16162a;--bg-hover:#1f1f3a;--border-color:hsla(0,0%,100%,.08);--border-glow:rgba(0,212,255,.3);--text-primary:#fff;--text-secondary:#a0a0b0;--text-muted:#6a6a7a;--accent-cyan:#00d4ff;--accent-magenta:#f0a;--accent-gold:gold;--accent-green:#0f8;--accent-orange:#ff8c00;--gradient-primary:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));--gradient-gold:linear-gradient(135deg,gold,#ff8c00);--glow-cyan:0 0 20px rgba(0,212,255,.4);--glow-magenta:0 0 20px rgba(255,0,170,.4);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--sidebar-width:280px;--transition:0.25s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:focus{outline:none!important}html{font-size:16px;-webkit-text-size-adjust:100%}body,html{max-width:100vw;overflow-x:clip;touch-action:pan-y;width:100%}body{background:var(--bg-primary);color:var(--text-primary);font-family:Outfit,Noto Sans KR,sans-serif;line-height:1.6;min-height:100vh!important;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}@media (hover:none) and (pointer:coarse){.post-item:hover{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;box-shadow:none!important}.category-item:hover,a:hover,button:hover{transform:none!important}}::selection{background:var(--accent-cyan);color:var(--bg-primary)}.app-container{display:flex;max-width:100vw;min-height:100vh;width:100%}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}*{scrollbar-color:hsla(0,0%,100%,.2) transparent;scrollbar-width:thin}body.panel-open{height:100vh!important;left:0!important;overflow:hidden!important;position:fixed!important;top:0!important;touch-action:none;width:100%!important}.mobile-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:none;gap:var(--space-md);height:60px;left:0;padding:0 var(--space-md);position:fixed;right:0;top:0;z-index:1000}.mobile-logo{align-items:center;display:flex;font-size:1.2rem;font-weight:700;gap:6px;letter-spacing:.5px}#mobileCondoName{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mobile-logo-icon{border-radius:6px;height:63px;object-fit:cover;width:63px}.logo-accent{color:var(--accent-cyan)}.clickable-condo-name,.condo-name-wrapper{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:6px;padding:4px 8px;transition:all .2s ease}.clickable-condo-name:hover,.condo-name-wrapper:hover{background:rgba(0,212,255,.1)}.clickable-condo-name svg,.condo-name-wrapper svg{height:14px;opacity:.6;transition:transform .2s ease;width:14px}.clickable-condo-name:hover svg,.condo-name-wrapper:hover svg{color:var(--accent-cyan);opacity:1;transform:translateX(3px)}.condo-name-header{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700;-webkit-text-fill-color:transparent;margin:0}.hamburger-btn{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;height:44px;justify-content:center;width:44px}.hamburger-btn span{background:var(--text-primary);border-radius:2px;display:block;height:2px;transition:var(--transition);width:24px}.hamburger-btn.active span:first-child{transform:translateY(8px) rotate(45deg)}.hamburger-btn.active span:nth-child(2){opacity:0;transform:translateX(20px)}.hamburger-btn.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.8);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:998}.overlay.active{display:block}.header-icon-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:1.2rem;padding:8px;transition:var(--transition)}@media (hover:hover){.header-icon-btn:hover{background:hsla(0,0%,100%,.1)}}.header-icon-btn svg{height:24px;width:24px}.header-install-btn{background:linear-gradient(135deg,var(--accent-cyan),#09c);border:none;border-radius:50%;box-shadow:0 4px 15px rgba(0,212,255,.3);cursor:pointer;padding:8px;transition:var(--transition)}@media (hover:hover){.header-install-btn:hover{box-shadow:0 6px 20px rgba(0,212,255,.5);transform:scale(1.1)}}.header-install-btn span{font-size:1.2rem}.sidebar-header-content{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;overscroll-behavior:contain;position:fixed;top:0;transition:transform var(--transition);width:var(--sidebar-width);z-index:999;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sidebar-header{border-bottom:1px solid var(--border-color);padding:var(--space-lg)}.logo{gap:var(--space-md)}.logo,.logo-mark{align-items:center;display:flex}.logo-mark{background:var(--gradient-primary);box-shadow:var(--glow-cyan);color:var(--bg-primary);font-size:1.2rem;font-weight:700;height:48px;justify-content:center;width:48px}.logo-icon,.logo-mark{border-radius:var(--radius-md)}.logo-icon{height:108px;object-fit:cover;width:108px}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:1.1rem;font-weight:700;letter-spacing:1px}.logo-subtitle{color:var(--text-muted);font-size:.75rem;letter-spacing:2px}.user-section{border-bottom:1px solid var(--border-color);padding:var(--space-md) var(--space-md) var(--space-xs)}.user-profile-container{align-items:center;display:flex;gap:var(--space-md);margin-bottom:var(--space-sm)}.user-profile-left{align-items:center;display:flex;flex:1;flex-direction:column;text-align:center}.user-avatar{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:1.6rem;height:60px;justify-content:center;margin-bottom:var(--space-xs);position:relative;width:60px}.user-avatar:after{background:var(--gradient-primary);border-radius:50%;content:"";filter:blur(6px);inset:-3px;opacity:.4;position:absolute;z-index:-1}.user-name{font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}.user-meta-row{align-items:center;display:flex;gap:var(--space-sm)}.btn-logout{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px 8px;transition:var(--transition)}.btn-logout:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-profile-right{align-items:center;display:flex;justify-content:center}.auth-buttons,.logged-in-buttons{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center}.auth-buttons{margin-bottom:var(--space-sm);margin-top:-4px}.logged-in-buttons{flex-direction:row;margin-top:var(--space-md)}.logged-in-buttons .btn{flex:1;font-size:.75rem;min-width:0;padding:6px 10px;text-align:center;white-space:nowrap}.category-nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-lg)}.nav-title{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:2px;margin-bottom:var(--space-md)}.category-list{display:flex;flex-direction:column;gap:var(--space-xs);list-style:none}.category-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;gap:var(--space-md);padding:var(--space-md);text-align:left;transition:var(--transition);width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.category-item:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}}.category-item.active{background:var(--bg-tertiary);border-color:var(--accent-cyan);box-shadow:inset 0 0 20px rgba(0,212,255,.1);color:var(--text-primary)}.category-icon{align-items:center;display:flex;font-size:1.3rem;height:24px;justify-content:center;width:24px}.category-icon svg{height:20px;stroke:#00d4ff;stroke-width:2;width:20px}.category-name{flex:1;font-size:1.05rem;font-weight:500}.category-badge{background:var(--bg-primary);border-radius:var(--radius-full);color:var(--accent-cyan);font-size:.75rem;font-weight:600;padding:2px 10px}.category-item.active .category-badge{background:var(--accent-cyan);color:var(--bg-primary)}.category-item.touch-active{background:var(--bg-hover);border-color:var(--border-color)}.sidebar-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;margin-top:auto;padding:var(--space-md);text-align:center}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin-bottom:var(--space-sm)}.footer-link{color:var(--text-secondary);cursor:pointer;font-size:.75rem;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--accent-primary)}.footer-separator{color:var(--text-tertiary);opacity:.5}.sidebar-settings-btn{background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;padding:4px 0 4px 4px;transition:var(--transition)}.sidebar-settings-btn:hover{background:var(--bg-hover)}.sidebar-install-btn{align-items:center;background:linear-gradient(135deg,var(--accent-cyan),#09c);border:none;border-radius:var(--radius-md);box-shadow:0 4px 15px rgba(0,212,255,.3);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);transition:var(--transition);width:100%}.sidebar-install-btn:hover{box-shadow:0 6px 20px rgba(0,212,255,.5);transform:translateY(-2px)}.sidebar-install-btn:active{transform:translateY(0)}.sidebar-install-btn .install-icon{font-size:1.2rem}.sidebar-install-btn .install-text{letter-spacing:.5px}.notification-panel,.sidebar{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;padding:0 var(--space-md) var(--space-md) var(--space-md)}.board-header-wrapper{background:var(--bg-primary);margin:0 calc(var(--space-md)*-1);margin-top:0;-webkit-mask-image:linear-gradient(180deg,#000 85%,transparent);mask-image:linear-gradient(180deg,#000 85%,transparent);padding:var(--space-md) var(--space-md) var(--space-lg);position:sticky;top:0;z-index:100}.board-header{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);justify-content:space-between;padding:var(--space-lg)}.board-header,.board-title{align-items:center;display:flex}.board-title{font-size:1.6rem;font-weight:700;gap:8px;letter-spacing:.5px;margin-bottom:4px}.board-title-icon{flex-shrink:0;height:28px;stroke:#00d4ff;stroke-width:2;width:28px}.board-description{color:var(--text-secondary);font-size:.9rem}.board-header.has-banner{background:transparent;border:none;min-height:100px;position:relative}.banner-layer{background-position:50%;background-repeat:no-repeat;background-size:cover!important;border-radius:inherit;height:100%;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .5s ease-in-out;width:100%}.banner-layer.active{opacity:1}.board-header.has-banner:before{background:linear-gradient(135deg,rgba(0,0,0,.5),rgba(0,0,0,.3));border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.board-header.has-banner .board-title-section{position:relative;z-index:2}.board-header.has-banner .board-description,.board-header.has-banner .board-title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:500;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);transition:var(--transition)}.btn-primary{background:var(--accent-cyan);color:var(--bg-primary)}.btn-primary:hover{box-shadow:var(--glow-cyan)}.btn-secondary{color:var(--text-primary)}.btn-muted,.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color)}.btn-muted{color:var(--text-muted)}.btn-outline{background:transparent;border:1px solid var(--accent-cyan);color:var(--accent-cyan)}.btn-outline:hover{background:var(--accent-cyan);color:var(--bg-primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary)}.btn-glow{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--glow-cyan);color:#fff;font-weight:600;padding:var(--space-md) var(--space-lg)}.btn-glow:hover{box-shadow:0 0 30px rgba(0,212,255,.6);transform:translateY(-2px)}.btn-full{justify-content:center;padding:var(--space-md);width:100%}.btn:disabled{cursor:not-allowed;opacity:.6}.post-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.btn-sm{font-size:.85rem;line-height:1.2;padding:var(--space-xs) var(--space-sm)}.btn-danger{background:#f44;color:#fff}.btn-danger:hover{background:#c00}.btn-toggle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.btn-toggle:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 0 20px rgba(118,75,162,.4)}.btn-upgrade{background:var(--gradient-gold);color:var(--bg-primary);font-weight:600}.btn-upgrade:hover{box-shadow:0 0 20px rgba(255,215,0,.4)}.btn-admin{background:var(--accent-magenta);color:#fff;font-weight:600;text-decoration:none}.btn-admin:hover{box-shadow:var(--glow-magenta)}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1rem;padding:.4rem .6rem;transition:all .2s}.btn-icon:hover{background:var(--accent-cyan);border-color:var(--accent-cyan);transform:scale(1.05)}.btn-text{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.btn-text:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-text.danger{border-color:var(--border-color);color:var(--text-secondary)}.btn-text.danger:hover{background:var(--bg-hover);color:var(--text-primary)}.go-to-condo-btn{align-items:center;background:var(--gradient-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:44px;justify-content:center;left:10px;position:fixed;top:calc(env(safe-area-inset-top) + 10px);transition:var(--transition);width:44px}.go-to-condo-btn:hover{box-shadow:0 4px 20px rgba(0,212,255,.5);transform:scale(1.1)}.role-badge-container{flex-shrink:0}.role-badge{border-radius:var(--radius-full);display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.role-badge.resident{background:rgba(0,255,136,.2);border:1px solid var(--accent-green);color:var(--accent-green)}.role-badge.admin{background:rgba(168,85,247,.15);border:1px solid rgba(168,85,247,.3);color:#a855f7}.role-badge.super,.role-badge.superadmin{background:linear-gradient(135deg,rgba(255,215,0,.2),rgba(255,165,0,.2));border:1px solid rgba(255,215,0,.5);color:gold;font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.3)}.role-badge.clickable:hover{box-shadow:0 2px 8px rgba(0,0,0,.2);transform:scale(1.05)}.role-badge.pending{background:rgba(255,215,0,.2);border:1px solid var(--accent-gold);color:var(--accent-gold)}.role-badge.guest{background:rgba(100,149,237,.2);border:1px solid #6495ed;color:#6495ed}.author-role-badge{border-radius:4px;display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.3px;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.author-role-badge.visitor{background:rgba(156,163,175,.2);border:1px solid #9ca3af;color:#9ca3af}.author-role-badge.guest{background:rgba(100,149,237,.2);border:1px solid #6495ed;color:#6495ed}.inline-tag{background:rgba(0,212,255,.1);border-radius:var(--radius-sm);color:var(--accent-cyan);font-size:.7rem;padding:1px 6px}.inline-tag.status{background:rgba(0,255,136,.15);color:var(--accent-green)}.inline-tag.status.closed{background:hsla(0,0%,100%,.1);color:var(--text-muted)}.inline-tag.status.reserved{background:rgba(255,215,0,.15);color:var(--accent-gold)}.inline-tag.transaction.sell{background:rgba(0,255,136,.15);color:var(--accent-green);font-weight:600}.inline-tag.transaction.buy{background:rgba(0,212,255,.15);color:var(--accent-cyan);font-weight:600}.inline-tag.status.ongoing,.status-dot.ongoing{background:rgba(0,255,136,.15);color:var(--accent-green)}.inline-tag.status.completed,.status-dot.completed{background:hsla(0,0%,100%,.1);color:var(--text-muted)}.inline-tag.listing.sale{background:rgba(249,115,22,.15);color:#f97316;font-weight:600}.inline-tag.listing.rent{background:rgba(34,197,94,.15);color:#22c55e;font-weight:600}.inline-tag.deal.direct{background:rgba(0,212,255,.15);color:var(--accent-cyan);font-weight:600}.inline-tag.deal.agent{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;font-weight:600}.inline-tag.property-type.available{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600}.inline-tag.property-type.wanted{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:600}.extra-tag.deal-type{font-size:.9rem;font-weight:700}.extra-tag.deal-type.direct{color:var(--accent-cyan);font-weight:700}.extra-tag.deal-type.agent{background:linear-gradient(135deg,#8b5cf6,#a78bfa);border-radius:4px;box-shadow:0 2px 8px rgba(139,92,246,.4);color:#fff;font-weight:700;padding:4px 12px}.extra-tag.listing-type.sale{background:rgba(249,115,22,.15);color:#f97316;font-weight:600}.extra-tag.listing-type.rent{color:#22c55e;font-weight:600}.extra-tag.status-text{background:transparent;border:none}.extra-tag.status-text.ongoing{color:var(--accent-green)}.extra-tag.status-text.closed,.extra-tag.status-text.completed{color:var(--text-muted)}.extra-tag.price-highlight{background:linear-gradient(135deg,gold,#fa0);border-radius:4px;box-shadow:0 2px 8px rgba(255,215,0,.4);color:#000;font-size:1rem;font-weight:700;padding:4px 12px}.extra-tag.transaction.sell{background:rgba(0,255,136,.15);color:var(--accent-green);font-weight:600}.extra-tag.transaction.buy{background:rgba(0,212,255,.15);color:var(--accent-cyan);font-weight:600}.extra-tag.status.ongoing{background:rgba(0,255,136,.15);color:var(--accent-green)}.extra-tag.status.completed{background:hsla(0,0%,100%,.1);color:var(--text-muted)}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-dot.available,.status-dot.recruiting{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.status-dot.closed,.status-dot.sold{background:var(--text-muted)}.status-dot.reserved{background:var(--accent-gold);box-shadow:0 0 6px var(--accent-gold)}.status-dot.ongoing{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.status-dot.completed{background:var(--text-muted)}.form-group{margin-bottom:var(--space-lg)}.form-group,.modal-write .form-group{padding:0 var(--space-lg)}.modal-write .form-group:first-child{padding-top:var(--space-lg)}.form-group label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:var(--space-sm);padding-left:var(--space-xs)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:var(--space-md) var(--space-lg);transition:var(--transition);width:100%}.form-group select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11 3 6h10z'/%3E%3C/svg%3E");background-position:right var(--space-md) center;background-repeat:no-repeat;padding-right:calc(var(--space-lg) + 20px)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1);outline:none}.form-group textarea{min-height:120px;resize:vertical}.form-row{align-items:start;display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr);padding:0 var(--space-lg)}.form-row .form-group{padding:0}.form-group.disabled{opacity:.5;pointer-events:none}.form-group.disabled label{color:var(--text-muted)}.form-group.disabled input,.form-group.disabled select{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl);padding:0 var(--space-lg) var(--space-lg)}.input-with-btn{display:flex;gap:var(--space-sm)}.input-with-btn input{flex:1}.input-with-btn .form-input{background:hsla(0,0%,100%,.05);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1;font-size:1rem;padding:12px 16px;transition:var(--transition)}.input-with-btn .form-input:focus{background:hsla(0,0%,100%,.08);border-color:var(--accent-cyan);outline:none}.input-with-btn .btn{font-size:.9rem;padding:12px 16px;white-space:nowrap}.input-hint{color:var(--text-muted);font-size:.8rem;margin-top:var(--space-xs)}.input-hint.error{color:#f44}.input-hint.success{color:var(--accent-green)}.inline-field{flex:1;min-width:0}.radio-group,.toggle-group{display:flex;flex-wrap:wrap;gap:var(--space-md)}.radio-btn,.toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.radio-btn:hover,.toggle-btn:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.toggle-btn.active{background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-color:transparent;color:#fff}.radio-btn.active{background:var(--accent-cyan);border-color:transparent;color:var(--bg-primary)}.radio-group{display:flex;gap:var(--space-md);justify-content:flex-start}.radio-label{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);transition:var(--transition)}.radio-label:hover{border-color:var(--accent-cyan)}.radio-label input[type=radio]{accent-color:var(--accent-cyan);cursor:pointer;height:18px;margin:0;width:18px}.radio-label input[type=radio]:checked+span{color:var(--accent-cyan)}.radio-label span{color:var(--text-primary);line-height:1;vertical-align:middle}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm)}.checkbox-label input[type=checkbox]{accent-color:var(--accent-cyan);flex-shrink:0;height:18px;margin:0;padding:0!important;vertical-align:middle;width:18px}.search-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);display:flex;overflow:hidden;transition:var(--transition)}.search-box:focus-within{border-color:var(--accent-cyan);box-shadow:var(--glow-cyan)}.search-box input{background:transparent;border:none;color:var(--text-primary);flex:1;font-family:inherit;font-size:.9rem;min-width:180px;padding:var(--space-sm) var(--space-md)}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{outline:none}.search-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-sm) var(--space-md);transition:var(--transition)}.search-btn:hover{color:var(--accent-cyan)}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a0a0b0' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;padding:var(--space-sm) var(--space-md);padding-right:var(--space-lg);text-align:center;text-align-last:center}.filter-select:focus{border-color:var(--accent-cyan);outline:none}.filter-select option{background:var(--bg-secondary);color:var(--text-primary);text-align:center}.rating-selector{align-items:center;display:flex;gap:var(--space-sm)}.rating-selector label{color:var(--text-secondary);font-size:.85rem;margin:0;padding:0}.rating-select{appearance:none;background:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a0a0b0' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;padding:var(--space-xs) var(--space-md);padding-right:calc(var(--space-md) + 20px);transition:var(--transition)}.rating-select:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1);outline:none}.rating-select option{background:var(--bg-secondary);color:var(--text-primary)}.modal{backdrop-filter:blur(8px);background:rgba(0,0,0,.9);height:100vh;height:calc(var(--real-vh, 1vh)*100);padding:var(--space-md);padding-bottom:env(safe-area-inset-bottom);right:0}#customAlertModal,#customConfirmModal{z-index:5000!important}#lightbox{z-index:6000!important}.modal.active{display:flex!important}.modal-content{animation:modalFade .3s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-height:90vh;max-height:calc(var(--real-vh, 1vh)*90);max-width:600px;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%}@keyframes modalFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{align-items:center;backdrop-filter:blur(8px);background:rgba(30,32,38,.95);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.3);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-bottom:calc(-40px - var(--space-md));margin-left:auto;margin-right:var(--space-md);margin-top:var(--space-md);position:sticky;right:var(--space-md);top:var(--space-md);transition:var(--transition);width:40px;z-index:100}@media (hover:hover) and (pointer:fine){.modal-close:hover{background:rgba(50,52,58,.95);border-color:var(--accent-cyan);color:var(--text-primary)}#modalClose:hover,#writeModalClose:hover,.close-modal:hover,.modal .modal-close:hover,.modal-close:hover,button.close:hover{background:hsla(0,0%,100%,.2);box-shadow:0 6px 20px rgba(0,0,0,.7)!important}}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-lg)}.modal-header h3{font-size:1.2rem}.modal-header .modal-close{position:static}.modal-body{max-height:none!important;overflow-y:visible!important;padding:var(--space-xl) var(--space-lg)}.modal-write{max-width:700px}.modal-content.modal-auth{max-width:360px}.modal-upgrade{box-sizing:border-box;max-width:480px;word-wrap:break-word;background:linear-gradient(180deg,rgba(30,35,45,.98),rgba(20,22,28,.99));border:1px solid rgba(0,212,255,.15);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(0,212,255,.08);overflow-wrap:break-word;position:relative;touch-action:pan-y pinch-zoom}#upgradeModal,.modal-upgrade{overflow-x:hidden;overscroll-behavior-x:none}.modal-upgrade .modal-close{background:rgba(0,0,0,.4)!important;margin:0!important;position:absolute!important;right:.75rem!important;top:.75rem!important;z-index:110}.modal-upgrade .auth-header{background:transparent;border-bottom:1px solid rgba(0,212,255,.2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0!important;overflow:visible;padding:8px 1.5rem 3rem;position:relative}.modal-upgrade .auth-header:first-child,.modal-upgrade>.auth-header{margin-top:0!important}.modal-upgrade .auth-header:before{background:radial-gradient(circle at 30% 20%,rgba(0,212,255,.12) 0,transparent 50%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}.modal-upgrade .auth-header .modal-app-icon{border:2px solid rgba(0,212,255,.3);border-radius:12px;box-shadow:0 4px 20px rgba(0,212,255,.3);height:52px;margin-bottom:.75rem;width:52px}.modal-upgrade .auth-header h3{background:linear-gradient(135deg,#fff,#00d4ff);-webkit-background-clip:text;font-size:1.4rem;font-weight:700;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.35rem}.modal-upgrade .auth-header p{color:rgba(180,195,220,.85);font-size:.9rem}.modal-upgrade .auth-header p strong{color:var(--accent-cyan);font-weight:600}.modal-upgrade #upgradeForm{padding:2.5rem 1.5rem 1.5rem}.modal-upgrade .form-group{margin-bottom:1.75rem;text-align:left}.modal-upgrade .form-group>label{color:rgba(200,210,225,.9);display:block;font-size:1rem;font-weight:600;letter-spacing:.02em;margin-bottom:.6rem}.modal-upgrade .radio-group{display:flex;gap:.5rem;justify-content:flex-start;margin-left:.75rem}.modal-upgrade .radio-label{background:transparent;border:1px solid rgba(100,115,140,.4);border-radius:20px;color:rgba(180,190,210,.9);cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:.55rem 1.25rem;position:relative;transition:all .25s ease}.modal-upgrade .radio-label input[type=radio]{height:0;opacity:0;position:absolute;width:0}.modal-upgrade .radio-label:hover{border-color:rgba(0,212,255,.5)}.modal-upgrade .radio-label:has(input[type=radio]:checked){background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(0,180,220,.25));border-color:var(--accent-cyan);box-shadow:0 0 12px rgba(0,212,255,.2);color:var(--accent-cyan)}.modal-upgrade .input-with-btn{display:flex;gap:.5rem;margin-left:.75rem}.modal-upgrade .input-with-btn .form-input{background:rgba(25,28,35,.9);border:1px solid rgba(100,115,140,.3);border-radius:10px;color:var(--text-primary);flex:1;font-size:.95rem;padding:.7rem 1rem;transition:all .25s ease}.modal-upgrade .input-with-btn .form-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1);outline:none}.modal-upgrade .input-with-btn .btn{border-radius:10px;font-size:.9rem;font-weight:600;padding:.7rem 1rem}.modal-upgrade .label-hint{color:rgba(140,155,180,.8);font-size:.8rem;font-weight:400}.modal-upgrade .input-with-btn .form-input::placeholder{color:rgba(120,135,160,.6);font-size:.82rem}.modal-upgrade .input-hint{color:rgba(140,155,180,.8);font-size:.78rem;margin-bottom:0;margin-left:.75rem;margin-top:.4rem}.modal-upgrade select{appearance:none;background:rgba(25,28,35,.9);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2389a' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border:1px solid rgba(100,115,140,.3);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:.95rem;margin-left:.75rem;padding:.7rem 1rem;transition:all .25s ease;width:calc(100% - .75rem)}.modal-upgrade select:focus{border-color:var(--accent-cyan);outline:none}.modal-upgrade .warning-box{background:rgba(30,35,45,.8);border:1px solid rgba(255,152,0,.25);border-radius:12px;margin-bottom:1rem;padding:1rem}.modal-upgrade .warning-box-title{color:#ffc107;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.modal-upgrade .warning-box img{border:1px solid rgba(100,115,140,.2);border-radius:8px}.modal-upgrade .warning-box-text{color:rgba(180,190,210,.85);font-size:.82rem;line-height:1.5}.modal-upgrade .image-upload-area{background:rgba(25,28,35,.5);border:2px dashed rgba(100,115,140,.35);border-radius:12px;cursor:pointer;padding:1.5rem;text-align:center;transition:all .25s ease}.modal-upgrade .image-upload-area:hover{background:rgba(0,212,255,.03);border-color:rgba(0,212,255,.5)}.modal-upgrade .upload-placeholder{align-items:center;display:flex;flex-direction:column;gap:.5rem}.modal-upgrade .upload-icon{font-size:2rem;opacity:.7}.modal-upgrade .upload-hint{color:rgba(160,175,200,.85);font-size:.9rem}.modal-upgrade .agreement-section{background:rgba(25,28,35,.6);border-radius:10px;margin-top:.5rem;padding:.75rem}.modal-upgrade .agreement-section>label{color:rgba(200,210,225,.9);display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.modal-upgrade .checkbox-container{display:flex;flex-direction:column;gap:.5rem}.modal-upgrade .checkbox-item{align-items:flex-start;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.35rem .5rem;position:relative;transition:background .2s ease}.modal-upgrade .checkbox-item:first-child,.modal-upgrade .checkbox-item:nth-child(2){align-items:center}.modal-upgrade .checkbox-item:first-child input[type=checkbox],.modal-upgrade .checkbox-item:nth-child(2) input[type=checkbox]{margin-top:0}.modal-upgrade .checkbox-item:hover{background:hsla(0,0%,100%,.03)}.modal-upgrade .checkbox-item input[type=checkbox]{accent-color:var(--accent-cyan);cursor:pointer;flex-shrink:0;height:16px;margin:1px 0 0;transform:scale(.8);transform-origin:center center;width:16px}.modal-upgrade .checkbox-item span{color:rgba(180,190,210,.9);font-size:.85rem;line-height:1.45}.modal-upgrade .checkbox-item a{color:var(--accent-cyan);text-decoration:none}.modal-upgrade .checkbox-item a:hover{text-decoration:underline}.modal-upgrade .form-actions{border-top:1px solid rgba(100,115,140,.2);display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem}.modal-upgrade .form-actions .btn{align-items:center;border-radius:12px;display:flex;flex:1;font-size:.95rem;font-weight:600;justify-content:center;padding:.85rem 1.5rem;text-align:center;transition:all .25s ease}.modal-upgrade .form-actions .btn-ghost{background:rgba(60,65,80,.5);border:1px solid rgba(100,115,140,.3);color:rgba(180,190,210,.9)}.modal-upgrade .form-actions .btn-ghost:hover{background:rgba(80,85,100,.6);border-color:rgba(120,135,160,.4)}.modal-upgrade .form-actions .btn-primary{background:linear-gradient(135deg,#00d4ff,#00a0cc);border:none;box-shadow:0 4px 15px rgba(0,212,255,.3);color:#0a0c10}.modal-upgrade .form-actions .btn-primary:hover{box-shadow:0 6px 20px rgba(0,212,255,.4);transform:translateY(-2px)}.modal-upgrade .form-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.modal-upgrade .checkbox-label span{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;word-break:break-word}.modal-upgrade .checkbox-label{align-items:flex-start!important;cursor:pointer;display:flex!important;gap:.75rem!important;width:100%}.modal-upgrade .checkbox-label input[type=checkbox]{accent-color:var(--accent-cyan);cursor:pointer;flex-shrink:0;height:18px;margin:2px 0 0;width:18px}.validation-error-highlight{animation:validationFlash 1s ease-out;border-radius:12px;position:relative}.validation-error-highlight:after{animation:validationBorderFlash 1s ease-out;border:2px solid var(--accent-cyan);border-radius:14px;content:"";inset:-2px;pointer-events:none;position:absolute}@keyframes validationFlash{0%{box-shadow:0 0 0 0 rgba(0,212,255,0)}30%{box-shadow:0 0 12px 3px rgba(0,212,255,.5)}to{box-shadow:0 0 0 0 rgba(0,212,255,0)}}@keyframes validationBorderFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.modal-upgrade .image-upload-area.validation-error-highlight{border-color:rgba(0,212,255,.6)}.modal-upgrade .checkbox-item.validation-error-highlight{background:rgba(0,212,255,.1)}.modal-upgrade .input-with-btn.validation-error-highlight .form-input,.modal-upgrade select.validation-error-highlight{border-color:rgba(0,212,255,.8)}.modal-message{max-width:450px}.message-header{border-bottom:1px solid var(--border-color);padding:var(--space-lg)}.message-header h3{font-size:1.2rem;margin-bottom:var(--space-xs)}.message-recipient{color:var(--text-muted);font-size:.9rem}.message-recipient span{color:var(--accent-cyan);font-weight:600}.message-body{padding:var(--space-lg)}.message-body textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:1rem;padding:var(--space-md);resize:none;transition:var(--transition);width:100%}.message-body textarea:focus{border-color:var(--accent-cyan);outline:none}.char-count{color:var(--text-muted);font-size:.8rem;margin-top:var(--space-xs);text-align:right}.message-footer{border-top:1px solid var(--border-color);display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-lg)}.auth-header{padding:var(--space-xl) var(--space-lg) var(--space-lg);text-align:center}.auth-logo{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:var(--bg-primary);display:flex;font-size:1.4rem;font-weight:700;height:60px;justify-content:center;margin:0 auto var(--space-md);width:60px}.auth-header h3{font-size:1.5rem;margin-bottom:var(--space-xs)}.auth-header p,.auth-switch{color:var(--text-muted)}.auth-switch{font-size:.9rem;padding:var(--space-lg);text-align:center}.auth-switch a{color:var(--accent-cyan);font-weight:500;text-decoration:none}.auth-notice{color:var(--text-muted);font-size:.85rem;padding:0 var(--space-lg) var(--space-lg);text-align:center}.social-login-buttons{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.btn-google{align-items:center;background:#fff;border:none;border-radius:var(--radius-md);color:#333;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:500;gap:var(--space-md);justify-content:center;padding:var(--space-md) var(--space-lg);transition:var(--transition);width:100%}.btn-google:hover{background:#f5f5f5;box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-2px)}.btn-google .google-icon{flex-shrink:0}.btn-line{align-items:center;background:#00b900!important;border:none!important;border-radius:var(--radius-md);color:#fff!important;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:500;gap:var(--space-md);justify-content:center;padding:var(--space-md) var(--space-lg);transition:var(--transition);width:100%}.btn-line:hover{background:#00a000!important;box-shadow:0 4px 12px rgba(0,185,0,.4);transform:translateY(-2px)}.btn-line .line-icon{flex-shrink:0}.modal{align-items:center;background-color:rgba(0,0,0,.85);display:none;height:100%;justify-content:center;left:0;overflow-y:auto;position:fixed;top:0;width:100%;z-index:2000}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:4px}.modal::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}#modalClose,#writeModalClose,.close-modal,.modal .modal-close,button.close{box-shadow:0 4px 12px rgba(0,0,0,.5)!important;margin:10px 10px 0 auto!important;position:sticky!important;right:10px!important;top:10px!important;z-index:101!important}@media (max-width:768px){.modal-content{animation:modalSlideUp .3s ease!important;border:none!important;border-radius:0!important;bottom:0!important;height:100vh!important;height:100dvh!important;left:0!important;max-height:100vh!important;max-height:100dvh!important;max-width:100%!important;position:fixed!important;right:0!important;top:0!important;width:100%!important}#customAlertModal .modal-content,#customConfirmModal .modal-content,.modal-content.max-w-400{animation:modalFade .3s ease!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;bottom:auto!important;height:auto!important;left:auto!important;max-height:none!important;max-width:90%!important;min-width:280px!important;position:relative!important;right:auto!important;top:auto!important;width:auto!important}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.user-profile-modal-content{display:flex;flex-direction:column;height:80vh;max-height:600px;max-width:480px;position:relative}.user-profile-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.user-profile-header{gap:1rem;padding:1rem}.user-profile-avatar{flex-shrink:0}.user-profile-avatar-img{border:2px solid var(--border-color);border-radius:50%;cursor:pointer;height:70px;object-fit:cover;transition:var(--transition);width:70px}.user-profile-avatar-img:hover{border-color:var(--accent-cyan)}.user-profile-avatar-placeholder{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:50%;display:flex;font-size:2rem;height:70px;justify-content:center;width:70px}.user-profile-info{flex:1;min-width:0}.user-profile-name-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.user-profile-name{font-size:1.25rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-action-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:.25rem;transition:var(--transition)}.user-profile-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-profile-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.user-profile-join,.user-profile-stat-inline{color:var(--text-muted);font-size:.8rem}.user-profile-tab{background:transparent;border:none;color:var(--text-muted);cursor:pointer;flex:1;font-size:.95rem;font-weight:500;padding:.875rem 1rem;position:relative;transition:var(--transition)}.user-profile-tab.active,.user-profile-tab:hover{color:var(--text-primary)}.user-profile-tab.active:after{background:var(--accent-cyan);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.user-profile-content{flex:1;overflow-y:auto;padding:0}.user-profile-empty{color:var(--text-muted);padding:2rem;text-align:center}.user-profile-item{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:var(--transition)}.user-profile-item:hover{background:var(--bg-tertiary)}.user-profile-item:last-child{border-bottom:none}.user-profile-item-main{flex:1;min-width:0}.user-profile-item-title{color:var(--text-primary);font-size:.95rem;font-weight:500}.user-profile-item-context,.user-profile-item-title{margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-item-context{color:var(--text-muted);font-size:.75rem}.user-profile-item-content{color:var(--text-secondary);display:-webkit-box;font-size:.9rem;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;-webkit-box-orient:vertical;overflow:hidden}.user-profile-item-meta{color:var(--text-muted);display:flex;font-size:.75rem;gap:.5rem}.user-profile-item-meta span:not(:last-child):after{content:"·";margin-left:.5rem}.user-profile-item-title-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.user-profile-item-title-row .user-profile-item-title{margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-item-comment-count{color:var(--accent-cyan);flex-shrink:0;font-size:.8rem;font-weight:500}.user-profile-item-thumb{border-radius:var(--radius-sm);flex-shrink:0;height:40px;object-fit:cover;width:40px}.user-profile-item-thumbs{display:flex;flex-shrink:0;gap:.25rem}.profile-action-menu{box-shadow:0 4px 20px rgba(0,0,0,.4);z-index:3000}.profile-action-menu button{transition:var(--transition)}.profile-action-menu button:hover{background:var(--bg-tertiary)}.author-name.clickable{cursor:pointer;transition:var(--transition)}.author-name.clickable:hover{color:var(--accent-cyan)}@media (max-width:768px){.modal-upgrade{overflow-y:auto!important;overscroll-behavior:contain}.modal-upgrade .form-group>label{font-size:1.05rem}}#cookieModalContent .cookie-table{border-collapse:collapse;margin:var(--space-md) 0;table-layout:fixed;width:100%}#cookieModalContent .cookie-table td,#cookieModalContent .cookie-table th{border:1px solid var(--border-color);padding:10px 8px;text-align:left;word-break:break-word}#cookieModalContent .cookie-table th{background:rgba(0,212,255,.1);color:var(--accent-primary);font-weight:600}#cookieModalContent .cookie-table tr:nth-child(2n){background:hsla(0,0%,100%,.02)}#cookieModalContent .badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}#cookieModalContent .badge-essential{background:rgba(76,175,80,.2);color:#4caf50}#cookieModalContent .badge-functional{background:rgba(255,152,0,.2);color:#ff9800}#cookieModalContent .manage-btn{background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:8px;color:#0a0a0f;cursor:pointer;display:inline-block;font-weight:600;margin-top:var(--space-md);padding:10px 20px;text-decoration:none}#cookieModalContent .manage-btn:hover{background:linear-gradient(135deg,#4de8ff,#00b8e6)}#cookieModalContent h1{color:var(--accent-primary);margin-bottom:var(--space-lg)}#cookieModalContent h2{color:var(--text-primary);margin-bottom:var(--space-md);margin-top:var(--space-xl)}.notification-panel{background:var(--bg-secondary);border-bottom-left-radius:var(--radius-lg);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;height:calc(var(--real-vh, 1vh)*100);max-width:90vw;overflow-y:auto;overscroll-behavior:contain;position:fixed;right:-400px;top:0;transition:right .3s ease;width:350px;z-index:2500;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.notification-panel.active{right:0}@media (max-width:768px){.notification-panel{border-bottom-left-radius:0;border-left:none;bottom:0;left:0;max-width:100%;right:0;transform:translateX(100%);transition:transform .3s ease;width:100%}.notification-panel.active{right:0;transform:translateX(0)}}.notification-panel-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-lg)}.notification-panel-header h3{font-size:1.1rem}.notification-close{align-items:center;backdrop-filter:blur(8px);background:rgba(30,32,38,.95);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.3);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;transition:var(--transition);width:40px}.notification-close:hover{background:rgba(50,52,58,.95);border-color:var(--accent-cyan);box-shadow:0 6px 20px rgba(0,0,0,.7);color:var(--text-primary)}.notification-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-md);padding-bottom:100px}.notification-empty{color:var(--text-muted);padding:var(--space-xl);text-align:center}.notification-btn{background:transparent;border:none;cursor:pointer;padding:var(--space-sm);position:relative;transition:var(--transition)}.notification-btn:hover{transform:translateY(-2px)}.notification-icon{display:block;fill:#ffc107;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:var(--transition)}.notification-btn:hover .notification-icon{fill:#ffcd38;filter:drop-shadow(0 4px 8px rgba(255,193,7,.4))}.notification-badge{align-items:center;background:#f44;border-radius:9px;box-shadow:0 2px 6px rgba(255,68,68,.5);color:#fff;display:flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:0;top:0}.notification-badge:empty,.notification-badge[data-count="0"]{display:none}.notification-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-xs);padding:var(--space-sm) var(--space-md);transition:var(--transition);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.notification-item:hover{background:var(--bg-hover);border-color:var(--accent-cyan)}}.notification-item.unread{border-left:3px solid var(--accent-cyan)}.notification-row{align-items:center;display:flex;gap:var(--space-xs);margin-bottom:2px}.notification-item .notification-icon{flex-shrink:0;font-size:.9rem}.notification-type{color:var(--accent-cyan);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.notification-sender{color:var(--text-primary);font-size:.8rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item .notification-time{color:var(--text-muted);flex-shrink:0;font-size:.8rem;margin-left:auto}.notification-item .notification-text{color:var(--text-secondary);line-height:1.4}.notification-content,.notification-item .notification-text{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-content{color:var(--text-primary);font-weight:400;line-height:1.3;margin-top:2px;max-width:100%}.notification-item[data-type=admin_action] .notification-content,.notification-item[data-type=broadcast] .notification-content,.notification-item[data-type=message] .notification-content{font-size:.8rem;white-space:normal;word-wrap:break-word;overflow:visible;text-overflow:unset;word-break:break-word}.notification-parent{color:hsla(240,5%,61%,.8);font-size:.8rem;font-weight:400;line-height:1.3;word-wrap:break-word;max-width:100%;word-break:break-word}.notification-item[onclick*="'message'"] .notification-type{color:var(--accent-cyan)}.notification-item[onclick*="'comment'"] .notification-type,.notification-item[onclick*="'reply'"] .notification-type{color:var(--accent-green)}.notification-item[onclick*="'broadcast'"] .notification-type{color:var(--accent-gold)}.notification-item[onclick*="'admin_action'"] .notification-type{color:var(--accent-magenta)}.notification-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.notification-item-title{font-size:.9rem;font-weight:600}.notification-item-time{color:var(--text-muted);font-size:.75rem}.notification-item-content{color:var(--text-secondary);display:-webkit-box;font-size:.85rem;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-type{border-radius:4px;display:inline-block;font-size:.7rem;margin-top:var(--space-xs);padding:2px 6px}.notification-item-type.message{background:rgba(0,212,255,.2);color:var(--accent-cyan)}.notification-item-type.broadcast{background:rgba(255,215,0,.2);color:var(--accent-gold)}.notification-item-type.comment{background:rgba(0,255,136,.2);color:var(--accent-green)}.notification-loading{color:var(--text-muted);font-size:.9rem;padding:var(--space-md);text-align:center}.notification-loading:after{animation:loadingDots 1.2s infinite;content:"..."}@keyframes loadingDots{0%,20%{opacity:.3}50%{opacity:1}80%,to{opacity:.3}}.notification-swipe-container{overflow:hidden;position:relative;touch-action:pan-y}.notification-swipe-container .notification-item{background:var(--bg-secondary);position:relative;z-index:1}.notification-delete-btn{align-items:center;background:transparent;border:none;border-radius:50%;bottom:var(--space-xs);color:var(--text-muted);cursor:pointer;display:flex;font-size:.6rem;font-weight:600;height:16px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:var(--space-xs);transform:translateY(2px);transition:opacity .2s ease,transform .2s ease,color .15s ease;width:16px;z-index:2}@media (max-width:768px){.notification-delete-btn{display:none}}@media (hover:hover){.notification-item:hover .notification-delete-btn{opacity:1;transform:translateY(0)}.notification-delete-btn:hover{color:#dc3545;transform:translateY(0) scale(1.2)}}.toggle-switch{display:inline-block;flex-shrink:0;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:var(--text-secondary);border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-cyan);border-color:var(--accent-cyan)}.toggle-switch input:checked+.toggle-slider:before{background-color:#fff;transform:translateX(24px)}.language-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;display:flex;gap:2px;padding:3px}.lang-option{background:transparent;border:none;border-radius:16px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.lang-option:hover{color:var(--text-primary)}.lang-option.active{background:var(--accent-cyan);box-shadow:0 2px 4px rgba(0,212,255,.3);color:var(--bg-primary)}.club-toggle-container{align-items:center;display:flex;gap:var(--space-sm)}.club-status-toggle{background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:15px;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.2);cursor:pointer;height:30px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.34,1.56,.64,1);width:60px}.club-status-toggle:hover{transform:scale(1.02)}.club-status-toggle:active{transform:scale(.98)}.club-status-toggle.active{background:linear-gradient(135deg,var(--accent-green),#10b981);box-shadow:inset 0 2px 4px rgba(0,0,0,.2),0 0 12px rgba(0,255,136,.4),0 1px 3px rgba(0,0,0,.2)}.club-status-thumb{background:linear-gradient(180deg,#fff,#f0f0f0);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.1);height:24px;left:3px;position:absolute;top:3px;transition:all .4s cubic-bezier(.34,1.56,.64,1);width:24px}.club-status-toggle.active .club-status-thumb{left:calc(100% - 27px)}.club-status-text{color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.5px;opacity:.9;position:absolute;right:8px;text-shadow:0 1px 2px rgba(0,0,0,.3);text-transform:uppercase;top:50%;transform:translateY(-50%);transition:all .3s ease}.club-status-toggle.active .club-status-text{left:6px;right:auto}.filter-tabs{display:flex;flex-wrap:nowrap;gap:var(--space-xs);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-group{align-items:center;display:flex;gap:var(--space-xs);margin-right:var(--space-xs);padding-right:var(--space-sm);position:relative}.filter-group:after{background:hsla(0,0%,100%,.3);content:"";height:16px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.filter-group:last-child{margin-right:0;padding-right:0}.filter-group:last-child:after{display:none}.tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.8rem;font-weight:600;padding:var(--space-sm) var(--space-sm);transition:var(--transition);white-space:nowrap}.tab:hover{color:var(--text-primary)}.tab.active,.tab:hover{border-color:var(--accent-cyan)}.tab.active{background:var(--accent-cyan);color:var(--bg-primary);font-weight:600}.tab:focus{outline:none}.tab:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.board-filters{gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg)}.board-filters,.filter-left{align-items:center;display:flex;flex-wrap:wrap}.filter-left{gap:var(--space-sm)}.filter-right{gap:var(--space-md)}.filter-right,.write-fab{align-items:center;display:flex}.write-fab{backdrop-filter:blur(10px);background:#4dabf7;border:none;border-radius:50%;bottom:30px;box-shadow:0 0 20px rgba(77,171,247,.5),0 10px 30px rgba(0,0,0,.3);cursor:pointer;height:70px;justify-content:center;position:fixed;right:30px;transition:all .3s cubic-bezier(.4,0,.2,1);width:70px;z-index:999}.write-fab:hover{box-shadow:0 0 30px rgba(77,171,247,.7),0 15px 40px rgba(0,0,0,.4);transform:scale(1.1) translateY(-2px)}.write-fab:active{transform:scale(1.05)}@media (max-width:768px){.write-fab{bottom:20px;height:60px;right:20px;width:60px}.write-fab svg{height:24px;width:24px}}.d-none{display:none}.d-flex{display:flex}.d-block{display:block}.d-inline-flex{display:inline-flex}.flex-column{flex-direction:column}.flex-shrink-0{flex-shrink:0}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.justify-content-center{justify-content:center}.justify-content-start{justify-content:flex-start}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-left{text-align:left}.font-bold{font-weight:600}.font-bolder{font-weight:700}.text-sm{font-size:.9rem}.text-xs{font-size:.85rem}.line-height-normal{line-height:1.5}.line-height-relaxed{line-height:1.6}.m-0{margin:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.pt-lg{padding-top:var(--space-lg)}.w-100{width:100%}.max-w-280{max-width:280px}.max-w-400{max-width:400px}.max-w-500{max-width:500px}.max-h-80vh{max-height:80vh}.cursor-pointer{cursor:pointer}.border-warning{border:1px solid rgba(255,193,7,.3)}.border-danger{border:1px solid rgba(255,68,68,.3)}.border-top-subtle{border-top:1px solid hsla(0,0%,100%,.1)}.bg-warning-subtle{background:rgba(255,193,7,.1)}.bg-danger-subtle{background:rgba(255,68,68,.1)}.clickable-condo-name{align-items:center;cursor:pointer;display:flex;gap:8px}.condo-switch-icon{flex-shrink:0;opacity:.7}.header-right-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.warning-box{background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.3);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.warning-box-title{color:#ffc107;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.warning-box-text{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.warning-box-text strong{color:#ffc107}.warning-box-text em{color:var(--text-muted)}.danger-box{background:rgba(255,68,68,.1);border:1px solid rgba(255,68,68,.3);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.checkbox-container{display:flex;flex-direction:column;gap:.75rem}.checkbox-item{align-items:flex-start;cursor:pointer;display:flex;gap:.5rem}.checkbox-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:.25rem;width:18px}.checkbox-item span{font-size:.9rem;line-height:1.4}.agreement-section{border-top:1px solid hsla(0,0%,100%,.1);margin-top:1.5rem;padding-top:1.5rem}label.disclaimer-box{align-items:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.75rem;margin-bottom:0;padding:1rem 1.25rem;transition:all .2s ease}label.disclaimer-box:hover{background:var(--bg-hover);border-color:var(--accent-cyan)}label.disclaimer-box:has(.disclaimer-checkbox:checked){background:rgba(0,255,136,.05);border-color:var(--accent-green)}.disclaimer-checkbox{appearance:none;-webkit-appearance:none;background:transparent;border:2px solid var(--text-muted);border-radius:4px;cursor:pointer;flex-shrink:0;height:20px!important;margin-top:2px;max-width:20px!important;min-width:20px!important;padding:0!important;position:relative;transition:all .2s ease;width:20px!important}.disclaimer-checkbox:checked{background:var(--accent-green);border-color:var(--accent-green)}.disclaimer-checkbox:checked:after{color:var(--bg-primary);content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.disclaimer-content{flex:1;min-width:0}.disclaimer-title{color:#ffc107;display:block;font-size:.95rem;margin-bottom:.5rem}.disclaimer-body{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.inapp-notice{background:rgba(255,193,7,.1);border-radius:var(--radius-sm);color:#ffc107;display:none;font-size:.8rem;line-height:1.5;margin-top:var(--space-md);padding:.75rem}.modal-app-icon{border-radius:var(--radius-lg);height:80px;margin-bottom:var(--space-md);width:80px}.withdraw-list{color:var(--text-secondary);font-size:.9rem;margin:var(--space-sm) 0;padding-left:var(--space-lg)}.confirm-message{font-size:1rem;line-height:1.5;margin-bottom:var(--space-lg)}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.board-list{display:flex;flex-direction:column;gap:var(--space-xs)}.post-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-md);justify-content:space-between;min-height:50px;padding:10px var(--space-md);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y}.post-item:hover{background:var(--bg-hover);border-color:var(--accent-cyan);box-shadow:0 2px 12px rgba(0,0,0,.2)}.post-item.selecting{background:var(--bg-tertiary)!important;border-color:var(--accent-cyan)!important;box-shadow:0 0 0 3px rgba(0,212,255,.5),0 4px 20px rgba(0,212,255,.3)!important;transform:scale(.96)!important}@media (hover:hover) and (pointer:fine){.post-item:hover{background:var(--bg-hover)!important;border-color:var(--accent-cyan)!important;box-shadow:0 2px 12px rgba(0,0,0,.2)!important}}.post-left{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.post-title-row{align-items:center;display:flex;gap:var(--space-sm)}.post-title{flex-shrink:1;font-size:.95rem;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-title-row .comment-count{color:var(--accent-cyan);flex-shrink:0;font-size:.8rem;font-weight:500;margin-left:4px;white-space:nowrap}.post-tags{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.post-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:1;gap:2px}.post-author{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.post-meta-line{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:var(--space-sm)}.post-price{background:var(--gradient-gold);-webkit-background-clip:text;background-clip:text;font-size:.95rem;font-weight:700;-webkit-text-fill-color:transparent}.post-rating{color:var(--accent-gold);font-size:.8rem}#postModal .modal-body{padding-top:var(--space-sm)}.post-detail-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg)}.post-detail-title{font-size:1.4rem;font-weight:700;margin-bottom:var(--space-md);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.post-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.post-detail-author{align-items:center;display:flex;gap:var(--space-sm)}.author-avatar{align-items:center;background:var(--gradient-primary);display:flex;justify-content:center}.author-avatar,.author-avatar-img{border-radius:50%;height:44px;width:44px}.author-avatar-img{flex-shrink:0;object-fit:cover}.author-avatar-img.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.author-avatar-img.clickable:hover{box-shadow:0 2px 10px rgba(0,212,255,.3);transform:scale(1.1)}.author-info{align-items:center;display:flex;flex-wrap:wrap;gap:4px 8px}.author-info .author-name{display:inline}.author-info .author-date{color:var(--text-muted);font-size:.8rem;margin-top:-.1rem;width:100%}.author-name{font-weight:600}.author-date{color:var(--text-muted);font-size:.8rem;width:100%}.author-name-link{cursor:pointer;transition:var(--transition)}.author-name-link:hover{color:var(--accent-cyan);text-decoration:underline}.post-detail-stats{color:var(--text-muted);display:flex;flex-shrink:0;font-size:.85rem;gap:var(--space-md)}.post-detail-content{color:var(--text-secondary);line-height:1.8;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.post-detail-tags{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg)}.pagination{gap:var(--space-xs);margin-top:var(--space-xl)}.page-btn,.pagination{display:flex;justify-content:center}.page-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.9rem;height:40px;min-width:40px;transition:var(--transition)}.page-btn:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--text-primary)}.page-btn.active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--bg-primary);font-weight:600}.page-btn:disabled{cursor:not-allowed;opacity:.4}.page-ellipsis{align-items:center;color:var(--text-muted);display:flex;font-size:.9rem;justify-content:center;min-width:20px}@media (max-width:768px){.pagination{display:none!important}}@media (max-height:600px) and (max-width:1024px){.pagination{display:none!important}}.image-upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:var(--transition)}.image-upload-area:hover{border-color:var(--accent-cyan)}.upload-placeholder{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-sm);justify-content:center;padding:var(--space-xl)}.upload-icon{font-size:2.5rem}.upload-hint{color:var(--text-muted);font-size:.8rem}.upload-preview{background:var(--bg-primary);position:relative}.upload-preview img{display:block;max-height:300px;object-fit:contain;width:100%}.multi-image-upload{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--space-md)}.upload-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.upload-slot{align-items:center;aspect-ratio:1;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);justify-content:center;overflow:hidden;padding:var(--space-md);position:relative;text-align:center;transition:var(--transition)}.upload-slot:hover{border-color:var(--accent-cyan)}.upload-slot.add-slot{color:var(--text-muted)}.upload-slot.add-slot .upload-icon{font-size:1.5rem}.upload-slot.add-slot span:not(.upload-icon){font-size:.75rem}.upload-slot.filled{border-style:solid}.upload-slot.filled img{height:100%;object-fit:cover;width:100%}.upload-slot .remove-slot-btn{align-items:center;background:rgba(255,0,0,.9);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;position:absolute;right:4px;top:4px;width:24px;z-index:2}.comments-section{border-top:1px solid var(--border-color);margin-top:var(--space-xl);padding-top:var(--space-xl)}.comments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.comments-title{font-size:1.1rem;font-weight:600;margin:0}.avg-rating-display{color:var(--text-secondary);font-size:.9rem;font-weight:500}.comment-form{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.comment-form textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:var(--space-md);resize:vertical;width:100%}.comment-form textarea:focus{border-color:var(--accent-cyan);outline:none}.comment-form button{align-self:flex-end}.comment-form-footer{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.comment-form-footer>div:first-child:empty{flex:1}.comment-form.disabled button,.comment-form.disabled textarea{cursor:not-allowed;opacity:.5}.comment-form.disabled textarea:disabled{background:var(--bg-tertiary);color:var(--text-muted)}.comment-actions .btn-text:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.4}.comment-login-notice{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-lg)}.comment-login-notice a{color:var(--accent-cyan)}.comments-list{display:flex;flex-direction:column;gap:var(--space-md)}.loading-comments,.no-comments{color:var(--text-muted);padding:var(--space-lg);text-align:center}.comment{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md)}.comment.depth-1{background:var(--bg-tertiary);margin-left:var(--space-xl)}.comment.depth-2{background:var(--bg-primary);margin-left:calc(var(--space-xl)*2)}.comment-header{justify-content:space-between;margin-bottom:var(--space-xs)}.comment-header,.comment-header-left{align-items:center;display:flex;gap:var(--space-sm)}.comment-author{font-size:.9rem;font-weight:600}.comment-date{color:var(--text-muted);font-size:.8rem}.comment-rating{color:var(--accent-yellow,#ffc107);font-size:.85rem;white-space:nowrap}.comment-content{font-size:.9rem;line-height:1.5;margin-bottom:var(--space-sm);overflow-wrap:break-word;word-break:break-word}.comment-content.translated,.post-detail-content.translated,.post-detail-title.translated,.post-title.translated .comment-count{font-style:normal}.translation-toggle-wrapper{align-items:flex-start;display:inline-flex;gap:8px;width:fit-content}.translation-toggle-wrapper .translation-content{flex:1}.translation-globe-btn{display:none}.translation-globe-btn:hover{background:rgba(0,212,255,.15);transform:scale(1.1)}.translation-globe-btn:hover .globe-icon{animation:globeSpin 2s linear infinite}.translation-globe-btn.active{background:rgba(0,212,255,.1)}.translation-globe-btn.active .globe-icon{color:var(--accent-cyan);filter:drop-shadow(0 0 4px var(--accent-cyan))}.globe-icon{color:var(--text-muted);height:16px;transition:all .3s ease;width:16px}@keyframes globeSpin{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}.translation-globe-btn.small{height:22px;min-width:22px;width:22px}.translation-globe-btn.small .globe-icon{height:12px;width:12px}.comment-content[data-original-content],.post-detail-content[data-original-content],.post-detail-title[data-original-content]{cursor:pointer}.translation-toggle-wrapper [data-original-content].translated:after{content:none}.comment-actions{display:flex;gap:var(--space-sm)}.comment-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:0}.comment-action-btn:hover{color:var(--accent-cyan)}.reply-form-container{margin-top:var(--space-sm)}.reply-form{background:var(--bg-primary);border-radius:var(--radius-sm);padding:var(--space-md)}.edit-form,.reply-form{margin-bottom:.25rem;margin-top:.5rem}.reply-form-actions{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.reply-form-actions>div:first-child:empty{flex:1}.replies,.reply-form-buttons{display:flex;gap:var(--space-sm)}.replies{flex-direction:column;margin-top:var(--space-sm)}.post-image-container{background:var(--bg-tertiary);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-lg);margin-top:var(--space-md)}.post-image-container,.slider-view{overflow:hidden;position:relative;width:100%}.slider-view{aspect-ratio:4/3}.slider-track{display:flex;height:100%;transition:transform .3s ease}.slider-view .slide-image{flex:0 0 100%;height:100%;object-fit:contain;width:100%}.post-image-container.collapsed .slider-view{display:block}.post-image-container.collapsed .expanded-view{display:none}.expanded-view{display:flex;flex-direction:column;gap:var(--space-md)}.post-image-container.expanded .slider-view{display:none}.post-image-container.expanded .expanded-view{display:flex}.expanded-image{border:2px solid var(--accent-cyan);border-radius:var(--radius-md);box-shadow:0 4px 20px rgba(0,255,255,.2);overflow:hidden}.expanded-image img{display:block;height:auto;width:100%}.slider-nav{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:36px;z-index:10}.slider-nav:hover{background:rgba(0,0,0,.7)}.slider-nav.prev{left:10px}.slider-nav.next{right:10px}.slider-dots{bottom:10px;display:flex;gap:8px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.slider-dots .dot{background:hsla(0,0%,100%,.5);border-radius:50%;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.slider-dots .dot.active{background:var(--accent-cyan);transform:scale(1.2)}.post-image-container.expanded .slider-dots,.post-image-container.expanded .slider-nav{display:none}@media (max-width:768px){.slider-nav{display:none}}.post-detail-images{margin-top:var(--space-lg)}.post-detail-images .single-image{border-radius:var(--radius-md);cursor:pointer;max-height:400px;object-fit:contain;transition:var(--transition);width:100%}.post-detail-images .single-image:hover{opacity:.9}.lightbox{align-items:center;backdrop-filter:blur(8px);background:rgba(0,0,0,.95);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:3000}.lightbox.active{display:flex}.lightbox-content{max-height:90vh;max-width:90vw;position:relative}.lightbox-content img{border-radius:var(--radius-md);box-shadow:0 10px 50px rgba(0,0,0,.5);cursor:grab;height:auto;max-height:85vh;max-width:90vw;object-fit:contain;touch-action:none;user-select:none;width:auto}.lightbox-content img:active{cursor:grabbing}.lightbox-close{align-items:center;background:rgba(0,0,0,.8);border:2px solid hsla(0,0%,100%,.5);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.8rem;height:48px;justify-content:center;position:fixed;right:20px;top:20px;transition:var(--transition);width:48px;z-index:10}.lightbox-close:hover{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--bg-primary);transform:scale(1.1)}.lightbox-nav{align-items:center;background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:50px}.lightbox-nav:hover{background:rgba(0,0,0,.8);border-color:var(--accent-cyan)}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-counter{background:rgba(0,0,0,.6);border-radius:var(--radius-full);bottom:-35px;color:var(--text-secondary);font-size:.9rem;left:50%;padding:var(--space-xs) var(--space-md);position:absolute;transform:translateX(-50%)}@media (max-height:600px) and (max-width:1024px),(max-width:768px){.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-nav{font-size:1.2rem;height:40px;width:40px}}.image-slider{cursor:pointer;position:relative}.slider-click-overlay{bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;z-index:1}.slider-indicators{bottom:var(--space-md);display:flex;gap:var(--space-sm);left:50%;position:absolute;transform:translateX(-50%);z-index:10}.indicator{background:hsla(0,0%,100%,.4);border-radius:50%;cursor:pointer;height:10px;transition:var(--transition);width:10px}.indicator.active{background:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}.slider-btn{background:rgba(0,0,0,.7);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:40px;position:absolute;top:50%;transform:translateY(-50%);transition:var(--transition);width:40px;z-index:10}.slider-btn:active,.slider-btn:hover{background:rgba(0,0,0,.9)}.slider-btn:active{transform:translateY(-50%)}.slider-btn.prev{left:var(--space-md)}.slider-btn.next{right:var(--space-md)}.upload-slot.loading{align-items:center;background:var(--bg-tertiary);border:2px dashed var(--border-color);display:flex;justify-content:center}.upload-slot.loading .spinner{animation:spin .8s linear infinite;border:3px solid rgba(0,212,255,.2);border-radius:50%;border-top:3px solid var(--accent-cyan);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.upload-progress-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(10,14,20,.92);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.upload-progress-spinner{animation:spin .9s linear infinite;border:4px solid rgba(0,212,255,.15);border-radius:50%;border-top:4px solid var(--accent-cyan);height:64px;margin-bottom:var(--space-lg);width:64px}.upload-progress-counter{color:var(--accent-cyan);font-size:1.8rem;font-variant-numeric:tabular-nums;font-weight:700;margin-bottom:var(--space-sm)}.upload-progress-text{color:var(--text-secondary);font-size:.95rem}.modal-user-profile{display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;position:relative}.modal-user-profile #userProfileContent{flex:1;overflow-x:hidden;overflow-y:auto}.profile-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-sm);justify-content:center;padding:var(--space-xl)}.user-profile-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.profile-avatar{align-items:center;background:var(--bg-tertiary);border-radius:50%;display:flex;flex-shrink:0;font-size:2rem;height:70px;justify-content:center;overflow:hidden;width:70px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-info{flex:1}.profile-actions-row{display:flex;gap:.5rem;margin-top:.5rem}.profile-name{align-items:center;font-size:1.25rem;font-weight:700;margin-bottom:var(--space-xs)}.profile-meta,.profile-name{display:flex;gap:var(--space-sm)}.profile-meta{color:var(--text-secondary);flex-wrap:wrap;font-size:.85rem}.profile-meta-item{align-items:center;display:flex;font-weight:600;gap:4px}.user-profile-stats{border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-lg);padding:var(--space-md) var(--space-lg)}.profile-stat{text-align:center}.profile-stat-value{color:var(--accent-cyan);font-size:1.25rem;font-weight:700}.profile-stat-label{color:var(--text-secondary);font-size:.8rem}.user-profile-tabs{border-bottom:1px solid var(--border-color);display:flex}.profile-tab{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;flex:1;font-weight:500;padding:var(--space-md);position:relative;transition:var(--transition)}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--accent-cyan)}.profile-tab.active:after{background:var(--accent-cyan);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.profile-tab-content{max-height:400px;min-height:200px;overflow-y:auto}.profile-list-empty{color:var(--text-muted);padding:var(--space-xl);text-align:center}.profile-item{border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-md);transition:var(--transition)}.profile-item-thumb,.profile-item:hover{background:var(--bg-tertiary)}.profile-item-thumb{border-radius:var(--radius-sm);flex-shrink:0;height:50px;overflow:hidden;width:50px}.profile-item-thumb img{height:100%;object-fit:cover;width:100%}.profile-item-stats{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;justify-content:center;min-width:40px}.profile-item-stats .count{color:var(--text-primary);font-size:1rem;font-weight:600}.profile-item-content{flex:1;min-width:0}.profile-item-title{font-weight:600;-webkit-line-clamp:1;line-clamp:1;margin-bottom:4px}.profile-item-excerpt,.profile-item-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.profile-item-excerpt{color:var(--text-secondary);font-size:.85rem;-webkit-line-clamp:2;line-clamp:2}.profile-item-meta{color:var(--text-muted);display:flex;font-size:.75rem;gap:var(--space-sm);margin-top:4px}.profile-mail-btn{font-size:1.5rem;margin-left:auto}.user-profile-modal-content{max-width:500px;width:95%}@media (max-width:768px){.modal-user-profile{border-radius:0;max-height:100vh;max-width:100%;padding:2rem}.profile-avatar{height:60px;width:60px}.profile-name{font-size:1.1rem}}.settings-panel{background:var(--bg-secondary);border-bottom-left-radius:var(--radius-lg);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;height:calc(var(--real-vh, 1vh)*100);max-width:90vw;overflow-y:auto;overscroll-behavior:contain;position:fixed;right:-400px;top:0;transition:right .3s ease;width:350px;z-index:2500;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.settings-panel.active{right:0}.settings-panel-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-sm) var(--space-lg) var(--space-sm) var(--space-lg)}.settings-panel-header h3{color:var(--text-primary);font-size:1.2rem}.settings-close{align-items:center;backdrop-filter:blur(8px);background:rgba(30,32,38,.95);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.3);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;transition:var(--transition);width:40px}@media (hover:hover) and (pointer:fine){.settings-close:hover{background:rgba(50,52,58,.95);border-color:var(--accent-cyan);box-shadow:0 6px 20px rgba(0,0,0,.7);color:var(--text-primary)}}.settings-list{flex:1;padding:var(--space-md)}.setting-item{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-lg)}.setting-info{flex:1;margin-right:var(--space-md)}.setting-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:4px}.setting-description{color:var(--text-secondary);font-size:.85rem}.guest-banner{background:linear-gradient(135deg,rgba(255,140,0,.15),rgba(255,200,0,.1));border:1px solid rgba(255,140,0,.3);border-radius:var(--radius-md);margin-bottom:var(--space-md);padding:var(--space-md);text-align:center}.guest-banner-text{color:var(--accent-gold);font-size:.9rem;margin-bottom:var(--space-sm)}.guest-banner .btn{background:var(--gradient-gold);color:var(--bg-primary);font-weight:600}.infinite-scroll-loader{align-items:center;color:var(--text-secondary);display:none;flex-direction:column;font-size:.9rem;gap:var(--space-sm);justify-content:center;padding:var(--space-lg)}.infinite-scroll-loader .loader-spinner{animation:infinite-scroll-spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-cyan);height:24px;width:24px}@keyframes infinite-scroll-spin{to{transform:rotate(1turn)}}.author-action-menu{animation:menuFadeIn .15s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.5);min-width:180px;overflow:hidden;position:fixed;z-index:10000}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.author-action-item{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:block;font-family:inherit;font-size:.9rem;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.author-action-item:hover{background:var(--bg-hover)}.profile-action-menu{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.5);min-width:160px;overflow:hidden;position:fixed;z-index:10001}.profile-action-menu button{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.profile-action-menu button:hover{background:var(--bg-hover)}.mail-action-menu{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.5);min-width:160px;overflow:hidden;position:fixed;z-index:10001}.mail-action-menu button{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.mail-action-menu button:hover{background:var(--bg-hover)}@media (max-height:600px) and (max-width:1024px),(max-width:768px){.mobile-header{display:flex}.sidebar{overflow-y:scroll;transform:translateX(-100%);-webkit-overflow-scrolling:touch}.sidebar.active{transform:translateX(0)}.sidebar-header{display:none}.user-section{padding-top:calc(60px + var(--space-md))}.main-content{box-sizing:border-box;margin-left:0;max-width:100vw;padding-bottom:var(--space-md);padding-left:var(--space-md);padding-right:var(--space-md);padding-top:60px;width:100%}.board-header-wrapper{padding-top:var(--space-md);top:60px}.board-header{gap:var(--space-md);padding:var(--space-md);text-align:center}.board-filters,.board-header{flex-direction:column}.filter-left{flex-direction:row;gap:var(--space-sm);min-width:0;overflow:visible;position:relative;width:100%}.filter-left:after{background:linear-gradient(to left,var(--bg-primary) 0,transparent 100%);content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:15px;z-index:1}.filter-right{flex-direction:row;gap:var(--space-sm);width:100%}.search-box{flex:1;min-width:0;width:auto}.filter-select{flex-shrink:1;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.search-box input{min-width:60px}.filter-tabs{flex-wrap:nowrap;gap:var(--space-xs);overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;max-width:100%;width:100%}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs .tab{white-space:nowrap}.post-item{gap:var(--space-sm);grid-template-columns:1fr}.post-status{text-align:left}.post-stats{flex-direction:row;justify-content:space-between}.form-row{grid-template-columns:1fr}.sidebar-install-btn{display:none}.employee-app-section{padding:var(--space-sm) 0}}