:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#dbeafe;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--purple:#8b5cf6;--bg:#f8fafc;--soft-bg:#f8fafc;--sidebar-bg:#f1f5f9;--card:#ffffff;--text:#0f172a;--muted:#64748b;--muted-strong:#475569;--warn:#b45309;--border:#e5e7eb;--border-dark:#d1d5db;--code-bg:#0f172a;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--shadow:0 8px 24px rgba(15,23,42,0.08);--shadow-sm:0 4px 12px rgba(15,23,42,0.06);--font:"Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;--mono:"JetBrains Mono","Fira Code",Consolas,monospace;--app-font-scale:1;--font-xs:calc(12px * var(--app-font-scale));--font-sm:calc(13px * var(--app-font-scale));--font-md:calc(14px * var(--app-font-scale));--font-lg:calc(16px * var(--app-font-scale));--font-xl:calc(20px * var(--app-font-scale));--font-2xl:calc(24px * var(--app-font-scale));--stat-card-text:#ffffff;--stat-card-muted:rgba(255,255,255,0.86);--stat-card-icon-bg:rgba(255,255,255,0.2);--stat-card-shadow:0 12px 28px rgba(37,99,235,0.18);--stat-card-hover-shadow:0 18px 38px rgba(37,99,235,0.24)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(circle at 8% 0,rgba(37,99,235,.08),transparent 28%),radial-gradient(circle at 92% 8%,rgba(124,58,237,.08),transparent 30%),linear-gradient(180deg,#f8fafc,#eef2ff 52%,#f8fafc);background-attachment:fixed;line-height:1.6;transition:background .25s ease,color .25s ease}body[data-theme=dark]{--primary:#60a5fa;--primary-dark:#3b82f6;--primary-light:#1e3a8a;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--purple:#a78bfa;--bg:#0f172a;--soft-bg:#111827;--sidebar-bg:#111827;--card:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--muted-strong:#cbd5e1;--warn:#fbbf24;--border:#334155;--border-dark:#475569;--code-bg:#020617;--shadow:0 14px 34px rgba(0,0,0,0.35);--shadow-sm:0 8px 20px rgba(0,0,0,0.28);--stat-card-text:#f8fafc;--stat-card-muted:rgba(248,250,252,0.82);--stat-card-icon-bg:rgba(248,250,252,0.18);--stat-card-shadow:0 16px 34px rgba(0,0,0,0.36);--stat-card-hover-shadow:0 20px 42px rgba(0,0,0,0.44);background:radial-gradient(circle at 8% 0,rgba(96,165,250,.16),transparent 30%),radial-gradient(circle at 92% 8%,rgba(167,139,250,.14),transparent 32%),linear-gradient(180deg,#0f172a,#111827 58%,#0b1120)}body[data-theme=eye]{--primary:#16803c;--primary-dark:#166534;--primary-light:#dcfce7;--bg:#f4f7ec;--soft-bg:#f8faf0;--sidebar-bg:#eef4e5;--card:#fffef7;--text:#243127;--muted:#64705c;--muted-strong:#46503f;--warn:#8a5a12;--border:#dce8cf;--border-dark:#c2d2b3;--shadow:0 8px 22px rgba(58,80,49,0.09);--shadow-sm:0 4px 12px rgba(58,80,49,0.07);background:radial-gradient(circle at 8% 0,rgba(22,128,60,.08),transparent 28%),radial-gradient(circle at 92% 8%,rgba(132,204,22,.1),transparent 30%),linear-gradient(180deg,#f4f7ec,#eef6e9 52%,#f8faf0)}body[data-theme=gradient]{--primary:#7c3aed;--primary-dark:#6d28d9;--primary-light:#ede9fe;--bg:#f8fafc;--soft-bg:#f8fafc;--card:#ffffff;--text:#111827;--muted:#667085;--muted-strong:#414a5c;--warn:#b45309;--border:#e7e5f4;--border-dark:#d8d2f0;background:radial-gradient(circle at 4% 2%,rgba(236,72,153,.13),transparent 28%),radial-gradient(circle at 96% 10%,rgba(14,165,233,.14),transparent 30%),linear-gradient(135deg,#fff7ed,#f5f3ff 44%,#ecfeff)}body.dark-theme{color-scheme:dark}body.font-small{--app-font-scale:0.92}body.font-medium{--app-font-scale:1}body.font-large{--app-font-scale:1.08}body.font-extra-large{--app-font-scale:1.16}button,input,select,textarea{font-family:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.app{min-height:100vh}.btn{border:none;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.2s ease;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:#fff;color:#334155;border:1px solid var(--border-dark)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-ghost{background:transparent;color:#475569;border:1px solid transparent}.btn-ghost:hover{background:#f1f5f9;color:var(--primary)}.btn:disabled{opacity:.55;transform:none!important}.input,.select,.textarea{width:100%;border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:#fff;color:var(--text);outline:none;transition:.2s ease;font-size:14px}.input,.select{height:40px;padding:0 12px;min-width:0;text-overflow:ellipsis}.textarea{min-height:120px;padding:12px;resize:vertical;line-height:1.7}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.card{border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-lg)}.card,.theme-toggle{background:var(--card);box-shadow:var(--shadow-sm)}.theme-toggle{min-width:112px;border:1px solid var(--border-dark);color:var(--text);border-radius:999px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:800;transition:.2s ease;white-space:nowrap}.theme-toggle:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.theme-toggle-icon{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--primary-light);color:var(--primary);font-size:13px}body[data-theme=dark] .about-contact-item,body[data-theme=dark] .about-panel,body[data-theme=dark] .card,body[data-theme=dark] .category-mobile-card,body[data-theme=dark] .empty-state,body[data-theme=dark] .file-card,body[data-theme=dark] .flow-node,body[data-theme=dark] .focus-preview,body[data-theme=dark] .format-html-card,body[data-theme=dark] .format-panel,body[data-theme=dark] .format-preview,body[data-theme=dark] .modal,body[data-theme=dark] .more-actions-menu,body[data-theme=dark] .note-row,body[data-theme=dark] .preview-box,body[data-theme=dark] .preview-content,body[data-theme=dark] .project-detail-card,body[data-theme=dark] .quick-card,body[data-theme=dark] .recent-item,body[data-theme=dark] .tag-card,body[data-theme=dark] .tag-insight-panel,body[data-theme=dark] .tag-stat-card,body[data-theme=dark] .tag-toolbar-panel,body[data-theme=dark] .template-card,body[data-theme=dark] .template-mini-preview,body[data-theme=dark] .template-preview,body[data-theme=dark] .template-selector,body[data-theme=dark] .timeline-item{background:var(--card);border-color:var(--border);color:var(--text)}body[data-theme=dark] .life-moment-milestone-tag{background:rgba(245,158,11,.18);color:#fbbf24}body[data-theme=dark] .focus-title,body[data-theme=dark] .input,body[data-theme=dark] .select,body[data-theme=dark] .textarea,body[data-theme=dark] .title-input{background:#0f172a;color:var(--text);border-color:var(--border-dark)}body[data-theme=dark] .input::placeholder,body[data-theme=dark] .textarea::placeholder{color:#64748b}body[data-theme=dark] .btn-secondary,body[data-theme=dark] .editor-tabs button,body[data-theme=dark] .icon-btn,body[data-theme=dark] .theme-toggle{background:#111827;color:var(--text);border-color:var(--border-dark)}body[data-theme=dark] .btn-ghost{color:var(--muted)}body[data-theme=dark] .btn-ghost:hover,body[data-theme=dark] .category-filter button.active,body[data-theme=dark] .category-filter button:hover,body[data-theme=dark] .editor-tabs button.active{background:rgba(96,165,250,.16);color:var(--primary)}body[data-theme=dark] .tag{background:#111827;color:#cbd5e1;border-color:var(--border)}body[data-theme=dark] .demo-status,body[data-theme=dark] .eyebrow,body[data-theme=dark] .tag-blue,body[data-theme=dark] .theme-toggle-icon{background:rgba(96,165,250,.16);color:#93c5fd;border-color:rgba(96,165,250,.24)}body[data-theme=dark] .save-status.saved,body[data-theme=dark] .tag-green{background:rgba(52,211,153,.14);color:#86efac;border-color:rgba(52,211,153,.22)}body[data-theme=dark] .save-status.unsaved,body[data-theme=dark] .tag-orange{background:rgba(251,191,36,.14);color:#fcd34d;border-color:rgba(251,191,36,.22)}body[data-theme=dark] .tag-purple{background:rgba(167,139,250,.15);color:#c4b5fd}body[data-theme=dark] .tag-card h3,body[data-theme=dark] .tag-insight-section h3{color:#f8fafc}body[data-theme=dark] .save-status.error,body[data-theme=dark] .tag-red{background:rgba(248,113,113,.14);color:#fca5a5}body[data-theme=dark] .public-header{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.94)),linear-gradient(90deg,rgba(96,165,250,.14),rgba(167,139,250,.12));border-bottom-color:rgba(148,163,184,.22);box-shadow:0 10px 30px rgba(0,0,0,.34)}body[data-theme=dark] .admin-shell{background:transparent}body[data-theme=dark] .admin-sidebar{background:rgba(17,24,39,.94);border-right-color:var(--border)}body[data-theme=dark] .admin-menu button.active,body[data-theme=dark] .admin-menu button:hover{background:rgba(96,165,250,.16);color:var(--primary);box-shadow:none}body[data-theme=dark] .auth-tab.active,body[data-theme=dark] .sidebar-footer{background:#0f172a;border-color:var(--border);color:var(--text)}body[data-theme=dark] .admin-topbar,body[data-theme=dark] .auth-tabs,body[data-theme=dark] .modal-footer,body[data-theme=dark] .table th{background:#111827;border-color:var(--border)}body[data-theme=dark] .upload-drop-zone{background:#0f172a;border-color:#334155}body[data-theme=dark] .resource-preview-box,body[data-theme=dark] .resource-preview-box p,body[data-theme=dark] .upload-drop-zone p{color:#94a3b8}body[data-theme=dark] .resource-preview-box{background:#020617;border-color:#334155}body[data-theme=dark] .resource-preview-box strong{color:#e5e7eb}body[data-theme=dark] .auth-intro,body[data-theme=dark] .hero-card{background:radial-gradient(circle at 12% 8%,rgba(96,165,250,.13),transparent 34%),radial-gradient(circle at 92% 16%,rgba(167,139,250,.12),transparent 28%),var(--card);border-color:var(--border)}body[data-theme=dark] .article-body,body[data-theme=dark] .article-body h1,body[data-theme=dark] .article-body h2,body[data-theme=dark] .article-body h3,body[data-theme=dark] .article-card h3,body[data-theme=dark] .file-name,body[data-theme=dark] .focus-preview,body[data-theme=dark] .form-group label,body[data-theme=dark] .format-preview,body[data-theme=dark] .page-title h1,body[data-theme=dark] .pane-label,body[data-theme=dark] .panel-header h2,body[data-theme=dark] .plain-preview,body[data-theme=dark] .preview-box h2,body[data-theme=dark] .recent-item h3,body[data-theme=dark] .section-title h2,body[data-theme=dark] .template-mini-preview,body[data-theme=dark] .template-preview{color:var(--text)}body[data-theme=dark] .admin-user-info .user-profile-entry,body[data-theme=dark] .format-panel,body[data-theme=dark] .format-tab,body[data-theme=dark] .project-detail-grid div{background:#111827;border-color:var(--border);color:var(--text)}body[data-theme=dark] .article-card p,body[data-theme=dark] .auth-intro p,body[data-theme=dark] .file-desc,body[data-theme=dark] .page-title p,body[data-theme=dark] .preview-box p,body[data-theme=dark] .recent-item p,body[data-theme=dark] .section-title p{color:var(--muted)}body[data-theme=eye] .btn-secondary,body[data-theme=eye] .card,body[data-theme=eye] .input,body[data-theme=eye] .note-row,body[data-theme=eye] .quick-card,body[data-theme=eye] .recent-item,body[data-theme=eye] .select,body[data-theme=eye] .textarea,body[data-theme=eye] .theme-toggle,body[data-theme=gradient] .btn-secondary,body[data-theme=gradient] .card,body[data-theme=gradient] .input,body[data-theme=gradient] .note-row,body[data-theme=gradient] .quick-card,body[data-theme=gradient] .recent-item,body[data-theme=gradient] .select,body[data-theme=gradient] .textarea,body[data-theme=gradient] .theme-toggle{background:var(--card);color:var(--text);border-color:var(--border-dark)}body[data-theme=eye] .about-contact-item,body[data-theme=eye] .about-panel,body[data-theme=eye] .category-mobile-card,body[data-theme=eye] .empty-state,body[data-theme=eye] .file-card,body[data-theme=eye] .flow-node,body[data-theme=eye] .focus-preview,body[data-theme=eye] .format-html-card,body[data-theme=eye] .format-panel,body[data-theme=eye] .format-preview,body[data-theme=eye] .modal,body[data-theme=eye] .more-actions-menu,body[data-theme=eye] .preview-box,body[data-theme=eye] .preview-content,body[data-theme=eye] .project-detail-card,body[data-theme=eye] .tag-card,body[data-theme=eye] .tag-insight-panel,body[data-theme=eye] .tag-stat-card,body[data-theme=eye] .tag-toolbar-panel,body[data-theme=eye] .template-card,body[data-theme=eye] .template-mini-preview,body[data-theme=eye] .template-preview,body[data-theme=eye] .template-selector,body[data-theme=eye] .timeline-item,body[data-theme=gradient] .about-contact-item,body[data-theme=gradient] .about-panel,body[data-theme=gradient] .category-mobile-card,body[data-theme=gradient] .empty-state,body[data-theme=gradient] .file-card,body[data-theme=gradient] .flow-node,body[data-theme=gradient] .focus-preview,body[data-theme=gradient] .format-html-card,body[data-theme=gradient] .format-panel,body[data-theme=gradient] .format-preview,body[data-theme=gradient] .modal,body[data-theme=gradient] .more-actions-menu,body[data-theme=gradient] .preview-box,body[data-theme=gradient] .preview-content,body[data-theme=gradient] .project-detail-card,body[data-theme=gradient] .tag-card,body[data-theme=gradient] .tag-insight-panel,body[data-theme=gradient] .tag-stat-card,body[data-theme=gradient] .tag-toolbar-panel,body[data-theme=gradient] .template-card,body[data-theme=gradient] .template-mini-preview,body[data-theme=gradient] .template-preview,body[data-theme=gradient] .template-selector,body[data-theme=gradient] .timeline-item{background:var(--card);border-color:var(--border);color:var(--text)}body[data-theme=eye] .public-header{background:linear-gradient(135deg,rgba(22,101,52,.96),rgba(21,128,61,.9)),linear-gradient(180deg,rgba(255,255,255,.14),transparent)}body[data-theme=gradient] .public-header{background:linear-gradient(135deg,rgba(124,58,237,.96),rgba(14,165,233,.9)),linear-gradient(180deg,rgba(255,255,255,.14),transparent)}body[data-theme=eye] .admin-shell,body[data-theme=eye] .admin-topbar{background:radial-gradient(circle at 8% 0,rgba(22,128,60,.09),transparent 28%),linear-gradient(180deg,#f4f7ec,#eef6e9)}body[data-theme=gradient] .admin-shell,body[data-theme=gradient] .admin-topbar{background:radial-gradient(circle at 4% 2%,rgba(236,72,153,.12),transparent 28%),linear-gradient(135deg,#fff7ed,#f5f3ff 52%,#ecfeff)}body[data-theme=eye] .admin-sidebar{background:rgba(238,244,229,.94);border-right-color:var(--border)}body[data-theme=gradient] .admin-sidebar{background:rgba(255,255,255,.88);border-right-color:var(--border)}.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:600;margin-right:6px;margin-bottom:6px}.tag-blue{background:#dbeafe;color:#1d4ed8}.tag-green{background:#d1fae5;color:#047857}.tag-orange{background:#fef3c7;color:#b45309}.tag-purple{background:#ede9fe;color:#6d28d9}.tag-red{background:#fee2e2;color:#b91c1c}.tag-outline{background:#fff;color:#475569;border:1px solid var(--border-dark)}.highlight-mark,mark{background:#fef3c7;color:#92400e;border-radius:4px;padding:0 2px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--success)}.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:12px;flex-wrap:wrap}.breadcrumb a,.breadcrumb button{border:none;background:transparent;color:var(--primary);padding:0;font-weight:700;text-decoration:none}.filter-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0 0}.demo-status{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(37,99,235,.18);background:#eff6ff;color:var(--primary);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.demo-status.secondary{background:#f8fafc;color:#475569;border-color:var(--border)}.product-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.save-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:800;background:var(--soft-bg);color:var(--muted);border:1px solid var(--border);min-height:38px}.save-status.unsaved{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.save-status.saving{background:#eff6ff;color:var(--primary);border-color:#bfdbfe}.save-status.saved{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.save-status.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.input.is-error,.textarea.is-error,.title-input.is-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)}.field-error{display:none;margin:-6px 0 12px;color:var(--danger);font-size:13px;font-weight:700}.field-error.show{display:block}.public-shell{min-height:100vh}.public-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:calc(68px + env(safe-area-inset-top, 0px));background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(124,58,237,.92)),linear-gradient(180deg,rgba(255,255,255,.12),transparent);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:0 10px 28px rgba(37,99,235,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,0) max(32px,env(safe-area-inset-right,0px)) 0 max(32px,env(safe-area-inset-left,0px));color:#fff}.public-header .logo{color:#fff}.public-header .logo-icon{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:0 8px 18px rgba(15,23,42,.16)}.public-header .nav-link{color:rgba(255,255,255,.86)}.public-header .nav-link.active,.public-header .nav-link:hover{color:#fff;background:rgba(255,255,255,.16)}.public-header .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.26)}.public-header .btn-secondary:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.42)}.public-header .btn-primary{background:#fff;color:var(--primary);box-shadow:0 8px 18px rgba(15,23,42,.14)}.public-header .btn-primary:hover{background:#f8fafc;color:var(--primary-dark)}.logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text);font-size:18px}.logo-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.25)}.public-nav{display:flex;align-items:center;gap:6px}.nav-link{border:none;background:transparent;color:#475569;font-size:14px;font-weight:600;padding:8px 12px;border-radius:999px;transition:.2s ease}.nav-link.active,.nav-link:hover{color:var(--primary);background:var(--primary-light)}.public-actions,.user-profile-entry{display:flex;align-items:center;gap:10px}.user-profile-entry{border:none;background:transparent;color:inherit;padding:4px;border-radius:14px;text-align:left;transition:.2s ease}.user-profile-entry:hover{background:rgba(255,255,255,.16)}.user-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.42);background:#fff}.user-meta{display:grid;grid-gap:1px;gap:1px;line-height:1.25}.user-name{font-weight:800;font-size:14px}.user-role{font-size:12px;color:rgba(255,255,255,.72)}.role-badge{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900;line-height:1.4;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:inherit}.role-badge.admin{color:#7c3aed;background:#f3e8ff;border-color:#ddd6fe}.role-badge.user{color:#2563eb;background:#dbeafe;border-color:#bfdbfe}.role-badge.member,.role-badge.vip{color:#92400e;background:#fef3c7;border-color:#fde68a}.admin-user-info .user-profile-entry{color:var(--text);background:#fff;border:1px solid var(--border)}.admin-user-info .user-profile-entry:hover{border-color:var(--primary);background:var(--primary-light)}.admin-user-info .user-role{color:var(--muted)}.admin-user-info .user-avatar{width:34px;height:34px;border-color:var(--border)}body[data-theme=dark] .admin-user-info .user-profile-entry{background:var(--card);color:var(--text);border-color:var(--border)}.private-user-entry{width:100%;border:none;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-md);text-align:left;transition:.2s ease}.private-user-entry:hover{background:var(--primary-light);transform:translateY(-1px)}.private-user-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--border);background:#fff;flex:0 0 auto}.private-user-meta{display:grid;grid-gap:3px;gap:3px;min-width:0}.private-user-name{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-user-role{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900;border:1px solid var(--border)}.private-user-role.role-admin{color:#7c3aed;background:#f3e8ff;border-color:#ddd6fe}.private-user-role.role-user{color:#2563eb;background:#dbeafe;border-color:#bfdbfe}.private-user-role.role-member,.private-user-role.role-vip{color:#92400e;background:#fef3c7;border-color:#fde68a}.mobile-public-menu{display:none}.public-main{max-width:1180px;margin:0 auto;padding:32px 24px 64px}.hero{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:28px;gap:28px;align-items:stretch;padding:32px 0 24px}.hero-card{padding:42px;background:radial-gradient(circle at 10% 10%,rgba(37,99,235,.12),transparent 35%),radial-gradient(circle at 90% 20%,rgba(139,92,246,.1),transparent 28%),#ffffff;border:1px solid rgba(226,232,240,.9);border-radius:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;right:-52px;bottom:-52px;width:180px;height:180px;border-radius:50%;border:28px solid rgba(37,99,235,.06);pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:var(--primary);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;margin-bottom:18px}.hero h1{font-size:clamp(32px,4vw,54px);line-height:1.08;margin:0 0 18px;letter-spacing:0}.hero p{color:var(--muted);font-size:17px;margin:0 0 28px;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.stat-card{position:relative;overflow:hidden;padding:18px;border:none;background:linear-gradient(135deg,rgba(37,99,235,.98),rgba(14,165,233,.9));color:var(--stat-card-text);box-shadow:var(--stat-card-shadow);transition:.22s ease}.stat-card:nth-child(2){background:linear-gradient(135deg,rgba(16,185,129,.98),rgba(20,184,166,.9))}.stat-card:nth-child(3){background:linear-gradient(135deg,rgba(139,92,246,.98),rgba(99,102,241,.9))}.stat-card:nth-child(4){background:linear-gradient(135deg,rgba(245,158,11,.98),rgba(249,115,22,.9))}body[data-theme] .stat-card{border:none;background:linear-gradient(135deg,rgba(37,99,235,.98),rgba(14,165,233,.9));color:var(--stat-card-text);box-shadow:var(--stat-card-shadow)}body[data-theme] .stat-card:nth-child(2){background:linear-gradient(135deg,rgba(16,185,129,.98),rgba(20,184,166,.9))}body[data-theme] .stat-card:nth-child(3){background:linear-gradient(135deg,rgba(139,92,246,.98),rgba(99,102,241,.9))}body[data-theme] .stat-card:nth-child(4){background:linear-gradient(135deg,rgba(245,158,11,.98),rgba(249,115,22,.9))}.stat-card:hover{transform:translateY(-3px)}.stat-card:hover,body[data-theme] .stat-card:hover{box-shadow:var(--stat-card-hover-shadow)}.stat-card:after{content:"";position:absolute;right:-24px;top:-24px;width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.16)}.stat-card .stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--stat-card-icon-bg);margin-bottom:12px;font-size:18px}.stat-card strong{display:block;color:var(--stat-card-text);font-size:var(--font-2xl);line-height:1;margin-bottom:8px}.stat-card p,.stat-card span{color:var(--stat-card-muted);font-size:var(--font-sm);font-weight:700;margin:0}.stat-card .stat-trend{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:12px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.16);color:var(--stat-card-text);font-size:var(--font-xs);font-weight:800}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:34px 0 16px}.section-title h2{margin:0;font-size:24px;letter-spacing:0}.section-title p{margin:4px 0 0;color:var(--muted);font-size:14px}.section-title .btn{flex-shrink:0}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px}.category-card{padding:18px;transition:.2s ease}.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(37,99,235,.35)}.category-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f1f5f9;font-size:20px;margin-bottom:12px}.category-card h3{margin:0 0 6px;font-size:16px}.category-card p{margin:0;color:var(--muted);font-size:13px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.article-card{padding:20px;transition:.2s ease;min-height:210px;display:flex;flex-direction:column}.article-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}.article-badges{display:inline-flex;gap:6px;flex-wrap:wrap}.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(37,99,235,.35)}.article-card h3{margin:12px 0 8px;font-size:18px;line-height:1.4}.article-card p{margin:0 0 16px;color:var(--muted);font-size:14px;flex:1 1}.article-meta{justify-content:space-between;color:#94a3b8;font-size:12px;padding-top:12px;border-top:1px solid var(--border)}.article-meta,.filter-bar{display:flex;align-items:center}.filter-bar{gap:12px;flex-wrap:wrap;margin:16px 0 20px}.filter-bar .input{max-width:360px}.filter-bar .select{max-width:180px}.public-articles-title{align-items:center}.public-articles-filter-bar{margin-bottom:0}.public-articles-category-select{min-width:160px}.filter-bar .btn.active{color:#fff;background:var(--primary);border-color:var(--primary)}.article-detail{max-width:1120px;margin:0 auto;padding:24px 0 64px}.article-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.article-detail-actions-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.article-reader-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid rgba(37,99,235,.22);border-radius:999px;color:var(--primary);background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(124,58,237,.06));box-shadow:0 8px 20px rgba(37,99,235,.08);font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.article-reader-entry:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.38);background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(124,58,237,.1));box-shadow:0 12px 28px rgba(37,99,235,.14)}.article-reader-entry-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(37,99,235,.1);font-size:13px;line-height:1}.article-detail-header{padding:34px;margin-bottom:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.article-detail-header h1,.article-detail-title{display:block;max-width:100%;color:var(--text);font-size:clamp(28px,4vw,36px);line-height:1.22;margin:12px 0;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;word-wrap:break-word;text-wrap:balance}.detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);margin:0;font-size:13px;font-weight:700}.article-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-gap:18px;gap:18px;align-items:start}.article-body{padding:34px;font-size:15px;line-height:1.8;color:#334155}.article-body p{margin:0 0 14px}.article-body h1{font-size:26px;line-height:1.35;margin:0 0 18px}.article-body h1,.article-body h2{color:var(--text);letter-spacing:0}.article-body h2{margin-top:30px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px;font-size:21px;line-height:1.4}.article-body h3{margin-top:24px;margin-bottom:10px;font-size:17px;line-height:1.45;color:var(--text)}.article-body pre{background:var(--code-bg);color:#e2e8f0;padding:15px;border-radius:var(--radius-md);overflow:auto;font-family:var(--mono);font-size:13px;line-height:1.7;margin:16px 0}.toc-card{position:-webkit-sticky;position:sticky;top:88px;padding:16px}.toc-card h2{margin:0 0 10px;font-size:16px}.toc-list{display:grid;grid-gap:6px;gap:6px}.toc-link{border:none;background:transparent;color:var(--text);text-align:left;padding:6px 8px;border-radius:var(--radius-sm);font-size:13px;line-height:1.4;transition:background .15s ease,color .15s ease}.toc-link:hover{background:var(--primary-light);color:var(--primary)}.toc-link:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.toc-link.level-3{padding-left:18px;color:var(--muted)}.toc-toggle{display:inline-flex}.article-body code{font-family:var(--mono);font-size:13px}.html-content-frame{background:#fff;border-radius:var(--radius-md)}body[data-theme=dark] .html-content-frame{border:1px solid var(--border)}.html-content-frame-loading{display:flex;align-items:center;justify-content:center;min-height:120px;border-radius:var(--radius-md);border:1px dashed var(--border);color:var(--muted);font-size:13px}.auth-page{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1fr 420px;grid-gap:32px;gap:32px;align-items:center;padding:40px 0}.auth-intro{padding:48px;min-height:520px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(139,92,246,.1)),#fff}.auth-intro h1{font-size:42px;line-height:1.15;margin:18px 0}.auth-intro p{color:var(--muted);font-size:16px}.auth-panel{padding:28px}.auth-tabs{display:flex;background:#f1f5f9;border-radius:999px;padding:4px;margin-bottom:24px}.auth-tab{flex:1 1;border:none;background:transparent;border-radius:999px;height:36px;font-weight:700;color:var(--muted)}.auth-tab.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:16px}.form-group label{display:block;color:#334155;font-size:13px;font-weight:700;margin-bottom:8px}.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.password-field .btn{height:40px;padding:0 12px}.about-hero{padding:38px;margin-bottom:18px}.section-stack{display:grid;grid-gap:18px;gap:18px}.section-stack .about-hero{margin-bottom:0}.about-contact-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.about-contact-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;min-width:0}.about-contact-label{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.about-contact-value{font-size:14px;font-weight:600;text-align:left;overflow-wrap:anywhere}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:18px}.about-panel{padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);min-width:0}.about-panel h3{margin:0 0 10px;font-size:17px}.about-panel p{margin:0;color:var(--muted);font-size:14px}.about-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--primary-light);color:var(--primary);margin-bottom:12px;font-size:20px}.timeline{display:grid;grid-gap:12px;gap:12px}.timeline-item{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.timeline-time{color:var(--primary);font-weight:900;font-size:13px}.profile-hero .user-avatar{width:72px;height:72px;border-color:var(--border)}.project-detail-card{display:grid;grid-gap:14px;gap:14px}.project-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.project-detail-grid div{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc}.project-detail-grid strong{display:block;margin-bottom:6px}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:radial-gradient(circle at 8% 0,rgba(37,99,235,.08),transparent 28%),radial-gradient(circle at 92% 8%,rgba(124,58,237,.08),transparent 30%),linear-gradient(180deg,#f8fafc,#eef2ff 52%,#f8fafc)}.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;background:rgba(241,245,249,.92);border-right:1px solid rgba(226,232,240,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:18px;display:flex;flex-direction:column;gap:18px;z-index:30}.admin-logo{display:flex;align-items:center;gap:10px;padding:6px 4px 14px;border-bottom:1px solid var(--border);font-weight:800}.admin-menu{display:grid;grid-gap:6px;gap:6px}.admin-menu a,.admin-menu button{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);color:#475569;font-size:14px;font-weight:700;text-align:left;text-decoration:none;transition:.2s ease}.admin-menu a.active,.admin-menu a:hover,.admin-menu button.active,.admin-menu button:hover{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.sidebar-footer{margin-top:auto;padding:14px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;color:var(--muted)}.admin-main{min-width:0;display:flex;flex-direction:column}.admin-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;min-height:calc(68px + env(safe-area-inset-top, 0px));background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,242,255,.94)),linear-gradient(90deg,rgba(37,99,235,.06),rgba(124,58,237,.06));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 8px 24px rgba(15,23,42,.05);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:14px;row-gap:8px;padding:calc(10px + env(safe-area-inset-top, 0px)) max(24px,env(safe-area-inset-right,0px)) 10px max(24px,env(safe-area-inset-left,0px))}.admin-search{flex:1 1 200px;min-width:120px;max-width:520px;position:relative}.admin-search input{padding-left:38px}.admin-search .admin-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;padding:0;border:none;background:transparent;line-height:1;cursor:pointer}.admin-top-actions{display:flex;align-items:center;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:10px;row-gap:8px}.admin-content{padding:24px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title h1{margin:0;font-size:26px;letter-spacing:0}.page-title p{margin:6px 0 0;color:var(--muted);font-size:14px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}.dashboard-card{--tone:var(--primary);display:flex;flex-direction:column;gap:6px;padding:16px 18px;position:relative;overflow:hidden;border-left:3px solid var(--tone);background:color-mix(in srgb,var(--tone) 7%,var(--card))}.dashboard-card.stat-blue{--tone:#2563eb}.dashboard-card.stat-green{--tone:#059669}.dashboard-card.stat-orange{--tone:#d97706}.dashboard-card.stat-purple{--tone:#7c3aed}.dashboard-card span{color:var(--muted-strong);font-size:13px;font-weight:700}.dashboard-card strong{display:block;font-size:30px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{padding:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.panel-header h2{font-size:18px;margin:0}.recent-list{display:grid;grid-gap:10px;gap:10px}.recent-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;transition:.2s ease;background:#fff}.recent-item:hover{border-color:rgba(37,99,235,.35);transform:translateX(2px)}.recent-item h3{margin:0 0 4px;font-size:15px}.recent-item p{margin:0;color:var(--muted);font-size:13px}.recent-item .btn{padding:6px 10px}.quick-grid{display:grid;grid-gap:10px;gap:10px}.quick-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:#fff;border-radius:var(--radius-md);padding:14px;transition:.2s ease;text-align:left;width:100%}.quick-card:hover{border-color:var(--primary);transform:translateY(-2px)}.quick-card .icon-box,.task-card-title .icon-box{width:40px;height:40px;display:grid;place-items:center;background:#f1f5f9;border-radius:12px;font-size:18px}.dashboard-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.task-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:14px;display:grid;grid-gap:8px;gap:8px;box-shadow:var(--shadow-sm)}.task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-card-title{display:flex;align-items:center;gap:10px;min-width:0}.task-card-title h3{margin:0;font-size:var(--font-md);line-height:1.45}.task-card-title p{margin:4px 0 0;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.task-count{white-space:nowrap;color:var(--muted);font-size:var(--font-xs);font-weight:800}.task-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),#10b981);border-radius:inherit;transition:width .25s ease}.task-list{display:grid;grid-gap:9px;gap:9px}.task-item{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--soft-bg);border-radius:var(--radius-sm);padding:10px;color:var(--text);text-align:left;transition:.2s ease;width:100%}.task-item:hover{border-color:var(--primary);transform:translateY(-1px)}.task-item.done{color:var(--muted);background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.25)}.task-item.done .task-text{text-decoration:line-through}.task-check{width:22px;height:22px;border-radius:999px;border:2px solid #cbd5e1;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:13px;transition:.2s ease}.task-check-btn{padding:0;background:#fff;cursor:pointer;color:transparent}.task-check-btn:hover{border-color:var(--primary);transform:scale(1.04)}.task-text-link{width:100%;min-width:0;border:0;background:transparent;padding:0;color:inherit;font:inherit;line-height:1.5;text-align:left;cursor:pointer}.task-text-link:hover{color:var(--primary)}.task-item.done .task-check{border-color:var(--success);background:var(--success);color:#fff}body[data-theme=dark] .task-progress{background:#334155}body[data-theme=dark] .task-item{background:#111827}body[data-theme=dark] .task-check-btn{background:#0f172a}body[data-theme=dark] .task-item.done{background:rgba(16,185,129,.13)}body[data-theme=dark] .task-group-tab{background:#111827}body[data-theme=dark] .task-group-tab.active{background:rgba(59,130,246,.14)}body[data-theme=dark] .quick-card .icon-box,body[data-theme=dark] .task-card-title .icon-box,body[data-theme=dark] .task-group-icon{background:#1f2937}.task-manager-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;align-items:center;margin-bottom:16px}.task-filter-search{grid-column:span 2}.task-column-period{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px}.task-column-period .input,.task-column-period .select{flex:1 1;min-width:0}.task-column-period .btn{white-space:nowrap}.task-column-period-now{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--soft-bg);color:var(--muted);font-size:var(--font-xs);white-space:nowrap}.task-manager-list{display:grid;grid-gap:12px;gap:12px}.task-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px;align-items:start}.task-column{min-width:0;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:16px;display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow-sm)}.task-column-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start}.task-column-head h3{margin:0 0 6px;font-size:var(--font-lg);line-height:1.45}.task-column-list{display:grid;grid-gap:10px;gap:10px}.task-group-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.task-group-tab{min-width:0;min-height:88px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff,#f8fafc);padding:14px;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:.2s ease}.task-group-tab.active,.task-group-tab:hover{border-color:var(--primary);transform:translateY(-1px)}.task-group-tab.active{background:var(--primary-light)}.task-group-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--card);box-shadow:inset 0 0 0 1px var(--border);font-size:18px}.task-group-copy{min-width:0;display:grid;grid-gap:4px;gap:4px}.task-group-copy strong{font-size:var(--font-md);line-height:1.35}.task-group-copy small{color:var(--muted);font-weight:800;line-height:1.4}.task-group-percent{color:var(--primary);font-size:18px;font-weight:900;white-space:nowrap}.task-group-panels{grid-column:1/-1;display:grid;grid-gap:14px;gap:14px}.task-group-panel{min-width:0;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:16px;display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow-sm)}.task-panel-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.task-manager-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:14px;transition:.2s ease}.task-manager-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.task-manager-card.done{background:rgba(16,185,129,.08)}.task-manager-card.done h3{color:var(--muted);text-decoration:line-through}.task-manager-card h3{margin:0 0 6px;font-size:var(--font-md);line-height:1.45}.task-manager-card p{margin:0 0 10px;color:var(--muted);line-height:1.6;font-size:var(--font-sm)}.task-manager-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.task-manager-actions .btn{font-size:var(--font-xs);padding:7px 10px}.task-manager-check{width:24px;height:24px;margin-top:2px;accent-color:var(--primary)}.private-note-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:16px;gap:16px;align-items:start}.private-note-reader{padding:24px}.private-note-reader h1{margin:0 0 12px;font-size:30px}.private-note-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.private-note-content{line-height:1.8}.settings-shell,.user-management-toolbar{display:grid;grid-gap:14px;gap:14px}.user-management-toolbar{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));align-items:center}.settings-stat-grid,.user-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.settings-stat-card,.user-stat-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:14px;display:grid;grid-gap:4px;gap:4px;box-shadow:var(--shadow-sm)}.settings-stat-card span,.user-stat-card span{color:var(--muted);font-size:12px;font-weight:800}.settings-stat-card strong,.user-stat-card strong{font-size:24px}.user-list{display:grid;grid-gap:10px;gap:10px}.user-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,140px) minmax(0,140px);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg);padding:12px}.user-row .user-avatar{border-color:var(--border)}.user-row h3{margin:0 0 4px;font-size:16px;overflow-wrap:anywhere}.user-row p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.user-row>div{min-width:0}.user-row .note-actions{flex-wrap:wrap}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.settings-tabs{display:grid;grid-gap:8px;gap:8px;align-content:start;padding:12px;position:-webkit-sticky;position:sticky;top:125px}.settings-tabs button{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:11px 12px;color:var(--muted-strong);font-weight:700;text-align:left;transition:.2s ease}.settings-tabs button.active,.settings-tabs button:hover{color:color-mix(in srgb,var(--primary) 55%,var(--text));background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 30%,transparent)}.settings-content{padding:18px;min-width:0}.backup-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.check-option{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--soft-bg);color:var(--text);font-size:var(--font-md);font-weight:700;padding:10px 12px}.check-option input{width:16px;height:16px;accent-color:var(--primary)}.font-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg);padding:16px;margin:14px 0;display:grid;grid-gap:8px;gap:8px}.font-preview h3{margin:0;font-size:var(--font-xl);line-height:1.35}.font-preview p{margin:0;color:var(--muted);font-size:var(--font-md)}.storage-type-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.storage-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--soft-bg)}.storage-type-row span,.storage-type-row strong{display:block}.storage-type-row span{color:var(--muted);font-size:var(--font-xs);font-weight:700}body.view-list .article-grid,body.view-list .file-grid{grid-template-columns:minmax(0,1fr)}body.view-list .article-card,body.view-list .file-card{padding:16px}body.view-list .article-card h3{margin-top:8px}.admin-content-row p,.admin-page,.app,.article-body,.article-card p,.btn,.file-desc,.input,.note-row,.private-note-content,.public-page,.recent-item p,.select,.settings-content p,.table,.textarea{font-size:var(--font-md)}.admin-content-row small,.demo-status,.file-meta,.private-note-meta,.save-status,.table td,.table th,.tag{font-size:var(--font-xs)}.notes-layout{display:grid;grid-gap:16px;gap:16px;align-items:start}.notes-layout .category-tree,.notes-layout .note-preview{position:-webkit-sticky;position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto}.notes-table-panel{min-width:0}.category-tree,.note-preview,.notes-table-panel{padding:16px}.category-tree h3,.note-preview h3{margin:0 0 12px;font-size:16px}.category-filter{display:grid;grid-gap:6px;gap:6px}.category-filter button{width:100%;border:none;background:transparent;text-align:left;padding:10px;border-radius:var(--radius-sm);color:var(--text);font-weight:700;transition:.2s ease}.category-filter button.active,.category-filter button:hover{background:var(--primary-light);color:var(--primary)}.notes-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.notes-toolbar .input{flex:2 1 220px;min-width:0}.notes-toolbar .select{flex:1 1 140px;min-width:0}.notes-list{display:grid;grid-gap:10px;gap:10px}.note-row{padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:start;transition:.2s ease}.note-row.active,.note-row:hover{border-color:rgba(37,99,235,.45);box-shadow:var(--shadow-sm)}.note-row h3{margin:0 0 6px;font-size:16px}.note-row p{margin:0 0 8px;color:var(--muted);font-size:13px}.note-actions{display:flex;gap:6px}.icon-btn{border:1px solid var(--border);background:#fff;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;transition:.2s ease}.icon-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.preview-box{border:1px solid var(--border);background:#fff;border-radius:var(--radius-md);padding:14px}.preview-box h2{font-size:18px;line-height:1.4;margin:10px 0}.preview-box p{color:var(--muted);font-size:14px}.editor-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:16px;gap:16px;align-items:start;min-width:0}body.editor-layout-edit-only #admin-editor .editor-layout,body.editor-layout-preview-only #admin-editor .editor-layout{grid-template-columns:minmax(0,1fr)}body.editor-layout-edit-only #admin-editor .editor-side,body.editor-layout-preview-only #admin-editor .editor-main{display:none}.editor-main,.editor-side{padding:18px;min-width:0;overflow:hidden}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.editor-action-groups,.editor-actions{align-items:center}.editor-more-list,.editor-primary-actions,.editor-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-toolbar-actions{justify-content:flex-end}.more-actions{position:relative}.more-actions summary{list-style:none}.more-actions summary::-webkit-details-marker{display:none}.more-actions-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(240px,80vw);padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow);display:grid;grid-gap:8px;gap:8px}.more-actions-menu .btn{width:100%;justify-content:flex-start}.format-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fafc;padding:14px;margin-bottom:14px;display:grid;grid-gap:12px;gap:12px}.format-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.format-tabs{display:flex;gap:8px;flex-wrap:wrap}.format-tab{border:1px solid var(--border-dark);background:#fff;color:#475569;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800;transition:.2s ease}.format-tab.active,.format-tab:hover{background:var(--primary-light);color:var(--primary);border-color:rgba(37,99,235,.28)}.format-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.format-tools .select{width:170px}.editor-control-strip{display:flex;flex-wrap:wrap;gap:12px;align-items:center;min-width:0}.editor-template-compact{display:flex;flex:1 1 320px;flex-wrap:wrap;gap:10px;min-width:0}.editor-template-compact .input,.editor-template-compact .select{flex:1 1 130px;min-width:0}.format-help{margin:0;color:var(--muted);font-size:13px}.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;min-width:0;height:min(620px,calc(100vh - 320px));min-height:460px;overflow:hidden}.editor-workspace.preview-only{grid-template-columns:minmax(0,1fr)}.editor-pane,.preview-pane{min-width:0;height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.pane-label{color:#334155;font-size:13px;font-weight:800}.title-input{width:100%;border:none;outline:none;font-size:30px;font-weight:800;letter-spacing:0;margin-bottom:14px;padding:10px 0;border-bottom:1px solid var(--border)}.editor-tabs{display:flex;gap:8px;margin-bottom:12px}.editor-tabs button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 12px;color:#475569;font-weight:700}.editor-tabs button.active{background:var(--primary-light);color:var(--primary);border-color:rgba(37,99,235,.25)}.markdown-editor{width:100%;flex:1 1;min-height:0;max-height:none;font-family:var(--mono);line-height:1.7;font-size:14px;resize:none;overflow:auto;white-space:pre-wrap;word-break:break-word;transition:outline-color .15s ease}.markdown-editor.drag-over{outline:2px dashed var(--primary);outline-offset:-2px;background:var(--primary-light)}.md-image-wrap{position:relative;display:inline-block;max-width:100%;vertical-align:top;line-height:0;margin:4px 0}.md-image{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm)}.md-image-wrap.resizable{outline:1px dashed transparent;border-radius:var(--radius-sm)}.md-image-wrap.resizable:hover{outline-color:var(--border-dark)}.md-image-resize-handle{position:absolute;right:-6px;bottom:-6px;width:16px;height:16px;border-radius:5px;background:var(--primary);border:2px solid #fff;box-shadow:var(--shadow);cursor:nwse-resize;touch-action:none}.preview-content{min-height:520px}.format-preview,.preview-content{border:1px solid var(--border-dark);border-radius:var(--radius-sm);padding:18px;background:#fff;overflow:auto}.format-preview{flex:1 1;min-height:0;max-height:none;color:#334155;overflow-wrap:anywhere;word-break:break-word}.article-body pre.format-code,.format-preview pre,.preview-content pre{background:var(--code-bg);color:#e2e8f0;padding:14px;border-radius:var(--radius-sm);overflow:auto;font-family:var(--mono);max-width:100%;white-space:pre-wrap;word-break:break-word}.article-body table,.article-content table,.format-preview table,.template-mini-preview table,.template-preview table{display:block;max-width:100%;overflow-x:auto;margin:14px 0;border-collapse:collapse;font-size:13.5px}.article-body td,.article-body th,.article-content td,.article-content th,.format-preview td,.format-preview th,.template-mini-preview td,.template-mini-preview th,.template-preview td,.template-preview th{border:1px solid var(--border-dark);padding:8px 12px;text-align:left;overflow-wrap:anywhere;word-break:break-word}.article-body th,.article-content th,.format-preview th,.template-mini-preview th,.template-preview th{background:var(--soft-bg);font-weight:700}.format-preview code,.preview-content code{white-space:pre-wrap;word-break:break-word}.format-preview *,.format-preview iframe,.format-preview img,.format-preview svg,.preview-content iframe,.preview-content img,.preview-content svg{max-width:100%}.format-html-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;background:#fff;box-shadow:var(--shadow-sm)}.flow-preview{display:grid;grid-gap:10px;gap:10px}.flow-node{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;min-width:0;overflow-wrap:anywhere}.flow-node:before{content:"→";width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--primary-light);color:var(--primary);flex:0 0 auto}.flow-node:first-child:before{content:"•"}.data-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px;background:var(--card);overflow:hidden;border-radius:var(--radius-sm)}.table-scroll{max-width:100%;overflow-x:auto}.data-table td,.data-table th{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}.data-table th{background:var(--primary-light);color:var(--primary);font-weight:800}.plain-preview{white-space:pre-wrap;line-height:1.8;color:#334155}.code-preview-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.editor-section{padding:14px 0;border-bottom:1px solid var(--border)}.editor-section:first-child{padding-top:0}.editor-section:last-child{border-bottom:none;padding-bottom:0}.editor-section h3{margin:0 0 12px;color:#334155;font-size:14px;letter-spacing:0}.editor-tag-picker{display:flex;gap:8px;align-items:center}.editor-tag-picker .select{flex:1 1 auto;min-width:0}.editor-selected-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.editor-tag-chip{border:none;cursor:pointer}.editor-field-hint{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.editor-cover-card{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg);padding:12px;display:grid;grid-gap:10px;gap:10px}.editor-cover-preview{width:100%;height:160px;border-radius:var(--radius-sm);object-fit:cover;background:#e2e8f0}.editor-cover-card strong{display:block;margin-bottom:4px;color:var(--text)}.editor-cover-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.template-selector{border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fafc;padding:12px;display:grid;grid-gap:10px;gap:10px;min-width:0}.focus-statusbar,.focus-toolbar,.template-form-actions,.template-selector-row,.template-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.template-selector-row .input,.template-selector-row .select{min-width:160px;flex:1 1 160px}.template-admin-layout{display:grid;grid-template-columns:minmax(220px,264px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:stretch}.template-list{display:grid;grid-gap:12px;gap:12px;margin-top:14px;max-height:420px;align-content:start;overflow:auto;padding-right:4px}.template-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:14px;display:grid;grid-gap:10px;gap:10px;min-width:0}.template-card.active{border-color:rgba(37,99,235,.5);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.template-card h3{margin:0;font-size:16px;overflow-wrap:anywhere}.template-card p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.template-card-actions{display:flex;gap:8px;flex-wrap:wrap}.template-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;min-width:0}.template-content{resize:vertical;font-family:var(--mono);white-space:pre-wrap}.template-content,.template-mini-preview,.template-preview{min-height:360px;max-height:520px;overflow:auto;word-break:break-word}.template-mini-preview,.template-preview{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:#fff;color:#334155;padding:16px;overflow-wrap:anywhere}.template-mini-preview{min-height:120px;max-height:220px;padding:12px}.focus-preview pre,.template-mini-preview pre,.template-preview pre{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word}.focus-editor-page{height:calc(100vh - 112px);min-height:640px;display:flex;flex-direction:column;overflow:hidden;gap:12px}.focus-toolbar{flex:0 0 auto;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:12px}.focus-toolbar-left,.focus-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.focus-title{flex:1 1;min-width:220px;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;font-size:22px;font-weight:800}.focus-template-row{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}.focus-template-row .select{flex:1 1 160px;min-width:0}.focus-template-row .btn{flex:0 0 auto}.focus-editor-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;overflow:hidden}.focus-pane{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.focus-editor,.focus-preview{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;resize:none}.focus-editor{font-family:var(--mono);line-height:1.8;white-space:pre-wrap;word-break:break-word}.focus-preview{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:#fff;color:#334155;padding:18px;overflow-wrap:anywhere;word-break:break-word}.focus-statusbar{flex:0 0 auto;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px;color:var(--muted);font-size:13px;font-weight:700}.focus-editor-page.edit-only .focus-editor-layout{grid-template-columns:minmax(0,1fr)}.focus-editor-page.edit-only .focus-preview-pane,.focus-editor-page.preview-hidden .focus-preview-pane{display:none}.focus-editor-page.preview-only .focus-editor-layout{grid-template-columns:minmax(0,1fr)}.focus-editor-page.preview-only .focus-input-pane{display:none}.danger-zone{margin-top:2px;border-top:1px solid #fecaca}.danger-zone h3{color:#b91c1c}.setting-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.setting-section{padding:20px}.setting-section h2{margin:0 0 14px;font-size:18px}.table-wrapper{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{border-bottom:1px solid var(--border);text-align:left;padding:12px}.table th{color:#475569;background:#f8fafc;font-size:13px}.category-mobile-cards{display:none;gap:10px}.category-mobile-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:#fff;display:grid;grid-gap:8px;gap:8px}.tag-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.tag-stat-card{padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);display:grid;grid-gap:6px;gap:6px;min-width:0}.tag-stat-card span{color:var(--muted);font-size:13px;font-weight:800}.tag-stat-card strong{font-size:30px;line-height:1;color:var(--text)}.tag-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tag-toolbar .input{flex:1 1 220px;max-width:420px;width:auto}.tag-toolbar .select{flex:0 1 170px;width:auto}.tag-toolbar .btn{flex:0 0 auto;height:40px}.tag-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:16px;gap:16px;align-items:start}.tag-card,.tag-card-panel,.tag-insight-panel{padding:16px}.tag-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);display:grid;grid-gap:12px;gap:12px;min-width:0;transition:.2s ease}.tag-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(37,99,235,.35)}.tag-card h3{font-size:17px;line-height:1.35}.tag-card h3,.tag-card p{margin:0;overflow-wrap:anywhere}.tag-card p{color:var(--muted);font-size:13px}.tag-insight-panel{display:grid;grid-gap:16px;gap:16px}.tag-insight-section{display:grid;grid-gap:10px;gap:10px}.tag-insight-section h3{margin:0;font-size:15px}.tag-pill-list{display:flex;flex-wrap:wrap;gap:8px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));grid-gap:14px;gap:14px;margin-top:14px}.file-card{position:relative;padding:10px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:10px;gap:10px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.file-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 10px 26px rgba(15,23,42,.1);transform:translateY(-2px)}.file-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.file-thumb{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg,#f1f5f9);display:grid;place-items:center;overflow:hidden;padding:0;cursor:pointer}.file-thumb:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.file-thumb-image{width:100%;height:100%;object-fit:cover}.file-thumb-icon{font-size:32px;line-height:1}.file-type-chip{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;background:rgba(15,23,42,.62);color:#fff;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.file-type-chip.is-pdf{background:rgba(185,28,28,.78)}.file-type-chip.is-image{background:rgba(29,78,216,.72)}.file-type-chip.is-attachment{background:rgba(71,85,105,.78)}.file-body{display:grid;grid-gap:4px;gap:4px;align-content:start;min-width:0}.file-name{font-size:13px;font-weight:600;line-height:1.35}.file-desc,.file-name{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-desc{color:var(--muted);font-size:12px}.file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--muted);font-size:11px}.file-meta-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-refs{padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.file-select{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(15,23,42,.2);opacity:0;transition:opacity .15s ease;cursor:pointer}.file-select input{width:15px;height:15px;margin:0;cursor:pointer}.file-card.is-selected .file-select,.file-card:focus-within .file-select,.file-card:hover .file-select{opacity:1}.admin-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.admin-manage-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:16px;display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow-sm)}.admin-manage-card h3{margin:0;font-size:17px}.admin-manage-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.admin-manage-actions{display:flex;flex-wrap:wrap;gap:8px}.public-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.public-admin-stat{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-sm);display:grid;grid-gap:6px;gap:6px}.public-admin-stat span{color:var(--muted);font-weight:800;font-size:12px}.public-admin-stat strong{font-size:26px;color:var(--text)}.public-admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.public-admin-tabs{padding:12px;display:grid;grid-gap:8px;gap:8px;position:-webkit-sticky;position:sticky;top:88px}.public-admin-tabs a,.public-admin-tabs button{border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:12px;display:block;text-align:left;color:var(--muted);font-weight:900;text-decoration:none;transition:.2s ease}.public-admin-tabs a.active,.public-admin-tabs a:hover,.public-admin-tabs button.active,.public-admin-tabs button:hover{color:var(--primary);background:var(--primary-light);border-color:rgba(37,99,235,.18)}.public-admin-content{padding:18px;min-width:0}.admin-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.admin-section-head h2{margin:0;font-size:20px}.admin-section-head p{margin:6px 0 0;color:var(--muted)}.admin-content-list{display:grid;grid-gap:10px;gap:10px}.admin-content-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg)}.admin-category-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-category-preview{margin-top:4px}.admin-category-preview-label{display:block;margin-bottom:8px;color:var(--muted);font-size:var(--font-xs)}.admin-category-preview-card{pointer-events:none}.admin-content-row h3{margin:0 0 6px;font-size:16px}.admin-content-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.about-editor-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.about-editor-card{min-width:0;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;background:var(--soft-bg);display:grid;grid-gap:12px;gap:12px}@media (max-width:1200px){.user-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar meta" "role status";row-gap:10px}.user-row>:first-child{grid-area:avatar}.user-row>:nth-child(2){grid-area:meta}.user-row>.user-row-locked,.user-row>.user-row-role{grid-area:role;width:100%}.user-row>.user-row-status{grid-area:status;width:100%}}.about-repeat-list{display:grid;grid-gap:10px;gap:10px}.about-repeat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;grid-gap:10px;gap:10px;align-items:end;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--card)}.about-repeat-row.wide{grid-template-columns:120px minmax(0,1fr) auto}.about-repeat-row>*{min-width:0;overflow-wrap:anywhere}.about-editor-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.about-repeat-row.timeline-row,.about-repeat-row.triple{grid-template-columns:84px minmax(0,.7fr) minmax(0,1fr) auto}.about-admin-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:700;cursor:pointer}.inline-check input{width:16px;height:16px;accent-color:var(--primary)}.reward-editor-grid{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,280px);grid-gap:16px;gap:16px;align-items:start}.reward-editor-fields{display:grid;min-width:0;grid-gap:12px;gap:12px}.reward-preview-card{min-width:0}.reward-upload-actions{display:flex;gap:10px;flex-wrap:wrap}.reward-upload-button{cursor:pointer}.reward-qr-preview{min-height:300px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--card);display:grid;place-items:center;grid-gap:10px;gap:10px;padding:16px;text-align:center;color:var(--muted)}.reward-preview-card img,.reward-public-card img,.reward-qr-preview img{width:min(100%,220px);aspect-ratio:1/1;object-fit:contain;border-radius:18px;background:#fff;border:1px solid var(--border);padding:10px;box-shadow:var(--shadow-sm)}.reward-qr-preview strong{color:var(--text)}.reward-qr-preview p{margin:0;font-size:12px;line-height:1.5}.reward-qr-empty{min-height:220px;width:100%;border-radius:18px;background:var(--soft-bg);display:grid;place-items:center;padding:14px;line-height:1.6}.reward-preview-card,.reward-public-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);grid-gap:18px;gap:18px;align-items:center;margin-top:16px}.reward-preview-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:16px}.reward-preview-card strong,.reward-public-card h2{color:var(--text)}.reward-preview-card p,.reward-public-card p{color:var(--muted);line-height:1.7}.icon-recommend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.icon-recommend-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);padding:10px;display:flex;align-items:center;gap:9px;color:var(--text);transition:.2s ease;text-align:left}.icon-recommend-card:hover{border-color:var(--primary);transform:translateY(-1px);background:var(--primary-light)}.resource-preview-box{min-height:180px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--soft-bg);display:grid;place-items:center;padding:18px;text-align:center;color:var(--muted)}.resource-preview-box strong{display:block;color:var(--text);font-size:18px;margin-bottom:6px}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.file-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.btn-compact{min-height:28px;padding:4px 9px;font-size:12px;border-radius:8px}.file-action-danger{color:#dc2626}.file-action-danger:hover{background:color-mix(in srgb,#dc2626 10%,transparent)}@media (hover:hover) and (pointer:fine){.file-card .file-actions{opacity:0;pointer-events:none;transition:opacity .15s ease}.file-card.is-selected .file-actions,.file-card:focus-within .file-actions,.file-card:hover .file-actions{opacity:1;pointer-events:auto}}.empty-state{text-align:center;padding:36px 18px;color:var(--muted);border:1px dashed var(--border-dark);border-radius:var(--radius-md);background:var(--card)}.empty-state-rich{display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state-icon{font-size:32px;line-height:1}.empty-state-title{margin:0;color:var(--text);font-size:16px}.empty-state-message{margin:0;max-width:420px}.empty-state-rich .btn{margin-top:6px}.site-footer{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:32px 20px 24px;margin-top:32px;border-top:1px solid var(--border);color:var(--muted)}.site-footer-title{font-weight:700;color:var(--text);font-size:16px}.site-footer-brand p{margin:4px 0 0;font-size:13px}.site-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.site-footer-nav a{color:var(--muted);font-size:13px;text-decoration:none}.site-footer-nav a:hover{color:var(--primary)}.site-footer-copyright{font-size:12px}.skeleton{position:relative;overflow:hidden;background:#e2e8f0;border-radius:8px;min-height:16px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal,.modal-mask.show{display:flex}.modal{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.28);overflow:hidden;max-height:100%;flex-direction:column}.modal-footer,.modal-header{flex:0 0 auto}.modal-danger-copy{color:var(--muted);margin:0}.modal-danger-copy strong{color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:20px;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 20px;background:#f8fafc;border-top:1px solid var(--border)}@media (max-width:560px){.modal-footer{justify-content:stretch}.modal-footer .btn{flex:1 1 100%}}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#0f172a;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 16px 36px rgba(15,23,42,.25);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s ease;max-width:340px;font-size:14px;display:flex;align-items:center;gap:12px}.toast.show{transform:translateY(0);opacity:1;pointer-events:auto}.toast button{border:none;background:transparent;color:#93c5fd;font-weight:800;padding:0;white-space:nowrap}.modal.modal-wide{width:min(980px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column}.modal.modal-wide .modal-body{overflow:auto}.admin-preview-article .article-detail-header{margin-bottom:14px;padding:24px}.admin-preview-article .article-body{padding:24px}.task-overview-card{min-width:0;overflow:hidden}.task-percent{color:var(--primary);font-size:18px;white-space:nowrap}.task-progress{height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.task-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#10b981)}.task-empty-line{color:var(--muted);font-size:13px;font-weight:700}.task-manager-card-modern{grid-template-columns:auto minmax(0,1fr);align-items:start}.task-card-main{min-width:0}.task-card-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.task-priority-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}.task-priority-high{background:color-mix(in srgb,#dc2626 12%,var(--card));color:color-mix(in srgb,#dc2626 55%,var(--text))}.task-priority-medium{background:var(--primary-light);color:var(--primary)}.task-priority-low{background:color-mix(in srgb,var(--text) 8%,var(--card));color:var(--muted-strong)}.task-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);color:var(--muted);font-size:12px}.task-card-type-tag{padding:3px 9px;border-radius:999px;background:#f1f5f9;color:var(--muted);font-weight:700}.task-due-overdue{color:color-mix(in srgb,#dc2626 60%,var(--text));font-weight:700}body[data-theme=dark] .task-card-type-tag{background:rgba(148,163,184,.16)}.task-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.task-card-actions .btn{padding:7px 10px;font-size:12px}.task-card-actions .task-card-delete{background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.35)}.task-card-actions .task-card-delete:hover{background:var(--danger);color:#fff}.upload-drop-zone{display:grid;grid-gap:8px;gap:8px;border:1px dashed var(--border);border-radius:var(--radius-md);padding:14px;background:#f8fafc;margin-bottom:14px}.upload-drop-zone p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.settings-action-row,.settings-basic-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.icon-recommend-card strong{font-size:12px;color:var(--muted)}.mobile-bottom-nav,.mobile-menu-btn,.sidebar-overlay{display:none}.back-to-top{display:flex;position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);box-shadow:var(--shadow);font-size:18px;line-height:1;align-items:center;justify-content:center;z-index:20;cursor:pointer}.back-to-top:hover{background:var(--primary-light);color:var(--primary)}@media (max-width:1100px){.hero{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}.article-grid{grid-template-columns:repeat(2,1fr)}.editor-layout,.editor-workspace,.focus-editor-layout,.setting-grid,.tag-admin-layout,.template-editor-grid{grid-template-columns:1fr}.template-admin-layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.tag-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-workspace{height:auto;min-height:0;overflow:visible}.editor-pane,.preview-pane{height:460px}.focus-editor-page{height:auto;min-height:0;overflow:visible}.focus-pane{height:460px}.about-grid,.admin-manage-grid,.article-detail-layout,.private-note-detail-layout,.public-admin-layout,.settings-layout,.task-board,.task-manager-toolbar,.user-management-toolbar{grid-template-columns:1fr}.public-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-stat-grid,.user-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-admin-stat{padding:12px}.public-admin-tabs{position:static;display:flex;overflow-x:auto}.public-admin-tabs button{white-space:nowrap}.settings-tabs{position:static;display:flex;overflow-x:auto}.settings-tabs button{white-space:nowrap}}@media (max-width:820px){.public-header{padding:env(safe-area-inset-top,0) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.public-actions,.public-nav{display:none}.logo{margin-left:auto}.public-actions{display:flex;flex:none!important;width:-moz-fit-content!important;width:fit-content!important}.public-actions .btn{display:none}.mobile-public-menu{display:inline-flex}.public-nav.mobile-open{position:fixed;left:16px;right:16px;top:76px;display:grid;background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(124,58,237,.94));border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:12px;box-shadow:var(--shadow);z-index:50}.settings-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.settings-tabs button{white-space:normal;text-align:center;min-height:44px}.public-main{padding:22px 16px calc(70px + env(safe-area-inset-bottom))}.hero-card{padding:26px}.article-grid,.category-grid{grid-template-columns:1fr}.sidebar-footer,.stat-grid{display:none}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);border-top:1px solid var(--border);padding:4px max(4px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));box-shadow:0 -8px 20px rgba(15,23,42,.08)}.mobile-bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border-radius:var(--radius-sm);color:var(--muted);font-size:11px;font-weight:600;text-align:center}.mobile-bottom-nav-icon{font-size:20px;line-height:1}.mobile-bottom-nav-item.active,.mobile-bottom-nav-item.emphasized{color:var(--primary)}.mobile-bottom-nav-item.emphasized .mobile-bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-22px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark,var(--primary)));box-shadow:0 6px 16px rgba(37,99,235,.35);color:#fff;font-size:20px}.mobile-bottom-nav-item.emphasized.active{color:var(--primary)}.back-to-top{bottom:calc(76px + env(safe-area-inset-bottom))}.btn{min-height:44px;padding:12px 16px}.modal{max-height:85vh;overflow-y:auto;border-radius:18px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.auth-page{grid-template-columns:1fr}.auth-intro{min-height:auto;padding:28px}.article-detail-actions{align-items:stretch;gap:10px}.article-detail-actions-left{width:100%}.article-detail-actions-left .btn,.article-reader-entry{flex:1 1 auto;min-width:0}.article-reader-entry{width:100%;min-height:42px}.article-detail-header{padding:24px}.article-detail-header h1,.article-detail-title{font-size:clamp(23px,7vw,28px);line-height:1.28;text-wrap:auto}.article-body{padding:24px;font-size:14.5px;line-height:1.78}.article-body h1{font-size:23px}.article-body h2{font-size:19px}.toc-toggle{display:inline-flex}.toc-card{position:static}.toc-card.mobile-collapsed{display:none}.focus-template-row,.focus-toolbar,.focus-toolbar-left,.focus-toolbar-right,.tag-toolbar,.template-form-actions,.template-selector-row,.template-toolbar{display:grid;grid-template-columns:1fr;width:100%}.focus-title{min-width:0;width:100%}.admin-shell,.project-detail-grid,.tag-card-grid,.tag-stats-grid,.timeline-item{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:0;top:0;width:270px;transform:translateX(-110%);transition:.25s ease;box-shadow:var(--shadow)}.admin-sidebar.show{transform:translateX(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.36);z-index:25}.mobile-menu-btn{display:inline-flex}.admin-topbar{padding:env(safe-area-inset-top,0) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))}.admin-search{display:none}.admin-content{padding:16px 16px calc(70px + env(safe-area-inset-bottom))}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-card{padding:12px 12px 12px 14px}.dashboard-card span{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card strong{font-size:20px}.notes-layout{grid-template-columns:1fr}.category-filter{display:flex;flex-wrap:wrap;gap:8px}.category-filter button{width:auto;flex:0 0 auto}.notes-layout .category-tree,.notes-layout .note-preview{position:static;max-height:none;overflow:visible}.about-repeat-row,.about-repeat-row.wide,.admin-content-row,.modal-form-grid,.task-manager-card{grid-template-columns:1fr}.task-manager-actions{justify-content:flex-start}.notes-toolbar .input,.notes-toolbar .select{flex-basis:100%}.note-row{grid-template-columns:1fr}.note-actions{justify-content:flex-start}.page-title,.panel-header{flex-direction:column}.panel-header{align-items:flex-start}.panel-header>div:last-child{width:100%}.panel-header .btn{flex:1 1 auto}.admin-top-actions .btn-secondary:nth-child(2),.product-status{display:none}.title-input{font-size:24px}.table-wrapper{display:none}.category-mobile-cards{display:grid}}@media (max-width:480px){.public-header .logo-text{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:0}.public-header .logo-text:after{content:"知识库";font-size:18px}.admin-top-actions .btn-secondary{display:none}.admin-top-actions{gap:8px}.theme-toggle{min-width:44px;padding:9px}.theme-toggle-text{display:none}.settings-tabs{grid-template-columns:1fr}.settings-action-row .btn,.settings-basic-actions .btn,.task-card-actions .btn{width:100%}}@media (max-width:720px){.about-editor-two,.about-repeat-row,.about-repeat-row.timeline-row,.about-repeat-row.triple,.reward-editor-grid,.reward-preview-card,.reward-public-card,.task-group-tabs,.task-panel-list{grid-template-columns:1fr}.task-group-tab{min-height:auto}.about-repeat-row{align-items:stretch}}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.admin-sidebar,.admin-topbar{background:#ffffff}.public-header{background:linear-gradient(135deg,#2563eb,#7c3aed)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.article-reader-page{min-height:100vh;background:var(--bg);padding:32px clamp(16px,4vw,48px)}.article-reader-layout{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:24px;gap:24px;align-items:start}.article-reader-body{min-width:0}@media (max-width:900px){.article-reader-layout{grid-template-columns:1fr}.article-reader-page{padding:18px 12px}}.focus-editor-page{width:100%;min-width:0}.focus-editor-layout,.focus-statusbar,.focus-template-row,.focus-toolbar{min-width:0}.focus-toolbar-left{flex:1 1 260px}.focus-toolbar-right{min-width:0;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}.focus-template-row .btn,.focus-template-row .select{min-width:0}.focus-toolbar-right .select{flex:0 0 auto;width:auto}.focus-toolbar-right .btn{flex-shrink:0}.focus-pane .focus-preview,.focus-pane textarea{width:100%;box-sizing:border-box}.focus-preview{height:100%}.article-grid .article-card h3,.article-grid .article-card-title,.public-articles-title h2{overflow-wrap:anywhere;word-break:break-word}@media (max-width:820px){.focus-template-row,.focus-toolbar,.focus-toolbar-left,.focus-toolbar-right{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.focus-template-row .btn,.focus-template-row .select,.focus-toolbar-right .btn,.focus-toolbar-right .select{width:100%}.focus-editor-layout{overflow:visible}.focus-editor-layout,.focus-editor-page.edit-only .focus-editor-layout,.focus-editor-page.preview-hidden .focus-editor-layout,.focus-editor-page.preview-only .focus-editor-layout{grid-template-columns:minmax(0,1fr)}.focus-pane{height:min(62vh,520px)}.focus-statusbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}}.solo-writer-page{min-width:0}.solo-writer-title-row{align-items:flex-start;gap:16px}.solo-writer-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.solo-writer-card{display:flex;flex-direction:column;gap:14px;padding:18px;min-height:calc(100vh - 260px);min-width:0}.solo-writer-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}.solo-writer-meta .select{flex:0 0 160px}.solo-writer-title-input{flex:1 1 240px;min-width:0;font-size:22px;font-weight:800}.solo-writer-editor{flex:1 1 auto;min-height:520px;resize:vertical;font-family:var(--mono);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.solo-writer-statusbar{display:flex;flex-wrap:wrap;gap:12px}@media (max-width:820px){.solo-writer-actions,.solo-writer-meta,.solo-writer-title-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.solo-writer-card{min-height:auto}.solo-writer-editor{min-height:62vh}}.writer-page{min-width:0}.writer-page-title{align-items:flex-start;gap:16px;margin-bottom:14px}@media (max-width:820px){.writer-page-title{display:grid;grid-template-columns:minmax(0,1fr)}}#admin-focusWriter.writer-page{overflow:visible!important}#admin-focusWriter .focus-statusbar,#admin-focusWriter .focus-template-row,#admin-focusWriter .focus-toolbar,#admin-focusWriter .writer-page-title{flex-shrink:0!important}#admin-focusWriter .focus-editor-page{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}#admin-focusWriter .focus-template-row,#admin-focusWriter .focus-toolbar{margin-bottom:12px!important}#admin-focusWriter .focus-editor-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-gap:14px!important;gap:14px!important;align-items:stretch!important}#admin-focusWriter .focus-editor-layout,#admin-focusWriter .focus-pane{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}#admin-focusWriter .focus-pane{display:flex!important;flex-direction:column!important;min-width:0!important}#admin-focusWriter .pane-label{flex:0 0 auto}#admin-focusWriter .focus-editor,#admin-focusWriter .focus-preview{display:block!important;flex:0 0 auto!important;width:100%!important;min-height:55vh!important;height:55vh!important;max-height:none!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important}#admin-focusWriter .focus-editor{resize:vertical!important}#admin-focusWriter .focus-statusbar{margin-top:12px!important;position:static!important;background:var(--soft-bg)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;padding:12px 14px!important}#admin-focusWriter .focus-editor-page.edit-only .focus-editor-layout,#admin-focusWriter .focus-editor-page.preview-hidden .focus-editor-layout,#admin-focusWriter .focus-editor-page.preview-only .focus-editor-layout{grid-template-columns:minmax(0,1fr)!important}@media (max-width:900px){#admin-focusWriter .focus-editor-layout{grid-template-columns:minmax(0,1fr)!important}#admin-focusWriter .focus-editor,#admin-focusWriter .focus-preview{min-height:50vh!important;height:50vh!important}}#soloWriterEditor.solo-writer-page{padding-bottom:160px!important;overflow:visible!important}#soloWriterEditor .solo-writer-card{min-height:0!important;overflow:visible!important}#soloWriterEditor .solo-writer-editor{min-height:70dvh!important;padding-bottom:180px!important;overflow-y:auto!important;scroll-padding-bottom:180px!important}.content-cover-image{display:block;width:100%;object-fit:cover;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(14,165,233,.08))}.content-cover-placeholder{min-height:120px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--border);font-size:13px}.article-card-cover{height:150px;border-radius:18px;margin:-4px 0 14px;border:1px solid var(--border)}.article-card-author{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--muted);font-size:13px;font-weight:600}.article-card-author .user-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.article-card-with-cover{overflow:hidden}.private-note-cover{max-height:280px;border-radius:22px;margin:0 0 22px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.note-row-with-cover{grid-template-columns:108px minmax(0,1fr) auto;align-items:stretch}.note-row-cover{width:108px;height:92px;border-radius:16px;border:1px solid var(--border);flex-shrink:0}.note-row-main{min-width:0}.note-preview-hidden-hint,.note-row-hidden-hint{color:var(--muted);font-style:italic}.note-preview-hidden-hint{margin:12px 0;padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--soft-bg);font-size:14px;line-height:1.7}.note-preview-cover{height:150px;border-radius:18px;margin:12px 0;border:1px solid var(--border)}@media (max-width:720px){.article-card-cover{height:132px}.private-note-cover{max-height:220px;border-radius:18px}.note-row-with-cover{grid-template-columns:1fr}.note-row-cover{width:100%;height:140px}}.article-action-row,.article-detail-social-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.article-action-button{border:1px solid rgba(37,99,235,.18);background:rgba(37,99,235,.06);color:var(--text);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.article-action-button:hover:not(:disabled):not(.active){transform:translateY(-1px);border-color:rgba(37,99,235,.38);background:rgba(37,99,235,.12)}.article-action-button.active{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:transparent;color:#fff}.article-action-button.active:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.article-action-button:disabled{cursor:not-allowed;opacity:.65}.reward-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.reward-public-card{align-items:flex-start}.reward-public-main{min-width:0;display:grid;grid-gap:14px;gap:14px}.reward-public-stats{display:flex;gap:12px;flex-wrap:wrap}.reward-public-stats div{min-width:110px;padding:12px 14px;border-radius:16px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.12)}.reward-public-stats strong{display:block;font-size:24px;color:var(--text)}.reward-public-stats span{font-size:12px;color:var(--muted);font-weight:700}.reward-supporter-marquee{display:flex;gap:10px;overflow:hidden;white-space:nowrap;max-width:100%}.reward-supporter-marquee span{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:rgba(16,185,129,.1);color:var(--text);font-size:12px;font-weight:700;animation:reward-supporter-float 10s linear infinite}@keyframes reward-supporter-float{0%{transform:translateX(0)}to{transform:translateX(-40px)}}.reward-ranking-list{border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:14px;background:rgba(248,250,252,.72)}.reward-ranking-list>strong{display:block;margin-bottom:10px}.reward-ranking-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dashed rgba(148,163,184,.24);color:var(--muted);font-size:13px;font-weight:700}.reward-ranking-item em{font-style:normal;color:var(--text)}body.dark-theme .reward-ranking-list,body[data-theme=dark] .reward-ranking-list{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.22)}body.dark-theme .article-action-button,body[data-theme=dark] .article-action-button{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.22);color:#e5eefc}body.dark-theme .reward-public-stats div,body[data-theme=dark] .reward-public-stats div{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.18)}@media (max-width:760px){.reward-toggle-grid{grid-template-columns:1fr}}.home-page .eyebrow{background:rgba(37,99,235,.06);color:var(--muted);border:1px solid rgba(15,23,42,.06);letter-spacing:.02em;padding:7px 14px}body[data-theme=dark] .home-page .eyebrow{border-color:rgba(255,255,255,.08)}.home-page .home-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;grid-gap:44px;gap:44px;align-items:center;padding:56px 48px;border-radius:28px;border:1px solid var(--border);background-color:var(--bg);background-image:radial-gradient(ellipse 720px 420px at 12% -8%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 60%),radial-gradient(ellipse 560px 420px at 102% 12%,color-mix(in srgb,var(--purple) 20%,transparent),transparent 58%);color:var(--text)}.home-page .home-hero-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse 100% 90% at 30% 0,black 35%,transparent 85%);mask-image:radial-gradient(ellipse 100% 90% at 30% 0,black 35%,transparent 85%);pointer-events:none}.home-page .home-hero-glow{position:absolute;border-radius:50%;filter:blur(48px);pointer-events:none;opacity:.55}.home-page .home-hero-glow.g1{width:320px;height:320px;left:-60px;top:-40px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 45%,transparent),transparent 70%);animation:home-hero-drift 14s ease-in-out infinite}.home-page .home-hero-glow.g2{width:280px;height:280px;right:-40px;bottom:-60px;background:radial-gradient(circle,color-mix(in srgb,var(--purple) 42%,transparent),transparent 70%);animation:home-hero-drift 16s ease-in-out infinite reverse}@keyframes home-hero-drift{0%,to{transform:translate(0)}50%{transform:translate(24px,18px)}}.home-page .home-hero-feature,.home-page .home-hero-intro{position:relative;z-index:1}.home-page .home-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary)}.home-page .home-hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:home-hero-pulse 2s ease-out infinite}@keyframes home-hero-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 55%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 0%,transparent)}}.home-page .home-hero-intro h1{margin:0 0 18px;font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-.02em;font-weight:760;background:linear-gradient(135deg,var(--text) 6%,var(--primary) 58%,var(--purple) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-page .home-hero-intro>p{margin:0 0 26px;max-width:30em;color:var(--muted);font-size:17px;line-height:1.75}.home-page .home-hero .btn-primary{box-shadow:0 0 0 0 transparent;transition:box-shadow .25s ease,transform .2s ease}.home-page .home-hero .btn-primary:hover{box-shadow:0 6px 24px color-mix(in srgb,var(--primary) 45%,transparent);transform:translateY(-1px)}.home-page .home-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.home-page .home-hero-tags span{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;font-family:var(--mono);color:var(--purple);background:color-mix(in srgb,var(--purple) 12%,transparent);border:1px solid color-mix(in srgb,var(--purple) 26%,transparent)}.home-page .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.home-page .hero-actions .btn{padding:12px 22px;border-radius:12px;font-size:15px}.home-page .home-hero-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.home-page .home-quick-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:13px;font-weight:600;transition:color .2s ease,border-color .2s ease,transform .2s ease}.home-page .home-quick-chip:hover{color:var(--primary);border-color:rgba(37,99,235,.3);transform:translateY(-1px)}.home-page .home-quick-chip span{font-size:14px}.home-page .home-feature-card{display:block;overflow:hidden;border-radius:24px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 72%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.home-page .home-feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.home-page .home-feature-body{padding:22px 24px 24px}.home-page .home-feature-tags{display:flex;align-items:center;gap:8px;margin-bottom:12px}.home-page .home-feature-flag{font-size:11px;font-weight:700;color:var(--primary);background:rgba(37,99,235,.08);padding:3px 9px;border-radius:999px}.home-page .home-feature-body h2{margin:0 0 10px;font-size:21px;line-height:1.4}.home-page .home-feature-body p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-page .home-feature-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px}.home-page .home-feature-more{color:var(--primary);font-weight:700}.home-page .home-cover{display:flex;align-items:center;justify-content:center;width:72px;height:72px;min-width:72px;border-radius:14px;font-size:26px;font-weight:800;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.home-page .home-cover-lg{width:100%;height:190px;min-width:0;border-radius:0;font-size:60px}.home-page .home-cover.tone-indigo{background:#eef1fb;color:#5b6bd6}.home-page .home-cover.tone-teal{background:#e7f4f1;color:#2f9c8b}.home-page .home-cover.tone-sand{background:#f6efe4;color:#b9823a}.home-page .home-cover.tone-violet{background:#f2ecf8;color:#8a63c4}.home-page .home-cover.tone-slate{background:#eaeef3;color:#5a7189}body[data-theme=dark] .home-page .home-cover.tone-indigo{background:rgba(91,107,214,.18);color:#9aa6f0}body[data-theme=dark] .home-page .home-cover.tone-teal{background:rgba(47,156,139,.18);color:#6fd3c2}body[data-theme=dark] .home-page .home-cover.tone-sand{background:rgba(185,130,58,.2);color:#d8ab6a}body[data-theme=dark] .home-page .home-cover.tone-violet{background:rgba(138,99,196,.2);color:#bfa0e6}body[data-theme=dark] .home-page .home-cover.tone-slate{background:rgba(90,113,137,.22);color:#9db2c9}.home-page .home-hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:280px}.home-page .home-visual-stack{position:relative;width:200px;height:200px}.home-page .home-visual-card{position:absolute;inset:0;border-radius:22px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 65%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm)}.home-page .home-visual-card.c1{transform:rotate(-8deg) translate(-16px,8px);opacity:.45}.home-page .home-visual-card.c2{transform:rotate(6deg) translate(14px,-4px);opacity:.7}.home-page .home-visual-card.c3{display:flex;align-items:center;justify-content:center;font-size:66px;font-weight:800;color:var(--primary);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--purple) 10%,transparent))}.home-page .home-visual-caption{margin:0;color:var(--muted);font-size:13px;letter-spacing:.32em}.home-page .home-section{margin-top:54px}.home-page .home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.home-page .home-section-head h2{margin:0;font-size:25px;letter-spacing:-.01em}.home-page .home-section-head p{margin:7px 0 0;color:var(--muted);font-size:14px}.home-page .home-section-link{color:var(--primary);font-weight:700;font-size:14px;white-space:nowrap}.home-page .home-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.home-page .home-theme-card{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:18px;border:1px solid var(--border);background:var(--card);box-shadow:0 8px 28px rgba(15,23,42,.04);color:inherit;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-page .home-theme-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08);border-color:rgba(37,99,235,.16)}.home-page .home-theme-icon{width:44px;height:44px;min-width:44px;border-radius:13px;display:grid;place-items:center;background:rgba(37,99,235,.07);font-size:21px}body[data-theme=dark] .home-page .home-theme-icon{background:rgba(96,165,250,.12)}.home-page .home-theme-text h3{margin:2px 0 5px;font-size:16px}.home-page .home-theme-text p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.home-page .home-article-list{display:flex;flex-direction:column;gap:12px}.home-page .home-article-row{display:flex;align-items:center;gap:18px;padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--card);box-shadow:0 8px 28px rgba(15,23,42,.04);color:inherit;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-page .home-article-row:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08);border-color:rgba(37,99,235,.16)}.home-page .home-article-body{flex:1 1;min-width:0}.home-page .home-article-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.home-page .home-article-body h3{margin:0 0 6px;font-size:17px;line-height:1.45}.home-page .home-article-body p{margin:0 0 8px;color:var(--muted);font-size:13.5px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.home-page .home-article-meta{color:var(--muted);font-size:12px}.home-page .home-article-arrow{color:var(--muted);font-size:20px;transition:color .2s ease,transform .2s ease}.home-page .home-article-row:hover .home-article-arrow{color:var(--primary);transform:translateX(3px)}.home-page .home-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.home-page .home-project-grid .card{border-radius:20px;box-shadow:0 8px 28px rgba(15,23,42,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-page .home-project-grid .card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08);border-color:rgba(37,99,235,.16)}@media (max-width:900px){.home-page .home-hero{grid-template-columns:1fr;gap:30px;padding:40px 28px;border-radius:22px}.home-page .home-theme-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.home-page .home-hero{padding:32px 20px}.home-page .home-hero-glow{display:none}.home-page .home-theme-grid{grid-template-columns:1fr}.home-page .home-article-row{flex-direction:column;align-items:flex-start;gap:12px}.home-page .home-cover{width:100%;height:120px}.home-page .home-article-arrow{display:none}}.quick-sheet-mask{position:fixed;inset:0;z-index:120;background:rgba(15,23,42,.46);display:flex;align-items:flex-end;justify-content:center;animation:quick-sheet-fade .2s ease}@keyframes quick-sheet-fade{0%{opacity:0}to{opacity:1}}.quick-sheet{width:100%;max-width:560px;max-height:86vh;overflow-y:auto;background:var(--card);border-radius:22px 22px 0 0;padding:10px 20px max(18px,env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(15,23,42,.18);animation:quick-sheet-rise .26s cubic-bezier(.32,.72,0,1)}@keyframes quick-sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quick-sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--border-dark);margin:4px auto 12px}.quick-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-sheet-head h2{margin:0;font-size:17px}.quick-sheet-close{width:36px;height:36px;min-width:36px;border:none;border-radius:10px;background:transparent;color:var(--muted);font-size:15px;cursor:pointer}.quick-sheet-close:active{background:var(--soft-bg)}.quick-sheet-hint{margin:6px 0 12px;color:var(--muted);font-size:12.5px;line-height:1.6}.quick-sheet-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.quick-sheet-chip{padding:8px 18px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.quick-sheet-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.quick-sheet-textarea{width:100%;box-sizing:border-box;min-height:120px;resize:none;border:1px solid var(--border);border-radius:14px;background:var(--soft-bg);color:var(--text);padding:12px 14px;font-size:15px;line-height:1.7;font-family:inherit}.quick-sheet-textarea:focus{outline:2px solid var(--primary-light);border-color:var(--primary)}.quick-sheet-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.quick-sheet-count{color:var(--muted);font-size:12px;white-space:nowrap}.quick-sheet-save{flex:1 1;max-width:240px}button.mobile-bottom-nav-item{border:none;background:none;font:inherit;cursor:pointer}body[data-theme=dark] .quick-sheet-mask{background:rgba(0,0,0,.6)}.life-plaza-entry{display:flex;justify-content:flex-end;margin-bottom:10px}.life-plaza-link{color:var(--primary);font-size:13px;font-weight:600;text-decoration:none}.life-plaza-link:hover{text-decoration:underline}.daily-digest{margin:18px 0;padding:20px 22px}.daily-digest h2{margin:0 0 14px;font-size:15px}.daily-digest-stats{display:flex;gap:26px;flex-wrap:wrap}.daily-digest-stat{display:flex;flex-direction:column;align-items:center;min-width:70px}.daily-digest-stat strong{font-size:22px;line-height:1;color:var(--primary)}.daily-digest-stat span{margin-top:6px;color:var(--muted);font-size:12px}.daily-digest-keywords{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.today-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin:18px 0 0}.today-hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 22px}.today-hub-card h2{margin:0;font-size:15px}.today-hub-metric{margin:4px 0 0;font-size:26px;font-weight:700;color:var(--primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-hub-hint{color:var(--muted);font-size:12.5px}.today-hub-overrun-hint{margin:2px 0 0;padding:6px 10px;border-radius:var(--radius-sm);background:rgba(245,158,11,.12);color:#b45309;font-size:12.5px}.today-hub-celebrate{margin:4px 0 12px;color:var(--primary);font-weight:600;font-size:13.5px}.today-hub-card .btn{margin-top:10px}.today-hub-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;margin:18px 0}.today-hub-column{display:grid;grid-gap:16px;gap:16px;align-content:start;min-width:0}.today-hub-ai,.today-hub-goals,.today-hub-review,.today-hub-tasks{margin:0;padding:20px 22px}.today-hub-goals-head,.today-hub-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.today-hub-goals-head{justify-content:space-between;margin-bottom:12px}.today-hub-ai h2,.today-hub-goals-head h2,.today-hub-review h2,.today-hub-tasks h2{margin:0;font-size:15px}.today-hub-goal-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.today-hub-goal-row input[type=text]{flex:1 1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text)}.today-hub-task-form{display:flex;gap:10px;margin:12px 0 18px;flex-wrap:wrap}.today-hub-task-form input[type=text]{flex:1 1;min-width:160px}.today-hub-task-form input[type=text],.today-hub-task-form select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text)}.today-hub-task-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:18px;gap:18px}.today-hub-task-group h3{margin:0 0 8px;font-size:13.5px;color:var(--muted)}.today-hub-task-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.today-hub-task-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card)}.today-hub-task-item label{display:flex;align-items:center;gap:8px;font-size:13.5px}.today-hub-task-item.done span{color:var(--muted);text-decoration:line-through}.today-hub-task-item button{border:none;background:none;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-size:13px;padding:6px 8px;line-height:1}.today-hub-task-item button:hover{background:rgba(239,68,68,.1);color:var(--danger)}.today-hub-review textarea{width:100%;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);resize:vertical}.today-hub-inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.today-hub-inline-actions .btn-danger{margin-left:20px}.life-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;flex-wrap:wrap}.life-hero-date{display:inline-block;margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:600}.life-hero-main h1{margin:0 0 6px;font-size:22px}.life-hero-main p{margin:0;color:var(--muted);font-size:13.5px}.life-hero-streak{display:flex;flex-direction:column;align-items:center;min-width:110px;padding:14px 18px;border-radius:var(--radius-lg);background:rgba(37,99,235,.07)}.life-hero-streak strong{font-size:30px;line-height:1;color:var(--primary)}.life-hero-streak span{margin-top:6px;color:var(--muted);font-size:12px}.life-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.life-actions>.btn{flex:1 1 168px;justify-content:center}.life-actions>.btn:only-child{flex:0 0 auto}.life-moment-composer{padding:20px;margin-bottom:18px;display:grid;grid-gap:12px;gap:12px}.life-moment-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:700}.life-moment-header-date{color:var(--text)}.life-moment-header-locating{font-style:italic}.life-moment-textarea{width:100%;min-height:96px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--text);font-size:14px;line-height:1.6;resize:vertical}.life-moment-composer-images{display:flex;flex-wrap:wrap;gap:8px}.life-moment-composer-image{position:relative;width:76px;height:76px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.life-moment-composer-image img{width:100%;height:100%;object-fit:cover}.life-moment-composer-image button{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(15,23,42,.6);color:#fff;font-size:11px;line-height:1;cursor:pointer}.life-moment-file-input{display:none}.life-moment-composer-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.life-moment-milestone-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-weight:700}.life-moment-milestone-picker .select{width:auto;min-width:160px}.life-moment-milestone-tag{margin-bottom:10px;padding:6px 12px;border-radius:999px;background:rgba(245,158,11,.12);color:#b45309;font-size:12.5px;font-weight:700;display:inline-block}.studio-layout{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start;margin-top:18px}.studio-picker{padding:18px}.studio-picker h2{margin:0 0 12px;font-size:15px}.studio-picker-search{width:100%;box-sizing:border-box;margin-bottom:8px}.studio-picker-count{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:700}.studio-picker-excerpt{margin:2px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5;overflow-wrap:anywhere}.studio-picker-empty{margin:0;padding:16px;color:var(--muted);font-size:12.5px;text-align:center}.studio-picker-list{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow-y:auto}.studio-picker-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}.studio-picker-item:hover{border-color:rgba(37,99,235,.28)}.studio-picker-item.active{border-color:var(--primary);background:rgba(37,99,235,.06)}.studio-picker-item strong{font-size:13.5px}.studio-picker-item span{color:var(--muted);font-size:11.5px}.studio-picker-row{display:flex;align-items:center;gap:6px}.studio-picker-checkbox{color:var(--primary);font-size:14px}.studio-main{padding:20px 22px}.studio-main h2{margin:0 0 14px;font-size:15px}.studio-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.studio-type-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.studio-type-card:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.28)}.studio-type-card.active{border-color:var(--primary);background:rgba(37,99,235,.06)}.studio-type-icon{font-size:20px}.studio-type-card strong{font-size:13.5px}.studio-type-desc{color:var(--muted);font-size:11.5px;line-height:1.5}.studio-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 14px}.studio-hint{margin:0;padding:26px 18px;border:1px dashed var(--border-dark);border-radius:var(--radius-md);color:var(--muted);font-size:13px;text-align:center}.studio-hint-loading{display:flex;align-items:center;justify-content:center;gap:10px;border-style:solid;border-color:rgba(37,99,235,.24);color:var(--primary);font-weight:700}.studio-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(37,99,235,.22);border-top:2px solid var(--primary);animation:studio-spin .7s linear infinite;flex-shrink:0}@keyframes studio-spin{to{transform:rotate(1turn)}}.studio-result-wrap{position:relative}.studio-result-loading{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-md);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);color:var(--primary);font-size:13px;font-weight:700}body[data-theme=dark] .studio-result-loading{background:rgba(15,23,42,.72)}.studio-result-wrap.is-loading .studio-result{opacity:.5}.studio-result{margin:0;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg);color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;max-height:460px;overflow-y:auto}.studio-result-editable{display:block;width:100%;min-height:220px;resize:vertical;box-sizing:border-box}.studio-result-meta{margin:0 0 8px;color:var(--muted);font-size:12.5px}.studio-fallback-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:rgba(245,158,11,.15);color:var(--warning);font-size:11px;font-weight:600;vertical-align:middle}.studio-result-footer{margin:8px 0 0;color:var(--muted);font-size:12px}@media (max-width:900px){.studio-layout{grid-template-columns:1fr}.studio-picker-list{max-height:220px}.life-hero{align-items:flex-start}}.member-home{display:flex;flex-direction:column;gap:20px;padding:26px 0 6px}.member-home-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.member-home-date{display:inline-block;margin-bottom:6px;color:var(--muted);font-size:13px;font-weight:600}.member-home-head h1{margin:0 0 6px;font-size:clamp(24px,3vw,32px);letter-spacing:-.01em}.member-home-head p{margin:0;color:var(--muted);font-size:14px}.member-home-streak{display:flex;flex-direction:column;align-items:center;min-width:104px;padding:14px 18px;border-radius:var(--radius-lg);background:rgba(37,99,235,.07)}.member-home-streak strong{font-size:28px;line-height:1;color:var(--primary)}.member-home-streak span{margin-top:5px;color:var(--muted);font-size:12px}.member-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px}.member-stat-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.04)}.member-stat-icon{width:38px;height:38px;min-width:38px;border-radius:12px;display:grid;place-items:center;font-size:18px}.member-stat-icon.tone-work{background:rgba(37,99,235,.1)}.member-stat-icon.tone-study{background:rgba(139,92,246,.12)}.member-stat-icon.tone-life{background:rgba(16,185,129,.12)}.member-stat-icon.tone-total{background:rgba(245,158,11,.14)}.member-stat-card small{display:block;color:var(--muted);font-size:12px;font-weight:600}.member-stat-card strong{display:block;margin:3px 0 2px;font-size:22px;line-height:1.1}.member-stat-card em{font-style:normal;color:var(--muted);font-size:11.5px}.member-home-actions{display:flex;gap:10px;flex-wrap:wrap}.member-recent-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.member-recent-head h2{margin:0;font-size:17px}.member-recent-list{display:flex;flex-direction:column;gap:10px}.member-recent-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.member-recent-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(37,99,235,.2)}.member-recent-item strong{display:block;margin-bottom:4px;font-size:14.5px}.member-recent-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.member-recent-meta{color:var(--muted);font-size:12px;white-space:nowrap}@media (max-width:600px){.member-recent-item{flex-direction:column;align-items:flex-start;gap:8px}}.quick-sheet-file-input{display:none}.quick-sheet-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.quick-sheet-image{position:relative;width:72px;height:72px;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.quick-sheet-image img{width:100%;height:100%;object-fit:cover;display:block}.quick-sheet-image button{position:absolute;right:3px;top:3px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(15,23,42,.62);color:#fff;font-size:11px;line-height:1;cursor:pointer}.quick-sheet-image-btn{padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.quick-sheet-image-btn:disabled{opacity:.6;cursor:not-allowed}.quick-sheet-feedback{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:18px;margin:8px 0 4px;border-radius:16px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.16)}.quick-sheet-feedback-icon{font-size:20px;line-height:1.2}.quick-sheet-feedback strong{display:block;margin-bottom:4px;font-size:14.5px}.quick-sheet-feedback p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.quick-sheet-feedback-actions{display:flex;gap:10px;width:100%;margin-top:4px}.quick-sheet-feedback-actions .btn{flex:1 1}.badge-panel{margin-top:18px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.04)}.badge-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.badge-panel-head h2{margin:0 0 4px;font-size:16px}.badge-panel-head p{margin:0;color:var(--muted);font-size:13px}.badge-panel-head strong,.badge-streak{color:var(--primary)}.badge-streak{padding:6px 14px;border-radius:999px;background:rgba(37,99,235,.08);font-size:12.5px;font-weight:700;white-space:nowrap}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.badge-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 12px;border:1px dashed var(--border-dark);border-radius:var(--radius-md);background:var(--soft-bg);text-align:center;opacity:.62}.badge-card.unlocked{border-style:solid;border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.06);opacity:1}.badge-icon{font-size:24px;line-height:1}.badge-card strong{font-size:13.5px}.badge-desc{color:var(--muted);font-size:11.5px}.note-structured{margin:16px 0;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-bg)}.note-structured h3{margin:0 0 12px;font-size:14px;color:var(--primary)}.note-structured dl{margin:0;display:flex;flex-direction:column;gap:10px}.note-structured-row{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.note-structured-row dt{color:var(--muted);font-size:12.5px;font-weight:700}.note-structured-row dd{margin:0;font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}@media (max-width:600px){.note-structured-row{grid-template-columns:1fr;gap:3px}}.floating-time-tracker{position:fixed;top:76px;right:16px;z-index:60;display:flex;align-items:center;gap:8px;padding:8px 10px 8px 6px;border-radius:999px;background:var(--card);border:1px solid var(--border-dark);box-shadow:var(--shadow);font-size:13px;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.floating-time-tracker-drag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:var(--muted);cursor:-webkit-grab;cursor:grab;touch-action:none}.floating-time-tracker-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.floating-time-tracker-label{font-weight:700;white-space:nowrap}.floating-time-tracker-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;color:var(--primary);white-space:nowrap}.floating-time-tracker-stop{color:var(--text);padding:4px 10px;font-weight:700;white-space:nowrap}.floating-time-tracker-icon-btn,.floating-time-tracker-stop{border:1px solid var(--border-dark);background:var(--card);border-radius:999px;font-size:12px;cursor:pointer}.floating-time-tracker-icon-btn{width:24px;height:24px;flex:0 0 auto}.floating-time-tracker-close,.floating-time-tracker-icon-btn{display:inline-flex;align-items:center;justify-content:center;line-height:1}.floating-time-tracker-close{width:20px;height:20px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:12px}@media (max-width:480px){.floating-time-tracker{top:12px;right:12px}}.zigzag-rail{position:relative;max-width:860px;margin:24px auto 0;padding:4px 0 8px}.zigzag-rail:before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:2px;background:var(--border-dark);transform:translateX(-50%)}.zigzag-node{position:relative;width:calc(50% - 28px);margin-bottom:16px}.zigzag-node-left{margin-right:auto}.zigzag-node-right{margin-left:auto}.zigzag-dot{position:absolute;top:20px;width:12px;height:12px;border-radius:999px;background:var(--primary);border:3px solid var(--bg,var(--card));box-shadow:0 0 0 1px var(--border-dark)}.zigzag-node-left .zigzag-dot{right:-34px}.zigzag-node-right .zigzag-dot{left:-34px}.zigzag-node.is-milestone .zigzag-dot{background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 0 0 1px var(--border-dark),0 0 0 5px rgba(245,158,11,.22)}.zigzag-node.is-milestone .zigzag-summary{border-color:rgba(245,158,11,.5)}.zigzag-summary{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;text-align:left;cursor:pointer}.zigzag-node-left .zigzag-summary{align-items:flex-end;text-align:right}.zigzag-date{font-size:15px;font-weight:800;color:var(--text)}.zigzag-brief{font-size:12.5px;color:var(--muted)}.zigzag-toggle-icon{font-size:11.5px;color:var(--primary);font-weight:700}.zigzag-detail{margin-top:8px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;text-align:left}@media (max-width:720px){.zigzag-rail:before{left:6px}.zigzag-node,.zigzag-node-left,.zigzag-node-right{width:100%;margin-left:0;margin-right:0;padding-left:26px}.zigzag-node-left .zigzag-dot,.zigzag-node-right .zigzag-dot{left:0;right:auto}.zigzag-node-left .zigzag-summary,.zigzag-summary{align-items:flex-start;text-align:left}}.task-timeline-goals{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;font-size:13.5px}.task-timeline-goals li{display:flex;align-items:center;gap:8px}.task-timeline-goals li.done{color:var(--muted);text-decoration:line-through}.task-timeline-block{border-top:1px solid var(--border);padding-top:12px}.task-timeline-block h3{margin:0 0 6px;font-size:13.5px;color:var(--muted)}.task-timeline-block p{margin:0;font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}.life-moment-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.life-moment-content{margin:0 0 10px;font-size:13.5px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.life-moment-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-gap:8px;gap:8px}.life-moment-images img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.life-moment-actions{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.life-moment-actions .btn.active{background:#d1fae5;border-color:transparent;color:#047857}.life-day-group{display:contents}.life-day-label{width:-moz-fit-content;width:fit-content;margin:8px auto;padding:4px 14px;border-radius:999px;background:var(--soft-bg);color:var(--muted);font-size:12px;font-weight:700}.life-view-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.life-timeline-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.life-view-bar>.life-timeline-toolbar:not(:only-child){flex:1 1 auto}@media (max-width:560px){.life-timeline-toolbar{justify-content:stretch}.life-timeline-toolbar .btn{flex:1 1;justify-content:center}}.life-view-toggle{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:4px;padding:4px;margin-bottom:14px;border-radius:999px;background:var(--soft-bg)}.content-config-mode-row>.life-view-toggle,.life-view-bar>.life-view-toggle{margin-bottom:0}.life-view-toggle button{padding:7px 16px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease}.life-view-toggle button.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm)}.content-config-mode-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.life-map-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.life-map-date-select{min-width:140px}.life-map-toolbar .btn.active{color:#fff;background:var(--primary);border-color:var(--primary)}.life-map-date-nav{display:flex;align-items:center;gap:4px}.life-map-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.life-map-toolbar-actions>.btn{flex:1 1 140px;max-width:220px}.life-map-date-nav-btn{padding:6px 10px;line-height:1}.life-map-date-nav-btn:disabled{opacity:.35;cursor:not-allowed}.life-map-stats{margin:-4px 0 10px;font-size:13px;color:var(--text-secondary)}.life-map-container{height:420px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.life-map-container .leaflet-container{height:100%;width:100%}.life-map-milestone-marker{filter:hue-rotate(320deg) saturate(1.6) drop-shadow(0 0 3px rgba(245,158,11,.85))}.life-map-trail-order-icon,.life-map-trail-order-icon span{display:flex;align-items:center;justify-content:center}.life-map-trail-order-icon span{width:18px;height:18px;border-radius:50%;background:#f59e0b;color:#fff;font-size:10px;font-weight:700;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(0,0,0,.3)}.life-map-popup-milestone{margin-top:4px;color:#b45309;font-weight:600}.life-map-trail-line{animation:life-map-trail-flow 1s linear infinite}@keyframes life-map-trail-flow{to{stroke-dashoffset:-20}}.life-map-walker-icon{pointer-events:none}.life-map-walker-icon,.life-map-walker-icon span{display:flex;align-items:center;justify-content:center}.life-map-walker-icon span{width:30px;height:30px;border-radius:50%;background:#fff;font-size:18px;box-shadow:0 0 0 2px var(--primary),0 2px 6px rgba(0,0,0,.3);animation:life-map-walker-bounce .6s ease-in-out infinite}@keyframes life-map-walker-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.life-map-standalone-page{min-height:100vh;padding:16px clamp(16px,4vw,32px) 24px;background:var(--bg)}.life-map-standalone-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.life-map-standalone-header h1{margin:0;font-size:18px}.life-map-skeleton{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);border:1px solid var(--border);color:var(--text-secondary);font-size:14px;background:linear-gradient(90deg,var(--card) 25%,var(--bg) 37%,var(--card) 63%);background-size:400% 100%;animation:life-map-skeleton-shimmer 1.4s ease infinite}@keyframes life-map-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.life-year-review-milestones{display:grid;grid-gap:10px;gap:10px}.life-year-review-milestone-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(245,158,11,.06)}.life-year-review-milestone-icon{font-size:22px;line-height:1}.life-year-review-milestone-item p{margin:2px 0 0;color:var(--muted);font-size:13px}.life-year-summary p{margin:0;font-size:14px;line-height:1.8;white-space:pre-wrap}.admin-todo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.admin-todo-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card);text-decoration:none;color:inherit;transition:border-color .18s ease,transform .18s ease}.admin-todo-card:hover{border-color:var(--primary);transform:translateY(-1px)}.admin-todo-card span{font-size:13px;color:var(--muted)}.admin-todo-card strong{font-size:26px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-todo-card.is-active{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.07)}.admin-todo-card.is-active strong{color:var(--warning)}.admin-overview-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.admin-overview-panel{padding:18px}.admin-overview-breakdown{display:flex;flex-direction:column;gap:8px}.admin-overview-breakdown-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--bg)}.admin-overview-breakdown-row span{font-size:13px;color:var(--muted)}.admin-overview-breakdown-row strong{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-overview-log-list{display:flex;flex-direction:column;gap:10px}.admin-overview-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"action time" "detail time";grid-gap:2px 12px;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--border)}.admin-overview-log-row:last-child{border-bottom:none;padding-bottom:0}.admin-overview-log-row strong{grid-area:action;font-size:14px}.admin-overview-log-row p{grid-area:detail;margin:0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.admin-overview-log-row>span{grid-area:time;align-self:center;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:900px){.admin-overview-layout{grid-template-columns:minmax(0,1fr)}}.user-trusted-badge{margin-left:8px;padding:2px 8px;border:1px solid var(--primary);border-radius:999px;background:var(--soft-bg);color:var(--primary);font-size:12px;font-weight:600;line-height:1.6;vertical-align:middle}.user-row-locked,.user-trusted-badge{display:inline-flex;align-items:center;white-space:nowrap}.user-row-locked{justify-content:center;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;background:var(--bg);color:var(--muted);font-size:13px;cursor:help}.admin-log-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.admin-log-pager span{font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.studio-picker-empty-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.studio-picker-empty-wrap .btn{align-self:stretch;text-align:center}.studio-actions .save-status{margin-left:auto;align-self:center}@media (max-width:720px){.studio-actions .save-status{margin-left:0;flex-basis:100%}}.action-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:action-spin .7s linear infinite}@keyframes action-spin{to{transform:rotate(1turn)}}.btn.is-pending{opacity:.75;cursor:progress}.btn:disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){.action-spinner{animation:none}}.sidebar-toggle-btn{display:none}@media (min-width:821px){.sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:0 10px}.admin-shell.sidebar-collapsed{grid-template-columns:1fr}.admin-shell.sidebar-collapsed .admin-sidebar{display:none}}@media (orientation:landscape) and (max-height:500px){.home-page .home-hero{grid-template-columns:1.05fr .95fr;gap:22px;padding:22px 24px}.home-page .home-hero-glow{display:none}.home-page .home-hero-intro h1{font-size:clamp(22px,4.2vw,30px)}.home-page .home-hero-eyebrow{margin-bottom:12px}}.file-summary{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:14px 18px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.file-summary-item{display:flex;flex-direction:column;gap:2px;line-height:1.2}.file-summary-item strong{font-size:20px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-summary-item span{font-size:12px;color:var(--muted)}.file-summary-item.is-minor strong{font-size:15px;color:var(--muted)}.file-summary-divider{width:1px;align-self:stretch;background:var(--border)}.file-panel{display:grid;grid-gap:12px;gap:12px}.file-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-segment{display:inline-flex;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--text) 6%,transparent)}.file-segment button{padding:6px 14px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.file-segment button.is-active{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(15,23,42,.12)}.file-search{position:relative;display:flex;align-items:center;gap:6px;flex:1 1 200px;min-width:0}.file-search>span{position:absolute;left:10px;font-size:13px;opacity:.6;pointer-events:none}.file-search .input{padding-left:32px;padding-right:30px;height:36px}.file-search-clear{position:absolute;right:8px;border:none;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;padding:4px}.file-toolbar-tail{display:flex;align-items:center;gap:8px}.file-sort{height:36px;min-width:112px;font-size:13px}.file-view-toggle{display:inline-flex;padding:3px;border-radius:9px;background:color-mix(in srgb,var(--text) 6%,transparent)}.file-view-toggle button{width:30px;height:28px;border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.file-view-toggle button.is-active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px rgba(15,23,42,.12)}.file-chips{display:flex;flex-wrap:wrap;gap:8px}.file-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.file-chip:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--text)}.file-chip.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:600}.file-chip-count{font-size:11px;opacity:.75;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 14px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);font-size:13px}.file-batch-bar strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-trash-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-radius:var(--radius-md);background:color-mix(in srgb,#dc2626 8%,transparent);border:1px solid color-mix(in srgb,#dc2626 22%,transparent);color:var(--muted);font-size:12px}.file-list{display:grid;grid-gap:6px;gap:6px;margin-top:14px}.file-row{position:relative;display:grid;grid-template-columns:auto 40px minmax(0,1fr) auto auto auto auto auto;align-items:center;grid-gap:12px;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);transition:border-color .15s ease,background .15s ease}.file-row:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.file-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--card))}.file-row .file-select{position:static;opacity:1;width:auto;height:auto;background:transparent;box-shadow:none}.file-row-thumb{width:40px;height:40px;border-radius:8px;border:1px solid var(--border);overflow:hidden;display:grid;place-items:center;background:var(--soft-bg,#f1f5f9)}.file-row-thumb .file-thumb-icon{font-size:18px}.file-row-main{min-width:0}.file-row-main h3{font-size:13px;font-weight:600}.file-row-main h3,.file-row-main p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-main p{color:var(--muted);font-size:12px}.file-row .file-type-chip{position:static;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--muted);backdrop-filter:none;-webkit-backdrop-filter:none}.file-row .file-type-chip.is-pdf{color:#b91c1c;background:color-mix(in srgb,#b91c1c 12%,transparent)}.file-row .file-type-chip.is-image{color:#1d4ed8;background:color-mix(in srgb,#1d4ed8 12%,transparent)}.file-row-date,.file-row-refs,.file-row-size{color:var(--muted);font-size:12px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-row-size{min-width:62px;text-align:right}.file-row-date{min-width:130px}.file-row-refs{min-width:52px}.file-row-refs.is-idle{opacity:.5}@media (max-width:860px){.file-row{grid-template-columns:auto 40px minmax(0,1fr);row-gap:8px}.file-row-main{grid-column:3}.file-row .file-type-chip,.file-row-date,.file-row-refs,.file-row-size{grid-column:2/-1;display:inline-block;min-width:0;text-align:left}.file-row .file-type-chip{grid-column:2/3}.file-row-size{grid-column:3/-1}.file-row-date{grid-column:2/-1}.file-row-refs{display:none}.file-row .file-actions{grid-column:2/-1}}@media (max-width:620px){.file-summary{gap:12px;padding:12px 14px}.file-summary-divider{display:none}.file-summary-item strong{font-size:17px}.file-summary-item.is-minor strong{font-size:14px}.file-toolbar-tail{width:100%;justify-content:space-between}.file-sort{flex:1 1 auto}.file-grid{grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));gap:10px}.file-card{padding:8px}.file-name{font-size:12px}.file-desc{display:none}.file-meta{height:16px;flex-wrap:nowrap;overflow:hidden}.file-refs{display:none}}