@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700&display=swap");:root{--font-mono:"Roboto Mono",monospace;--font-display:"Outfit",system-ui,sans-serif;--accent-coral:#ff6b6b;--accent-violet:#845ef7}*{box-sizing:border-box}html{font-size:18px;line-height:32px;background:rgb(0,0,0);-webkit-font-smoothing:antialiased}#app,body,html{height:100%}body{font-family:system-ui;font-size:18px;line-height:32px;margin:0;color:rgb(1000,1000,1000);@media (max-width:1024px){font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;line-height:70px;font-weight:700;@media (max-width:1024px){margin-left:0;margin-bottom:24px;margin-right:0;margin-top:24px;font-size:42px;line-height:42px}@media (max-width:768px){font-size:38px;line-height:38px}@media (max-width:400px){font-size:32px;line-height:32px}}p{margin:24px 0;@media (max-width:1024px){margin:calc(var(--base) * .75) 0}}a{color:currentColor;&:focus{opacity:.8;outline:none}&:active{opacity:.7;outline:none}}svg{vertical-align:middle}.home{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;padding:45px;max-width:1024px;margin:0 auto;overflow:hidden;@media (max-width:400px){padding-left:24px;padding-bottom:24px;padding-right:24px;padding-top:24px}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;h1{text-align:center}}.links{display:flex;align-items:center;gap:12px;a{text-decoration:none;padding:.25rem .5rem;border-radius:4px}.admin{color:rgb(0,0,0);background:rgb(1000,1000,1000);border:1px solid rgb(0,0,0)}.docs{color:rgb(1000,1000,1000);background:rgb(0,0,0);border:1px solid rgb(1000,1000,1000)}}.footer{display:flex;align-items:center;gap:8px;@media (max-width:1024px){flex-direction:column;gap:6px}p{margin:0}.codeLink{text-decoration:none;padding:0 .5rem;background:rgb(60,60,60);border-radius:4px}}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:400px;background:rgb(20,20,20);border-radius:12px;padding:32px;border:1px solid rgb(40,40,40)}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tab{flex:1 1;padding:12px;background:transparent;border:1px solid rgb(60,60,60);border-radius:8px;color:rgb(150,150,150);font-size:16px;cursor:pointer;transition:all .2s;&:hover{border-color:rgb(100,100,100);color:rgb(200,200,200)}&.active{background:rgb(255,255,255);border-color:rgb(255,255,255);color:rgb(0,0,0)}}.auth-form{display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px;label{font-size:14px;color:rgb(180,180,180)}input{padding:12px 14px;background:rgb(30,30,30);border:1px solid rgb(60,60,60);border-radius:8px;color:rgb(255,255,255);font-size:16px;transition:border-color .2s;&::placeholder{color:rgb(80,80,80)}&:focus{outline:none;border-color:rgb(120,120,120)}}}.auth-error{margin:0;padding:12px;background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.3);border-radius:8px;color:rgb(255,120,120);font-size:14px}.auth-submit{padding:14px;background:rgb(255,255,255);border:none;border-radius:8px;color:rgb(0,0,0);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px;&:hover{opacity:.9}&:disabled{opacity:.5;cursor:not-allowed}}.dashboard-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:24px;gap:24px}.dashboard-card{width:100%;max-width:500px;background:rgb(20,20,20);border-radius:12px;padding:48px;border:1px solid rgb(40,40,40);text-align:center;h1{margin:0 0 16px;font-size:32px;line-height:1.2}p{margin:0 0 32px;color:rgb(180,180,180)}}.dashboard-links{display:flex;flex-direction:column;gap:12px;align-items:center}.admin-link{padding:12px 24px;background:rgb(255,255,255);border-radius:8px;color:rgb(0,0,0);font-size:14px;text-decoration:none;transition:opacity .2s;&:hover{opacity:.9}}.logout-button{padding:12px 24px;background:transparent;border:1px solid rgb(80,80,80);border-radius:8px;color:rgb(200,200,200);font-size:14px;cursor:pointer;transition:all .2s;&:hover{border-color:rgb(255,100,100);color:rgb(255,100,100)}}.new-post-toggle{padding:12px 24px;background:rgb(255,255,255);border:none;border-radius:8px;color:rgb(0,0,0);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s;&:hover{opacity:.9}}.new-post-card{width:100%;max-width:500px;background:rgb(20,20,20);border-radius:12px;padding:24px;border:1px solid rgb(40,40,40);display:flex;flex-direction:column;gap:12px}.new-post-input{width:100%;min-height:80px;padding:12px 14px;background:rgb(30,30,30);border:1px solid rgb(60,60,60);border-radius:8px;color:rgb(255,255,255);font-size:16px;font-family:inherit;resize:vertical;transition:border-color .2s;&::placeholder{color:rgb(80,80,80)}&:focus{outline:none;border-color:rgb(120,120,120)}&:disabled{opacity:.6}}.new-post-counter{font-size:13px;color:rgb(150,150,150);text-align:right;&.over{color:rgb(255,100,100)}}.new-post-error{margin:0;padding:12px;background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.3);border-radius:8px;color:rgb(255,120,120);font-size:14px}.new-post-actions{display:flex;gap:12px;justify-content:flex-end}.new-post-cancel{padding:10px 20px;background:transparent;border:1px solid rgb(80,80,80);border-radius:8px;color:rgb(200,200,200);font-size:14px;cursor:pointer;transition:all .2s;&:hover{border-color:rgb(120,120,120);color:rgb(255,255,255)}&:disabled{opacity:.5;cursor:not-allowed}}.new-post-submit{padding:10px 20px;background:rgb(255,255,255);border:none;border-radius:8px;color:rgb(0,0,0);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s;&:hover{opacity:.9}&:disabled{opacity:.5;cursor:not-allowed}}.post-feed{display:flex;flex-direction:column;gap:1px;width:100%;max-width:600px;background:rgb(40,40,40)}.post-feed-empty{padding:48px 24px;text-align:center;color:rgb(120,120,120)}.post-feed-loader{display:flex;justify-content:center;padding:24px}.post-feed-spinner{width:24px;height:24px;border:2px solid rgb(60,60,60);border-top-color:rgb(255,255,255);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.post-container{background:rgb(20,20,20);padding:16px 20px}.post-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.post-author-name{font-weight:600;color:rgb(255,255,255)}.post-author-handle,.post-time{color:rgb(120,120,120);font-size:14px}.post-time{margin-left:auto}.post-content{margin:0;color:rgb(230,230,230);line-height:1.5;word-wrap:break-word}.post-actions{display:flex;align-items:center;justify-content:right;gap:16px;margin-top:12px}.like-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:6px 10px;margin:-6px -10px;border-radius:20px;color:rgb(120,120,120);cursor:pointer;font-size:14px;transition:all .2s;&:hover{background:rgba(255,107,107,.1);color:var(--accent-coral)}&:disabled{opacity:.6;cursor:not-allowed}&.liked{color:var(--accent-coral)}}.like-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profile-container{min-height:100vh;padding:24px;gap:24px}.profile-container,.profile-header{display:flex;flex-direction:column;align-items:center}.profile-header{width:100%;max-width:600px;background:rgb(20,20,20);border-radius:12px;padding:32px;border:1px solid rgb(40,40,40);gap:8px}.profile-display-name{margin:0;font-size:28px;line-height:1.2;font-weight:600}.profile-username{color:rgb(120,120,120);font-size:16px;margin-bottom:16px}.follow-button{padding:10px 24px;background:rgb(255,255,255);border:none;border-radius:8px;color:rgb(0,0,0);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:100px;&:hover{opacity:.9}&:disabled{opacity:.5;cursor:not-allowed}&.following{background:transparent;border:1px solid rgb(80,80,80);color:rgb(200,200,200);&:hover{border-color:rgb(255,100,100);color:rgb(255,100,100)}}}.search-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:24px;gap:24px}.search-title{margin:0;font-size:32px;line-height:1.2}.search-input-wrapper{width:100%;max-width:600px}.search-input{width:100%;padding:14px 18px;background:rgb(30,30,30);border:1px solid rgb(60,60,60);border-radius:8px;color:rgb(255,255,255);font-size:16px;transition:border-color .2s;&::placeholder{color:rgb(100,100,100)}&:focus{outline:none;border-color:rgb(120,120,120)}}.search-results{width:100%;max-width:600px}.search-loading{display:flex;justify-content:center;padding:48px}.search-empty{padding:48px 24px;text-align:center;color:rgb(120,120,120);background:rgb(20,20,20);border-radius:12px;border:1px solid rgb(40,40,40)}.search-results-list{display:flex;flex-direction:column;gap:1px;background:rgb(40,40,40);border-radius:12px;overflow:hidden}.user-search-result{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:rgb(20,20,20);text-decoration:none;transition:background .2s;&:hover{background:rgb(30,30,30)}}.user-search-info{display:flex;flex-direction:column;gap:2px}.user-search-display-name{font-weight:600;color:rgb(255,255,255)}.user-search-username{font-size:14px;color:rgb(120,120,120)}.search-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.pagination-button{padding:10px 20px;background:rgb(40,40,40);border:1px solid rgb(60,60,60);border-radius:8px;color:rgb(200,200,200);font-size:14px;cursor:pointer;transition:all .2s;&:hover:not(:disabled){background:rgb(50,50,50);border-color:rgb(80,80,80)}&:disabled{opacity:.4;cursor:not-allowed}}.pagination-info{font-size:14px;color:rgb(150,150,150)}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:48px 24px;position:relative;overflow:hidden}.welcome-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(132,94,247,.15) 0,rgba(255,107,107,.08) 40%,transparent 70%);pointer-events:none;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-content{text-align:center;z-index:1;animation:fadeUp .8s ease-out}.welcome-title{font-family:var(--font-display);font-size:96px;font-weight:700;letter-spacing:-.03em;margin:0;background:linear-gradient(135deg,#fff,#e0e0e0 50%,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;@media (max-width:768px){font-size:64px}@media (max-width:400px){font-size:48px}padding-bottom:.5em}.welcome-tagline{font-family:var(--font-display);font-size:22px;line-height:1.6;color:rgb(160,160,160);margin:24px 0 48px;font-weight:400;@media (max-width:768px){font-size:18px;margin-left:0;margin-bottom:36px;margin-right:0;margin-top:20px}}.welcome-cta{display:inline-block;padding:16px 48px;font-family:var(--font-display);font-size:18px;font-weight:600;text-decoration:none;color:#000;background:linear-gradient(135deg,#fff,#f0f0f0);border-radius:50px;transition:all .3s ease;box-shadow:0 4px 24px rgba(255,255,255,.1);&:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(255,255,255,.2)}&:active{transform:translateY(0)}}.welcome-footer{position:absolute;bottom:48px;z-index:1;animation:fadeUp .8s ease-out .3s both;p{margin:0;font-size:14px;color:rgb(100,100,100);font-family:var(--font-display)}}.user-nav{position:fixed;left:0;top:0;width:250px;height:100vh;background:rgb(15,15,15);border-right:1px solid rgb(40,40,40);display:flex;flex-direction:column;padding:24px 16px;gap:8px;z-index:100;@media (max-width:768px){top:auto;bottom:0;left:0;right:0;width:100%;height:auto;flex-direction:row;justify-content:space-around;padding-left:16px;padding-bottom:12px;padding-right:16px;padding-top:12px;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-top-color:rgb(40,40,40);border-top-style:solid;border-top-width:1px}}.user-nav-link{display:flex;align-items:center;gap:16px;padding:14px 18px;color:rgb(200,200,200);text-decoration:none;border-radius:50px;font-size:18px;font-weight:500;transition:all .2s;&:hover{background:rgb(30,30,30);color:rgb(255,255,255)}@media (max-width:768px){flex-direction:column;gap:4px;padding-left:12px;padding-bottom:8px;padding-right:12px;padding-top:8px;font-size:11px}}.user-nav-button{background:none;border:none;cursor:pointer;font-family:inherit}.user-nav-label{@media (max-width:768px){font-size:11px}}.new-post-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.new-post-modal{width:100%;max-width:500px}.with-nav{margin-left:250px;@media (max-width:768px){margin-left:0;padding-bottom:80px}}.notification-bell-wrapper{position:relative;display:inline-flex}.notification-badge{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;background:var(--accent-coral);border-radius:10px;font-size:11px;font-weight:600;line-height:18px;text-align:center;color:#fff;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notifications-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:24px;gap:24px}.notifications-title{margin:0;font-size:32px;line-height:1.2}.notification-feed{display:flex;flex-direction:column;gap:1px;background:rgb(40,40,40);overflow:hidden}.notification-feed,.notification-feed-empty{width:100%;max-width:600px;border-radius:12px}.notification-feed-empty{padding:48px 24px;text-align:center;color:rgb(120,120,120);background:rgb(20,20,20);border:1px solid rgb(40,40,40)}.notification-container{display:flex;gap:14px;padding:16px 20px;background:rgb(20,20,20);transition:background .2s;&:hover{background:rgb(28,28,28)}&.unread{background:rgb(25,25,30);border-left:3px solid var(--accent-violet)}}.notification-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgb(40,40,40)}.notification-like .notification-icon{color:var(--accent-coral);background:rgba(255,107,107,.15)}.notification-repost .notification-icon{color:#4ade80;background:rgba(74,222,128,.15)}.notification-follow .notification-icon{color:var(--accent-violet);background:rgba(132,94,247,.15)}.notification-content{flex:1 1;min-width:0}.notification-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.4}.notification-actor{font-weight:600;color:rgb(255,255,255);text-decoration:none;&:hover{text-decoration:underline}}.notification-action{color:rgb(180,180,180);font-size:15px}.notification-time{color:rgb(100,100,100);font-size:13px;margin-left:auto}.notification-preview{margin:8px 0 0;padding:10px 12px;background:rgb(35,35,35);border-radius:8px;color:rgb(160,160,160);font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}