:root{--primary:#5a73e3;--primary-hover:#485ec4;--secondary:#6d56c1;--bg-start:#d2f1ff;--bg-end:#ffd6e8;--card-bg:#fff;--text-main:#1e295d;--text-muted:#718096;--border:#e2e8f0;--error:#f56565;--success:#48bb78;--radius:28px;--shadow:0 8px 24px #1e295d0a;--shadow-hover:0 12px 32px #1e295d14;--navbar-bg:#fff;--input-bg:#fff;--modal-overlay:#1e295d33}[data-theme=dark]{--primary:#8a9ff5;--primary-hover:#a1b2f7;--secondary:#9d89e7;--bg-start:#1a1c2e;--bg-end:#2d1b33;--card-bg:#24273d;--text-main:#e2e8f0;--text-muted:#94a3b8;--border:#334155;--shadow:0 8px 24px #0003;--shadow-hover:0 12px 32px #0000004d;--navbar-bg:#24273d;--input-bg:#1e293b;--modal-overlay:#0009}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--bg-start) 0%, var(--bg-end) 100%);color:var(--text-main);background-attachment:fixed;flex-direction:column;align-items:center;min-height:100vh;padding:7rem 1rem 0;font-family:Quicksand,Nunito,system-ui,-apple-system,sans-serif;line-height:1.5;display:flex}.navbar{z-index:1000;border-radius:var(--radius) var(--radius);background:var(--navbar-bg);justify-content:space-between;align-items:center;width:95%;max-width:540px;margin-top:10px;padding:1rem;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.nav-brand{color:var(--text-main);letter-spacing:-.03em;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex}.logo-img{width:44px;height:44px}#auth-nav{align-items:center;gap:.5rem;display:flex}#auth-nav button,#logout-btn{background:var(--card-bg);color:var(--text-main);border:2px solid var(--border);cursor:pointer;border-radius:50px;width:auto;padding:.5rem 1rem;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #0000000d}#auth-nav button:hover,#logout-btn:hover{background:var(--card-bg);color:var(--primary);transform:translateY(-1px);box-shadow:0 6px 14px #00000014}#theme-toggle{border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;display:flex}.container{flex-direction:column;flex:auto;gap:1.5rem;width:100%;max-width:540px;display:flex}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);border:none;padding:2rem;transition:box-shadow .2s,background-color .2s}h2{color:var(--primary);letter-spacing:-.02em;margin-bottom:1.25rem;font-size:1.6rem;font-weight:800}h3{color:var(--secondary);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.3rem;font-weight:800}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex;position:relative}label{color:var(--text-main);font-size:.95rem;font-weight:700}.label-with-action{justify-content:space-between;align-items:center;display:flex}.icon-btn{cursor:pointer;width:auto;box-shadow:none;color:var(--text-main);background:0 0;border:none;padding:.25rem;font-size:1.5rem;transition:transform .2s}.icon-btn:hover{background:0 0;transform:scale(1.1)}textarea{width:100%;color:var(--text-main);resize:none;background-image:linear-gradient(var(--input-bg), var(--input-bg)), linear-gradient(to right, #7fd3ed, #ffcb77, #f172a1, #a182f9);background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;border-radius:18px;min-height:120px;padding:1.15rem 1rem 1.8rem;font-family:inherit;font-size:1rem}textarea:focus{outline:none}.textarea-counter{color:var(--text-muted);font-size:.85rem;position:absolute;bottom:.75rem;right:1rem}.textarea-counter-limit{color:#f25f5f}.checkbox-group{color:var(--text-main);align-items:center;gap:.6rem;margin-bottom:1.5rem;font-size:.95rem;font-weight:700;display:flex}.toggle-group{gap:1rem}.switch{width:44px;height:24px;position:relative}.switch input{opacity:0;width:0;height:0}.switch-toggle{cursor:pointer;background:#c6c6c6;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch-toggle:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000002e}.switch input:checked+.switch-toggle{background:#6c7ff2}.switch input:checked+.switch-toggle:before{transform:translate(20px)}.switch input:focus-visible+.switch-toggle{box-shadow:0 0 0 3px #6c7ff240}button,#createNewPostBtn{color:#fff;cursor:pointer;background:#6c7ff2;border:none;border-radius:50px;width:100%;padding:1.1rem;font-size:1.1rem;font-weight:800;transition:all .2s;box-shadow:0 6px 20px #6c7ff240}button:hover,#createNewPostBtn:hover{background:var(--primary-hover);opacity:1;transform:translateY(-1px)}button:active,#createNewPostBtn:active{transform:translateY(1px)}.posts-list{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.post-item{background:var(--card-bg);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex}.post-item:nth-child(3n+1){border-left:6px solid #4fc3f7}.post-item:nth-child(3n+2){border-left:6px solid #ff6b8b}.post-item:nth-child(3n+3){border-left:6px solid #9c27b0}.post-item:hover{box-shadow:var(--shadow-hover);background:var(--card-bg);transform:translateY(-2px)}.post-item-content{flex:1;overflow:hidden}.post-item-message{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;font-size:1.05rem;font-weight:700;overflow:hidden}.post-item-date{color:var(--text-muted);font-size:.8rem;font-weight:600}.post-item-actions{align-items:center;gap:.5rem;display:flex}.share-icon-btn,.delete-icon-btn{color:#8a9bb4;width:42px;height:42px;box-shadow:none;cursor:pointer;background:#eef2f7;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.2rem;transition:all .2s;display:flex}[data-theme=dark] .share-icon-btn,[data-theme=dark] .delete-icon-btn{color:#94a3b8;background:#334155}.share-icon-btn:hover{color:var(--primary);box-shadow:none;background:#e2e8f0;transform:scale(1.05)}[data-theme=dark] .share-icon-btn:hover{background:#475569}.delete-icon-btn:hover{color:#ef4444;box-shadow:none;background:#fee2e2;transform:scale(1.05)}[data-theme=dark] .delete-icon-btn:hover{color:#fca5a5;background:#451a1a}.modal-content .primary-btn.destructive{background:linear-gradient(135deg,#e53e3e,#f56565)!important;box-shadow:0 4px 15px #f565654d!important}.modal-content .primary-btn.destructive:hover{background:linear-gradient(135deg,#c53030,#e53e3e)!important;box-shadow:0 6px 20px #f5656573!important}.google-btn{background:var(--card-bg);color:var(--text-main);border:2px solid var(--border);box-shadow:none;border-radius:20px;justify-content:center;align-items:center;gap:.75rem;display:flex}.google-btn:hover{background:var(--input-bg);box-shadow:none;transform:none}.google-icon{width:20px}.consent-note{color:var(--text-muted);margin-top:1rem;font-size:.9rem;line-height:1.5}.consent-note a{color:var(--text-main);font-weight:600;text-decoration:none}.consent-note a:hover{text-decoration:underline}.site-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:540px;color:var(--text-muted);text-align:center;background-color:var(--card-bg);border-radius:20px 20px 0 0;margin-top:20px;padding:.25rem 1rem}.site-footer p{font-size:.95rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.footer-links a{color:var(--text-main);font-weight:600;text-decoration:none}.footer-links a:hover{text-decoration:underline}.divider{text-align:center;color:var(--text-muted);margin:1.5rem 0;font-size:.8rem;font-weight:700;position:relative}.divider:before,.divider:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.modal{background:var(--modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background-image:linear-gradient(var(--card-bg), var(--card-bg)), linear-gradient(135deg, #7fd3ed, #a182f9, #f172a1, #ffcb77, #7fd3ed);background-origin:border-box;background-clip:padding-box,border-box;width:90%;max-width:400px;padding:2.25rem 2rem;animation:.35s cubic-bezier(.34,1.56,.64,1) modalPop;box-shadow:var(--shadow-hover), 0 20px 40px #00000059!important;border:2px solid #0000!important;border-radius:28px!important}.modal-content h2{color:#a182f9;letter-spacing:-.02em;margin-bottom:1.25rem;font-size:1.55rem;font-weight:800}[data-theme=light] .modal-content h2{color:#6d56c1}.modal-content p{color:var(--text-main);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.modal-content p strong{font-weight:700}@keyframes modalPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}#share-modal .modal-content{flex-direction:column;max-height:90vh;display:flex}#share-model-canvas{border:1px solid var(--border);object-fit:contain;box-sizing:border-box;border-radius:12px;height:auto;min-height:50px;max-height:45vh;margin-bottom:1rem;display:block}#share-url{background:var(--input-bg);border:2px dashed var(--primary);color:var(--primary);text-align:center;cursor:pointer;border-radius:12px;font-weight:700}.modal-buttons{flex-direction:column;gap:.75rem;display:flex}.modal-content .primary-btn{cursor:pointer;width:100%;transition:all .2s;color:#fff!important;background:linear-gradient(135deg,#6d56c1,#6c7ff2)!important;border:none!important;border-radius:50px!important;padding:.95rem 1.5rem!important;font-size:1.05rem!important;font-weight:800!important;box-shadow:0 4px 15px #6c7ff24d!important}.modal-content .primary-btn:hover{background:linear-gradient(135deg,#7b62d3,#7c8ff5)!important;transform:translateY(-1px)!important;box-shadow:0 6px 20px #6c7ff273!important}.modal-content .primary-btn:active{transform:translateY(1px)!important}.modal-content .secondary-btn{cursor:pointer;width:100%;transition:all .2s;background:var(--card-bg)!important;color:var(--text-muted)!important;border:2px solid var(--border)!important;box-shadow:none!important;border-radius:50px!important;padding:.8rem 1.5rem!important;font-size:.95rem!important;font-weight:700!important}.modal-content .secondary-btn:hover{background:var(--input-bg)!important;color:var(--text-main)!important;transform:translateY(-1px)!important}.modal-content .text-link-btn{text-underline-offset:4px;cursor:pointer;transition:color .2s;display:inline-block;color:var(--text-muted)!important;width:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:.5rem auto 0!important;padding:.5rem!important;font-size:.95rem!important;font-weight:600!important;text-decoration:underline!important}.modal-content .text-link-btn:hover{color:var(--text-main)!important;background:0 0!important;transform:none!important}#username-modal .modal-content{padding:2.25rem 2rem}#username-modal input[type=text]{border:2px solid var(--border);width:100%;color:var(--text-main);background-color:var(--input-bg);border-radius:12px;margin-bottom:.5rem;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}#username-modal input[type=text]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #5a73e34d}#username-error{color:var(--error);text-align:center;border-radius:12px;margin-bottom:.75rem;padding:.5rem 0;font-weight:600}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1e295d1f;border-radius:10px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1f}::-webkit-scrollbar-thumb:hover{background:#1e295d40}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff40}.post-card h1{color:var(--text-muted);margin-bottom:.75rem;font-size:1rem;font-weight:600}#post-content{color:var(--text-main);margin-bottom:1rem;font-size:1.5rem;font-weight:700;line-height:1.5}.replies-section h3{margin-bottom:1.25rem;font-size:1.1rem}.reply{background:var(--card-bg);box-shadow:var(--shadow);border-left:4px solid #6d56c1;border-radius:18px;margin-bottom:1rem;padding:1.25rem;transition:box-shadow .2s,background-color .2s}.reply:hover{box-shadow:var(--shadow-hover)}.reply-message{color:var(--text-main);margin-bottom:.75rem;font-size:1.15rem;font-weight:700;line-height:1.6}.reply-footer{align-items:center;gap:10px;display:flex}.reply-date{color:var(--text-muted);font-size:.8rem;font-weight:600}.reply-visibility{background-color:var(--input-bg);border:2px solid var(--border);color:var(--text-muted);border-radius:12px;padding:0 .5rem;font-size:.8rem;font-weight:600}.reply-manageable{cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s}.reply-manageable:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6d56c1,#6c7ff2);border:none;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.95rem 1.5rem;font-size:1.05rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 15px #6c7ff24d}.primary-btn:hover{background:linear-gradient(135deg,#7b62d3,#7c8ff5);transform:translateY(-1px);box-shadow:0 6px 20px #6c7ff273}.primary-btn:active{transform:translateY(1px)}.secondary-btn{background:var(--card-bg);color:var(--text-muted);border:2px solid var(--border);box-shadow:none;cursor:pointer;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}.secondary-btn:hover{background:var(--input-bg);color:var(--text-main);transform:translateY(-1px)}.error-container{flex-direction:column;gap:2.25rem;width:100%;animation:.4s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-row-compact{background:#f565651a;border:1px solid #f5656540;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1.25rem;display:flex}[data-theme=dark] .error-row-compact{background:#f5656526;border-color:#f5656559}.error-msg-text{color:#e53e3e;font-size:.95rem;font-weight:700;line-height:1.4}[data-theme=dark] .error-msg-text{color:#feb2b2}.compact-reload-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#e53e3e;border:none;border-radius:50px;justify-content:center;align-items:center;padding:.45rem 1.15rem;font-size:.85rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 10px #e53e3e33;width:auto!important}.compact-reload-btn:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 6px 14px #e53e3e59}.compact-reload-btn:active{transform:translateY(1px)}.create-post-highlight-card{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 2rem;display:flex;background-image:linear-gradient(var(--card-bg), var(--card-bg)), linear-gradient(135deg, #7fd3ed, #a182f9, #f172a1, #ffcb77, #7fd3ed)!important;box-shadow:var(--shadow-hover), 0 10px 25px #6c7ff21a!important;background-origin:border-box!important;background-clip:padding-box,border-box!important;border:2px solid #0000!important}.highlight-badge{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,#6d56c11f,#6c7ff21f);border-radius:50px;padding:.35rem .85rem;font-size:.75rem;font-weight:800;display:inline-block}.create-post-highlight-card h2{color:var(--text-main);margin-bottom:.25rem;font-size:1.7rem;line-height:1.3}.create-post-highlight-card p{color:var(--text-muted);max-width:440px;margin-bottom:.5rem;font-size:1.05rem;line-height:1.6}.features-list{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:320px;margin:.5rem auto 1rem;display:flex}.feature-item{color:var(--text-main);flex-direction:column;align-items:center;gap:.25rem;font-size:.95rem;font-weight:700;display:flex}.feature-icon{background:var(--input-bg);border:1px solid var(--border);width:26px;height:26px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.highlight-btn{max-width:320px;padding:1.1rem 2rem!important;font-size:1.1rem!important}@media (width<=480px){.error-row-compact{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem}.error-msg-text{font-size:.85rem}.compact-reload-btn{padding:.35rem .75rem;font-size:.8rem}}
