:root{--primary-color:#2e5835;--primary-hover:#234528;--accent-color:#c4601c;--accent-hover:#a8511a;--background:#f0e9d2;--surface:#faf6ed;--border:#ddd0b8;--text-primary:#1c2a1d;--text-secondary:#6a7b6d;--error:#b83020;--success:#2e5835;--shadow-sm:0 1px 3px 0 #00000012;--shadow-md:0 4px 10px -1px #00000017;--shadow-lg:0 10px 24px -3px #0000001f;--radius:10px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0e9d2;background-color:var(--background);color:#1c2a1d;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}#root{min-height:100vh}.loading{align-items:center;color:#6a7b6d;color:var(--text-secondary);display:flex;justify-content:center;padding:2rem}.error-message{background-color:#fdecea;border:1px solid #f5c6c0;border-radius:10px;border-radius:var(--radius);color:#b83020;color:var(--error)}.error-message,.success-message{font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.success-message{background-color:#e6f0e8;border:1px solid #b8d4bc;border-radius:10px;border-radius:var(--radius);color:#2e5835;color:var(--success)}.empty-state{color:#6a7b6d;color:var(--text-secondary);padding:3rem 1rem;text-align:center}.empty-state h3{color:#1c2a1d;color:var(--text-primary);margin-bottom:.5rem}.btn-primary,.btn-secondary{border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.01em;padding:.625rem 1.375rem;transition:all .18s ease}.btn-primary{background-color:#2e5835;background-color:var(--primary-color);color:#faf6ed}.btn-primary:hover:not(:disabled){background-color:#234528;background-color:var(--primary-hover)}.btn-primary:disabled{cursor:not-allowed;opacity:.55}.btn-secondary{background-color:#faf6ed;background-color:var(--surface);border:1px solid #ddd0b8;border:1px solid var(--border);color:#1c2a1d;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:#f0e9d2;background-color:var(--background);border-color:#6a7b6d;border-color:var(--text-secondary)}input[type=email],input[type=password],input[type=text],textarea{background-color:#faf6ed;background-color:var(--surface);border:1px solid #ddd0b8;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1c2a1d;color:var(--text-primary);font-size:.875rem;padding:.625rem .875rem;transition:all .18s;width:100%}input:focus,textarea:focus{border-color:#2e5835;border-color:var(--primary-color);box-shadow:0 0 0 3px #2e58351f;outline:none}label{color:#1c2a1d;color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group{margin-bottom:1.25rem}.toast-stack{bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;position:fixed;right:1.5rem;z-index:9000}.toast{align-items:center;animation:toast-slide-in .22s ease;border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;font-size:.875rem;font-weight:500;gap:.625rem;max-width:360px;min-width:220px;padding:.75rem 1rem;pointer-events:all}.toast-success{background:var(--text-primary);border-left:3px solid var(--primary-color);color:#faf6ed}.toast-error{background:#2c1a1a;border-left:3px solid var(--error);color:#faf6ed}.toast-info{background:var(--text-primary);border-left:3px solid var(--accent-color);color:#faf6ed}.toast-icon{flex-shrink:0;font-size:.875rem;font-weight:700;opacity:.85}.toast-success .toast-icon{color:#7ecb87}.toast-error .toast-icon{color:#e87a7a}.toast-info .toast-icon{color:#e8834a}.toast-message{flex:1 1;line-height:1.4}.toast-dismiss{background:none;border:none;color:#faf6ed80;cursor:pointer;flex-shrink:0;font-size:1.125rem;line-height:1;margin-left:.25rem;padding:0;transition:color .15s}.toast-dismiss:hover{color:#faf6ede6}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(.75rem)}to{opacity:1;transform:translateX(0)}}@media (max-width:480px){.toast-stack{bottom:1rem;left:1rem;right:1rem}.toast{max-width:100%;min-width:0}}.auth-container{align-items:center;background-color:var(--primary-color);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;padding:2.5rem;width:100%}.auth-brand{color:var(--text-primary);font-size:1.875rem;font-weight:800;letter-spacing:-.03em;margin-bottom:1.75rem;text-align:center}.auth-brand-accent{color:var(--accent-color);font-style:italic}.auth-card h1{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.375rem}.auth-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.75rem}.auth-submit-btn{font-size:1rem;margin-top:.25rem;padding:.75rem;width:100%}.label-optional{color:var(--text-secondary);font-weight:400}.auth-confirm-card{text-align:center}.auth-confirm-icon{color:var(--accent-color);font-size:2.5rem;margin-bottom:1rem}.auth-card form{margin-bottom:1.5rem}.auth-card button[type=submit]{background-color:var(--primary-color)}.auth-link{color:var(--text-secondary);font-size:.875rem;text-align:center}.auth-link a{color:var(--accent-color);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:1.75rem 1.25rem}}.navbar{background:var(--primary-color);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1.5rem}.navbar-logo{align-items:baseline;color:#faf6ed;display:flex;font-size:1.4rem;font-weight:800;gap:0;letter-spacing:-.02em;text-decoration:none}.logo-accent{color:#e8834a;font-style:italic;letter-spacing:-.03em}.navbar-menu{align-items:center;display:flex;gap:.25rem}.navbar-item{border-radius:var(--radius);color:#faf6edb8;font-size:.9375rem;font-weight:500;padding:.45rem 1rem;text-decoration:none;transition:all .18s}.navbar-item:hover{background-color:#faf6ed1f;color:#faf6ed}.navbar-item.active{background-color:#faf6ed2e;color:#faf6ed;font-weight:600}.nav-item-wrap{position:relative}.nav-badge{align-items:center;background:#e03d2f;border-radius:9px;color:#fff;display:flex;font-size:.6875rem;font-weight:700;height:17px;justify-content:center;line-height:1;min-width:17px;padding:0 4px;pointer-events:none;position:absolute;right:1px;top:1px}.navbar-profile-link{align-items:center;display:flex;padding:.25rem}.navbar-avatar{border:2px solid #faf6ed4d;border-radius:50%;display:block;height:34px;object-fit:cover;transition:border-color .18s;width:34px}.navbar-avatar-initial{align-items:center;background:var(--accent-color);color:#faf6ed;display:flex;font-size:.875rem;font-weight:700;justify-content:center}.navbar-profile-link:hover .navbar-avatar{border-color:#faf6edb3}@media (max-width:520px){.navbar-container{padding:0 .875rem}.navbar-logo{font-size:1.2rem}.navbar-item{font-size:.875rem;padding:.4rem .5rem}.navbar-menu{gap:0}}.comment-section{border-top:1px solid var(--border);margin-top:.875rem;padding-top:.875rem}.comment-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:0;transition:color .15s}.comment-toggle-btn:hover{color:var(--primary-color)}.comments-list{flex-direction:column;margin-top:.875rem}.comment,.comments-list{display:flex;gap:.625rem}.comment-reply{margin-left:2.375rem;margin-top:.375rem}.comment-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:30px;justify-content:center;min-width:30px;overflow:hidden;width:30px}.comment-avatar img{height:100%;object-fit:cover;width:100%}.comment-body{background:var(--background);border-radius:var(--radius);flex:1 1;padding:.5rem .75rem}.comment-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.2rem}.comment-author{color:var(--text-primary);font-size:.8125rem;font-weight:600}.comment-time{color:var(--text-secondary);font-size:.75rem}.comment-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;margin-left:auto;opacity:.45;padding:0 2px;transition:all .15s}.comment-delete-btn:hover{color:var(--error);opacity:1}.comment-text{color:var(--text-primary);font-size:.875rem;line-height:1.5;word-break:break-word}.comment-reply-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-size:.75rem;font-weight:600;margin-top:.375rem;padding:0;transition:color .15s}.comment-reply-btn:hover{color:var(--primary-color)}.reply-form{display:flex;gap:.5rem;margin-top:.5rem}.reply-form input{flex:1 1;font-size:.8125rem;padding:.375rem .625rem}.reply-form button{background:var(--primary-color);border:none;border-radius:var(--radius);color:#faf6ed;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.375rem .75rem;transition:background .15s;white-space:nowrap}.reply-form button:hover:not(:disabled){background:var(--primary-hover)}.reply-form button:disabled{cursor:not-allowed;opacity:.5}.new-comment-form{border-top:1px solid var(--border);display:flex;gap:.625rem;margin-top:.875rem;padding-top:.75rem}.new-comment-form input{flex:1 1;font-size:.875rem}.new-comment-form button{background:var(--accent-color);border:none;border-radius:var(--radius);color:#faf6ed;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .15s;white-space:nowrap}.new-comment-form button:hover:not(:disabled){background:var(--accent-hover)}.new-comment-form button:disabled{cursor:not-allowed;opacity:.5}.comments-loading{color:var(--text-secondary);font-size:.875rem;padding:.375rem 0}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.375rem;transition:box-shadow .18s}.post-card:hover{box-shadow:var(--shadow-md)}.post-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.post-author{display:flex;gap:.75rem}.author-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:42px;justify-content:center;width:42px}.author-info h3{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:.125rem}.post-time{font-size:.8125rem}.delete-btn,.post-time{color:var(--text-secondary)}.delete-btn{align-items:center;background:none;border:none;border-radius:var(--radius);cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;opacity:.6;padding:0;transition:all .18s;width:28px}.delete-btn:hover{background-color:#fdecea;color:var(--error);opacity:1}.post-content{margin-bottom:.75rem}.post-content p{word-wrap:break-word;color:var(--text-primary);font-size:.9375rem;line-height:1.65;white-space:pre-wrap}.post-content a{color:var(--accent-color);text-decoration:none;word-break:break-all}.post-content a:hover{text-decoration:underline}.post-image-grid{grid-gap:3px;border-radius:var(--radius);display:grid;gap:3px;margin-top:.875rem;overflow:hidden}.post-image-grid.grid-count-1{grid-template-columns:1fr}.post-image-grid.grid-count-2,.post-image-grid.grid-count-3,.post-image-grid.grid-count-4{grid-template-columns:1fr 1fr}.post-image-cell{aspect-ratio:1;overflow:hidden;position:relative}.post-image-cell img{display:block;height:100%;object-fit:cover;width:100%}.post-image-overflow{align-items:center;background:#00000080;color:#fff;display:flex;font-size:1.375rem;font-weight:700;inset:0;justify-content:center;position:absolute}.link-preview-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);color:inherit;display:flex;flex-direction:column;margin-top:.875rem;overflow:hidden;text-decoration:none;transition:box-shadow .18s}.link-preview-card:hover{box-shadow:var(--shadow-md)}.link-preview-card-img{display:block;max-height:200px;object-fit:cover;width:100%}.link-preview-card-body{border-top:3px solid var(--accent-color);padding:.75rem 1rem}.link-preview-card-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.link-preview-card-desc,.link-preview-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link-preview-card-desc{color:var(--text-secondary);font-size:.8125rem;margin-bottom:.375rem}.link-preview-card-domain{color:var(--accent-color);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.reaction-bar{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem;padding:.625rem 0}.reaction-btn{align-items:center;background:none;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;gap:.25rem;padding:.3rem .625rem;transition:all .15s}.reaction-btn:hover{background:var(--background);border-color:var(--primary-color);color:var(--text-primary)}.reaction-btn.active{background:#e8f0e9;border-color:var(--primary-color);color:var(--primary-color)}.reaction-emoji{font-size:1.0625rem;line-height:1}.reaction-count{font-size:.8125rem;font-weight:600}.create-post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.25rem}.create-post-card textarea{font-family:inherit;font-size:.9375rem;line-height:1.6;min-height:90px;resize:vertical}.image-preview-grid{grid-gap:4px;border-radius:var(--radius);display:grid;gap:4px;margin-top:.75rem;overflow:hidden}.image-preview-grid.preview-count-1{grid-template-columns:1fr}.image-preview-grid.preview-count-2,.image-preview-grid.preview-count-3,.image-preview-grid.preview-count-4{grid-template-columns:1fr 1fr}.image-preview-item{aspect-ratio:1;overflow:hidden;position:relative}.image-preview-item img{display:block;height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#0000008c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;height:26px;justify-content:center;line-height:1;position:absolute;right:6px;top:6px;transition:background .15s;width:26px}.remove-image-btn:hover{background:#000000bf}.link-preview-loading{color:var(--text-secondary);font-size:.8125rem;margin-top:.75rem}.link-preview-composer{align-items:flex-start;background:var(--background);border:1px solid var(--border);border-left:3px solid var(--accent-color);border-radius:var(--radius);display:flex;gap:.75rem;margin-top:.75rem;padding:.75rem;position:relative}.link-preview-img{border-radius:6px;flex-shrink:0;height:64px;object-fit:cover;width:64px}.link-preview-text{flex:1 1;min-width:0}.link-preview-title{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8125rem;margin-bottom:.25rem;overflow:hidden}.link-preview-domain{color:var(--accent-color);font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.image-count{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.attach-btn-disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.create-post-actions{align-items:center;display:flex;justify-content:space-between;margin-top:.875rem}.create-post-left{align-items:center;display:flex;gap:.5rem}.attach-btn{cursor:pointer;font-size:1.375rem;opacity:.65;transition:opacity .15s;-webkit-user-select:none;user-select:none}.attach-btn:hover{opacity:1}.create-post-actions .btn-primary{background-color:var(--accent-color)}.create-post-actions .btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.feed-container{flex:1 1;padding:2rem 1rem}.feed-content{margin:0 auto;max-width:660px}.posts-list{display:flex;flex-direction:column;gap:1rem}.skeleton{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--border) 25%,#ddd0b873 50%,var(--border) 75%);background-size:200% 100%;border-radius:6px;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-post{pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-post-header{align-items:center;display:flex;gap:.75rem}.skeleton-avatar-circle{border-radius:50%;flex-shrink:0;height:42px;width:42px}.skeleton-post-meta{flex:1 1}.skeleton-line{height:13px}.onboarding-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.75rem}.onboarding-intro{margin-bottom:1.25rem}.onboarding-intro h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.375rem}.onboarding-brand-accent{color:var(--accent-color);font-style:italic}.onboarding-intro p{color:var(--text-secondary);font-size:.9rem}.onboarding-steps{display:flex;flex-direction:column;gap:.5rem}.onboarding-step{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;gap:1rem;padding:.875rem 1rem;text-align:left;transition:all .18s;width:100%}.onboarding-step:hover:not(.onboarding-step-passive){border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateX(3px)}.onboarding-step-passive{cursor:default;opacity:.72}.onboarding-step-num{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.onboarding-step-body{display:flex;flex:1 1;flex-direction:column;gap:.125rem}.onboarding-step-body strong{color:var(--text-primary);font-size:.9rem;font-weight:600}.onboarding-step-body span{color:var(--text-secondary);font-size:.8125rem}.onboarding-step-cta{color:var(--text-secondary);flex-shrink:0;font-size:1rem;font-weight:600}.onboarding-up-arrow{font-size:1.125rem}.profile-container{flex:1 1;padding:2rem 1rem}.profile-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0 auto;max-width:520px;padding:2rem}.profile-header{border-bottom:1px solid var(--border);margin-bottom:1.75rem;padding-bottom:1.75rem;text-align:center}.profile-avatar-wrapper{cursor:pointer;margin:0 auto 1rem;position:relative}.profile-avatar,.profile-avatar-wrapper{border-radius:50%;height:88px;width:88px}.profile-avatar{align-items:center;background:var(--primary-color);color:#faf6ed;display:flex;font-size:2.25rem;font-weight:700;justify-content:center}.profile-avatar-img{border-radius:50%;display:block;height:88px;object-fit:cover;width:88px}.profile-avatar-overlay{align-items:center;background:#00000073;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;inset:0;justify-content:center;letter-spacing:.04em;opacity:0;position:absolute;transition:opacity .18s}.profile-avatar-wrapper:hover .profile-avatar-overlay{opacity:1}.profile-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.375rem}.profile-email{color:var(--text-secondary);font-size:.875rem}.profile-section{margin-bottom:1.75rem}.profile-section h2{color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.875rem;text-transform:uppercase}.settings-list{display:flex;flex-direction:column;gap:.5rem}.setting-item{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.setting-item span:first-child{color:var(--text-secondary);flex-shrink:0;font-weight:500;margin-right:1rem}.setting-item-input{align-items:flex-start;flex-direction:column;gap:.5rem}.setting-item-input label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin:0}.setting-item-input input{background:var(--surface);border-color:var(--border);font-size:.875rem;padding:.5rem .75rem}.profile-actions{align-items:center;display:flex;gap:.75rem;justify-content:space-between;padding-top:.5rem}.btn-logout{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem;transition:color .18s}.btn-logout:hover{color:var(--error)}.friends-container{flex:1 1;padding:2rem 1rem}.friends-content{margin:0 auto;max-width:800px}.friends-content section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.friends-content h2{color:var(--text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1.25rem}.add-friend-section form{display:flex;gap:.75rem}.add-friend-section .form-group{display:flex;flex:1 1;gap:.75rem;margin-bottom:.75rem}.add-friend-section input{flex:1 1}.add-friend-section .btn-primary{background-color:var(--accent-color)}.add-friend-section .btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.requests-list{display:flex;flex-direction:column;gap:.875rem}.request-card{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);display:flex;justify-content:space-between;padding:1rem}.request-info h3{font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.request-info p{color:var(--text-secondary);font-size:.875rem}.request-actions{display:flex;gap:.5rem}.request-actions button{font-size:.8125rem;padding:.4375rem .875rem}.friends-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.friend-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1rem;text-align:center;transition:all .18s}.friend-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.friend-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;font-size:1.375rem;font-weight:700;height:60px;justify-content:center;margin:0 auto .75rem;width:60px}.friend-card h3{font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.friend-card p{color:var(--text-secondary);font-size:.8125rem}.section-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.section-header-row h2{margin-bottom:0}.btn-sm{border:none;border-radius:var(--radius);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.375rem .875rem;transition:all .18s}.btn-accent{background-color:var(--accent-color);color:#faf6ed}.btn-accent:hover{background-color:var(--accent-hover)}.btn-primary-sm{background-color:var(--primary-color);color:#faf6ed}.btn-primary-sm:hover:not(:disabled){background-color:var(--primary-hover)}.btn-primary-sm:disabled{cursor:not-allowed;opacity:.5}.create-group-form{display:flex;gap:.625rem;margin-bottom:1rem}.create-group-form input{flex:1 1}.groups-list{display:flex;flex-direction:column;gap:.625rem}.group-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.group-card-header{align-items:center;display:flex;justify-content:space-between;padding:.875rem 1rem}.group-name-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1 1;gap:.5rem;padding:0;text-align:left}.group-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.group-count{color:var(--text-secondary);font-size:.8125rem}.group-chevron{color:var(--text-secondary);font-size:.625rem}.group-header-actions{align-items:center;display:flex;gap:.5rem}.group-delete-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.125rem;height:24px;justify-content:center;opacity:.55;padding:0;transition:all .15s;width:24px}.group-delete-btn:hover{background:#fdecea;color:var(--error);opacity:1}.group-body{border-top:1px solid var(--border);padding:0 1rem .875rem}.group-empty{color:var(--text-secondary);font-size:.875rem;padding:.625rem 0}.group-members-list{display:flex;flex-direction:column;gap:.5rem;padding:.625rem 0}.group-member-row{align-items:center;display:flex;gap:.625rem}.group-member-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;font-size:.75rem;font-weight:700;height:30px;justify-content:center;min-width:30px;overflow:hidden;width:30px}.group-member-avatar img{height:100%;object-fit:cover;width:100%}.group-member-name{color:var(--text-primary);flex:1 1;font-size:.875rem}.group-remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;opacity:.45;padding:0 2px;transition:all .15s}.group-remove-btn:hover{color:var(--error);opacity:1}.add-to-group{border-top:1px solid var(--border);display:flex;gap:.5rem;margin-top:.5rem;padding-top:.625rem}.add-to-group select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.375rem .625rem}.group-empty-state{color:var(--text-secondary);font-size:.875rem;padding:.5rem 0}.messages-container{flex:1 1;padding:2rem 1rem}.messages-content{margin:0 auto;max-width:700px}.messages-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.messages-page-header h2{color:var(--text-primary);font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.conversation-list,.messages-page-actions{display:flex;gap:.5rem}.conversation-list{flex-direction:column}.conversation-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:.875rem;padding:.875rem 1rem;text-align:left;text-decoration:none;transition:all .18s;width:100%}.conversation-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.convo-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#faf6ed;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:44px;justify-content:center;min-width:44px;overflow:hidden;width:44px}.convo-avatar img{height:100%;object-fit:cover;width:100%}.convo-avatar.group-avatar{background:var(--accent-color);font-size:1.25rem}.convo-info{flex:1 1;min-width:0}.convo-name{color:var(--text-primary);display:block;font-size:.9375rem;font-weight:600}.convo-last-message,.convo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-last-message{color:var(--text-secondary);font-size:.8125rem;margin-top:.125rem}.modal-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;padding:1.5rem;width:100%}.modal-box h3{color:var(--text-primary);font-size:1.0625rem;font-weight:700;margin-bottom:1.25rem}.modal-box .form-group{margin-bottom:1rem}.modal-box label{color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin-bottom:.375rem;text-transform:uppercase}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.friend-checkbox-list{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;padding:.625rem}.friend-checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.625rem;padding:.375rem .25rem;transition:background .12s}.friend-checkbox-item:hover{background:var(--surface)}.friend-checkbox-item input[type=checkbox]{cursor:pointer;width:auto}.friend-checkbox-item span{color:var(--text-primary);font-size:.875rem}.conversation-container{display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 64px);margin:0 auto;max-width:700px;padding:1rem;width:100%}.conversation-back-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:.875rem;margin-bottom:.75rem;padding-bottom:1rem}.back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;transition:color .15s}.back-btn:hover{color:var(--text-primary)}.conversation-back-header h2{color:var(--text-primary);flex:1 1;font-size:1rem;font-weight:700}.convo-member-chips{color:var(--text-secondary);font-size:.75rem}.conversation-messages{flex:1 1;gap:.5rem;overflow-y:auto;padding:.5rem 0}.conversation-messages,.message-row{display:flex;flex-direction:column}.message-row.own{align-items:flex-end}.message-row.other{align-items:flex-start}.message-sender-name{color:var(--text-secondary);font-size:.75rem;font-weight:600;margin-bottom:.2rem;padding-left:.25rem}.message-bubble{border-radius:16px;font-size:.9375rem;line-height:1.5;max-width:72%;padding:.625rem .875rem;word-break:break-word}.message-bubble.own{background:var(--primary-color);border-bottom-right-radius:4px;color:#faf6ed}.message-bubble.other{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text-primary)}.message-time{display:block;font-size:.6875rem;margin-top:.2rem;opacity:.6;padding:0 .25rem}.message-input-area{border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:.75rem;padding-top:.875rem}.message-input-area input{flex:1 1}.message-input-area button{white-space:nowrap}.messages-empty{color:var(--text-secondary);padding:3rem 1rem;text-align:center}.messages-empty p{font-size:.9375rem}.App,.page-container{min-height:100vh}.page-container{display:flex;flex-direction:column}
/*# sourceMappingURL=main.2d1f19a7.css.map*/