@import"https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;800;900&display=swap";input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#111827!important;font-family:Raleway,sans-serif!important;transition:background-color 5000s ease-in-out 0s}input:-moz-autofill,input:-moz-autofill:hover,input:-moz-autofill:focus{font-family:Raleway,sans-serif!important}*{font-family:Poppins,sans-serif}body{font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,button{font-family:Poppins,sans-serif}::placeholder{font-family:Poppins,sans-serif;opacity:1}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f9fafb}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;color:#242424;line-height:1}.logo{height:6em;padding:1.5em;will-change:filter,transform;transition:filter .3s,transform .3s ease}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa);transform:scale(1.05)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{background-color:#fff;border-radius:1rem;padding:1em;margin-bottom:1rem;text-align:left}.card:hover{transform:translateY(-0px);box-shadow:0 0 #08245080}.post-card.selected{outline:1px solid #3b82f6;outline-offset:-2px;box-shadow:0 10px 25px -5px #3b82f64d,0 8px 10px -6px #3b82f633,0 0 0 1px #3b82f61a;transform:translateY(-2px);transition:all .3s cubic-bezier(.4,0,.2,1)}.post-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.post-header{display:flex;justify-content:space-between;align-items:baseline}.private-icon{margin-right:.5rem}.toggle-privacy-btn{font-size:.8rem;padding:6px 16px;border-radius:10px;background-color:#fff;color:#4b5563;border:0px solid #e5e7eb;cursor:pointer;flex-shrink:0;font-weight:500;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;min-width:150px;text-align:center}.toggle-privacy-btn[title="Make Public"]{background-color:#f0fdf4;color:#0f7e57;border-color:#86efac}.toggle-privacy-btn[title="Make Private"]{background-color:#fffbeb;color:#92400e;border-color:#fde047}.toggle-privacy-btn:hover{transform:translateY(-0px);box-shadow:0 2px 6px #0000001a}.toggle-privacy-btn[title="Make Public"]:hover{background-color:#dcfce7;border-color:#4ade80}.toggle-privacy-btn[title="Make Private"]:hover{background-color:#fef3c7;border-color:#facc15}.toggle-privacy-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.post-title{font-size:1.65rem;font-weight:600;color:#222;margin-bottom:.5rem;margin-top:-2px}.post-author{font-size:.875rem;color:#666;margin-bottom:1rem}.post-content{font-size:1rem;color:#444;margin-bottom:1rem}.post-image{width:100%;border-radius:.5rem;margin-top:1rem;object-fit:cover;transition:transform .3s ease,opacity .3s ease}.post-image:hover{transform:scale(1);opacity:.95}.vote-btn{display:inline-flex;align-items:center;justify-content:center;gap:.05rem;font-weight:600;color:#878a8c;cursor:pointer;transition:all .15s ease;padding:1px;background:transparent;border:none;font-size:1.2rem;margin-right:.5rem}.vote-btn:hover{background-color:#f6f7f8;border-radius:4px}.vote-btn.like:hover{color:#7193ff}.vote-btn.dislike:hover{color:#ff4500}.vote-btn.liked{color:#7193ff;font-weight:700}.vote-btn.disliked{color:#ff4500;font-weight:700}form input,form textarea,form button{width:100%;border-radius:.5rem;padding:.75rem 1rem;border:1px solid #ccc;font-size:1rem;transition:all .2s ease}form input:focus,form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}form button{background-color:#3b82f6;color:#fff;font-weight:600;cursor:pointer}form button:hover{background-color:#2563eb}form button:disabled{background-color:#93c5fd;cursor:not-allowed}.error-popup{position:fixed;top:1rem;right:1rem;background-color:#dc2626;color:#fff;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 4px 12px #0003;z-index:50;display:flex;justify-content:space-between;align-items:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.read-the-docs{color:#888;font-size:.875rem;transition:color .2s ease}.read-the-docs:hover{color:#444}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){#root{padding:1rem}}@media (max-width: 640px){.card{padding:1rem}form input,form textarea,form button{padding:.5rem;font-size:.875rem}}form>*{margin-bottom:.75rem}form>*:last-child{margin-bottom:0}.form-checkbox:focus{box-shadow:none!important}.card.private{background-color:#f0f4ff;border-left:0px solid #cbd5e1}.vote-btn{color:#878a8c}.vote-btn:hover{color:#1a1a1b}.vote-btn.liked{color:#7193ff!important}.vote-btn.disliked{color:#ff4500!important}.app-container{background-color:#f9fafb;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#111827}.app-header{background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;position:sticky;top:0;z-index:10;border-radius:.75rem;margin:-2.5rem 0rem 1rem}.header-container{max-width:1280px;margin:0 auto;padding:0rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.header-title{font-size:1.75rem;font-weight:700;color:#1f2937}.user-info{display:flex;align-items:center;gap:.75rem}.user-name{color:#4b5563}.logout-btn{padding:.25rem .75rem;border-radius:.25rem;background-color:#e5e7eb;border:none;cursor:pointer}.logout-btn:hover{background-color:#d1d5db}.main-container{max-width:1280px;margin:0 auto;padding:0rem 0rem 1rem;display:grid;grid-template-columns:1fr;gap:2rem;position:relative}.main-container:before{content:"";position:fixed;top:4rem;left:0;right:0;height:1.5rem;background-color:#f9f9f9;z-index:9;display:block;grid-column:1 / -1;pointer-events:none}@media (min-width: 1024px){.main-container{grid-template-columns:repeat(3,1fr)}}.posts-section{grid-column:span 1;overflow:hidden}@media (min-width: 1024px){.posts-section{grid-column:span 2}}.section-title{font-size:1.875rem;font-weight:700;color:#374151;margin-bottom:1.5rem}.empty-message{color:#6b7280}.sidebar{grid-column:span 1}.sidebar-content{position:sticky;top:5.5rem;background-color:#fff;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;gap:1rem}.sidebar-heading{font-size:1.5rem;font-weight:700;color:#374151}.sidebar-heading-create{font-size:1.5rem;font-weight:700;color:#374151;margin-bottom:.5rem}.auth-mode-buttons{display:flex;gap:.5rem}.auth-mode-btn{padding:.25rem .75rem;border-radius:.25rem;border:none;cursor:pointer}.auth-mode-btn-active{background-color:#2563eb;color:#fff}.auth-mode-btn-inactive{background-color:#e5e7eb;color:#111827}.auth-form,.post-form,.password-form{display:flex;flex-direction:column;gap:.25rem}.post-form{gap:1rem}.form-input{width:100%;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem}.form-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}textarea.form-input{resize:vertical}.password-hint{font-size:.75rem;color:#6b7280}.file-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.file-input{width:100%;font-size:.875rem;color:#6b7280}.file-input::file-selector-button{margin-right:1rem;padding:.5rem 1rem;border-radius:9999px;border:0;font-size:.875rem;font-weight:600;background-color:#eff6ff;color:#1d4ed8;cursor:pointer}.file-input::file-selector-button:hover{background-color:#dbeafe}.checkbox-container{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.checkbox-input{height:1rem;width:1rem;border-radius:.25rem;border:1px solid #d1d5db;color:#2563eb;cursor:pointer}.checkbox-input:focus{box-shadow:0 0 0 2px #3b82f6}.checkbox-label{font-size:.875rem;color:#374151}.btn-primary{width:100%;background-color:#2563eb;color:#fff;font-weight:700;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer}.btn-primary:hover{background-color:#1d4ed8}.btn-primary.btn-disabled{background-color:#93c5fd;cursor:not-allowed}.divider{margin:-.5rem 0;border:0;border-top:1px solid #e5e7eb}.toggle-btn{width:100%;text-align:left;font-weight:600;font-size:1.125rem;color:#374151;background:none;border:none;cursor:pointer;margin-bottom:.5rem;padding:0}.toggle-btn:hover{color:#2563eb}.toggle-btn:focus{outline:none}.message{margin-top:.5rem;text-align:center;font-size:.875rem;font-weight:500;padding:.5rem;border-radius:.5rem}.message-error{color:#b91c1c;background-color:#fee2e2;border:1px solid #fca5a5}.message-success{color:#15803d;background-color:#dcfce7;border:1px solid #86efac}.error-message{margin-top:.75rem;position:relative;color:#dc2626;font-weight:500;text-align:center;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;padding:.5rem}.error-close-btn{position:absolute;top:.25rem;right:.25rem;color:#dc2626;font-weight:700;background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1}.error-close-btn:hover{color:#991b1b}.sidebar-content .sidebar-heading-create,.sidebar-content .form-input,.sidebar-content .file-label,.sidebar-content .file-input,.sidebar-content .checkbox-container,.sidebar-content .btn-primary{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-20px);overflow:hidden}to{opacity:1;max-height:2000px;transform:translateY(0);overflow:visible}}@keyframes slideUp{0%{opacity:1;max-height:2000px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-20px);overflow:hidden}}.section-enter{animation:slideDown .5s cubic-bezier(.4,0,.2,1) forwards}.section-exit{animation:slideUp .4s cubic-bezier(.4,0,.2,1) forwards}.post-form-section,.password-form-section{transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.toggle-btn{transition:all .3s ease;margin:.5rem 0}.toggle-btn:hover{transform:translate(5px)}@keyframes collapseUp{0%{opacity:1;max-height:2000px;transform:scaleY(1);transform-origin:top}to{opacity:0;max-height:0;transform:scaleY(0);transform-origin:top;margin-bottom:0;padding:0}}@keyframes expandDown{0%{opacity:0;max-height:0;transform:scaleY(0);transform-origin:top}to{opacity:1;max-height:2000px;transform:scaleY(1);transform-origin:top}}@keyframes slideUpFromBottom{0%{opacity:0;transform:translateY(30px) scaleY(.8);transform-origin:top}to{opacity:1;transform:translateY(0) scaleY(1);transform-origin:top}}@keyframes slideDownToBottom{0%{opacity:1;transform:translateY(0) scaleY(1);transform-origin:top}to{opacity:0;transform:translateY(30px) scaleY(.8);transform-origin:top}}.post-form-section{animation:expandDown 1s cubic-bezier(.4,0,.2,1) forwards;transform-origin:top;overflow:hidden}.post-form-section.collapsing{animation:collapseUp 1s cubic-bezier(.4,0,.2,1) forwards}.password-form-section{animation:slideUpFromBottom 1s cubic-bezier(.4,0,.2,1) forwards;transform-origin:top;overflow:hidden}.password-form-section.collapsing{animation:slideDownToBottom 1s cubic-bezier(.4,0,.2,1) forwards}.toggle-btn{transition:all .3s ease;margin:1rem 0;padding:.6rem 1rem;background:transparent;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem}.toggle-btn:hover{background:#f5f5f5;transform:translate(5px)}.auth-switch-text{margin-top:1rem;text-align:center;font-size:.875rem;color:#6b7280}.auth-switch-link{cursor:pointer;color:#2563eb;font-weight:700;text-decoration:underline;transition:color .2s ease}.auth-switch-link:hover{color:#1d4ed8}.vote-btn-disabled{position:relative;cursor:not-allowed!important}.not-valid-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:0rem;opacity:0;pointer-events:none;transition:opacity .2s ease}.vote-btn-disabled:hover{background-color:#f6f7f8;border-radius:4px}.vote-btn-disabled:hover .not-valid-icon{opacity:1}.vote-btn-disabled:hover svg,.vote-btn-disabled:hover span:not(.not-valid-icon){opacity:.2}.checkbox-container{display:flex;align-items:center;justify-content:center}.checkbox-container label{display:flex;align-items:center;cursor:pointer}.checkbox-container input[type=checkbox]{outline:none}.checkbox-container input[type=checkbox]:focus{outline:none;box-shadow:0 0 #2563eb33}.checkbox-container input[type=checkbox]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.file-label{display:block;text-align:center;font-size:.95rem;font-weight:500;color:#4b5563;margin-bottom:1rem}.file-input{display:block;margin:0 auto;cursor:pointer}.checkbox-container{margin:.3rem 0!important;padding:.3rem 0}.post-form input[type=text],.post-form textarea,.post-form input[type=file]{margin-bottom:.9rem!important;margin-top:0!important}.file-label{margin-bottom:.2rem!important;margin-top:.5rem!important;display:block}.file-input{margin-bottom:.5rem!important;margin-top:0!important}.checkbox-input{margin:0!important}.checkbox-label{margin:0!important;padding:0!important}.post-form .btn-primary{margin-top:.5rem!important;margin-bottom:0!important}.post-form{display:flex;flex-direction:column;gap:0!important}.post-form>*{margin-top:0;margin-bottom:.5rem}.post-form>*:last-child{margin-bottom:0}.post-author{margin-top:.3rem;margin-bottom:.4rem}.post-title{margin-bottom:.2rem}.post-content{margin-bottom:.2rem;margin-top:.2rem}.post-image{margin-top:.4rem;margin-bottom:.4rem}.error-message{margin-top:.75rem;position:relative;display:flex;align-items:center;gap:.75rem;color:#b91c1c;font-weight:500;background:linear-gradient(135deg,#fff5f5,#fef2f2);border:1px solid #fca5a5;border-radius:.75rem;padding:1rem 1.25rem 1rem 1rem;box-shadow:0 6px 18px #b91c1c0f;overflow:visible}.error-close-btn{position:absolute;top:-9px;right:-9px;width:20px;height:20px;border-radius:50%;background:#fff;color:#b91c1c;border:1px solid rgba(185,28,28,.2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;font-weight:500;line-height:0;padding:0;box-shadow:0 4px 12px #00000026;transition:transform .12s ease,background-color .12s ease,color .12s ease;z-index:100}.error-close-btn:hover,.error-close-btn:focus{transform:translateY(-0px) scale(1.04);background:#fff7f7;color:#7f1d1d;outline:none;box-shadow:0 10px 20px #0000001f}.error-close-btn:after{content:"";position:absolute;inset:-6px;border-radius:50%;background:transparent;pointer-events:none}.error-message:before{content:"⚠";flex-shrink:0;font-size:1.25rem;margin-right:.25rem}.error-message-text{flex:1;text-align:left;font-size:.95rem;color:#7f1d1d}.error-message:before{content:"⚠";flex-shrink:0;font-size:1.05rem;margin-right:.25rem}.error-message-text{flex:1;text-align:left;font-size:.905rem;color:#7f1d1d}.error-close-btn{pointer-events:auto}*{font-family:Raleway,sans-serif}body{font-family:Raleway,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f9}input,textarea,button{font-family:Raleway,sans-serif;font-size:15px}::placeholder{font-family:Raleway,sans-serif;font-size:13px;opacity:1}.post-title{font-size:20px;font-weight:700}.post-author{font-size:13px;color:#6b7280;font-weight:400}.post-content{font-size:14px;line-height:1.6;color:#374151}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}
