:root{--bg-color:#0f1115;--panel-bg:#191c2499;--panel-border:#ffffff14;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--accent-color:#3b82f6;--accent-hover:#2563eb;--danger-color:#ef4444;--success-color:#10b981;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-md:0 10px 15px -3px #0000004d, 0 4px 6px -2px #00000026;--glass-blur:blur(12px);--modal-safe-padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.5}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--panel-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--panel-border);background-color:#0000}.btn-secondary:hover{background-color:#ffffff0d}.close-btn{color:#fff;cursor:pointer;filter:drop-shadow(0 1px 2px #000c);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 10px;font-size:20px;transition:background .15s;display:flex}.close-btn:hover{background:#ffffff1f}.close-btn:active{background:#ffffff38}h1,h2,h3,h4,h5,h6{color:#fff;margin-bottom:.5rem;font-weight:600}h1{font-size:2rem}h2{font-size:1.5rem}p{color:var(--text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:calc(1rem + env(safe-area-inset-top)) calc(2rem + env(safe-area-inset-right)) 1rem calc(2rem + env(safe-area-inset-left));border-bottom:1px solid var(--panel-border);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar h2{white-space:nowrap;flex:none}.topbar-nav{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:.5rem 1rem;min-width:0;display:flex}.main-content{padding:2rem;padding-right:calc(2rem + env(safe-area-inset-right));padding-bottom:calc(2rem + env(safe-area-inset-bottom));padding-left:calc(2rem + env(safe-area-inset-left));flex:1;overflow-y:auto}.responsive-grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=1400px){.topbar-nav .nav-text{display:none}.topbar-nav .dropdown-menu .nav-text{display:inline}}@media (width<=768px){input,select,textarea{font-size:16px!important}.topbar{padding:calc(.5rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) .5rem calc(1rem + env(safe-area-inset-left));background:var(--bg-color);flex-wrap:nowrap;gap:.5rem}.topbar-nav{flex-wrap:nowrap;justify-content:flex-end;gap:.25rem;width:auto}.topbar-nav .btn{padding:.4rem}.topbar-nav .nav-text{display:none}.topbar-nav .dropdown-menu .nav-text{display:inline}.topbar h2{text-align:left;width:auto;font-size:1.1rem}.sidebar h2{justify-content:center;margin-bottom:1rem}.sidebar nav{justify-content:space-around;flex-direction:row!important;gap:.5rem!important}.sidebar nav .btn{flex:1;padding:.5rem;font-size:0;justify-content:center!important}.sidebar nav .btn svg{width:22px;height:22px}.main-content{padding:1rem;padding-right:calc(1rem + env(safe-area-inset-right));padding-bottom:calc(1rem + env(safe-area-inset-bottom));padding-left:calc(1rem + env(safe-area-inset-left))}.responsive-grid-2{grid-template-columns:1fr}}.page-container{min-width:0;max-width:1100px;margin:0 auto}.review-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.review-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.modal-close-slot{flex-shrink:0;order:3}.reparse-actions{flex-direction:column;flex-shrink:0;justify-content:center;gap:.4rem;display:flex}.diff-grid{grid-template-columns:max-content minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:2px 8px;min-width:0;font-size:.85rem;display:grid}.diff-grid>*{overflow-wrap:anywhere;min-width:0}.diff-label{color:#777;white-space:nowrap}.diff-old{color:#aaa}.diff-arrow{color:#555}.diff-full{grid-column:2/-1}@media (width<=768px){.review-actions .btn-label{display:none}.review-actions{width:100%;margin-left:0;padding-top:6px}.review-actions>button,.reparse-actions>button{min-height:40px}.modal-close-slot{order:0}.reparse-actions{flex-direction:row;justify-content:flex-end;width:100%;padding-top:6px}.diff-grid{grid-template-columns:minmax(0,1fr);gap:0}.diff-arrow{display:none}.diff-label{margin-top:8px;font-size:.78rem}.diff-new:before{content:"→ ";color:#555}.diff-full{grid-column:auto}}@keyframes heartPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}40%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.face-remove-btn{opacity:.45;transition:opacity .15s,background .15s}.face-remove-btn:hover{opacity:1;background:#e74c3ce6!important;border-color:#e74c3c!important}.modal-actions{flex-wrap:wrap;align-items:center;gap:1rem .75rem;min-width:0;margin-top:1.5rem;display:flex}.modal-actions>button,.modal-actions__primary>button{white-space:nowrap;flex:none}.modal-actions__primary{border-top:1px solid #ffffff24;flex:1 0 100%;justify-content:flex-end;gap:.75rem;padding-top:.75rem;display:flex}@media (hover:none){.modal-actions>button,.modal-actions__primary>button{min-height:44px}}.modal-tabs{border-bottom:1px solid var(--panel-border);gap:.5rem;margin-bottom:1.5rem;display:flex}.modal-tabs>button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem}.modal-tabs>button[data-active=true]{border-bottom-color:var(--accent-color);color:#fff;background:#ffffff0f;font-weight:600}@media (width<=560px){.modal-tabs{border-bottom:none;grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.modal-tabs>button{border:1px solid var(--panel-border);border-radius:8px;min-height:44px;padding:.6rem .5rem}.modal-tabs>button[data-active=true]{border-color:var(--accent-color);background:#3b82f626}}div.tags-list--form{flex-wrap:wrap;overflow-x:visible}ul.form-suggestions{z-index:10;width:100%;max-height:240px;margin-top:.5rem;position:relative;top:auto;left:auto}@media (hover:none){.modal-tabs>button{min-height:44px}.photo-thumb,.photo-avatar-wrap{min-width:44px;min-height:44px}}.toast-container{z-index:11000;pointer-events:none;flex-direction:column;gap:8px;width:100%;max-width:min(480px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto;-webkit-backdrop-filter:blur(16px);color:#e0e0e0;cursor:pointer;background:#14141ed9;border:1px solid #ffffff14;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.875rem;line-height:1.4;animation:.3s cubic-bezier(.22,1,.36,1) forwards toast-slide-in;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.toast-item.toast-exit{animation:.25s cubic-bezier(.55,0,1,.45) forwards toast-slide-out}.toast-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.toast-message{word-break:break-word;flex:1;min-width:0}.toast-close{color:#fff6;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 0 0 4px;font-size:1.1rem;line-height:1;transition:color .15s}.toast-close:hover{color:#fffc}.toast-progress{border-radius:0 0 10px 10px;height:2px;animation:linear forwards toast-progress;position:absolute;bottom:0;left:0}.toast-item.toast-success{border-color:#2ecc7140}.toast-item.toast-success .toast-icon{color:#2ecc71}.toast-item.toast-success .toast-progress{background:#2ecc71}.toast-item.toast-error{border-color:#e74c3c40}.toast-item.toast-error .toast-icon{color:#e74c3c}.toast-item.toast-error .toast-progress{background:#e74c3c}.toast-item.toast-warning{border-color:#f1c40f40}.toast-item.toast-warning .toast-icon{color:#f1c40f}.toast-item.toast-warning .toast-progress{background:#f1c40f}.toast-item.toast-info{border-color:#3498db40}.toast-item.toast-info .toast-icon{color:#3498db}.toast-item.toast-info .toast-progress{background:#3498db}.confirm-overlay{z-index:10500;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out confirm-fade-in;display:flex;position:fixed;inset:0}.confirm-dialog{-webkit-backdrop-filter:blur(20px);background:#161623eb;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;width:100%;max-width:420px;max-height:85vh;animation:.2s cubic-bezier(.22,1,.36,1) confirm-scale-in;display:flex;box-shadow:0 20px 60px #00000080}.confirm-body{overscroll-behavior:contain;color:#e0e0e0;white-space:pre-line;padding:24px 24px 16px;font-size:.925rem;line-height:1.55;overflow-y:auto}.confirm-actions{flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 24px 20px;display:flex}.confirm-btn{cursor:pointer;border:1px solid;border-radius:6px;padding:8px 20px;font-size:.875rem;font-weight:500;transition:all .15s}.confirm-btn-cancel{color:#ffffffb3;background:#ffffff0d;border-color:#ffffff26}.confirm-btn-cancel:hover{color:#fff;background:#ffffff1a}.confirm-btn-ok{color:#3498db;background:#3498db33;border-color:#3498db80}.confirm-btn-ok:hover{background:#3498db59}.confirm-btn-ok.confirm-danger{color:#e74c3c;background:#e74c3c33;border-color:#e74c3c80}.confirm-btn-ok.confirm-danger:hover{background:#e74c3c59}.confirm-btn-ok.confirm-warning{color:#f1c40f;background:#f1c40f33;border-color:#f1c40f80}.confirm-btn-ok.confirm-warning:hover{background:#f1c40f59}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.96)}}@keyframes toast-progress{0%{width:100%}to{width:0%}}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.post-content{word-break:break-word;line-height:1.7}.post-content img{border-radius:8px;max-width:100%;margin:.5rem 0}.post-content a{color:var(--accent-color)}.post-content blockquote{border-left:3px solid var(--accent-color);color:var(--text-secondary);margin:.75rem 0;padding-left:1rem}.post-content pre{background:#00000059;border-radius:8px;padding:.75rem 1rem;overflow-x:auto}.rte-wrap{border:1px solid var(--panel-border);background:#00000040;border-radius:8px}.rte-toolbar{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.rte-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;padding:6px 8px;display:inline-flex}.rte-btn:hover{background:#ffffff14}.rte-btn-active{border-color:var(--panel-border);background:#ffffff26}.rte-sep{background:var(--panel-border);align-self:stretch;width:1px;margin:0 4px}.rte-wrap .ProseMirror{outline:none;min-height:320px;padding:1rem;line-height:1.7}.rte-wrap .ProseMirror img{border-radius:8px;max-width:100%}.rte-wrap .ProseMirror a{color:var(--accent-color)}.lock-screen{z-index:12000;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));overscroll-behavior:contain;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lock-inner{text-align:center;flex-direction:column;gap:.75rem;width:100%;max-width:320px;display:flex}.lock-mark{color:#863bff;font-size:2rem;line-height:1}.lock-title{color:#e2e8f0;margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.lock-hint{color:#94a3b8;margin-bottom:.5rem;font-size:.9rem}.lock-err{color:#ffb4b4;font-size:.82rem;line-height:1.45}.lock-form{flex-direction:column;gap:.75rem;display:flex}.lock-input{color:#e2e8f0;background:#12151b;border:1px solid #2a2f3a;border-radius:10px;width:100%;padding:.7rem .8rem;font-size:16px}.lock-btn{cursor:pointer;color:#e2e8f0;background:#12151b;border:1px solid #2a2f3a;border-radius:10px;width:100%;min-height:46px;padding:.7rem 1rem;font-size:15px}.lock-btn:disabled{opacity:.55;cursor:default}.lock-btn-primary{color:#fff;background:#2b4d8f;border-color:#3a63b0}.lock-btn-ghost{color:#94a3b8;background:0 0;border-color:#0000;min-height:40px}.lock-btn-danger{color:#e74c3c;background:0 0;border-color:#e74c3c73}
