:root{--red: #EB455F;--cream: #FCFFE7;--blue-light: #BAD7E9;--navy: #2B3467;--bg: var(--cream);--surface: #fff;--border: var(--navy);--text: var(--navy);--text-muted: #7a84ab;--accent: var(--red);--font-display: "Syne", sans-serif;--font-mono: "Space Mono", monospace;--border-width: 2px;--gap: 1.5rem;--transition: .12s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.1;letter-spacing:-.02em}a{color:inherit;text-decoration:none}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none}input,textarea{font-family:var(--font-mono);font-size:14px}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{border-right:var(--border-width) solid var(--border);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:.25rem;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--navy);color:var(--cream)}.sidebar-logo{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--red);letter-spacing:-.04em;margin-bottom:2rem}.sidebar-nav{display:flex;flex-direction:column;gap:.125rem;flex:1}.nav-link{display:block;padding:.6rem .8rem;font-family:var(--font-mono);font-size:13px;color:var(--blue-light);border:var(--border-width) solid transparent;transition:all var(--transition);letter-spacing:.02em;text-transform:uppercase}.nav-link:hover{color:var(--cream);border-color:var(--blue-light)}.nav-link.active{color:var(--navy);background:var(--cream);border-color:var(--cream)}.sidebar-logout{padding:.6rem .8rem;font-family:var(--font-mono);font-size:13px;color:var(--red);border:var(--border-width) solid transparent;text-transform:uppercase;letter-spacing:.02em;text-align:left;transition:all var(--transition)}.sidebar-logout:hover{border-color:var(--red)}.main-content{padding:2.5rem 2rem;max-width:760px}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:var(--border-width) solid var(--border)}.page-title{font-size:2rem}.card{border:var(--border-width) solid var(--border);padding:1.25rem;background:var(--surface);margin-bottom:1rem}.card-row{display:flex;align-items:center;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:var(--border-width) solid currentColor;transition:all var(--transition);cursor:pointer;background:none}.btn-primary{background:var(--navy);color:var(--cream);border-color:var(--navy)}.btn-primary:hover{background:var(--red);border-color:var(--red)}.btn-danger{color:var(--red);border-color:var(--red)}.btn-danger:hover{background:var(--red);color:#fff}.btn-ghost{color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:var(--cream)}.btn-sm{padding:.3rem .7rem;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-input{width:100%;padding:.6rem .8rem;border:var(--border-width) solid var(--border);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--transition)}.form-input:focus{border-color:var(--red)}textarea.form-input{resize:vertical;min-height:80px}.error-msg{color:var(--red);font-size:12px;padding:.5rem .8rem;border:var(--border-width) solid var(--red);margin-bottom:1rem}.success-msg{color:var(--navy);font-size:12px;padding:.5rem .8rem;border:var(--border-width) solid var(--navy);background:var(--blue-light);margin-bottom:1rem}.empty-state{color:var(--text-muted);font-size:13px;padding:2rem 0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-left{background:var(--navy);display:flex;flex-direction:column;justify-content:center;padding:4rem;color:var(--cream)}.auth-logo{font-family:var(--font-display);font-size:5rem;font-weight:800;color:var(--red);letter-spacing:-.04em;line-height:1;margin-bottom:1.5rem}.auth-tagline{font-size:13px;color:var(--blue-light);letter-spacing:.04em;text-transform:uppercase}.auth-right{display:flex;flex-direction:column;justify-content:center;padding:4rem;max-width:480px}.auth-title{font-size:1.6rem;margin-bottom:.5rem}.auth-subtitle{font-size:12px;color:var(--text-muted);margin-bottom:2rem;text-transform:uppercase;letter-spacing:.04em}.auth-switch{margin-top:1.5rem;font-size:12px;color:var(--text-muted)}.auth-switch a{color:var(--red);font-weight:700;cursor:pointer;text-decoration:underline}.profile-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:var(--border-width) solid var(--border)}.pfp-circle{width:64px;height:64px;border:var(--border-width) solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--cream);background:var(--navy);flex-shrink:0;overflow:hidden}.pfp-circle img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1}.profile-username{font-size:1.4rem;font-family:var(--font-display);font-weight:800}.profile-bio{color:var(--text-muted);font-size:13px;margin-top:.25rem}.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.post-card{border:var(--border-width) solid var(--border);background:var(--surface);overflow:hidden}.post-img{width:100%;height:180px;object-fit:cover;display:block;border-bottom:var(--border-width) solid var(--border);background:var(--blue-light)}.post-img-placeholder{width:100%;height:180px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:var(--border-width) solid var(--border)}.post-body{padding:.8rem 1rem}.post-caption{font-size:13px;color:var(--text);margin-bottom:.75rem;word-break:break-word}.user-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:var(--border-width) solid var(--border);background:var(--surface);margin-bottom:.5rem}.user-item-left{display:flex;align-items:center;gap:.75rem}.user-mini-pfp{width:36px;height:36px;background:var(--navy);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;flex-shrink:0}.user-item-actions{display:flex;gap:.5rem}.tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:var(--border-width) solid var(--border)}.tab{padding:.6rem 1.2rem;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border:none;border-bottom:3px solid transparent;background:none;cursor:pointer;transition:all var(--transition);margin-bottom:-2px}.tab:hover{color:var(--text)}.tab.active{color:var(--red);border-bottom-color:var(--red)}.loading{color:var(--text-muted);font-size:13px;padding:1rem 0}@media (max-width: 700px){.auth-shell{grid-template-columns:1fr}.auth-left{display:none}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:1rem}.sidebar-logo{margin-bottom:0;font-size:1.4rem}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.main-content{padding:1.5rem 1rem}.post-grid{grid-template-columns:1fr}}
