:root{--color-bg:#fafafb;--color-surface:#fff;--layout-topbar-height:78px;--layout-viewport-height:100dvh;--color-text:#0e0e1a;--color-muted:#8a8f9c;--color-border:#e8e2ec;--color-primary:#7a2b91;--color-primary-hover:#67217c;--color-primary-soft:#f4f3f8;--color-success:#15803d;--color-success-bg:#eaf7ee;--color-danger:#b42318;--color-danger-bg:#fff1f0;--color-warning-bg:#fff7e6;--color-shadow:#0e0e1a14;--color-card-border:#f1f1f3;--shadow-card:0 0 4px var(--color-border);--color-home-bg:#f4f5f7;--color-header-bg:#0d0d0d;--layout-header-height:68px;--layout-home-content-max-width:1400px;--layout-home-sidebar-width:280px;--color-primary-gradient-start:#8b33a8;--color-primary-gradient-end:#6a2080;--gradient-primary:linear-gradient(135deg, var(--color-primary-gradient-start), var(--color-primary-gradient-end));--shadow-header:0 1px 8px #0006;--shadow-primary-button:0 2px 12px #7a2b9173;--color-header-nav-muted:#9ca3af;--color-header-icon:#d1d5db;--color-header-badge:#ef4444;--radius-post-card:8px;--radius-sidebar-panel:8px;--color-avatar-purple:#7a2b91;--color-avatar-blue:#1a7ab5;--color-avatar-orange:#c47d0e;--color-avatar-green:#2a7a5e;--font-family-sans:"Noto Sans SC", sans-serif;--font-family-brand:"Noto Serif SC", serif;--color-learning-page-bg:#f1f3f7;--gradient-learning-hero:linear-gradient(135deg, #0d0d20 0%, #1a1040 40%, #0d2040 100%);--gradient-learning-title:linear-gradient(135deg, #fff 0%, #a5b4fc 50%, #c4b5fd 100%);--gradient-learning-filter-active:linear-gradient(135deg, #6366f1, #8b5cf6);--layout-learning-padding-x:80px;--radius-learning-card:20px;letter-spacing:0;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-bg);min-width:1180px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit;text-decoration:none}#app{min-height:100svh}.app-shell{background:var(--color-bg);flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:30;height:var(--layout-topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-card-border);box-shadow:var(--shadow-card);align-items:center;gap:15px;padding:0 18px;display:flex;position:sticky;top:0}.topbar-icon-button,.topbar-avatar-button{width:38px;height:38px;color:var(--color-text);background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.topbar-icon-button:hover,.topbar-avatar-button:hover{background:var(--color-primary-soft)}.topbar-icon-button img,.topbar-avatar-button img{object-fit:contain;width:22px;height:22px}.topbar-avatar-button{width:30px;height:30px;color:inherit;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;text-decoration:none;display:inline-grid;overflow:hidden}.topbar-avatar-button img,.topbar-avatar-button .user-avatar{object-fit:cover;width:30px;height:30px}.topbar-icon-button .topbar-write-icon{object-fit:contain;width:18px;height:18px}.topbar-icon-button .topbar-bell-icon{object-fit:contain;width:20px;height:20px}.brand{color:var(--color-text);letter-spacing:.02em;white-space:nowrap;flex:none;align-items:center;gap:10px;font-size:17px;font-weight:800;display:inline-flex}.brand img{object-fit:contain;width:32px;height:32px}.topbar-actions{align-items:center;gap:14px;margin-left:auto;display:inline-flex}.login-register-button{color:#fff;background:var(--color-primary);border:0;border-radius:12px;min-height:38px;padding:0 22px;font-size:14px;font-weight:800}.login-register-button:hover{background:var(--color-primary-hover)}.app-body{flex:1;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.app-body.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.sidebar{top:var(--layout-topbar-height);width:260px;min-width:0;height:calc(100svh - var(--layout-topbar-height));background:var(--color-surface);border-right:1px solid var(--color-card-border);align-self:start;position:sticky;overflow:hidden auto}.app-body.sidebar-closed .sidebar{border-right:0;width:0}.side-nav{gap:8px;padding:8px 16px 12px;display:grid}.side-nav a,.side-nav button{width:100%;min-height:44px;color:var(--color-text);background:0 0;border:0;border-radius:12px;align-items:center;gap:15px;padding:0 18px;font-size:15px;font-weight:700;display:flex}.side-nav a:hover,.side-nav button:hover,.side-nav a.router-link-active{color:var(--color-primary);background:var(--color-primary-soft)}.side-nav img{object-fit:contain;width:20px;height:20px}.content-area{background:var(--color-bg);min-width:0;overflow-x:auto}.avatar-menu-wrap{position:relative}.avatar-menu-wrap:after{content:"";width:100%;height:8px;position:absolute;top:100%;right:0}.avatar-menu{background:var(--color-surface);border:1px solid #eee;border-radius:6px;min-width:140px;padding:8px;display:none;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 8px 20px #0e0e1a1f}.avatar-menu-wrap:hover .avatar-menu{display:grid}.avatar-menu a,.avatar-menu button{color:var(--color-text);text-align:left;background:0 0;border:0;padding:8px 10px;font-size:13px;font-weight:600}.avatar-menu a:hover,.avatar-menu button:hover{background:#f2f2f2}.global-toast{top:calc(var(--layout-topbar-height) + 12px);z-index:110;white-space:nowrap;pointer-events:none;background:#fff;border:none;border-radius:8px;margin:0;padding:12px 28px;font-size:14px;font-weight:600;line-height:1.5;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.global-toast.is-success{color:#22a055}.global-toast.is-error{color:#e05252}.page{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header h1{margin:0;font-size:22px;font-weight:700;line-height:1.25}.page-header p{color:var(--color-muted);margin:6px 0 0}@media (width<=1440px){.app-body,.app-body.sidebar-closed{grid-template-columns:minmax(1180px,1fr);min-height:0}.sidebar-drawer-mask{z-index:35;background:#0000005c;border:0;padding:0;display:block;position:fixed;inset:0}.sidebar{z-index:50;width:260px;height:var(--layout-viewport-height);min-height:100svh;box-shadow:none;background:var(--color-surface);border-right:0;align-self:auto;transition:transform .18s;position:fixed;inset:0 auto 0 0;overflow:hidden auto;transform:translate(0)}.app-body.sidebar-closed .sidebar{width:260px;height:var(--layout-viewport-height);border-right:0;min-height:100svh;transform:translate(-100%)}.side-nav{box-sizing:border-box;padding:calc(var(--layout-topbar-height) + 8px) 16px 12px;align-content:start}}.app-shell-home{background:var(--color-home-bg);font-family:var(--font-family-sans)}.home-header{z-index:50;height:var(--layout-header-height);background:var(--color-header-bg);box-shadow:var(--shadow-header);align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.home-header-brand{color:#fff;flex:none;align-items:center;gap:10px;margin-right:16px;display:inline-flex}.home-header-brand img{object-fit:contain;width:36px;height:36px}.home-header-brand span{font-family:var(--font-family-brand);letter-spacing:.02em;white-space:nowrap;font-size:17px;font-weight:900}.home-header-nav{align-items:center;gap:4px;display:inline-flex}.home-header-nav a,.home-header-nav button{color:var(--color-header-nav-muted);background:0 0;border:0;border-radius:6px;padding:8px 16px;font-size:15px;font-weight:500}.home-header-nav a:hover,.home-header-nav button:hover{color:#fff;background:#ffffff0d}.home-header-nav a.is-active{color:#fff;font-weight:700;position:relative}.home-header-nav a.is-active:after{content:"";background:#fff;border-radius:999px;height:2px;position:absolute;bottom:2px;left:16px;right:16px}.home-header-actions{align-items:center;gap:20px;margin-left:auto;display:inline-flex}.home-header-icon-button{background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid;position:relative}.home-header-icon-button:hover{background:#ffffff1a}.home-header-icon-button img{object-fit:contain;filter:brightness(0)invert(.82);width:20px;height:20px}.home-header-icon-button:hover img{filter:brightness(0)invert()}.home-header-badge{background:var(--color-header-badge);border-radius:999px;width:8px;height:8px;position:absolute;top:6px;right:6px}.home-header-login-button{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-primary-button);border:0;border-radius:999px;padding:10px 24px;font-size:15px;font-weight:600}.home-header-login-button:hover{filter:brightness(1.05)}.home-header-avatar-button{width:32px;height:32px;color:inherit;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;text-decoration:none;display:inline-grid;overflow:hidden}.home-header-avatar-button img,.home-header-avatar-button .user-avatar{object-fit:cover;width:32px;height:32px}.home-content-area:has(.task-detail-page){overflow:visible}.app-body-home{flex-direction:column;flex:1;min-height:0;display:flex}.home-content-area{background:var(--color-home-bg);min-width:0;overflow-x:auto}.home-content-area:has(.profile-center-shell){background:#f2f0f5;flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.site-icp-footer{text-align:center;background:0 0;flex-shrink:0;padding:14px 16px 18px}.site-icp-footer p{color:var(--color-muted);margin:0;font-size:12px;line-height:1.5}.site-icp-footer a{color:var(--color-muted);text-decoration:none}.site-icp-footer a:hover{color:var(--color-text);text-decoration:underline}.app-shell-home .global-toast{top:calc(var(--layout-header-height) + 12px)}.panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;padding:20px}.panel h2{margin:0;font-size:20px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.form{gap:16px;display:grid}.form label{color:var(--color-text);gap:6px;font-weight:600;display:grid}.form input,.form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-surface);border-radius:6px;padding:10px 12px}.form textarea,.submit-area textarea{resize:vertical}.form input:focus,.form textarea:focus,.form select:focus,.submit-area textarea:focus{border-color:var(--color-primary);outline:2px solid #bfdbfe}.form input:disabled,.form textarea:disabled{color:var(--color-muted);background:#f2f4f7}.form select{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-surface);border-radius:6px;padding:10px 12px}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-button,.text-button{border-radius:6px;min-height:38px;padding:8px 14px;font-weight:600}.primary-button{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.primary-button:hover{background:var(--color-primary-hover)}.text-button{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.text-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.danger-button{min-height:38px;color:var(--color-danger);background:var(--color-danger-bg);border:1px solid #ffccc7;border-radius:6px;padding:8px 14px;font-weight:600}.danger-button:hover{border-color:var(--color-danger)}.page-title-row{align-items:flex-start;gap:14px;display:flex}.back-button{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-muted);background:var(--color-surface);border-radius:6px;flex:none;place-items:center;display:inline-grid}.back-button:hover{color:var(--color-primary);border-color:var(--color-primary);background:#eef4ff}.back-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-button,.expand-button{border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface);border-radius:6px;place-items:center;display:inline-grid}.icon-button{width:38px;height:38px}.expand-button{width:38px;height:32px}.icon-button:hover,.expand-button:hover{color:var(--color-primary);border-color:var(--color-primary);background:#eef4ff}.icon-button svg,.expand-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.error-message,.success-message{border-radius:6px;margin:0 0 16px;padding:10px 12px;font-weight:600}.error-message{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid #ffccc7}.success-message{color:var(--color-success);background:var(--color-success-bg);border:1px solid #b7ebc6}.status-badge{color:var(--color-primary);background:#eef4ff;border-radius:999px;flex:none;padding:4px 10px;font-size:14px;font-weight:700}.audit-comment{color:#92400e;background:var(--color-warning-bg);border:1px solid #ffd591;border-radius:6px;margin-top:14px;padding:10px 12px}.submit-area{gap:12px;margin-top:16px;display:grid}.submit-area textarea{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px 12px}.submit-content{border:1px solid var(--color-border);background:#f8fafc;border-radius:6px;padding:14px}.submit-content strong{margin-bottom:8px;display:block}.submit-content p{color:var(--color-muted);white-space:pre-wrap;margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.status-badge{width:fit-content}}.auth-modal-mask{z-index:100;background:#0000006b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-dialog{box-sizing:border-box;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;width:min(450px,100vw - 32px);height:auto;min-height:500px;max-height:calc(100svh - 40px);padding:34px 38px;display:flex;position:relative;overflow:hidden auto;box-shadow:0 20px 60px #0e0e1a2e}.auth-close-button{color:#666;background:0 0;border:0;place-items:center;width:44px;height:44px;font-size:42px;line-height:1;display:inline-grid;position:absolute;top:22px;right:26px}.auth-close-button img{object-fit:contain;width:24px;height:24px}.auth-dialog h1{color:#000;letter-spacing:2px;margin:0;font-size:25px;line-height:1.2}.auth-subtitle{color:#666;letter-spacing:1px;margin:16px 0 32px;font-size:17px}.auth-dialog-form{gap:18px;display:grid}.auth-dialog-form input{width:100%;height:40px;color:var(--color-text);background:#fff;border:1px solid #eee;padding:0 18px;font-size:16px}.auth-dialog-form input:focus{border-color:var(--color-primary);outline:2px solid #7a2b912e}.password-action-group{gap:6px;display:grid}.forgot-password-button{color:var(--color-primary);background:0 0;border:0;justify-self:end;padding:0;font-size:14px}.forgot-password-button--inline{justify-self:end;margin-top:0}.auth-captcha-row{align-items:flex-end;gap:12px;display:flex}.auth-captcha-row .auth-underline-field{flex:1}.auth-captcha-image-button{cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 0 8px}.auth-captcha-image-button img{border-radius:4px;width:120px;height:40px;display:block}.agreement-row{color:#666;align-items:center;gap:8px;font-size:12px;line-height:1.5;display:flex}.agreement-checkbox-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.agreement-checkbox{background:#fff;border:2px solid #c7c7c7;border-radius:999px;flex:none;place-items:center;width:15px;height:15px;display:inline-grid}.agreement-checkbox-input:checked+.agreement-checkbox{border-color:var(--color-primary);background:var(--color-primary)}.agreement-checkbox-input:checked+.agreement-checkbox:after{content:"";background:#fff;border-radius:999px;width:5px;height:5px}.agreement-link,.auth-switch-text button,.agreement-reminder-links button{color:var(--color-primary);font:inherit;cursor:pointer;appearance:none;background:0 0;border:0;padding:0}.auth-submit-button{color:#fff;background:var(--color-primary);letter-spacing:2px;border:0;border-radius:999px;height:40px;font-size:16px}.auth-submit-button:hover:not(:disabled){background:var(--color-primary-hover)}.auth-submit-button:disabled{color:#fff;background:#d6b9df}.auth-switch-text{color:#666;text-align:center;margin:24px 0 0;font-size:16px}.agreement-reader-mask{z-index:20;background:#fff;position:absolute;inset:0}.agreement-reader-panel{background:#fff;width:100%;height:100%;padding:56px;position:relative;overflow-y:auto}.agreement-reader-panel h2{color:#000;margin:0 0 24px;font-size:28px}.agreement-reminder-dialog h2{color:var(--color-text);margin:0 0 14px;padding:0 28px;font-size:16px;font-weight:700;line-height:1.5}.agreement-reader-panel p,.agreement-reminder-dialog p{color:#666;margin:0;font-size:18px;line-height:1.8}.agreement-reminder-mask{z-index:30;background:#0000003d;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.agreement-reminder-dialog{text-align:center;background:#fff;border-radius:14px;width:min(320px,100%);padding:28px 24px 24px;position:relative;box-shadow:0 8px 24px #0e0e1a1f}.agreement-reminder-dialog .auth-close-button{width:32px;height:32px;font-size:22px;top:10px;right:10px}.agreement-reminder-dialog .auth-close-button img{width:18px;height:18px}.agreement-reminder-links{justify-content:center;gap:0;margin:0 0 20px;font-size:14px;font-weight:700;display:flex}.agreement-reminder-submit{letter-spacing:0;width:80%;max-width:220px;height:38px;margin:0 auto;font-size:14px;font-weight:800;display:block}.auth-dialog--forgot{justify-content:flex-start}.auth-dialog--forgot h1{margin-top:8px}.auth-forgot-body{flex-direction:column;gap:24px;margin-top:36px;margin-bottom:24px;display:flex}.auth-forgot-body .auth-switch-text{margin:0}.auth-forgot-form,.auth-underline-form{gap:15px;display:grid}.auth-underline-field{align-items:center;gap:8px;padding:0 16px 2px;display:flex;position:relative}.auth-underline-field input{min-width:0;height:40px;color:var(--color-text);background:0 0;border:0;flex:1;padding:0 0 8px;font-size:16px}.auth-underline-field input:focus{outline:none}.auth-underline-field input::placeholder{color:#bbb}.auth-underline-field:after{content:"";background:#e0e0e0;height:1px;transition:height .25s,background-color .25s;position:absolute;bottom:0;left:0;right:0}.auth-underline-field:focus-within:after{background:var(--color-primary);height:2px}.auth-underline-field--error:after{background:var(--color-danger);height:2px}.auth-underline-field--error:focus-within:after{background:var(--color-danger)}.auth-field-hint{color:var(--color-danger);margin:6px 16px 0;padding:0;font-size:12px;line-height:1.4}.auth-underline-field--email:after{transition:height .3s,background-color .3s,box-shadow .3s}.auth-underline-field--email:focus-within:after{box-shadow:0 1px #7a2b9140}.auth-code-field{align-items:flex-end;gap:12px}.auth-send-code-button{color:#bbb;white-space:nowrap;cursor:not-allowed;background:0 0;border:0;flex-shrink:0;padding:0 0 8px;font-size:14px;transition:color .2s}.auth-send-code-button.is-active{color:var(--color-primary);cursor:pointer}.auth-send-code-button:disabled{color:#bbb;cursor:not-allowed}.password-visibility-toggle{color:silver;cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;width:24px;height:24px;margin-bottom:6px;display:inline-grid}.password-visibility-icon{width:16px;height:16px}@media (width<=640px){.auth-dialog{padding:32px 24px}.auth-dialog h1{font-size:20px}.auth-subtitle{margin:16px 0 32px;font-size:15px}.auth-dialog-form input{height:40px;font-size:16px}.agreement-row{flex-wrap:wrap;align-items:flex-start;font-size:15px}.auth-submit-button{height:40px;font-size:16px}}.user-avatar{object-fit:cover;background:#f3f4f6;border-radius:50%;flex-shrink:0;display:block}.user-avatar--xs{width:20px;height:20px}.user-avatar--sm{width:28px;height:28px}.user-avatar--md{width:32px;height:32px}.user-avatar--lg{width:36px;height:36px}.user-avatar--xl{width:64px;height:64px}.auth-page{flex:1;place-items:center;padding:40px 16px;display:grid}.auth-panel{background:var(--color-surface);border:1px solid var(--color-border);width:min(420px,100%);box-shadow:0 12px 32px var(--color-shadow);border-radius:8px;padding:28px}.segmented{background:#eef1f5;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin:20px 0;padding:4px;display:grid}.segmented button{color:var(--color-muted);background:0 0;border:0;border-radius:6px;padding:9px 12px}.segmented button.active{color:var(--color-text);background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow)}@media (width<=760px){.auth-panel{padding:22px}}.home-page{box-sizing:border-box;width:100%;padding:24px var(--layout-learning-padding-x);background:var(--color-home-bg);font-family:var(--font-family-sans);gap:24px;display:flex}.home-feed{flex:1;min-width:0}.home-message{color:var(--color-primary);margin:0 0 16px;font-weight:600}.feed-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.feed-tabs button{color:#6b7280;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.feed-tabs button.active{color:#fff;background:var(--gradient-primary);border-color:#0000;font-weight:600;box-shadow:0 4px 6px #00000014}.post-card{cursor:pointer;background:#fff;border:1px solid #eef0f3;border-radius:8px;align-items:stretch;gap:20px;margin-bottom:12px;padding:18px 20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 3px #0f172a0a}.post-card:hover{border-color:#e9d5ff;box-shadow:0 4px 12px #7a2b9114}.post-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.post-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.post-avatar{object-fit:cover;background:#f3f4f6;border-radius:50%;flex-shrink:0;width:32px;height:32px}.post-category-tag{color:#7a2b91;white-space:nowrap;background:#7a2b911a;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:500}.post-title{color:#111827;margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.45;transition:color .15s}.post-card:hover .post-title{color:#7a2b91}.post-summary{color:#6b7280;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 14px;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.post-footer{color:#9ca3af;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:12px;display:flex}.post-time{color:#9ca3af;white-space:nowrap;font-size:12px}.post-stats{flex-shrink:0;align-items:center;gap:14px;display:flex}.post-action-static{cursor:default;pointer-events:none}.post-action-like:hover{color:var(--color-primary)}.post-action-like .post-like-icon{opacity:.75;width:14px;height:14px}.post-action-favorite:hover,.post-action-favorite.is-favorited{color:#ea580c}.post-action-favorite:hover img,.post-action-favorite.is-favorited img{opacity:1}.post-cover{background:#f3f4f6;border-radius:8px;flex-shrink:0;align-self:center;width:132px;height:96px;overflow:hidden}.post-cover img{object-fit:cover;border-radius:8px;width:100%;height:100%;transition:transform .25s;display:block}.post-card:hover .post-cover img{transform:scale(1.03)}.home-rightbar{width:var(--layout-home-sidebar-width);flex:0 0 var(--layout-home-sidebar-width)}.rightbar-panel{background:#fff;border:1px solid #f3f4f6;border-radius:8px;margin-bottom:16px;padding:16px 20px;box-shadow:0 1px 3px #0000000f}.rightbar-panel-title{color:#1f2937;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:600;display:flex}.rightbar-panel-accent{background:var(--gradient-primary);border-radius:999px;width:4px;height:16px}.community-stats-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.community-stat-item{gap:4px;display:grid}.community-stat-item strong{color:var(--color-primary);font-size:20px;font-weight:700}.community-stat-item span{color:#6b7280;font-size:12px}.hot-post-list{gap:12px;display:grid}.hot-post-item{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:10px;padding:0;display:flex}.hot-post-rank{color:#999;background:#f0f0f0;border-radius:4px;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-grid}.hot-post-rank.is-top{color:#fff;background:var(--gradient-primary)}.hot-post-content{gap:4px;min-width:0;display:grid}.hot-post-title{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.45;transition:color .15s;overflow:hidden}.hot-post-item:hover .hot-post-title{color:var(--color-primary)}.hot-post-views{color:#9ca3af;font-size:12px;font-style:normal;font-weight:400}.topic-list{flex-wrap:wrap;gap:8px;display:flex}.topic-tag{color:#555;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.topic-tag:hover{color:#9333ea;background:#faf5ff;border-color:#c084fc}.topic-tag-hash{opacity:.6;font-size:11px}.post-detail-page{width:min(var(--layout-home-content-max-width), calc(100% - 48px));background:var(--color-home-bg);font-family:var(--font-family-sans);align-items:flex-start;gap:24px;margin:0 auto;padding:24px;display:flex}.post-detail-main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.post-article-card,.post-comment-card{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:24px 28px;box-shadow:0 1px 3px #0f172a0a}.post-article-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.post-back-btn{background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:inline-grid}.post-back-btn:hover{background:var(--color-primary-soft)}.post-back-btn img{object-fit:contain;width:18px;height:18px}.post-article-title{color:#111827;margin:0;font-size:20px;font-weight:700;line-height:1.4}.post-article-author{align-items:center;gap:10px;margin-bottom:18px;display:flex}.post-author-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:inline-grid}.post-author-meta{flex-direction:column;gap:2px;display:flex}.post-author-name{color:#374151;font-size:14px;font-weight:600}.post-author-sub{color:#9ca3af;align-items:center;gap:12px;font-size:12px;display:flex}.post-author-views{align-items:center;gap:4px;display:inline-flex}.post-author-views img{opacity:.75;width:13px;height:13px}.post-article-body{margin-bottom:20px}.post-article-body p{color:#374151;margin:0 0 14px;font-size:14px;line-height:1.85}.post-article-body p:last-child{margin-bottom:0}.post-article-rich-content{color:#374151;font-size:14px;line-height:1.85}.post-article-rich-content h1,.post-article-rich-content h2,.post-article-rich-content h3{color:#111827;margin:0 0 12px}.post-article-rich-content blockquote{border-left:3px solid var(--color-primary);color:#6b7280;margin:0 0 14px;padding-left:12px}.post-article-rich-content pre{white-space:pre-wrap;background:#f3f4f6;border-radius:8px;margin:0 0 14px;padding:12px;font-family:Consolas,monospace;font-size:13px}.post-article-rich-content ul,.post-article-rich-content ol{margin:0 0 14px;padding-left:22px}.post-article-rich-content a{color:var(--color-primary)}.post-comment-box{align-items:center;gap:12px;margin-bottom:16px;display:flex}.post-comment-input{border:1px solid var(--color-border);min-width:0;height:40px;color:var(--color-text);background:#f9fafb;border-radius:999px;flex:1;padding:0 16px;font-size:13px}.post-comment-input:focus{border-color:var(--color-primary);background:#fff;outline:none}.post-send-btn{color:#fff;cursor:not-allowed;background:#d1d5db;border:0;border-radius:999px;flex-shrink:0;height:36px;padding:0 22px;font-size:13px;font-weight:600}.post-send-btn:not(:disabled){background:var(--color-primary);cursor:pointer}.post-send-btn:not(:disabled):hover{background:var(--color-primary-hover)}.post-action-bar{border-top:1px solid #f1f1f3;justify-content:flex-end;align-items:center;gap:24px;padding-top:16px;display:flex}.post-action{color:#6b7280;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;transition:color .15s;display:inline-flex}.post-action:hover{color:var(--color-primary)}.post-action-like.is-liked{color:#7a2b91}.post-action-favorite.is-favorited{color:#ea580c}.post-action-favorite.is-favorited img{opacity:1}.post-like-icon{opacity:.8;width:16px;height:16px;-webkit-mask:var(--like-icon) center / contain no-repeat;-webkit-mask:var(--like-icon) center / contain no-repeat;mask:var(--like-icon) center / contain no-repeat;background-color:currentColor}.post-action-like.is-liked .post-like-icon,.post-action-like:hover .post-like-icon{opacity:1}.post-action img{opacity:.8;width:16px;height:16px}.post-action:hover img{opacity:1}.post-comment-header{color:#1f2937;align-items:center;gap:8px;margin-bottom:20px;font-size:15px;font-weight:600;display:flex}.post-comment-accent{background:var(--gradient-primary);border-radius:999px;width:4px;height:16px}.post-comment-count{color:#9ca3af;font-size:13px;font-weight:500}.post-comment-list{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex}.pc-block{gap:12px;display:flex;position:relative}.pc-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:inline-grid}.pc-main{position:relative}.pc-body{flex:1;min-width:0}.pc-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.pc-name{color:#374151;font-size:13px;font-weight:600}.pc-time{color:#9ca3af;white-space:nowrap;font-size:12px}.pc-content{color:#374151;margin:0 0 8px;font-size:14px;line-height:1.7}.pc-actions{align-items:center;gap:18px;display:flex}.pc-reply-btn{color:#6b7280;background:0 0;border:0;padding:0;font-size:12px}.pc-reply-btn:hover{color:var(--color-primary)}.pc-like{color:#9ca3af;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;transition:color .15s;display:inline-flex}.pc-like:hover{color:var(--color-primary)}.pc-like.is-liked{color:#7a2b91}.pc-like-icon{opacity:.75;width:13px;height:13px;-webkit-mask:var(--like-icon) center / contain no-repeat;-webkit-mask:var(--like-icon) center / contain no-repeat;mask:var(--like-icon) center / contain no-repeat;background-color:currentColor}.pc-like.is-liked .pc-like-icon,.pc-like:hover .pc-like-icon{opacity:1}.pc-more-wrap{z-index:20;position:absolute;bottom:0;right:0}.pc-more-btn{color:#9ca3af;letter-spacing:0;background:0 0;border:0;padding:0 2px;font-size:12px;font-weight:700;line-height:1;display:none}.pc-main.is-self:hover>.pc-more-wrap>.pc-more-btn,.pc-more-wrap:hover>.pc-more-btn{display:block}.pc-menu{z-index:30;background:#fff;border:1px solid #ebe6ef;border-radius:6px;min-width:72px;padding:4px;display:none;position:absolute;top:100%;bottom:auto;right:0;box-shadow:0 6px 16px #0e0e1a1a}.pc-more-wrap:hover>.pc-menu{display:block}.pc-menu button{width:100%;color:var(--color-danger);text-align:center;background:0 0;border:0;border-radius:4px;padding:6px 8px;font-size:12px}.pc-menu button:hover{background:#fef2f2}.pc-reply-box{border:1px solid var(--color-border);background:#f9fafb;border-radius:8px;margin-top:12px;padding:12px}.pc-reply-input{resize:vertical;width:100%;min-height:56px;color:var(--color-text);background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;line-height:1.6}.pc-reply-input:focus{outline:none}.pc-reply-box-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.pc-reply-cancel{color:#6b7280;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12px}.pc-reply-cancel:hover{color:var(--color-text)}.pc-reply-submit{color:#fff;cursor:not-allowed;background:#d1d5db;border:0;border-radius:999px;padding:6px 18px;font-size:12px;font-weight:600}.pc-reply-submit:not(:disabled){background:var(--color-primary);cursor:pointer}.pc-reply-submit:not(:disabled):hover{background:var(--color-primary-hover)}.pc-reply-list{border-top:1px solid #f1f1f3;flex-direction:column;gap:18px;margin:16px 0 0;padding:14px 0 0 16px;list-style:none;display:flex}.pc-more-replies{color:var(--color-primary);background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;font-weight:500}.pc-more-replies:hover{text-decoration:underline}.post-more-comments{width:100%;color:var(--color-primary);background:0 0;border:0;border-top:1px solid #f1f1f3;margin-top:24px;padding:12px 0;font-size:13px;font-weight:500;display:block}.post-more-comments:hover{color:var(--color-primary-hover)}.post-detail-rightbar{width:var(--layout-home-sidebar-width);flex:0 0 var(--layout-home-sidebar-width);flex-direction:column;gap:16px;display:flex}.post-author-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;flex-direction:column;align-items:center;padding:24px 20px;display:flex;box-shadow:0 1px 3px #0000000f}.post-author-card-avatar{margin-bottom:4px;display:inline-flex;position:relative}.post-author-card-avatar .user-avatar{display:block}.post-author-level{color:#fff;background:var(--gradient-primary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:10px;font-style:normal;font-weight:600;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.post-author-card-name{color:#1f2937;margin-top:16px;font-size:16px;font-weight:600}.post-author-card-bio{color:#9ca3af;text-align:center;margin:6px 0 0;font-size:12px}.post-author-card-actions{gap:10px;width:100%;margin-top:16px;display:flex}.post-follow-btn,.post-message-btn{border-radius:999px;flex:1;height:34px;font-size:13px;font-weight:600}.post-follow-btn{color:#fff;background:var(--color-primary);border:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.post-follow-btn:hover{background:var(--color-primary-hover)}.post-follow-btn.is-following{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb}.post-follow-btn.is-following:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.post-follow-btn.is-following:hover .post-follow-icon-default{opacity:0}.post-follow-btn.is-following:hover .post-follow-icon-hover{opacity:1}.post-follow-btn:disabled{opacity:.6;cursor:not-allowed}.post-follow-icon{flex-shrink:0;width:14px;height:14px;position:relative}.post-follow-icon img{object-fit:contain;width:14px;height:14px}.post-follow-icon-hover{opacity:0;position:absolute;inset:0}.post-message-btn{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}.post-message-btn:hover{background:var(--color-primary-soft)}.post-author-stats{text-align:center;border-top:1px solid #f1f1f3;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;margin-top:20px;padding-top:16px;display:grid}.post-author-stat{gap:4px;display:grid}.post-author-stat strong{color:#1f2937;font-size:16px;font-weight:700}.post-author-stat span{color:#9ca3af;font-size:11px}.post-related-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000000f}.post-related-title{color:#1f2937;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:600;display:flex}.post-related-accent{background:var(--gradient-primary);border-radius:999px;width:4px;height:16px}.post-related-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.post-related-item{gap:8px;display:flex}.post-related-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:7px}.post-related-content{gap:4px;min-width:0;display:grid}.post-related-name{color:#374151;font-size:13px;font-weight:500;line-height:1.45;transition:color .15s}.post-related-item:hover .post-related-name{color:var(--color-primary);cursor:pointer}.post-related-views{color:#9ca3af;align-items:center;gap:4px;font-size:12px;display:inline-flex}.post-related-views img{opacity:.7;width:12px;height:12px}.post-delete-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;place-items:center;display:grid;position:fixed;inset:0}.post-delete-modal{background:#fff;border-radius:16px;width:min(280px,100% - 32px);overflow:hidden;box-shadow:0 10px 40px #0000001f}.post-delete-text{color:#374151;text-align:center;margin:0;padding:24px 24px 20px;font-size:14px}.post-delete-actions{border-top:1px solid #f3f4f6;display:flex}.post-delete-cancel,.post-delete-confirm{background:0 0;border:0;flex:1;padding:12px 0;font-size:13px}.post-delete-cancel{color:#9ca3af;border-right:1px solid #f3f4f6}.post-delete-cancel:hover{background:#f9fafb}.post-delete-confirm{color:var(--color-primary)}.post-delete-confirm:hover{background:#7a2b910d}.post-create-page{min-height:calc(100svh - var(--layout-header-height));background:var(--color-home-bg);font-family:var(--font-family-sans)}.post-create-toolbar{z-index:20;background:#fff;border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.post-create-toolbar-left{align-items:center;gap:10px;min-width:0;display:flex}.post-create-back{background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:inline-grid}.post-create-back:hover{background:var(--color-primary-soft)}.post-create-back img{object-fit:contain;width:18px;height:18px}.post-create-title{color:#111827;margin:0;font-size:18px;font-weight:700}.post-create-toolbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.post-create-draft,.post-create-publish{border-radius:999px;height:36px;font-size:13px;font-weight:600}.post-create-draft{color:#6b7280;background:#fff;border:1px solid #e5e7eb;padding:0 18px}.post-create-draft:hover{background:#f9fafb}.post-create-publish{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-primary-button);border:0;padding:0 22px}.post-create-publish:hover{filter:brightness(1.05)}.post-create-message{width:min(860px,100% - 48px);color:var(--color-primary);margin:16px auto 0;font-size:13px;font-weight:600}.post-create-content{flex-direction:column;gap:16px;width:min(860px,100% - 48px);margin:0 auto;padding:24px 0 48px;display:flex}.post-create-card{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:24px 28px;box-shadow:0 1px 3px #0f172a0a}.post-create-field{display:block}.post-create-label{color:#374151;margin-bottom:10px;font-size:13px;font-weight:500;display:block}.post-create-title-input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;height:48px;color:var(--color-text);background:#f9fafb;border-radius:10px;padding:0 16px;font-size:16px;font-weight:600}.post-create-title-input:focus{border-color:var(--color-primary);background:#fff;outline:none;box-shadow:0 0 0 2px #7a2b911f}.post-create-section-title{color:#1f2937;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:600;display:flex}.post-create-section-accent{background:var(--gradient-primary);border-radius:999px;width:4px;height:16px}.post-create-cover{color:#6b7280;background:#faf5ff;border:1px dashed #c084fc;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:220px;padding:24px;display:flex;overflow:hidden}.post-create-cover.has-cover{background:#f9fafb;border-style:solid;border-color:#eef0f3;padding:0}.post-create-cover strong{color:#374151;font-size:14px;font-weight:600}.post-create-cover span:last-child{font-size:12px}.post-create-cover-icon{color:#fff;background:var(--gradient-primary);border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid}.post-create-cover-preview{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.post-create-editor{border:1px solid var(--color-border);background:#fff;border-radius:10px;overflow:hidden}.post-create-editor-toolbar{background:#fafafb;border-bottom:1px solid #f1f1f3;flex-wrap:wrap;gap:4px;padding:10px 12px;display:flex}.post-create-editor-toolbar button{color:#6b7280;background:0 0;border:0;border-radius:6px;min-width:32px;height:32px;padding:0 8px;font-size:13px;font-weight:600}.post-create-editor-toolbar button:hover{color:var(--color-primary);background:var(--color-primary-soft)}.post-create-editor-body{color:#374151;min-height:360px;padding:16px 18px;font-size:14px;line-height:1.85}.post-create-editor-body:empty:before{content:attr(data-placeholder);color:#9ca3af}.post-create-editor-body:focus{outline:none}.post-create-editor-body h1,.post-create-editor-body h2{color:#111827;margin:0 0 12px}.post-create-editor-body blockquote{border-left:3px solid var(--color-primary);color:#6b7280;margin:0 0 12px;padding-left:12px}.post-create-editor-body pre{white-space:pre-wrap;background:#f3f4f6;border-radius:8px;margin:0 0 12px;padding:12px;font-family:Consolas,monospace;font-size:13px}.post-create-editor-toolbar button.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.post-create-preview-toggle{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:999px;height:36px;padding:0 16px;font-size:13px;font-weight:600}.post-create-preview-toggle.is-active{color:#fff;background:var(--gradient-primary);border-color:#0000}.post-rich-editor-divider{background:#e5e7eb;width:1px;height:20px;margin:0 4px}.post-rich-editor.is-uploading-image{pointer-events:none;opacity:.72}.post-rich-editor-content .post-create-editor-body,.post-rich-editor-preview{min-height:360px}.post-image-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;gap:4px;padding:8px;display:flex;box-shadow:0 8px 24px #0f172a1f}.post-image-toolbar button{color:#6b7280;background:#f9fafb;border:0;border-radius:6px;min-width:32px;height:28px;padding:0 8px;font-size:12px;font-weight:600}.post-image-toolbar button:hover{color:var(--color-primary);background:var(--color-primary-soft)}.post-image-toolbar button.is-danger{color:#dc2626}.post-create-editor-body .post-figure,.post-rich-editor-preview .post-figure,.post-article-rich-content .post-figure{margin:16px 0}.post-create-editor-body .post-figure[data-align=left],.post-rich-editor-preview .post-figure[data-align=left],.post-article-rich-content .post-figure[data-align=left]{text-align:left}.post-create-editor-body .post-figure[data-align=center],.post-rich-editor-preview .post-figure[data-align=center],.post-article-rich-content .post-figure[data-align=center]{text-align:center}.post-create-editor-body .post-figure[data-align=right],.post-rich-editor-preview .post-figure[data-align=right],.post-article-rich-content .post-figure[data-align=right]{text-align:right}.post-create-editor-body figcaption,.post-rich-editor-preview figcaption,.post-article-rich-content figcaption{color:#9ca3af;margin-top:8px;font-size:12px}.post-create-editor-body .post-video,.post-rich-editor-preview .post-video,.post-article-rich-content .post-video{margin:16px 0}.post-create-editor-body .post-video video,.post-rich-editor-preview .post-video video,.post-article-rich-content .post-video video{background:#000;border-radius:10px;width:100%;max-width:100%;display:block}.post-create-editor-body .post-attachment,.post-rich-editor-preview .post-attachment,.post-article-rich-content .post-attachment{color:var(--color-primary);background:var(--color-primary-soft);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.post-create-editor-body table,.post-rich-editor-preview table,.post-article-rich-content table{border-collapse:collapse;width:100%;margin:16px 0}.post-create-editor-body th,.post-create-editor-body td,.post-rich-editor-preview th,.post-rich-editor-preview td,.post-article-rich-content th,.post-article-rich-content td{text-align:left;border:1px solid #e5e7eb;padding:8px 10px;font-size:13px}.post-create-editor-body th,.post-rich-editor-preview th,.post-article-rich-content th{background:#f9fafb;font-weight:600}.post-create-char-count{color:#9ca3af;text-align:right;border-top:1px solid #f1f1f3;margin:0;padding:10px 16px;font-size:12px}.post-create-selected-tags{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.post-create-selected-tag{color:var(--color-primary);background:#faf5ff;border:1px solid #e9d5ff;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 14px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.post-create-selected-tag-remove{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;display:inline-grid}.post-create-selected-tag-remove:hover{background:#7a2b9114}.post-create-selected-tag-remove img{object-fit:contain;opacity:.72;width:12px;height:12px}.post-create-tag-list{flex-wrap:wrap;gap:10px;display:flex}.post-create-tag{color:#555;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 16px;font-size:13px;transition:border-color .15s,color .15s,background .15s}.post-create-tag:hover{color:#9333ea;border-color:#c084fc}.post-create-tag.is-selected{color:#fff;background:var(--gradient-primary);border-color:#0000}@media (width<=760px){.post-create-toolbar{flex-direction:column;align-items:stretch}.post-create-toolbar-actions{justify-content:flex-end}.post-create-content,.post-create-message{width:min(860px,100% - 24px)}.post-create-card{padding:18px 16px}}.learning-center-page{min-height:calc(100svh - var(--layout-header-height));padding:36px var(--layout-learning-padding-x) 64px;font-family:var(--font-family-sans);background:#fff}.learning-toolbar{justify-content:center;margin-bottom:28px;display:flex}.learning-search{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:10px;width:100%;height:48px;padding:0 8px 0 18px;display:flex;position:relative;box-shadow:0 2px 10px #0f172a0a}.learning-search-icon{object-fit:contain;opacity:.45;flex-shrink:0;width:18px;height:18px}.learning-search-input{color:#0f172a;min-width:0;height:100%;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:14px}.learning-search-input::placeholder{color:#9ca3af}.learning-search-input::-webkit-search-cancel-button{-webkit-appearance:none}.learning-filter-wrap{flex-shrink:0;position:relative}.learning-filter-trigger{color:#475569;height:36px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.learning-filter-trigger:hover,.learning-filter-trigger.is-open{color:#0f172a;background:#f8fafc}.learning-filter-trigger img{object-fit:contain;width:16px;height:16px}.learning-filter-panel{z-index:20;background:#fff;border:1px solid #eef0f4;border-radius:14px;width:220px;padding:14px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 12px 32px #0f172a1a}.learning-filter-panel-title{color:#0f172a;margin:0 0 12px;font-size:14px;font-weight:700}.learning-filter-panel-options{flex-wrap:wrap;gap:8px;display:flex}.learning-filter-chip{color:#64748b;height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s,background .2s}.learning-filter-chip:hover{color:#334155;background:#f8fafc;border-color:#cbd5e1}.learning-filter-chip.is-active{color:#fff;background:#64748b;border-color:#0000}.learning-content{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:0;display:grid}.learning-main{min-width:0;padding-right:32px}.learning-active-filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.learning-active-filter-tag{color:#475569;height:30px;font:inherit;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}.learning-active-filter-tag:hover{background:#e2e8f0}.learning-active-filter-clear{color:#94a3b8;place-items:center;width:16px;height:16px;font-size:16px;line-height:1;display:inline-grid}.learning-results-title{color:#0f172a;margin:0 0 16px;font-size:18px;font-weight:700}.learning-task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.learning-task-card{cursor:pointer;background:#fff;border:1px solid #eef0f4;border-radius:12px;flex-direction:column;transition:box-shadow .25s,transform .25s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 2px 10px #0f172a0a}.learning-task-card:hover{border-color:#e2e8f0;transform:translateY(-2px);box-shadow:0 6px 16px #0f172a14}.learning-task-card.is-preview{cursor:default}.learning-task-cover{background:#e8edf5;flex-shrink:0;overflow:hidden}.learning-task-cover img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.learning-task-card-body{flex:1;min-width:0;padding:10px 12px 0}.learning-task-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.learning-task-title{color:#0f172a;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;min-width:0;margin:0;font-size:13px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.learning-task-difficulty{color:#0f172a;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;margin-top:2px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.learning-task-difficulty-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:7px;height:7px}.learning-task-difficulty.is-easy .learning-task-difficulty-dot{background:#16a34a}.learning-task-difficulty.is-medium .learning-task-difficulty-dot{background:#2563eb}.learning-task-difficulty.is-hard .learning-task-difficulty-dot{background:#7c3aed}.learning-task-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:10px 12px 12px;display:flex}.learning-task-reward{color:#64748b;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.learning-task-reward img{object-fit:contain;flex-shrink:0;width:13px;height:13px}.learning-task-cta{object-fit:contain;opacity:.85;flex-shrink:0;width:15px;height:15px;transition:opacity .2s;display:block}.learning-task-card:hover .learning-task-cta{opacity:1}.learning-guide{top:calc(var(--layout-header-height) + 20px);border-left:1px solid #eef0f4;padding:4px 0 4px 32px;position:sticky}.learning-guide-section+.learning-guide-section{border-top:1px solid #eef0f4;margin-top:22px;padding-top:22px}.learning-guide-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.learning-guide-head h3{color:#0f172a;margin:0;font-size:16px;font-weight:700}.learning-guide-icon{background:#f3f4f6;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:inline-grid}.learning-guide-icon.is-exp{background:#fff1e8}.learning-guide-icon.is-procedure{background:#f3e8ff}.learning-guide-icon img{object-fit:contain;width:18px;height:18px}.learning-guide-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.learning-guide-list li{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;display:grid}.learning-guide-list img{object-fit:contain;width:18px;height:18px;margin-top:2px}.learning-guide-list strong{color:#0f172a;font-size:14px;font-weight:600;line-height:1.4;display:block}.learning-guide-list p{color:#94a3b8;margin:4px 0 0;font-size:12px;line-height:1.55}.learning-guide-list.is-compact{gap:12px}.learning-guide-steps{justify-content:space-between;align-items:flex-start;gap:2px;margin:0;padding:0;display:flex}.learning-guide-step{color:#64748b;text-align:center;flex-direction:column;align-items:center;gap:8px;width:52px;font-size:11px;font-weight:500;line-height:1.35;display:flex}.learning-guide-step-icon{background:#f3f4f6;border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid}.learning-guide-step-icon img{object-fit:contain;width:16px;height:16px}.learning-guide-step-next{object-fit:contain;opacity:.55;flex-shrink:0;width:12px;height:12px;margin-top:11px}.learning-empty-state{color:#94a3b8;text-align:center;padding:80px 0;animation:.3s both learning-fade-in}@media (width<=1100px){.learning-content{grid-template-columns:minmax(0,1fr) 300px}.learning-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.learning-content{grid-template-columns:1fr}.learning-main{padding-right:0}.learning-guide{border-top:1px solid #eef0f4;border-left:0;margin-top:28px;padding:28px 0 0;position:static}.learning-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.learning-center-page{padding-inline:24px}.learning-task-grid{grid-template-columns:1fr}.learning-guide-steps{flex-wrap:wrap;justify-content:flex-start;gap:12px}.learning-guide-step-next{display:none}}@keyframes learning-fade-in{0%{opacity:0}to{opacity:1}}.task-detail-page{min-height:calc(100svh - var(--layout-header-height));background:var(--color-learning-page-bg);font-family:var(--font-family-sans)}.task-detail-message{margin:16px var(--layout-learning-padding-x) 0}.task-detail-empty{padding:80px var(--layout-learning-padding-x);color:#64748b;text-align:center}.task-detail-breadcrumb-link{color:var(--color-primary);text-decoration:none}.task-detail-header{padding:28px var(--layout-learning-padding-x) 8px;background:#fff;border-bottom:1px solid #0000000f}.task-detail-header-inner{width:100%;margin:0 auto}.task-detail-back{border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;text-decoration:none;transition:background .2s;display:inline-grid}.task-detail-back:hover{background:#f1f5f9}.task-detail-back img{object-fit:contain;width:18px;height:18px}.task-detail-header-main{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:28px;padding-bottom:24px;display:grid}.task-detail-title-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.task-detail-title-row h1{color:#0f172a;margin:0;font-size:28px;font-weight:800;line-height:1.3}.task-detail-header-copy p{color:#64748b;max-width:720px;margin:0;font-size:15px;line-height:1.75}.task-detail-video-card{background:#0f172a;border:1px solid #00000014;border-radius:14px;position:relative;overflow:hidden}.task-detail-video-badge{z-index:1;color:#fff;background:#00000080;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;top:12px;left:12px}.task-detail-video{aspect-ratio:16/9;background:#000;width:100%;display:block}.task-detail-top-tabs{top:var(--layout-header-height);z-index:6;padding:0 var(--layout-learning-padding-x);background:#fff;border-bottom:1px solid #0000000f;position:sticky}.task-detail-top-tabs-inner{align-items:center;gap:4px;display:flex;overflow-x:auto}.task-detail-top-tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;padding:14px 18px;font-size:14px;font-weight:600;line-height:1.2;transition:color .2s,border-color .2s}.task-detail-top-tab:hover:not(.is-active){color:#334155}.task-detail-top-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.task-detail-body,.task-detail-stage-body{width:100%;padding:28px var(--layout-learning-padding-x) 48px;align-items:start;gap:24px;margin:0;display:grid}.task-detail-body{grid-template-columns:240px minmax(0,1fr)}.task-detail-stage-body{grid-template-columns:minmax(0,1fr) minmax(420px,460px)}.task-detail-sidebar,.task-detail-panel{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 2px 12px #0000000d}.task-detail-sidebar{top:calc(var(--layout-header-height) + 52px);max-height:calc(100svh - var(--layout-header-height) - 52px);align-self:start;padding:12px;position:sticky;overflow-y:auto}.task-detail-nav,.task-detail-nav-group-wrap{gap:4px;display:grid}.task-detail-nav-group-toggle{color:#475569;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px 14px;font-size:14px;transition:background .2s,color .2s;display:flex}.task-detail-nav-group-toggle:hover{color:var(--color-primary);background:#f8fafc}.task-detail-nav-chevron{color:#94a3b8;font-size:16px;line-height:1;transition:transform .2s}.task-detail-nav-group-toggle.is-expanded .task-detail-nav-chevron{transform:rotate(90deg)}.task-detail-nav-children{gap:4px;display:grid}.task-detail-nav-item{color:#475569;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-size:14px;transition:background .2s,color .2s}.task-detail-nav-item.is-child{padding-left:28px;font-size:13px}.task-detail-nav-item:hover{color:var(--color-primary);background:#f8fafc}.task-detail-nav-item.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.task-detail-panel{flex-direction:column;align-self:start;display:flex}.task-detail-stage-submit{top:calc(var(--layout-header-height) + 52px);min-width:0;position:sticky}.task-detail-stage-submit .task-detail-panel-body{padding:16px}.task-detail-panel-head{border-bottom:1px solid #0000000f;align-items:center;padding:20px 24px;display:flex}.task-detail-panel-head h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.task-detail-panel-body{flex:1;padding:24px}.task-detail-stage-empty{color:#64748b;margin:0;font-size:14px;line-height:1.7}.task-detail-section{color:#334155;font-size:14px;line-height:1.75}.task-detail-tags,.task-detail-chip-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.task-detail-tag,.task-detail-chip{color:var(--color-primary);background:#faf5ff;border:1px solid #7a2b912e;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.task-detail-list,.task-detail-link-list,.task-detail-step-list{margin:0}ul.task-detail-list{padding-left:20px;list-style:outside}ul.task-detail-link-list{padding-left:0;list-style:none}ol.task-detail-list{padding-left:20px}.task-detail-list li+li,.task-detail-link-list li+li{margin-top:10px}.task-detail-notice{background:var(--color-primary-soft);border-radius:12px;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.task-detail-notice span{width:22px;height:22px;color:var(--color-primary);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.task-detail-notice p{color:#5b4b67;margin:0}.task-detail-reward-list{margin:0;padding:0;list-style:none}.task-detail-reward-item,.task-detail-reward-total{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.task-detail-reward-item strong,.task-detail-reward-total>span{color:#0f172a;font-size:14px;display:block}.task-detail-reward-item span,.task-detail-reward-total{color:#64748b;font-size:13px}.task-detail-reward-values{color:#64748b;align-items:center;gap:16px;font-size:15px;display:inline-flex}.task-detail-reward-values span{align-items:center;gap:6px;display:inline-flex}.task-detail-reward-values img{object-fit:contain;width:18px;height:18px}.task-detail-link-list a{color:var(--color-primary);text-decoration:none}.task-detail-link-list a:hover{text-decoration:underline}.task-detail-code-block{color:#e2e8f0;background:#1e293b;border-radius:12px;margin:18px 0 0;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.task-detail-step-list{padding:0;list-style:none}.task-detail-step-list li{grid-template-columns:28px minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.task-detail-step-list li span{color:#fff;background:var(--gradient-primary);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.task-detail-step-list p{margin:4px 0 0}.task-detail-faq-item+.task-detail-faq-item{border-top:1px solid #0000000f;margin-top:18px;padding-top:18px}.task-detail-faq-item h3{color:#0f172a;margin:0 0 8px;font-size:15px}.task-detail-faq-item p{margin:0}.task-detail-paragraph{margin:0 0 14px}.task-detail-block-heading{color:#0f172a;margin:20px 0 10px;font-weight:700}.task-detail-block-heading.is-h2{font-size:18px}.task-detail-block-heading.is-h3{font-size:15px}.task-detail-block-heading:first-child{margin-top:0}.task-detail-table-wrap{margin-top:12px;overflow-x:auto}.task-detail-table{border-collapse:collapse;width:100%;font-size:14px}.task-detail-table th,.task-detail-table td{text-align:left;border:1px solid #00000014;padding:10px 12px}.task-detail-table th{color:#0f172a;background:#f8fafc}.task-detail-image{margin:16px 0}.task-detail-image img{border-radius:12px;max-width:100%;display:block}.task-detail-image figcaption{color:#64748b;text-align:center;margin-top:8px;font-size:13px}.task-detail-phase-rewards{margin:0;padding:0;list-style:none}.task-detail-rewards-note{color:#64748b;margin:10px 0 20px;font-size:13px;line-height:1.6}.task-detail-phase-reward{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.task-detail-phase-reward+.task-detail-phase-reward{border-top:1px solid #0000000f}.task-detail-phase-reward-label{color:#334155;align-items:center;gap:10px;font-size:14px;display:inline-flex}.task-detail-phase-flag{border:2px solid #f97316;border-radius:2px 4px 2px 2px;flex-shrink:0;width:14px;height:16px;display:inline-block;position:relative}.task-detail-phase-flag:before{content:"";background:#f97316;border-radius:1px;width:2px;height:8px;position:absolute;top:-2px;left:-2px}.task-detail-phase-reward-value{color:#334155;align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.task-detail-phase-reward-value img{object-fit:contain;width:14px;height:14px}.task-submission-panel{color:#334155;font-size:13px}.task-submission-folder-input{display:none}.task-submission-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.task-submission-title{color:#0f172a;white-space:nowrap;margin:0;font-size:14px;font-weight:700}.task-submission-submit-btn{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-primary-button);white-space:nowrap;cursor:pointer;border:0;border-radius:10px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600;transition:opacity .2s}.task-submission-submit-btn:hover:not(:disabled){opacity:.92}.task-submission-submit-btn:disabled{opacity:.55;cursor:not-allowed}.task-submission-empty{color:#64748b;text-align:center;padding:28px 0;line-height:1.6}.task-submission-table-wrap{width:100%;overflow-x:auto}.task-submission-table{border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%}.task-submission-table th,.task-submission-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #0000000f;padding:10px 12px}.task-submission-table th{color:#64748b;background:#f8fafc;font-size:12px;font-weight:600}.task-submission-status.is-submitted{color:#d97706}.task-submission-status.is-reviewing{color:#2563eb}.task-submission-status.is-approved{color:#059669}.task-submission-status.is-rejected{color:#dc2626}.task-submission-resubmit-btn{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;transition:background .2s;display:inline-grid}.task-submission-resubmit-btn:hover:not(:disabled){background:#f8fafc}.task-submission-resubmit-btn img{object-fit:contain;width:18px;height:18px}.task-submission-resubmit-btn.is-disabled,.task-submission-resubmit-btn:disabled{opacity:.35;cursor:not-allowed}.task-submit-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a47;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.task-submit-dialog{background:#fff;border:1px solid #0000000f;border-radius:16px;width:min(400px,100%);overflow:hidden;box-shadow:0 16px 40px #0f172a24}.task-submit-dialog-head{padding:22px 24px 0}.task-submit-dialog-head h3{color:#0f172a;margin:0 0 6px;font-size:18px;font-weight:700}.task-submit-dialog-head p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.task-submit-dialog-body{padding:18px 24px 22px}.task-submit-dialog-label{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.task-submit-dialog-folder{color:#0f172a;word-break:break-all;background:#faf5ff;border:1px solid #7a2b9124;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.5}.task-submit-dialog-meta{color:#94a3b8;margin:10px 0 0;font-size:12px}.task-submit-dialog-actions{justify-content:flex-end;gap:10px;padding:0 24px 22px;display:flex}.task-submit-dialog-cancel,.task-submit-dialog-confirm{cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .2s,background .2s}.task-submit-dialog-cancel{color:#64748b;background:#f1f5f9}.task-submit-dialog-cancel:hover:not(:disabled){background:#e2e8f0}.task-submit-dialog-confirm{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-primary-button)}.task-submit-dialog-confirm:hover:not(:disabled){opacity:.92}.task-submit-dialog-cancel:disabled,.task-submit-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}@media (width<=1080px){.task-detail-header-main,.task-detail-body,.task-detail-stage-body{grid-template-columns:1fr}.task-detail-video-card{max-width:520px}.task-detail-stage-submit{position:static}}@media (width<=768px){.task-detail-header,.task-detail-top-tabs,.task-detail-body,.task-detail-stage-body{padding-inline:24px}.task-detail-title-row h1{font-size:24px}}.task-list{gap:16px;display:grid}.task-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;padding:20px}.task-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.task-card h2{margin:0;font-size:20px}.task-card-header p,.task-description{color:var(--color-muted)}.task-description{white-space:pre-wrap;margin:14px 0 0}.completed-section{margin-top:28px}.section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.section-header h2{margin:0;font-size:22px}.section-header span{color:var(--color-muted)}.completed-list{gap:16px;display:grid}.completed-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;padding:20px}.completed-card-summary{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.completed-card h3{margin:0;font-size:20px}.completed-card-summary p{color:var(--color-muted);margin:14px 0 0}.completed-card-actions{justify-items:end;gap:28px;display:grid}.completed-card-detail{border-top:2px solid var(--color-border);margin-top:14px;padding-top:16px}.completed-meta{grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;display:grid}.completed-meta div{border:1px solid var(--color-border);background:#f8fafc;border-radius:6px;padding:12px}.completed-meta dt{color:var(--color-muted);margin-bottom:4px;font-size:14px}.completed-meta dd{margin:0;font-weight:700}@media (width<=760px){.task-card-header{flex-direction:column}.completed-meta{grid-template-columns:1fr}.completed-card-summary{flex-direction:column}.completed-card-actions{grid-template-columns:1fr auto;align-items:center;width:100%}}.profile-header{align-items:center}.profile-title{align-items:center;gap:16px;display:flex}.avatar-button{border:1px solid var(--color-border);background:var(--color-surface);width:72px;height:72px;box-shadow:0 8px 24px var(--color-shadow);border-radius:50%;flex:none;padding:0;position:relative;overflow:hidden}.avatar-button img,.avatar-placeholder{width:100%;height:100%;display:block}.avatar-button img{object-fit:cover}.avatar-placeholder{background:#eef1f5}.avatar-upload-mask{color:#fff;opacity:0;background:#0f172ab8;padding:4px 0;font-size:12px;font-weight:700;position:absolute;inset:auto 0 0}.avatar-button:hover .avatar-upload-mask,.avatar-button:disabled .avatar-upload-mask{opacity:1}.profile-summary{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;display:grid}.profile-summary>div,.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.summary-label{color:var(--color-muted);margin-bottom:6px;font-size:14px;display:block}.profile-summary strong{font-size:22px;display:block}.summary-card{text-align:left;cursor:default;width:100%;display:block}.summary-card-link{cursor:pointer}.summary-card-link:hover{border-color:var(--color-primary);background:#f8fbff}@media (width<=760px){.profile-summary{grid-template-columns:repeat(2,1fr)}}.growth-log-panel{margin-bottom:16px}.exp-log-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.exp-log-item{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;justify-content:space-between;gap:16px;padding:12px;display:flex}.exp-log-item strong,.exp-log-item span{display:block}.exp-log-item span{color:var(--color-muted);margin-top:4px;font-size:14px}.exp-log-result{text-align:right;min-width:150px}.exp-log-result span:first-child{color:var(--color-primary);font-weight:700}@media (width<=760px){.exp-log-item{display:block}.exp-log-result{text-align:left;margin-top:10px}}.user-search-form{gap:10px;margin-bottom:16px;display:flex}.user-search-form input{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex:1;min-width:0;padding:10px 12px}.user-list{gap:12px;display:grid}.user-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:16px;display:grid}.user-card-main{align-items:center;gap:14px;min-width:0;display:flex}.user-card-main img,.user-avatar-placeholder{border:1px solid var(--color-border);border-radius:50%;flex:none;width:56px;height:56px}.user-card-main img{object-fit:cover}.user-avatar-placeholder{background:#eef1f5}.user-card h2{margin:0;font-size:18px}.user-card p{color:var(--color-muted);margin:4px 0 0}.user-card-meta{color:var(--color-muted);gap:10px;font-size:14px;display:flex}.follow-action-button.is-following{color:var(--color-muted);background:#f2f4f7}.follow-action-button.is-following:hover{color:var(--color-text);border-color:var(--color-muted);background:#e5e7eb}@media (width<=760px){.user-search-form{display:grid}.user-card{grid-template-columns:1fr;align-items:stretch}.user-card-meta{flex-wrap:wrap}}.admin-layout{grid-template-columns:360px 1fr;align-items:start;gap:16px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-table-wrapper{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:680px}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:12px}.admin-table th{color:var(--color-muted);background:#f8fafc;font-size:14px;font-weight:700}.admin-table td strong{margin-bottom:4px;display:block}.admin-table td span{color:var(--color-muted);font-size:14px}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.review-list{gap:16px;display:grid}.review-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;padding:20px}.review-meta{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}.review-meta div{border:1px solid var(--color-border);background:#f8fafc;border-radius:6px;padding:12px}.review-meta dt{color:var(--color-muted);margin-bottom:4px;font-size:14px}.review-meta dd{margin:0;font-weight:700}@media (width<=920px){.admin-layout,.form-grid{grid-template-columns:1fr}}@media (width<=760px){.review-meta{grid-template-columns:1fr}}.home-content-area:has(.lab-intro-page){background:#fff}.lab-intro-page{box-sizing:border-box;min-height:calc(100svh - var(--layout-header-height));padding:56px var(--layout-learning-padding-x) 96px;color:#0f172a;font-family:var(--font-family-sans);background:#fff;grid-template-columns:168px minmax(0,1fr);gap:56px;display:grid;position:relative;overflow:hidden}.lab-intro-bubbles{pointer-events:none;z-index:0;position:absolute;inset:0}.lab-intro-bubble{background:radial-gradient(circle at 35% 35%,#a78bfa38,#c4b5fd1a 45%,#fff0 72%);border-radius:50%;position:absolute}.lab-intro-bubble-a{width:420px;height:420px;top:-120px;right:-80px}.lab-intro-bubble-b{background:radial-gradient(circle at 40% 40%,#c4b5fd47,#fff0 70%);width:180px;height:180px;top:42%;left:150px}.lab-intro-bubble-c{width:520px;height:520px;bottom:-80px;right:8%}.lab-intro-sidebar,.lab-intro-main{z-index:1;position:relative}.lab-intro-sidebar{top:calc(var(--layout-header-height) + 24px);align-self:start;animation:.56s cubic-bezier(.22,1,.36,1) both lab-intro-slide-left;position:sticky}.lab-intro-nav{flex-direction:column;display:flex}.lab-intro-nav-item{color:#334155;width:100%;font:inherit;text-align:left;cursor:pointer;opacity:0;background:0 0;border:0;border-bottom:1px solid #e5e7eb;padding:16px 0 16px 12px;font-size:15px;font-weight:500;transition:color .2s,font-weight .2s;animation:.48s cubic-bezier(.22,1,.36,1) both lab-intro-nav-item;display:block;position:relative}.lab-intro-nav-item:before{content:"";background:var(--color-primary);border-radius:999px;width:3px;height:0;transition:height .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lab-intro-nav-item:first-child{border-top:1px solid #e5e7eb}.lab-intro-nav-item:hover{color:var(--color-primary)}.lab-intro-nav-item.is-active{color:var(--color-primary);font-weight:700}.lab-intro-nav-item.is-active:before{height:18px}.lab-intro-main{min-width:0;padding-top:8px}.lab-intro-hero{max-width:760px;scroll-margin-top:calc(var(--layout-header-height) + 24px);margin-bottom:72px;animation-delay:.12s}.lab-intro-brand{color:var(--color-primary);font-family:var(--font-family-brand);letter-spacing:.02em;margin:0 0 10px;font-size:clamp(40px,5vw,56px);font-weight:700;line-height:1.1}.lab-intro-title{color:var(--color-primary);letter-spacing:-.02em;margin:0;font-size:clamp(36px,5vw,52px);font-weight:800;line-height:1.2}.lab-intro-lead{color:#1f2937;max-width:560px;margin:22px 0 0;font-size:15px;line-height:1.8}.lab-intro-section{max-width:760px;scroll-margin-top:calc(var(--layout-header-height) + 24px);margin-bottom:88px}.lab-intro-section:last-child{margin-bottom:0}.lab-intro-section h2{color:#0f172a;margin:0;font-size:28px;font-weight:700;line-height:1.3}.lab-intro-enter{opacity:0;animation:.62s cubic-bezier(.22,1,.36,1) both lab-intro-fade-up}@keyframes lab-intro-slide-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes lab-intro-nav-item{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes lab-intro-fade-up{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.lab-intro-sidebar,.lab-intro-nav-item,.lab-intro-enter{opacity:1;animation:none;transform:none}}@media (width<=900px){.lab-intro-page{grid-template-columns:1fr;gap:36px;padding:36px 24px 72px}.lab-intro-sidebar{position:static}.lab-intro-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.lab-intro-nav-item{text-align:center;border-top:0;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:12px 8px;font-size:13px}.lab-intro-nav-item:before{width:0;height:2px;transition:width .2s;top:auto;bottom:0;left:50%;transform:translate(-50%)}.lab-intro-nav-item.is-active:before{width:28px;height:2px}.lab-intro-nav-item:first-child{border-top:0}.lab-intro-nav-item:last-child{border-right:0}.lab-intro-section{margin-bottom:64px}.lab-intro-section h2{font-size:24px}}@media (width<=560px){.lab-intro-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-intro-nav-item:nth-child(2){border-right:0}}.home-content-area:has(.jobs-list-page){background:#fff}.home-content-area:has(.jobs-detail-page){background:var(--color-home-bg)}.jobs-page{box-sizing:border-box;width:100%;font-family:var(--font-family-sans)}.jobs-list-page{min-height:calc(100svh - var(--layout-header-height));flex-direction:column;padding:0;display:flex}.jobs-detail-page{padding:28px var(--layout-learning-padding-x) 56px}.jobs-header{padding:48px var(--layout-learning-padding-x) 28px;background:#fff}.jobs-title{color:var(--color-text);margin:0 0 10px;font-size:32px;font-weight:700;line-height:1.2}.jobs-lead{color:var(--color-muted);margin:0;font-size:15px;line-height:1.6}.jobs-type-tabs{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.jobs-type-tab{color:#6b7280;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:500;transition:color .15s,background .15s,border-color .15s}.jobs-type-tab:hover{color:var(--color-text);border-color:#d1d5db}.jobs-type-tab.is-active{color:#fff;background:var(--color-primary);border-color:#0000;font-weight:600}.jobs-type-tab.is-active:hover{color:#fff;background:var(--color-primary-hover)}.jobs-body{padding:24px var(--layout-learning-padding-x) 56px;background:var(--color-home-bg);flex:1}.jobs-message,.jobs-empty{color:var(--color-muted);margin:0;font-size:14px}.jobs-list{flex-direction:column;gap:12px;display:flex}.job-card{background:var(--color-surface);color:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:20px 22px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 1px 3px #0f172a0f}.job-card:hover{border-color:#ebe4f0;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a14}.job-card-logo{background:#fff;border:1px solid #eef0f4;border-radius:12px;flex:0 0 52px;width:52px;height:52px;overflow:hidden}.job-card-logo img{object-fit:contain;width:100%;height:100%;display:block}.job-card-body{flex:1;min-width:0}.job-card-title{color:var(--color-text);margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.35}.job-card-meta{color:var(--color-muted);margin:0;font-size:14px}.job-card-salary{color:var(--color-success);white-space:nowrap;flex:none;margin:0;font-size:16px;font-weight:700}.jobs-back-link{width:32px;height:32px;color:var(--color-primary);border-radius:8px;place-items:center;text-decoration:none;transition:background .15s;display:inline-grid}.jobs-back-link img{object-fit:contain;width:18px;height:18px}.jobs-back-link:hover{background:var(--color-primary-soft)}.job-detail-card{background:var(--color-surface);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.job-detail-card .jobs-back-link{z-index:2;position:absolute;top:16px;left:16px}.job-detail-header{background:#fff;border-bottom:1px solid #f0f1f4;gap:18px;padding:56px 28px 28px;display:flex}.job-detail-logo{background:#fff;border:1px solid #eef0f4;border-radius:14px;flex:0 0 64px;width:64px;height:64px;overflow:hidden}.job-detail-logo img{object-fit:contain;width:100%;height:100%;display:block}.job-detail-headline{flex:1;min-width:0}.job-detail-company{color:var(--color-muted);margin:0 0 6px;font-size:14px}.job-detail-title{color:var(--color-text);margin:0 0 10px;font-size:26px;font-weight:700;line-height:1.25}.job-detail-meta{color:var(--color-muted);margin:0 0 12px;font-size:14px}.job-detail-tags{flex-wrap:wrap;gap:8px;display:flex}.job-detail-tags span{color:var(--color-primary);background:var(--color-primary-soft);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.job-detail-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px;display:flex}.job-detail-submit-btn{color:#fff;background:var(--color-primary);cursor:pointer;border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.job-detail-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.job-detail-submit-btn:disabled{opacity:.7;cursor:not-allowed}.job-detail-file-input{display:none}.job-detail-submit-message{color:#b45309;margin:0;font-size:13px}.job-detail-submit-message.is-success{color:var(--color-success)}.job-detail-submit-hint{color:var(--color-muted);margin:0;font-size:12px}.job-detail-salary{color:var(--color-success);white-space:nowrap;flex:none;margin:0;font-size:20px;font-weight:700}.job-detail-section{border-bottom:1px solid #f0f1f4;padding:24px 28px}.job-detail-section:last-child{border-bottom:none}.job-detail-section h2{color:var(--color-text);margin:0 0 14px;font-size:17px;font-weight:700}.job-detail-section ul{color:#374151;margin:0;padding-left:20px;font-size:15px;line-height:1.75}.job-detail-section li+li{margin-top:8px}.job-detail-text{color:#374151;white-space:pre-line;margin:0;font-size:15px;line-height:1.75}.job-detail-text a{color:var(--color-primary);word-break:break-all}.job-detail-email{color:#374151;margin:0 0 10px;font-size:15px}.job-detail-email a{color:var(--color-primary);font-weight:600;text-decoration:none}.job-detail-email a:hover{text-decoration:underline}@media (width<=1024px){.jobs-header,.jobs-body,.jobs-detail-page{padding-left:32px;padding-right:32px}}@media (width<=768px){.jobs-header{padding:28px 16px 20px}.jobs-body,.jobs-detail-page{padding:20px 16px 40px}.jobs-title{font-size:26px}.job-card{flex-wrap:wrap;align-items:flex-start}.job-card-salary{width:100%;padding-left:68px}.job-detail-header{flex-wrap:wrap;padding:52px 18px 22px}.job-detail-title{font-size:22px}.job-detail-salary{width:100%}.job-detail-section{padding:20px 18px}}.profile-center-shell{--profile-sidebar-width:240px;--profile-column-gap:20px;--profile-card-gap:12px;--profile-page-bg:#f2f0f5;--profile-brand:#7a2b91;--profile-brand-gradient:linear-gradient(135deg, #7a2b91 0%, #9b3bb5 50%, #4f46e5 100%);box-sizing:border-box;width:100%;min-height:0;height:calc(100svh - var(--layout-header-height));max-height:calc(100svh - var(--layout-header-height));padding:20px var(--layout-learning-padding-x);background:var(--profile-page-bg);grid-template-columns:var(--profile-sidebar-width) minmax(0, 1fr);align-items:start;gap:var(--profile-column-gap);flex:auto;grid-template-rows:minmax(0,1fr);display:grid;overflow:hidden}.profile-center-sidebar{gap:var(--profile-card-gap);flex-direction:column;flex-shrink:0;align-self:start;display:flex;overflow:visible}.profile-center-content{overscroll-behavior:contain;min-width:0;height:100%;min-height:0;max-height:100%;overflow:hidden auto}.profile-panel-sticky-header{z-index:2;background:#fff;border-radius:16px 16px 0 0;flex-direction:column;flex-shrink:0;gap:20px;padding:20px;display:flex;position:sticky;top:0}.profile-panel-body{flex:1;min-height:0;padding:0 20px 20px}.profile-panel-body--tasks{flex-direction:column;display:flex}.profile-user-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.profile-user-card-header{background:#fff;height:40px;position:relative}.profile-user-card-edit{z-index:1;cursor:pointer;background:#f3f4f6;border:0;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;transition:background .2s;display:inline-grid;position:absolute;top:10px;right:10px}.profile-user-card-edit:hover{background:#e5e7eb}.profile-user-card-edit-icon{object-fit:contain;width:14px;height:14px}.profile-user-card-body{flex-direction:column;align-items:center;padding:0 16px 16px;display:flex}.profile-user-avatar-wrap{margin-bottom:8px;position:relative}.profile-user-avatar{object-fit:cover;border-radius:50%;width:58px;height:58px;display:block;box-shadow:0 0 0 2px #fff,0 0 0 3px #e5e7eb}.profile-user-level{color:#fff;white-space:nowrap;background:#7a2b91;border-radius:999px;padding:2px 8px;font-size:9px;font-weight:700;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.profile-user-nickname{color:#111827;margin:12px 0 2px;font-size:13px;font-weight:600}.profile-user-bio{color:#9ca3af;text-align:center;margin:0 0 14px;font-size:11px}.profile-user-stats{border-top:1px solid #f3f4f6;grid-template-columns:repeat(4,1fr);width:100%;padding-top:12px;display:grid}.profile-user-stat-item{flex-direction:column;align-items:center;gap:2px;display:flex}.profile-user-stat-icon{opacity:.6;width:14px;height:14px;margin-bottom:2px}.profile-user-stat-item:hover .profile-user-stat-icon{opacity:1}.profile-user-stat-item strong{color:#111827;font-size:13px;font-weight:700}.profile-user-stat-item span{color:#9ca3af;font-size:10px}.profile-weekly-card{background:#faf5fc;border:1px solid #7a2b911f;border-radius:16px;padding:16px;position:relative;overflow:hidden}.profile-weekly-deco-large{opacity:.2;pointer-events:none;background:#7a2b91;border-radius:50%;width:80px;height:80px;position:absolute;top:-20px;right:-20px}.profile-weekly-deco-small{opacity:.1;pointer-events:none;background:#7a2b91;border-radius:50%;width:40px;height:40px;position:absolute;bottom:10px;right:10px}.profile-weekly-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.profile-weekly-title-wrap{align-items:center;gap:6px;display:inline-flex}.profile-weekly-title-icon{flex-shrink:0;width:14px;height:14px}.profile-weekly-title{color:#7a2b91;font-size:11px;font-weight:600}.profile-weekly-counter{color:#7a2b9199;font-size:10px}.profile-weekly-track{background:#fff;border-radius:999px;height:6px;overflow:hidden}.profile-weekly-fill{background:linear-gradient(90deg,#7a2b91,#9b3bb5);border-radius:999px;height:100%;transition:width .3s}.profile-weekly-hint{color:#7a2b9180;margin:6px 0 0;font-size:10px}.profile-nav-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.profile-nav-item{color:#4b5563;background:#fff;border-bottom:1px solid #f9fafb;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.profile-nav-item:last-child{border-bottom:0}.profile-nav-item:hover{background:#f9fafb}.profile-nav-icon-wrap{background:#f3f4f6;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;transition:background .15s,box-shadow .15s;display:inline-grid}.profile-nav-icon-img{filter:brightness(0)saturate()invert(65%);width:14px;height:14px}.profile-nav-label{flex:1}.profile-nav-chevron{color:#d1d5db;font-size:16px;line-height:1}.profile-nav-item.is-active{color:#7a2b91;background:#faf5fc}.profile-nav-item.is-active .profile-nav-icon-wrap{background:#7a2b91;box-shadow:0 4px 12px #7a2b9140}.profile-nav-item.is-active .profile-nav-icon-img{filter:brightness(0)invert()}.profile-nav-indicator{background:#7a2b91;border-radius:999px;flex-shrink:0;width:4px;height:16px}.profile-tasks-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex}.profile-tasks-header{margin-bottom:0}.profile-tasks-title-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.profile-tasks-title-bar{background:linear-gradient(#7a2b91,#4f46e5);border-radius:999px;flex-shrink:0;width:4px;height:20px}.profile-tasks-title{color:#111827;margin:0;font-size:16px;font-weight:700}.profile-tasks-subtitle{color:#9ca3af;margin:0;font-size:12px}.profile-tasks-tabs{background:#f3f4f6b3;border-radius:12px;margin-bottom:0;padding:4px;display:inline-flex}.profile-tasks-tab{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.profile-tasks-tab.is-active{color:#7a2b91;background:#fff;box-shadow:0 1px 4px #00000014}.profile-tasks-tab-badge{color:#9ca3af;background:#e5e7eb;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.profile-tasks-tab.is-active .profile-tasks-tab-badge{color:#7a2b91;background:#7a2b911f}.profile-tasks-list{margin:0;padding:0;list-style:none}.profile-tasks-item{background:0 0;border-bottom:1px solid #f3f4f6;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;transition:background .15s;display:flex}.profile-tasks-item:last-child{border-bottom:0}.profile-tasks-item:hover{background:#faf5fc}.profile-tasks-item .profile-tasks-action{opacity:0;transition:opacity .15s}.profile-tasks-item:hover .profile-tasks-action{opacity:1}.profile-tasks-cover{border-radius:12px;flex-shrink:0;width:72px;height:50px;overflow:hidden}.profile-tasks-cover-img{object-fit:cover;width:100%;height:100%}.profile-tasks-info{flex:1;min-width:0}.profile-tasks-item-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:13px;font-weight:600;overflow:hidden}.profile-tasks-meta{align-items:center;gap:4px;margin-bottom:8px;display:flex}.profile-tasks-category{color:#7a2b91;background:#7a2b9112;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:500}.profile-tasks-meta-dot{color:#d1d5db;font-size:10px}.profile-tasks-meta-icon{opacity:.6;width:12px;height:12px}.profile-tasks-meta-text{color:#9ca3af;font-size:10px}.profile-tasks-progress-row{align-items:center;gap:10px;display:flex}.profile-tasks-progress-track{background:#f3f4f6;border-radius:999px;flex:1;height:4px;overflow:hidden}.profile-tasks-progress-fill{border-radius:999px;height:100%;transition:width .3s}.profile-tasks-progress-fill.is-in-progress{background:linear-gradient(90deg,#7a2b91,#9b3bb5)}.profile-tasks-progress-fill.is-completed{background:linear-gradient(90deg,#059669,#10b981)}.profile-tasks-progress-fill.is-not-started{width:0!important}.profile-tasks-progress-text{text-align:right;white-space:nowrap;width:40px;font-size:10px;font-weight:600}.profile-tasks-progress-text.text-in-progress{color:#7a2b91}.profile-tasks-progress-text.text-completed{color:#059669}.profile-tasks-progress-text.text-not-started{color:#9ca3af}.profile-tasks-action{color:#7a2b91;cursor:pointer;background:#fff;border:1px solid #7a2b914d;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.profile-tasks-action img{width:12px;height:12px}.profile-tasks-action:hover{color:#fff;background:#7a2b91}.profile-tasks-action:hover img{filter:brightness(0)invert()}.profile-tasks-empty{flex-direction:column;align-items:center;padding:64px 0;display:flex}.profile-tasks-empty-icon{background:#f9fafb;border:1px solid #f3f4f6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.profile-tasks-empty-icon img{opacity:.4;width:24px;height:24px}.profile-tasks-empty-main{color:#9ca3af;margin:0 0 6px;font-size:13px;font-weight:500}.profile-tasks-empty-sub{color:#d1d5db;margin:0 0 16px;font-size:11px}.profile-tasks-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-tasks-empty-btn:hover{opacity:.9}.profile-tasks-explore{background:#faf5fc;border:1px solid #7a2b9114;border-radius:12px;justify-content:space-between;align-items:center;margin-top:auto;padding:12px 16px;display:flex}.profile-tasks-explore-text p{color:#374151;margin:0 0 2px;font-size:12px;font-weight:600}.profile-tasks-explore-text span{color:#9ca3af;font-size:10px}.profile-tasks-explore-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;align-items:center;gap:4px;padding:8px 14px;font-size:11px;font-weight:600;transition:opacity .2s;display:inline-flex}.profile-tasks-explore-btn img{filter:brightness(0)invert();width:12px;height:12px}.profile-tasks-explore-btn:hover{opacity:.9}.profile-user-stat-item--clickable{cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .15s}.profile-user-stat-item--clickable:hover{opacity:.8}.profile-relations-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex}.profile-relations-header{align-items:center;gap:12px;margin-bottom:0;display:flex}.profile-relations-back{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:32px;height:32px;padding:0;transition:background .15s;display:inline-grid}.profile-relations-back:hover{background:#f3f4f6}.profile-relations-back img{object-fit:contain;width:16px;height:16px}.profile-relations-title{color:#111827;margin:0;font-size:16px;font-weight:700}.profile-relations-subtitle{color:#9ca3af;margin:2px 0 0;font-size:11px}.profile-relations-toolbar{align-items:center;gap:12px;margin-bottom:0;display:flex}.profile-relations-tabs{background:#f3f4f6b3;border-radius:12px;flex-shrink:0;gap:2px;padding:4px;display:inline-flex}.profile-relations-tab{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.profile-relations-tab.is-active{color:#7a2b91;background:#fff;box-shadow:0 1px 4px #00000014}.profile-relations-tab-badge{color:#9ca3af;background:#e5e7eb;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.profile-relations-tab.is-active .profile-relations-tab-badge{color:#7a2b91;background:#7a2b911f}.profile-relations-search{flex:1;min-width:0;position:relative}.profile-relations-search-icon{opacity:.55;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-relations-search input{box-sizing:border-box;color:#374151;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;width:100%;padding:8px 12px 8px 32px;font-size:12px;transition:border-color .15s,background .15s}.profile-relations-search input::placeholder{color:#d1d5db}.profile-relations-search input:focus{background:#fff;border-color:#7a2b9140;outline:none}.profile-relations-error{color:#ef4444;margin:0 0 12px;font-size:12px}.profile-relations-loading{color:#9ca3af;text-align:center;padding:32px 0;font-size:13px}.profile-relations-list{margin:0;padding:0;list-style:none}.profile-relations-item{border-bottom:1px solid #f3f4f6;border-radius:12px;align-items:center;gap:16px;padding:14px 20px;transition:background .15s;display:flex}.profile-relations-item:last-child{border-bottom:0}.profile-relations-item:hover{background:#faf5fc}.profile-relations-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:44px;height:44px;box-shadow:0 1px 4px #00000014}.profile-relations-info{flex:1;min-width:0}.profile-relations-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.profile-relations-bio{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:11px;overflow:hidden}.profile-relations-follow-btn{color:#7a2b91;cursor:pointer;background:#7a2b910d;border:1px solid #7a2b914d;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.profile-relations-follow-icon{flex-shrink:0;width:14px;height:14px;position:relative}.profile-relations-follow-icon img{object-fit:contain;width:14px;height:14px}.profile-relations-follow-icon-hover{opacity:0;position:absolute;inset:0}.profile-relations-follow-btn:not(.is-following):hover{color:#fff;background:#7a2b91;border-color:#7a2b91}.profile-relations-follow-btn:not(.is-following):hover .profile-relations-follow-icon-default{opacity:0}.profile-relations-follow-btn:not(.is-following):hover .profile-relations-follow-icon-hover{opacity:1}.profile-relations-follow-btn.is-following{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.profile-relations-follow-btn.is-following:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.profile-relations-follow-btn.is-following:hover .profile-relations-follow-icon-default{opacity:0}.profile-relations-follow-btn.is-following:hover .profile-relations-follow-icon-hover{opacity:1}.profile-relations-follow-btn:disabled{opacity:.6;cursor:not-allowed}.profile-relations-empty{flex-direction:column;align-items:center;padding:64px 0;display:flex}.profile-relations-empty-icon{background:#f9fafb;border:1px solid #f3f4f6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.profile-relations-empty-icon img{opacity:.4;width:24px;height:24px}.profile-relations-empty-main{color:#9ca3af;margin:0 0 6px;font-size:13px;font-weight:500}.profile-relations-empty-sub{color:#d1d5db;margin:0 0 16px;font-size:11px}.profile-relations-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600}.profile-relations-explore{background:#faf5fc;border:1px solid #7a2b9112;border-radius:12px;align-items:center;gap:12px;margin-top:auto;padding:12px 16px;display:flex}.profile-relations-explore-icon-wrap{background:#7a2b9112;border-radius:12px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.profile-relations-explore-icon-wrap img{width:16px;height:16px}.profile-relations-explore-text{flex:1;min-width:0}.profile-relations-explore-text p{color:#374151;margin:0 0 2px;font-size:12px;font-weight:600}.profile-relations-explore-text span{color:#9ca3af;font-size:10px}.profile-relations-explore-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;transition:opacity .2s;display:inline-flex}.profile-relations-explore-btn img{filter:brightness(0)invert();width:12px;height:12px}.profile-relations-explore-btn:hover{opacity:.9}.profile-favorites-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex}.profile-favorites-header{margin-bottom:0}.profile-favorites-title-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.profile-favorites-title-bar{background:linear-gradient(#7a2b91,#9b3bb5);border-radius:999px;flex-shrink:0;width:4px;height:20px}.profile-favorites-title{color:#111827;margin:0;font-size:16px;font-weight:700}.profile-favorites-count{color:#7a2b91;background:#7a2b911f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.profile-favorites-subtitle{color:#9ca3af;margin:0;padding-left:12px;font-size:12px}.profile-favorites-search{margin-bottom:0;display:block;position:relative}.profile-favorites-search-icon{opacity:.55;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-favorites-search input{box-sizing:border-box;color:#374151;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;width:100%;padding:10px 16px 10px 36px;font-size:12px;transition:border-color .15s,background .15s}.profile-favorites-search input::placeholder{color:#d1d5db}.profile-favorites-search input:focus{background:#fff;border-color:#7a2b9140;outline:none}.profile-favorites-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.profile-favorites-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:stretch;gap:16px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex}.profile-favorites-card:hover{border-color:#e8d5f5;box-shadow:0 1px 6px #0000000f}.profile-favorites-accent{background:linear-gradient(#7a2b91,#7a2b9145);border-radius:999px;flex-shrink:0;align-self:stretch;width:4px}.profile-favorites-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.profile-favorites-card-top{align-items:flex-start;gap:12px;display:flex}.profile-favorites-card-title{color:#111827;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.4;transition:color .2s;display:-webkit-box;overflow:hidden}.profile-favorites-card:hover .profile-favorites-card-title{color:#7a2b91}.profile-favorites-action{color:#7a2b91;cursor:pointer;background:#7a2b910d;border:1px solid #7a2b914d;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.profile-favorites-action-icon{width:14px;height:14px;-webkit-mask:var(--bookmark-icon) center / contain no-repeat;-webkit-mask:var(--bookmark-icon) center / contain no-repeat;mask:var(--bookmark-icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0}.profile-favorites-action:hover{color:#fff;background:#7a2b91;border-color:#7a2b91}.profile-favorites-action.is-favorited{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.profile-favorites-action.is-favorited:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.profile-favorites-card-summary{color:#9ca3af;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.profile-favorites-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.profile-favorites-author{align-items:center;gap:8px;min-width:0;display:flex}.profile-favorites-author-avatar,.profile-likes-author-avatar{flex-shrink:0}.profile-favorites-author-name{color:#6b7280;font-size:11px;font-weight:500}.profile-favorites-date{color:#9ca3af;flex-shrink:0;font-size:10px}.profile-favorites-empty{flex-direction:column;align-items:center;padding:64px 0;display:flex}.profile-favorites-empty-icon{background:#f9fafb;border:1px solid #f3f4f6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.profile-favorites-empty-icon img{opacity:.4;width:24px;height:24px}.profile-favorites-empty-main{color:#9ca3af;margin:0 0 6px;font-size:13px;font-weight:500}.profile-favorites-empty-sub{color:#d1d5db;margin:0 0 16px;font-size:11px}.profile-favorites-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-favorites-empty-btn:hover{opacity:.9}.profile-likes-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex}.profile-likes-header{margin-bottom:0}.profile-likes-title-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.profile-likes-title-bar{background:linear-gradient(#7a2b91,#9b3bb5);border-radius:999px;flex-shrink:0;width:4px;height:20px}.profile-likes-title{color:#111827;margin:0;font-size:16px;font-weight:700}.profile-likes-count{color:#7a2b91;background:#7a2b911f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.profile-likes-subtitle{color:#9ca3af;margin:0;padding-left:12px;font-size:12px}.profile-likes-search{margin-bottom:0;display:block;position:relative}.profile-likes-search-icon{opacity:.55;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-likes-search input{box-sizing:border-box;color:#374151;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;width:100%;padding:10px 16px 10px 36px;font-size:12px;transition:border-color .15s,background .15s}.profile-likes-search input::placeholder{color:#d1d5db}.profile-likes-search input:focus{background:#fff;border-color:#7a2b9140;outline:none}.profile-likes-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.profile-likes-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:stretch;gap:16px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex}.profile-likes-card:hover{border-color:#e8d5f5;box-shadow:0 1px 6px #0000000f}.profile-likes-accent{background:linear-gradient(#7a2b91,#7a2b9145);border-radius:999px;flex-shrink:0;align-self:stretch;width:4px}.profile-likes-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.profile-likes-card-top{align-items:flex-start;gap:12px;display:flex}.profile-likes-card-title{color:#111827;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.4;transition:color .2s;display:-webkit-box;overflow:hidden}.profile-likes-card:hover .profile-likes-card-title{color:#7a2b91}.profile-likes-action{color:#ef4444;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.profile-likes-action-icon{width:14px;height:14px;-webkit-mask:var(--heart-icon) center / contain no-repeat;-webkit-mask:var(--heart-icon) center / contain no-repeat;mask:var(--heart-icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0}.profile-likes-action:hover{color:#fff;background:#ef4444;border-color:#ef4444}.profile-likes-action.is-liked{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.profile-likes-action.is-liked:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.profile-likes-card-summary{color:#9ca3af;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.profile-likes-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.profile-likes-author{align-items:center;gap:8px;min-width:0;display:flex}.profile-likes-author-avatar{flex-shrink:0}.profile-likes-author-name{color:#6b7280;font-size:11px;font-weight:500}.profile-likes-date{color:#9ca3af;flex-shrink:0;font-size:10px}.profile-likes-empty{flex-direction:column;align-items:center;padding:64px 0;display:flex}.profile-likes-empty-icon{background:#f9fafb;border:1px solid #f3f4f6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.profile-likes-empty-icon-shape{width:24px;height:24px;-webkit-mask:var(--heart-icon) center / contain no-repeat;-webkit-mask:var(--heart-icon) center / contain no-repeat;mask:var(--heart-icon) center / contain no-repeat;background-color:#d1d5db}.profile-likes-empty-main{color:#9ca3af;margin:0 0 6px;font-size:13px;font-weight:500}.profile-likes-empty-sub{color:#d1d5db;margin:0 0 16px;font-size:11px}.profile-likes-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-likes-empty-btn:hover{opacity:.9}.profile-comments-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex}.profile-comments-header{margin-bottom:0}.profile-comments-title-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.profile-comments-title-bar{background:linear-gradient(#7a2b91,#9b3bb5);border-radius:999px;flex-shrink:0;width:4px;height:20px}.profile-comments-title{color:#111827;margin:0;font-size:16px;font-weight:700}.profile-comments-count{color:#7a2b91;background:#7a2b911f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.profile-comments-subtitle{color:#9ca3af;margin:0;font-size:12px}.profile-comments-search{margin-bottom:0;display:block;position:relative}.profile-comments-search-icon{opacity:.55;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-comments-search input{box-sizing:border-box;color:#374151;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;width:100%;padding:10px 16px 10px 36px;font-size:12px;transition:border-color .15s,background .15s}.profile-comments-search input::placeholder{color:#d1d5db}.profile-comments-search input:focus{background:#fff;border-color:#7a2b9140;outline:none}.profile-comments-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.profile-comments-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:12px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex}.profile-comments-card:hover{border-color:#e8d5f5;box-shadow:0 1px 6px #0000000f}.profile-comments-content{color:#111827;margin:0;font-size:14px;font-weight:600;line-height:1.4}.profile-comments-post-ref{align-items:center;gap:12px;min-width:0;display:flex}.profile-comments-post-accent{background:linear-gradient(#7a2b91,#7a2b9145);border-radius:999px;flex-shrink:0;align-self:stretch;width:2px}.profile-comments-post-icon{width:12px;height:12px;-webkit-mask:var(--citation-icon) center / contain no-repeat;-webkit-mask:var(--citation-icon) center / contain no-repeat;mask:var(--citation-icon) center / contain no-repeat;background-color:#d1d5db;flex-shrink:0}.profile-comments-post-title{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.profile-comments-date{color:#9ca3af;font-size:12px}.profile-comments-actions{border-top:1px solid #f9fafb;justify-content:space-between;align-items:center;padding-top:4px;display:flex}.profile-comments-delete{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.profile-comments-delete-icon{width:14px;height:14px;-webkit-mask:var(--delete-icon) center / contain no-repeat;-webkit-mask:var(--delete-icon) center / contain no-repeat;mask:var(--delete-icon) center / contain no-repeat;background-color:currentColor}.profile-comments-delete:hover{color:#ef4444;background:#fef2f2}.profile-comments-view{color:#7a2b91;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:500;transition:background .15s;display:inline-flex}.profile-comments-view-icon{width:12px;height:12px;-webkit-mask:var(--external-link-icon) center / contain no-repeat;-webkit-mask:var(--external-link-icon) center / contain no-repeat;mask:var(--external-link-icon) center / contain no-repeat;background-color:currentColor}.profile-comments-view:hover{background:#7a2b910d}.profile-comments-empty{flex-direction:column;align-items:center;padding:64px 0;display:flex}.profile-comments-empty-icon{background:#f9fafb;border:1px solid #f3f4f6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.profile-comments-empty-icon img{opacity:.4;width:24px;height:24px}.profile-comments-empty-main{color:#9ca3af;margin:0 0 6px;font-size:13px;font-weight:500}.profile-comments-empty-sub{color:#d1d5db;margin:0 0 16px;font-size:11px}.profile-comments-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-comments-empty-btn:hover{opacity:.9}.profile-comments-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;place-items:center;display:grid;position:fixed;inset:0}.profile-comments-modal{background:#fff;border-radius:16px;width:min(280px,100% - 32px);overflow:hidden;box-shadow:0 10px 40px #0000001f}.profile-comments-modal-text{color:#374151;text-align:center;margin:0;padding:24px 24px 20px;font-size:14px}.profile-comments-modal-actions{border-top:1px solid #f3f4f6;display:flex}.profile-comments-modal-cancel,.profile-comments-modal-confirm{cursor:pointer;background:0 0;border:0;flex:1;padding:10px 0;font-size:13px;transition:background .15s}.profile-comments-modal-cancel{color:#9ca3af;border-right:1px solid #f3f4f6}.profile-comments-modal-cancel:hover{background:#f9fafb}.profile-comments-modal-confirm{color:#7a2b91}.profile-comments-modal-confirm:hover{background:#7a2b910d}.profile-history-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex;box-shadow:0 1px 3px #00000014}.profile-panel-sticky-header--history{gap:16px}.profile-history-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-history-title-row{align-items:center;gap:12px;display:flex}.profile-history-title-bar{background:linear-gradient(#7a2b91,#9b3bb5);border-radius:999px;flex-shrink:0;width:4px;height:24px}.profile-history-title{color:#111827;margin:0;font-size:17px;font-weight:700;line-height:1.3}.profile-history-subtitle{color:#9ca3af;margin:3px 0 0;padding-left:16px;font-size:12px}.profile-history-clear{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:color .15s,background .15s;display:inline-flex}.profile-history-clear:disabled{opacity:.45;cursor:not-allowed}.profile-history-clear-icon{width:12px;height:12px;-webkit-mask:var(--delete-icon) center / contain no-repeat;-webkit-mask:var(--delete-icon) center / contain no-repeat;mask:var(--delete-icon) center / contain no-repeat;background-color:currentColor}.profile-history-clear:not(:disabled):hover{color:#ef4444;background:#fef2f2}.profile-history-search{display:block;position:relative}.profile-history-search-icon{opacity:.55;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-history-search input{box-sizing:border-box;color:#111827;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;width:100%;padding:8px 16px 8px 36px;font-size:14px;transition:border-color .15s,background .15s}.profile-history-search input::placeholder{color:#d1d5db}.profile-history-search input:focus{background:#fff;border-color:#7a2b9140;outline:none}.profile-history-timeline{flex-direction:column;gap:28px;display:flex}.profile-history-group{align-items:stretch;gap:0;display:flex}.profile-history-track{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.profile-history-dot{background:#7a2b91;border-radius:50%;width:10px;height:10px;margin-top:9px;box-shadow:0 0 0 3px #7a2b9126}.profile-history-line{background:linear-gradient(#e5e7eb,#0000);flex:1;width:1px;min-height:24px;margin-top:4px}.profile-history-group-body{flex:1;min-width:0;padding-left:12px}.profile-history-date{color:#6b7280;margin:1px 0 8px;font-size:13px;font-weight:500}.profile-history-items{margin:0;padding:0;list-style:none}.profile-history-item{border-radius:8px;align-items:center;gap:12px;margin:0 -8px;padding:10px 8px;transition:background .12s;display:flex}.profile-history-item:hover{background:#f9fafb}.profile-history-time{font-variant-numeric:tabular-nums;color:#9ca3af;flex-shrink:0;width:36px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.profile-history-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.profile-history-info{flex:1;min-width:0}.profile-history-item-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:500;line-height:1.35;transition:color .12s;overflow:hidden}.profile-history-item:hover .profile-history-item-title{color:#7a2b91}.profile-history-item-author{color:#9ca3af;margin:2px 0 0;font-size:12px}.profile-history-remove{opacity:0;pointer-events:none;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;padding:0;transition:opacity .15s,background .15s;display:inline-grid}.profile-history-remove img{opacity:.55;width:13px;height:13px;transition:opacity .15s}.profile-history-item:hover .profile-history-remove{opacity:1;pointer-events:auto}.profile-history-remove:hover{background:#fef2f2}.profile-history-remove:hover img{opacity:1;filter:brightness(0)saturate()invert(52%)sepia(86%)saturate(2542%)hue-rotate(331deg)brightness()contrast(95%)}.profile-history-empty{flex-direction:column;align-items:center;padding:112px 0;display:flex}.profile-history-empty-icon{place-items:center;margin-bottom:12px;display:grid}.profile-history-empty-icon img{opacity:.4;width:38px;height:38px}.profile-history-empty-main{color:#d1d5db;margin:0;font-size:14px}.profile-history-empty-sub{color:#d1d5db;margin:6px 0 16px;font-size:11px}.profile-history-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-history-empty-btn:hover{opacity:.9}.profile-history-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;place-items:center;display:grid;position:fixed;inset:0}.profile-history-modal{background:#fff;border-radius:16px;width:min(280px,100% - 32px);overflow:hidden;box-shadow:0 10px 40px #0000001f}.profile-history-modal-text{color:#374151;text-align:center;margin:0;padding:24px 24px 20px;font-size:14px}.profile-history-modal-actions{border-top:1px solid #f3f4f6;display:flex}.profile-history-modal-cancel,.profile-history-modal-confirm{cursor:pointer;background:0 0;border:0;flex:1;padding:10px 0;font-size:13px;transition:background .15s}.profile-history-modal-cancel{color:#9ca3af;border-right:1px solid #f3f4f6}.profile-history-modal-cancel:hover{background:#f9fafb}.profile-history-modal-confirm{color:#7a2b91}.profile-history-modal-confirm:hover{background:#7a2b910d}.profile-creation-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:100%;padding:0;display:flex;box-shadow:0 1px 3px #00000014}.profile-creation-message{color:#7a2b91;margin:0;padding:12px 28px 0;font-size:12px;font-weight:600}.profile-creation-stats-section{z-index:2;background:#fff;border-bottom:1px solid #f3f4f6;border-radius:16px 16px 0 0;flex-shrink:0;padding:28px 28px 24px;position:sticky;top:0}.profile-creation-stats-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-creation-stats-title-row,.profile-creation-articles-header{align-items:center;gap:12px;display:flex}.profile-creation-title-bar,.profile-creation-articles-bar{background:linear-gradient(#7a2b91,#9b3bb5);border-radius:999px;flex-shrink:0;width:4px}.profile-creation-title-bar{height:24px}.profile-creation-articles-bar{height:20px}.profile-creation-stats-title{color:#111827;margin:0;font-size:17px;font-weight:700;line-height:1.3}.profile-creation-stats-subtitle{color:#9ca3af;margin:3px 0 0;padding-left:16px;font-size:12px}.profile-creation-publish{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7a2b91,#9b3bb5);border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 6px #7a2b9133}.profile-creation-publish img{filter:brightness(0)invert();width:14px;height:14px}.profile-creation-publish:hover{background:linear-gradient(135deg,#6a2080,#8b30a0);box-shadow:0 4px 12px #7a2b9159}.profile-creation-stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.profile-creation-stat-card{background:#f9f9fb;border:1px solid #f0f0f4;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.profile-creation-stat-label{color:#9ca3af;font-size:12px}.profile-creation-stat-value{color:#111827;font-size:28px;font-weight:700;line-height:1}.profile-creation-stat-delta{color:#6b7280;align-items:center;gap:6px;font-size:12px;display:flex}.profile-creation-stat-delta span{color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:2px 6px;font-size:10px}.profile-creation-stat-delta em{font-style:normal;font-weight:500}.profile-creation-articles-section{flex:1;min-height:0;padding:24px 28px}.profile-creation-articles-header{margin-bottom:16px}.profile-creation-articles-title{color:#111827;margin:0;font-size:15px;font-weight:700}.profile-creation-articles-count{color:#7a2b91;background:#7a2b9114;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.profile-creation-article-list{margin:0;padding:0;list-style:none}.profile-creation-article-item{border-radius:12px;align-items:center;gap:16px;margin:0 -16px;padding:14px 16px;transition:background .12s;display:flex}.profile-creation-article-item:hover{background:#faf9fc}.profile-creation-article-cover{border-radius:8px;flex-shrink:0;width:80px;height:60px;overflow:hidden}.profile-creation-article-cover img{object-fit:cover;width:100%;height:100%;display:block}.profile-creation-article-info{flex:1;min-width:0}.profile-creation-article-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;font-size:14px;font-weight:600;overflow:hidden}.profile-creation-article-metrics{color:#9ca3af;flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.profile-creation-article-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.profile-creation-article-actions{align-items:center;gap:12px;display:flex}.profile-creation-edit,.profile-creation-delete{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.profile-creation-action-icon{width:11px;height:11px;-webkit-mask:var(--action-icon) center / contain no-repeat;-webkit-mask:var(--action-icon) center / contain no-repeat;mask:var(--action-icon) center / contain no-repeat;background-color:currentColor}.profile-creation-edit:hover{color:#7a2b91;background:#7a2b910f}.profile-creation-delete:hover{color:#ef4444;background:#fef2f2}.profile-creation-article-time{color:#c4b5d0;font-size:11px}.profile-creation-empty{flex-direction:column;align-items:center;padding:96px 0;display:flex}.profile-creation-empty-icon{opacity:.4;width:38px;height:38px;margin-bottom:12px}.profile-creation-empty-main{color:#d1d5db;margin:0 0 16px;font-size:14px}.profile-creation-empty-btn{color:#fff;cursor:pointer;background:#7a2b91;border:0;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:opacity .2s}.profile-creation-empty-btn:hover{opacity:.9}.profile-creation-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;place-items:center;display:grid;position:fixed;inset:0}.profile-creation-modal{background:#fff;border-radius:16px;width:min(280px,100% - 32px);overflow:hidden;box-shadow:0 10px 40px #0000001f}.profile-creation-modal-text{color:#374151;text-align:center;margin:0;padding:20px 24px;font-size:14px;line-height:1.6}.profile-creation-modal-actions{border-top:1px solid #f3f4f6;display:flex}.profile-creation-modal-cancel,.profile-creation-modal-confirm{cursor:pointer;background:0 0;border:0;flex:1;padding:10px 0;font-size:13px;transition:background .15s}.profile-creation-modal-cancel{color:#9ca3af;border-right:1px solid #f3f4f6}.profile-creation-modal-cancel:hover{background:#f9fafb}.profile-creation-modal-confirm{color:#7a2b91}.profile-creation-modal-confirm:hover{background:#7a2b910d}.edit-profile-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.edit-profile-dialog{background:#fff;border-radius:16px;width:min(480px,100vw - 32px);overflow:hidden;box-shadow:0 20px 60px #0e0e1a2e}.edit-profile-header{border-bottom:1px solid #f1f1f3;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.edit-profile-title{color:#111827;margin:0;font-size:18px;font-weight:700}.edit-profile-close{color:#9ca3af;background:0 0;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:inline-grid}.edit-profile-close:hover{background:#f3f4f6}.edit-profile-close img{object-fit:contain;width:16px;height:16px}.edit-profile-body{padding:24px 28px 8px}.edit-profile-avatar-section{flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.edit-profile-avatar-btn{cursor:pointer;background:0 0;border:0;padding:0;position:relative}.edit-profile-avatar-btn:disabled{cursor:wait;opacity:.7}.edit-profile-avatar-img{object-fit:cover;border:2px solid #f1f1f3;border-radius:50%;width:72px;height:72px;display:block}.edit-profile-avatar-badge{color:#fff;background:var(--gradient-primary);border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:0;right:0}.edit-profile-avatar-badge svg{width:12px;height:12px}.edit-profile-avatar-hint{color:#9ca3af;margin:10px 0 0;font-size:12px}.edit-profile-field{margin-bottom:18px;display:block}.edit-profile-label{color:#374151;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.edit-profile-input-wrap{position:relative}.edit-profile-input,.edit-profile-textarea{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#f9fafb;border-radius:10px;font-family:inherit;font-size:14px}.edit-profile-input{height:40px;padding:0 52px 0 16px}.edit-profile-textarea{resize:vertical;min-height:88px;padding:12px 16px;line-height:1.6}.edit-profile-input:focus,.edit-profile-textarea:focus{border-color:var(--color-primary);background:#fff;outline:none;box-shadow:0 0 0 2px #7a2b911f}.edit-profile-counter{color:#9ca3af;pointer-events:none;font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.edit-profile-error{color:var(--color-danger);margin:0 0 8px;font-size:13px}.edit-profile-footer{justify-content:flex-end;gap:10px;padding:8px 28px 24px;display:flex}.edit-profile-cancel,.edit-profile-save{border-radius:999px;height:36px;font-size:13px;font-weight:600}.edit-profile-cancel{color:#6b7280;background:#fff;border:1px solid #e5e7eb;padding:0 20px}.edit-profile-cancel:hover:not(:disabled){background:#f9fafb}.edit-profile-save{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-primary-button);border:0;padding:0 24px}.edit-profile-save:hover:not(:disabled){filter:brightness(1.05)}.edit-profile-save:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
