:root{color-scheme:light;--primary-50: #f0fdfa;--primary-100: #ccfbf1;--primary-200: #99f6e4;--primary-300: #5eead4;--primary-400: #2dd4bf;--primary-500: #14b8a6;--primary-600: #0d9488;--primary-700: #0f766e;--primary-800: #115e59;--primary-900: #134e4a;--accent-50: #fff7ed;--accent-100: #ffedd5;--accent-200: #fed7aa;--accent-300: #fdba74;--accent-400: #fb923c;--accent-500: #f97316;--accent-600: #ea580c;--accent-700: #c2410c;--accent-800: #9a3412;--accent-900: #7c2d12;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg: var(--bg-page);--panel: var(--bg-card);--panel-strong: var(--bg-card);--line: var(--gray-200);--text: var(--gray-700);--muted: var(--gray-500);--accent: var(--primary-500);--accent-2: var(--accent-500);--accent-3: var(--info);--shadow: 0 1px 3px rgba(15, 23, 42, .08);--shadow-hover: 0 8px 18px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg-page);color:var(--text)}body{font-family:Inter,Outfit,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;letter-spacing:0;color:var(--gray-700);background-color:#f8fafc;background-image:linear-gradient(rgba(220,252,231,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(220,252,231,.15) 1px,transparent 1px);background-size:28px 28px}h1,h2,h3{color:var(--gray-900);margin:0}h1{font-size:40px;font-weight:700;line-height:1.2}h2{font-size:30px;font-weight:600;line-height:1.3}h3{font-size:20px;font-weight:600;line-height:1.4}a{color:inherit;text-decoration:none}.app-shell{position:relative;min-height:100vh;background:transparent}.app-background{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 18% 8%,rgba(20,184,166,.08),transparent 260px),linear-gradient(180deg,rgba(20,184,166,.04),transparent 260px)}.app-content{position:relative;z-index:1;width:min(1280px,calc(100% - 72px));margin:0 auto;padding:104px 0 56px}.site-header{position:fixed;top:0;right:0;left:0;z-index:100;height:auto;padding:12px 24px;background:#ffffffeb;box-shadow:0 1px 3px #0f172a0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .3s ease,box-shadow .3s ease}.site-header.scrolled{background:#fffffffa;box-shadow:0 2px 8px #0f172a14}.site-header__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1280px;min-height:44px;height:auto;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-brand{flex:0 0 auto;display:flex;align-items:center;gap:8px;justify-content:center;min-height:38px;height:auto;padding:6px 12px;border-radius:9px;background:#dcfce7;border:0;box-shadow:none;transition:background .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}.site-brand:hover{background:#bbf7d0;transform:translateY(-1px);box-shadow:0 2px 6px #10b98126}.site-brand__logo{display:grid;place-items:center;width:auto;height:auto;border-radius:0;background:transparent;border:0;color:#0d9488;font-size:20px}.site-brand__title{margin:0;color:#065f46;font-family:"Noto Serif SC",serif;font-size:17px;line-height:1.1;font-weight:600}.site-brand__text{margin:4px 0 0;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-nav{flex:1;display:flex;flex-wrap:nowrap;justify-content:center;gap:4px;min-width:0;width:auto;margin:0 24px}.site-nav__link{position:relative;height:auto;padding:8px 16px;border-radius:0;color:var(--gray-600);font-size:15px;font-weight:500;line-height:1.2;transition:color .2s ease,background .2s ease;white-space:nowrap}@media(min-width:769px)and (max-width:1120px){.site-header{padding:12px 24px}.site-header__inner{padding-inline:0}.site-nav{margin:0 12px}.site-nav__link{padding:8px 10px;font-size:13px}.header-pill{padding-inline:10px}}.site-nav__link:hover,.site-nav__link--active{color:var(--primary-600);background:transparent}.site-nav__link--active{font-weight:600}.site-nav__underline{position:absolute;right:17.5%;bottom:-12px;left:17.5%;height:3px;border-radius:3px;background:#10b981;transition:all .3s cubic-bezier(.4,0,.2,1)}.site-header__meta{flex:0 0 auto;display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:nowrap;min-width:max-content}.header-pill{display:flex;align-items:center;gap:5px;min-height:34px;height:auto;padding:6px 12px;border-radius:9px;background:#f0fdfa;border:0;color:#0f766e;font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .2s ease,transform .2s ease}.header-pill:hover{background:#dcfce7;transform:translateY(-1px)}.header-pill strong{color:#059669;font-size:15px;font-weight:700;margin-left:2px}.user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#10b981;color:#fff;font-size:15px;font-weight:600;flex:0 0 auto;transition:transform .2s ease,box-shadow .2s ease}.user-avatar:hover{transform:scale(1.05);box-shadow:0 2px 6px #10b98133}.header-icon-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:9px;background:var(--gray-100);color:var(--gray-600);font-size:17px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.header-icon-button:hover{background:var(--gray-200);color:var(--primary-600);transform:scale(1.05)}.hero-banner{position:relative;overflow:hidden;padding:44px 52px;margin:18px 0 32px;border:0;border-radius:22px;background:linear-gradient(135deg,#d1fae5,#a7f3d0,#6ee7b7);box-shadow:0 4px 16px #10b9811a}.hero-banner:after{content:"";position:absolute;top:-80px;right:-80px;z-index:0;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);pointer-events:none}.hero-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.5;pointer-events:none}.dashboard-hero{display:grid;position:relative;z-index:1;gap:32px}.dashboard-hero__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.dashboard-hero__title{margin:0!important;color:#064e3b!important;font-family:"Noto Serif SC",serif!important;font-size:42px!important;font-weight:800!important;line-height:1.2!important;position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.05)}.dashboard-hero__copy{color:#065f46;font-size:16.5px;font-weight:500;opacity:.86;position:relative;z-index:1}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.overview-metric{display:grid;text-align:center;gap:6px;padding:20px;border-radius:15px;background:#fffffff2;border:0;box-shadow:0 2px 8px #0f172a0a;position:relative;z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s cubic-bezier(.4,0,.2,1)}.overview-metric:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 20px #0f172a14;background:#fff}.overview-metric__label{color:var(--gray-500);font-size:13.5px;font-weight:500;margin-bottom:6px}.overview-metric__value{color:#064e3b;font-size:28px;font-weight:700}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--gray-100);color:var(--gray-700);font-size:13px;border:0;font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-radius:12px}.page-header .section-title{margin:0;line-height:1.2;letter-spacing:-.5px}.page-header .section-subtitle{margin-top:8px}.page-header__meta{display:flex;align-items:center;gap:16px}.page-header__extra{display:flex;justify-content:flex-end;min-width:0}.publish-btn.ant-btn-primary{height:42px;padding-inline:18px;border:0;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-weight:700;box-shadow:0 8px 18px -10px #059669b3;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}.publish-btn.ant-btn-primary:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 12px 22px -10px #059669d1}.forum-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.forum-stat-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:116px;padding:18px 20px;border:1px solid #e7f6ee;border-radius:18px;background:radial-gradient(circle at 88% 8%,rgba(16,185,129,.14),transparent 32%),#fff;box-shadow:0 1px 2px #0f172a08,0 8px 20px #0f172a0d}.forum-stat-card__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ecfdf5;color:#059669;font-size:18px}.forum-stat-card__label{color:var(--gray-500);font-size:13px;font-weight:700}.forum-stat-card__value{color:var(--gray-900);font-size:24px;line-height:1;font-weight:850;letter-spacing:-.03em}.forum-filter-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.forum-filter-panel__title{margin:0 0 4px;color:var(--gray-900);font-size:17px;font-weight:800}.forum-filter-panel__meta{margin:0;color:var(--gray-500);font-size:13px;font-weight:600}.forum-filter-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.forum-filter{height:34px;padding:0 14px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:var(--gray-600);font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.forum-filter:hover,.forum-filter--active{transform:translateY(-1px);border-color:#a7f3d0;background:#ecfdf5;color:#047857}.pinned-post{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:15px 18px;border:1px solid #fde68a;border-radius:16px;background:linear-gradient(135deg,#fffbeb,#fff 70%);color:var(--gray-800);text-align:left;cursor:pointer;box-shadow:0 1px 2px #0f172a08,0 8px 20px #d9770614;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.pinned-post:hover{transform:translateY(-2px);border-color:#fbbf24;box-shadow:0 4px 10px #0f172a0a,0 12px 24px #d977061f}.pinned-post__badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:800}.pinned-post__title{min-width:0;overflow:hidden;color:var(--gray-900);font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pinned-post__meta{color:#b45309;font-size:13px;font-weight:700;white-space:nowrap}.forum-post-list{display:grid;gap:18px}.post-card{position:relative;overflow:hidden;display:grid;gap:18px;padding:24px;border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 1px 2px #0f172a08,0 4px 14px #0f172a0b;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}.post-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(16,185,129,.05),transparent 42%);opacity:0;pointer-events:none;transition:opacity .26s ease}.post-card:hover{border-color:#d1fae5;box-shadow:0 6px 14px #0f172a0d,0 16px 32px #0f172a14}.post-card:hover:after{opacity:1}.post-card--hot{border-left:4px solid #059669;background:linear-gradient(90deg,#f0fdf4,#fff 46%)}.post-card__top,.post-actions{position:relative;z-index:1}.post-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px}.post-user{display:flex;align-items:center;min-width:0;gap:10px}.post-user__avatar{flex:0 0 auto;font-weight:800}.post-user__name{color:var(--gray-900);font-size:14px;font-weight:800}.post-user__time{margin-top:2px;color:var(--gray-400);font-size:12px;font-weight:600}.post-card__badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.post-tag,.post-hot-badge{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}.post-tag--exam{background:#dbeafe;color:#1d4ed8}.post-tag--programming{background:#d1fae5;color:#047857}.post-tag--english{background:#fef3c7;color:#b45309}.post-tag--recruit{background:#fee2e2;color:#dc2626}.post-tag--default{background:var(--gray-100);color:var(--gray-700)}.post-hot-badge{background:#fff1f2;color:#e11d48}.post-card__main{position:relative;z-index:1;display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.post-title{margin:0 0 9px;color:var(--gray-900);font-size:18px;line-height:1.45;font-weight:850;transition:color .2s ease}.post-card:hover .post-title{color:#047857}.post-content{margin:0;color:var(--gray-600);font-size:14px;line-height:1.75;font-weight:500}.post-reply-preview{position:relative;z-index:1;padding:10px 12px;border-radius:12px;background:#f8fafc;color:var(--gray-600);font-size:13px;line-height:1.55;font-weight:600}.post-actions{display:flex;align-items:center;gap:12px;padding-top:2px}.action-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:0;border-radius:999px;background:#f3f4f6;color:var(--gray-600);font-size:13px;font-weight:800;line-height:1;cursor:default;transition:transform .2s ease,background .2s ease,color .2s ease}button.action-btn{cursor:pointer}.action-btn:hover{transform:translateY(-1px);background:#e5e7eb}.action-btn--view{color:#2563eb;background:#dbeafe}.action-btn--like{color:#ef4444;background:#fff1f2}.action-btn--like:hover,.action-btn--like.active{background:#fee2e2;color:#dc2626}.view-post-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:0;border:0;background:transparent;color:#2563eb;font-size:14px;font-weight:800;cursor:pointer;transition:color .2s ease,transform .2s ease}.view-post-btn:hover{color:#1d4ed8;transform:translate(2px)}.resource-toolbar,.ebook-toolbar{display:grid;gap:16px}.resource-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.resource-stat-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:116px;padding:22px 24px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 2px 8px -2px #0f172a0a,0 4px 12px -4px #0f172a0f;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.resource-stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:0 0 0 100%;background:linear-gradient(135deg,#10b9811a,#10b98100 72%);pointer-events:none}.resource-stat-card:hover{transform:translateY(-4px);border-color:#d1fae5;box-shadow:0 6px 14px #0f172a0d,0 12px 24px -8px #0f172a1f}.resource-stat-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:10px;background:#ecfdf5;color:#059669;font-size:18px}.resource-stat-card:nth-child(2) .resource-stat-card__icon{background:#f0f9ff;color:#0284c7}.resource-stat-card:nth-child(3) .resource-stat-card__icon{background:#fffbeb;color:#d97706}.resource-stat-card:nth-child(4) .resource-stat-card__icon{background:#fef2f2;color:#dc2626}.resource-stat-card__label{position:relative;z-index:1;color:var(--gray-500);font-size:14px;font-weight:700}.resource-stat-card__value{position:relative;z-index:1;color:var(--gray-900);font-size:28px;line-height:1;font-weight:850;letter-spacing:-.03em}.resource-toolbar.surface-panel{display:grid;gap:20px;padding:24px;border-radius:16px}.resource-search{position:relative;display:flex;align-items:center}.resource-search__icon{position:absolute;left:16px;z-index:1;color:var(--gray-400);font-size:17px}.resource-search__input{width:100%;height:48px;padding:0 76px 0 46px;border:1px solid #e5e7eb;border-radius:14px;outline:none;background:#fff;color:var(--gray-900);font-size:15px;font-weight:600;box-shadow:0 1px 2px #0f172a08;transition:border-color .2s ease,box-shadow .2s ease}.resource-search__input::placeholder{color:var(--gray-400);font-weight:500}.resource-search__input:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811a}.resource-search__clear{position:absolute;right:10px;height:30px;padding:0 10px;border:0;border-radius:999px;background:#f3f4f6;color:var(--gray-500);font-size:12px;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease}.resource-search__clear:hover{background:#e5e7eb;color:var(--gray-700)}.resource-category-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.resource-category-tab{flex:0 0 auto;height:38px;padding:0 18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:var(--gray-600);font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.resource-category-tab:hover{transform:translateY(-1px);border-color:#a7f3d0;background:#ecfdf5;color:#047857}.resource-category-tab--active{border-color:#059669;background:#059669;color:#fff;box-shadow:0 8px 18px -12px #059669cc}.resource-category-tab--active:hover{background:#059669;color:#fff}.resource-card{position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:326px;padding:30px 24px 24px;border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 1px 2px #0f172a08,0 6px 16px #0f172a0d;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.resource-card:before{content:none}.resource-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(16,185,129,.06),transparent 44%);opacity:0;pointer-events:none;transition:opacity .28s ease}.resource-card:hover{border-color:#d1fae5;box-shadow:0 8px 18px #0f172a0f,0 20px 40px #0f172a1a}.resource-card:hover:after{opacity:1}.resource-card--hot{overflow:visible;border-color:#d1fae5;background:linear-gradient(180deg,#10b9810e,#fff 48%)}.resource-card--hot:before{content:"";position:absolute;top:0;left:22px;right:22px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,#059669,#34d399);pointer-events:none}.resource-hot-badge{position:absolute;top:-10px;right:16px;z-index:4;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:999px;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 18px -10px #ef4444e6}.resource-card__header,.resource-card__desc,.resource-card__stats,.resource-progress,.download-btn{position:relative;z-index:1}.resource-card__header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:flex-start;gap:12px;margin-bottom:16px}.resource-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#ecfdf5;color:#059669;font-size:20px;transition:transform .26s ease,background .26s ease}.resource-card:hover .resource-card__icon{transform:translateY(-2px) scale(1.04);background:#d1fae5}.resource-card__info{min-width:0}.resource-card__title{margin:0 0 5px;color:var(--gray-900);font-size:18px;line-height:1.42;font-weight:850;transition:color .2s ease}.resource-card:hover .resource-card__title{color:#047857}.resource-card__author{margin:0;color:var(--gray-500);font-size:13px;font-weight:700}.resource-tag{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff6b}.resource-tag--programming{background:#bbf7d0;color:#047857}.resource-tag--math{background:#bfdbfe;color:#1d4ed8}.resource-tag--english{background:#fde68a;color:#b45309}.resource-tag--physics{background:#ddd6fe;color:#6d28d9}.resource-tag--economics{background:#fed7aa;color:#c2410c}.resource-tag--default{background:var(--gray-100);color:var(--gray-700)}.resource-card__desc{flex:1;margin:0;color:var(--gray-600);font-size:14px;line-height:1.72;font-weight:550}.resource-card__stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 20px}.download-count,.points-value{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:800;line-height:1}.download-count{background:#f3f4f6;color:var(--gray-600)}.points-value{background:#fde68a;color:#b45309}.points-value .anticon{color:#f59e0b}.points-value strong{color:#92400e;font-size:17px;line-height:1;font-weight:900}.resource-progress{margin:-2px 0 14px}.download-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:auto;border:0;border-radius:13px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 10px 20px -12px #059669d9;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}.download-btn:hover:not(:disabled){transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 14px 26px -12px #059669f2}.download-btn:active:not(:disabled){transform:translateY(0)}.download-btn--disabled,.download-btn:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.ebook-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ebook-stat-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:116px;padding:22px 24px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 2px 8px -2px #0f172a0a,0 4px 12px -4px #0f172a0f;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.ebook-stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:0 0 0 100%;background:linear-gradient(135deg,#10b9811c,#10b98100 72%);pointer-events:none}.ebook-stat-card:hover{transform:translateY(-4px);border-color:#d1fae5;box-shadow:0 6px 14px #0f172a0d,0 12px 24px -8px #0f172a1f}.ebook-stat-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:10px;font-size:18px}.ebook-stat-card__icon--total{background:#ecfdf5;color:#059669}.ebook-stat-card__icon--chapters{background:#f0f9ff;color:#0284c7}.ebook-stat-card__icon--reads{background:#fef3c7;color:#d97706}.ebook-stat-card__icon--new{background:#f3e8ff;color:#9333ea}.ebook-stat-card__label{position:relative;z-index:1;color:var(--gray-500);font-size:14px;font-weight:700}.ebook-stat-card__value{position:relative;z-index:1;color:var(--gray-900);font-size:28px;line-height:1;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ebook-toolbar.surface-panel{display:grid;gap:20px;padding:24px;border-radius:16px}.ebook-search{position:relative;display:flex;align-items:center}.ebook-search__icon{position:absolute;left:16px;z-index:1;color:var(--gray-400);font-size:17px}.ebook-search__input{width:100%;height:48px;padding:0 76px 0 46px;border:1px solid #e5e7eb;border-radius:14px;outline:none;background:#fff;color:var(--gray-900);font-size:15px;font-weight:600;box-shadow:0 1px 2px #0f172a08;transition:border-color .2s ease,box-shadow .2s ease}.ebook-search__input::placeholder{color:var(--gray-400);font-weight:500}.ebook-search__input:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811a}.ebook-search__clear{position:absolute;right:10px;height:30px;padding:0 10px;border:0;border-radius:999px;background:#f3f4f6;color:var(--gray-500);font-size:12px;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease}.ebook-search__clear:hover{background:#e5e7eb;color:var(--gray-700)}.ebook-category-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.ebook-category-tab{flex:0 0 auto;height:38px;padding:0 18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:var(--gray-600);font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.ebook-category-tab:hover{transform:translateY(-1px);border-color:#a7f3d0;background:#ecfdf5;color:#047857}.ebook-category-tab--active{border-color:#059669;background:#059669;color:#fff;box-shadow:0 8px 18px -12px #059669cc}.ebook-category-tab--active:hover{background:#059669;color:#fff}.ebook-card{position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:372px;padding:24px;border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 4px 12px -2px #0f172a0d,0 2px 8px -2px #0f172a08;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.ebook-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(16,185,129,.07),transparent 46%);opacity:0;pointer-events:none;transition:opacity .28s ease}.ebook-card:hover{border-color:#d1fae5;box-shadow:0 8px 18px #0f172a0f,0 20px 40px -12px #0f172a21}.ebook-card:hover:after{opacity:1}.ebook-cover,.ebook-card__body,.ebook-meta,.ebook-actions{position:relative;z-index:1}.ebook-cover{display:grid;place-items:center;height:132px;margin-bottom:20px;overflow:hidden;border:1px solid #bbf7d0;border-radius:12px;background:radial-gradient(circle at 76% 18%,rgba(255,255,255,.7),transparent 30%),linear-gradient(135deg,#f0fdf4,#dcfce7)}.ebook-cover:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(5,150,105,.1);border-radius:9px;pointer-events:none}.ebook-cover .anticon{color:#059669;font-size:40px;opacity:.84;filter:drop-shadow(0 8px 14px rgba(5,150,105,.15));transition:transform .28s ease}.ebook-card:hover .ebook-cover .anticon{transform:translateY(-3px) scale(1.05)}.ebook-cover__spine{position:absolute;top:0;bottom:0;left:16px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,#10b981,#059669)}.ebook-cover__screen{position:absolute;right:18px;bottom:16px;width:38px;height:26px;border:1px solid rgba(5,150,105,.18);border-radius:7px;background:#ffffff75}.ebook-card__body{display:grid;gap:8px}.ebook-title{margin:0;color:var(--gray-900);font-size:18px;line-height:1.42;font-weight:850;transition:color .22s ease}.ebook-card:hover .ebook-title{color:#047857}.ebook-author{margin:0;color:var(--gray-500);font-size:13px;font-weight:750}.ebook-desc{margin:0;color:var(--gray-600);font-size:14px;line-height:1.66;font-weight:550}.ebook-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:20px 0}.ebook-tag,.chapter-count{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:850;white-space:nowrap}.ebook-tag--programming{background:#bbf7d0;color:#047857}.ebook-tag--math{background:#bfdbfe;color:#1d4ed8}.ebook-tag--english{background:#fde68a;color:#b45309}.ebook-tag--physics{background:#ddd6fe;color:#6d28d9}.ebook-tag--economics{background:#fed7aa;color:#c2410c}.ebook-tag--default{background:var(--gray-100);color:var(--gray-700)}.chapter-count{gap:6px;background:#e0f2fe;color:#0369a1}.chapter-count strong{color:#075985;font-size:17px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.ebook-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}.ebook-read-btn,.ebook-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;border-radius:13px;font-size:14px;font-weight:850;cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,background .24s ease,color .24s ease,border-color .24s ease,filter .24s ease}.ebook-read-btn{border:1px solid #a7f3d0;background:#fff;color:#047857}.ebook-read-btn:hover{transform:translateY(-1px);border-color:#10b981;background:#ecfdf5}.ebook-download-btn{border:0;background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 10px 20px -12px #059669d9}.ebook-download-btn:hover:not(:disabled){transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 14px 26px -12px #059669f2}.ebook-download-btn:active:not(:disabled),.ebook-read-btn:active{transform:translateY(0)}.ebook-download-btn:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.ebook-download-btn--done:disabled{background:#d1fae5;color:#047857}.ebook-reader{display:grid;gap:22px;padding:8px 4px 4px}.ebook-reader__header{padding:24px;border-radius:18px;background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.62),transparent 30%),linear-gradient(135deg,#d1fae5,#a7f3d0)}.ebook-reader__eyebrow{display:inline-flex;height:26px;align-items:center;padding:0 10px;border-radius:999px;background:#ffffffad;color:#047857;font-size:12px;font-weight:850}.ebook-reader__header h3{margin:12px 0 4px;color:#064e3b;font-size:26px;font-weight:900}.ebook-reader__header p{margin:0;color:#065f46;font-size:14px;font-weight:700}.ebook-reader__body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px}.ebook-reader__toc,.ebook-reader__page{border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 4px 12px -6px #0f172a1a}.ebook-reader__toc{display:grid;align-content:start;gap:10px;padding:18px}.ebook-reader__toc strong{color:var(--gray-900);font-size:15px;font-weight:900}.ebook-reader__toc span{padding:9px 10px;border-radius:10px;background:#f8fafc;color:var(--gray-600);font-size:13px;font-weight:750}.ebook-reader__page{padding:24px}.ebook-reader__page>span{color:#059669;font-size:13px;font-weight:900}.ebook-reader__page h4{margin:8px 0 12px;color:var(--gray-900);font-size:22px;font-weight:900}.ebook-reader__page p{margin:0 0 12px;color:var(--gray-600);font-size:15px;line-height:1.75;font-weight:550}.ebook-reader__note{margin-top:18px;padding:14px 16px;border-radius:12px;background:#ecfdf5;color:#047857;font-size:14px;font-weight:800}.textbook-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.textbook-stat-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:116px;padding:22px 24px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 2px 8px -2px #0f172a0a,0 4px 12px -4px #0f172a0f;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.textbook-stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:0 0 0 100%;background:linear-gradient(135deg,#f973161c,#f9731600 72%);pointer-events:none}.textbook-stat-card:hover{transform:translateY(-4px);border-color:#fed7aa;box-shadow:0 6px 14px #0f172a0d,0 12px 24px -8px #0f172a1f}.textbook-stat-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:10px;font-size:18px}.textbook-stat-card__icon--total{background:#fef3c7;color:#d97706}.textbook-stat-card__icon--sold{background:#d1fae5;color:#059669}.textbook-stat-card__icon--discount{background:#f0f9ff;color:#0284c7}.textbook-stat-card__icon--new{background:#fef2f2;color:#dc2626}.textbook-stat-card__label{position:relative;z-index:1;color:var(--gray-500);font-size:14px;font-weight:700}.textbook-stat-card__value{position:relative;z-index:1;color:var(--gray-900);font-size:28px;line-height:1;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.book-card{position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:390px;padding:24px;border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 4px 12px -2px #0f172a0f,0 2px 8px -2px #0f172a0a;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.book-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(249,115,22,.07),transparent 46%);opacity:0;pointer-events:none;transition:opacity .28s ease}.book-card:hover{border-color:#fed7aa;box-shadow:0 8px 18px #0f172a12,0 20px 40px -12px #0f172a26}.book-card:hover:after{opacity:1}.book-cover,.book-card__body,.price-container,.buy-btn{position:relative;z-index:1}.book-cover{position:relative;display:grid;place-items:center;height:140px;margin-bottom:20px;overflow:hidden;border:1px solid #fed7aa;border-radius:12px;background:linear-gradient(135deg,#fffbf5,#fef7ed)}.book-cover:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(217,119,6,.1);border-radius:9px;pointer-events:none}.book-cover .anticon{color:#d97706;font-size:40px;opacity:.82;filter:drop-shadow(0 8px 14px rgba(217,119,6,.14));transition:transform .28s ease}.book-card:hover .book-cover .anticon{transform:translateY(-3px) scale(1.05)}.book-cover__spine{position:absolute;top:0;bottom:0;left:16px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,#f59e0b,#d97706)}.book-card__body{display:grid;gap:12px}.book-title{margin:0;color:var(--gray-900);font-size:18px;line-height:1.42;font-weight:850;transition:color .22s ease}.book-card:hover .book-title{color:#d97706}.book-publisher{margin:-5px 0 0;color:var(--gray-500);font-size:13px;font-weight:700}.book-tags{display:flex;flex-wrap:wrap;gap:8px}.condition-tag,.category-tag,.discount-tag{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:850;white-space:nowrap}.condition-tag{background:#fef3c7;color:#b45309}.condition-tag--near-new{background:#dbeafe;color:#1d4ed8}.condition-tag--excellent{background:#d1fae5;color:#047857}.condition-tag--good{background:#fef3c7;color:#d97706}.condition-tag--fair{background:#f3e8ff;color:#9333ea}.condition-tag--standard{background:#ffedd5;color:#c2410c}.category-tag{background:#f3f4f6;color:var(--gray-700)}.price-container{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 16px}.book-price{display:block;color:#ea580c;margin-bottom:4px;font-size:28px;line-height:1;font-weight:850;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.original-price{display:block;color:var(--gray-400);font-size:13px;font-weight:700;text-decoration:line-through}.discount-tag{background:#fef3c7;color:#d97706;box-shadow:inset 0 0 0 1px #f59e0b2e}.buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:auto;border:0;border-radius:13px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 10px 20px -12px #059669d9;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}.buy-btn:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 14px 26px -12px #059669f2}.buy-btn:active{transform:translateY(0)}.fireworks{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;overflow:hidden}.firework-dot{position:absolute;width:10px;height:10px;border-radius:999px;filter:blur(.4px)}@keyframes sweep{0%{transform:translate(-70%)}to{transform:translate(150%)}}.glass-card{background:var(--bg-card);border:0;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.feature-card{position:relative;overflow:hidden;min-height:auto!important;border-radius:17px;background:var(--bg-card)!important;border:1px solid #f8fafc!important;box-shadow:0 1px 2px #0f172a08,0 4px 12px #0f172a0a;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1)}.feature-card .ant-card-body{position:relative;z-index:1;padding:28px 24px!important}.feature-card:before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.14),transparent);opacity:0;transition:opacity .3s ease}.feature-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(20,184,166,.04),transparent 46%);opacity:0;pointer-events:none;transition:opacity .3s ease}.feature-card:hover:before,.feature-card:hover:after{opacity:1}.feature-card:hover{transform:translateY(-7px);border-color:#dcfce7!important;box-shadow:0 4px 8px #0f172a0d,0 12px 28px #0f172a14}.feature-card--1 .feature-card__icon{background:var(--primary-100);color:var(--primary-600)}.feature-card--2 .feature-card__icon{background:var(--accent-100);color:var(--accent-600)}.feature-card--3 .feature-card__icon{background:#dbeafe;color:#2563eb}.feature-card--4 .feature-card__icon{background:#f3e8ff;color:#9333ea}.feature-card__icon{display:flex;align-items:center;justify-content:center;width:52px!important;height:52px!important;border:0;border-radius:13px!important;font-size:25px;margin-bottom:16px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover .feature-card__icon{transform:translateY(-3px) scale(1.05)}.feature-card .ant-typography{color:var(--gray-900)!important}.feature-card h3.ant-typography{margin-bottom:8px!important;color:var(--gray-900)!important;font-size:20px!important;font-weight:700!important}.feature-card__metric{display:inline-flex;align-items:baseline;gap:7px;width:fit-content;max-width:100%;margin:-2px 0 20px;color:var(--gray-600);font-size:14px;line-height:1;white-space:nowrap}.feature-card__number{background:linear-gradient(135deg,#047857,#10b981);background-clip:text;color:#059669;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:29px;line-height:1;font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.feature-card__unit{color:var(--gray-700);font-size:14.5px;font-weight:700;letter-spacing:.01em}.feature-card__entry{display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:12px;border-top:1px solid var(--gray-100);color:var(--primary-600);font-size:13.5px;font-weight:600}.feature-card__entry .anticon{margin-left:5px;font-size:14px;transition:transform .3s ease}.feature-card:hover .feature-card__entry .anticon{transform:translate(6px)}.quick-card{background:linear-gradient(180deg,#fbfdfffa,#f1f7fff5)}.section-title{margin:0 0 20px;padding-left:9px;border-left:3px solid var(--primary-500);color:var(--gray-900);font-family:Inter,Outfit,PingFang SC,Microsoft YaHei,sans-serif;font-size:20px;line-height:1.4;font-weight:700}.section-subtitle{margin:0;color:var(--gray-500);font-size:15px;line-height:1.8;font-weight:500}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:transparent}.feature-card.hover-lift:hover{transform:translateY(-7px) scale(1.01);border-color:#dcfce7!important;box-shadow:0 4px 8px #0f172a0d,0 12px 28px #0f172a14}.page-grid{display:grid;gap:28px}.section-heading{display:flex;align-items:center;justify-content:space-between}.frost-panel{background:var(--bg-card);border:1px solid var(--gray-200);box-shadow:var(--shadow)}.surface-panel{padding:26px;border-radius:18px;background:var(--bg-card);border:1px solid #f3f4f6;box-shadow:0 1px 2px #0f172a08,0 4px 12px #0f172a0a;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.surface-panel:hover{transform:translateY(-2px);border-color:#e5f8ef;box-shadow:0 4px 8px #0f172a0a,0 10px 22px #0f172a12}.surface-panel--compact{padding:18px 22px}.surface-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.surface-panel__title{margin:0;color:var(--gray-900);font-size:18px;font-weight:700}.home-band{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:24px}.update-list{display:grid}.update-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;margin-bottom:6px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:background .2s ease,transform .2s ease}.update-item:first-child{padding-top:12px}.update-item:hover{background:#f9fafb;transform:translate(4px)}.update-item__tag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:3px 8px;border-radius:6px;background:var(--primary-100);color:var(--primary-700);font-size:12px;font-weight:500}.update-item__tag[data-type=论坛]{background:var(--accent-100);color:var(--accent-700)}.update-item__tag[data-type=教材]{background:#dbeafe;color:#2563eb}.update-item__title{flex:1;min-width:0;color:var(--gray-700);font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-item__meta{flex:0 0 auto;color:var(--gray-400);font-size:12px;font-weight:500;white-space:nowrap}.shortcut-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shortcut-button{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:0;border-radius:10px;background:transparent;color:var(--gray-700);text-align:left;cursor:pointer;transition:transform .2s ease,background .2s ease}.shortcut-button:hover{transform:translate(4px);background:#f9fafb}.shortcut-button__icon{display:flex;align-items:center;justify-content:center;place-items:center;width:38px;height:38px;grid-row:span 2;border-radius:10px;background:var(--primary-100);color:var(--primary-600);font-size:18px}.shortcut-button__label{color:var(--gray-700);font-size:14px;font-weight:500;line-height:1.3;margin-bottom:2px}.shortcut-button__meta{grid-column:2;color:var(--gray-400);font-size:12px;font-weight:500;white-space:nowrap}.header-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.header-stat{display:grid;gap:4px;min-width:112px;padding:10px 14px;border-radius:8px;background:var(--gray-50);border:1px solid var(--gray-200)}.header-stat span{color:var(--gray-500);font-size:12px;font-weight:500}.header-stat strong{color:var(--accent-500);font-size:16px;font-weight:700}.content-split{display:grid;grid-template-columns:minmax(0,1.2fr) 320px;gap:24px}.surface-panel--form{padding:28px}.surface-panel--side{display:flex;align-items:stretch}.side-stack{display:grid;gap:12px;width:100%}.side-stack__item{display:grid;gap:6px;padding:16px 18px;border-radius:8px;background:var(--gray-50);border:1px solid var(--gray-200)}.side-stack__item span{color:var(--gray-500);font-size:12px;font-weight:500}.side-stack__item strong{color:var(--gray-800);font-size:16px;font-weight:600}.upload-page .content-split{grid-template-columns:minmax(0,1.25fr) 340px;align-items:start}.upload-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.upload-stat-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:118px;padding:22px 24px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 2px 8px -2px #0f172a0a,0 4px 12px -4px #0f172a0f;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.upload-stat-card:after{content:"";position:absolute;top:0;right:0;width:112px;height:112px;border-radius:0 0 0 100%;background:linear-gradient(135deg,#10b9811c,#10b98100 72%);pointer-events:none}.upload-stat-card:hover{transform:translateY(-4px);border-color:#d1fae5;box-shadow:0 6px 14px #0f172a0d,0 12px 24px -8px #0f172a1f}.upload-stat-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:10px;background:#ecfdf5;color:#059669;font-size:18px}.upload-stat-card__icon--count{background:#f0f9ff;color:#0284c7}.upload-stat-card__icon--reward{background:#fffbeb;color:#d97706}.upload-stat-card__label{position:relative;z-index:1;color:var(--gray-500);font-size:14px;font-weight:700}.upload-stat-card__value{position:relative;z-index:1;color:var(--gray-900);font-size:28px;line-height:1;font-weight:850;letter-spacing:-.03em}.upload-stat-card__value--highlight{color:#059669}.upload-form-panel,.upload-process-card,.upload-insight-card{border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 1px 2px #0f172a08,0 4px 12px #0f172a0a}.upload-form-panel{padding:30px}.upload-form-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.upload-form-panel__header h2{margin:0;color:var(--gray-900);font-size:24px;line-height:1.25;font-weight:800}.upload-kicker{display:block;margin-bottom:5px;color:#059669;font-size:13px;font-weight:800;letter-spacing:.08em}.upload-reward-pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:7px 12px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:13px;font-weight:800}.upload-form .ant-form-item{margin-bottom:22px}.upload-form .ant-form-item-label>label{color:var(--gray-900);font-size:14px;font-weight:800}.upload-form .ant-input,.upload-form .ant-select-selector,.upload-form textarea.ant-input{border-radius:12px!important;border-color:#d1d5db!important;background:#fff!important;color:var(--gray-900)!important;font-size:15px;box-shadow:0 1px 2px #0f172a05;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.upload-form .ant-input:hover,.upload-form .ant-select-selector:hover,.upload-form textarea.ant-input:hover{border-color:#9ca3af!important}.upload-form .ant-input:focus,.upload-form .ant-input-focused,.upload-form .ant-select-focused .ant-select-selector,.upload-form textarea.ant-input:focus{border-color:#059669!important;box-shadow:0 0 0 4px #0596691a!important}.upload-textarea{min-height:108px!important;resize:vertical}.upload-drop-shell{border-radius:16px}.upload-dropzone .ant-upload.ant-upload-drag{padding:24px 20px;border:2px dashed #d1d5db!important;border-radius:16px!important;background:#fafafa!important;transition:transform .26s ease,border-color .26s ease,background .26s ease,box-shadow .26s ease}.upload-dropzone .ant-upload.ant-upload-drag:hover,.upload-dropzone--active .ant-upload.ant-upload-drag{transform:scale(1.01);border-color:#059669!important;background:#f0fdf4!important;box-shadow:inset 0 0 0 1px #05966914}.upload-dropzone--ready .ant-upload.ant-upload-drag{border-color:#10b981!important;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)!important}.upload-dropzone__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:18px;background:#ecfdf5;color:#059669;font-size:34px;transition:transform .26s ease,background .26s ease,color .26s ease}.upload-dropzone:hover .upload-dropzone__icon,.upload-dropzone--active .upload-dropzone__icon{transform:translateY(-2px);background:#d1fae5;color:#047857}.upload-dropzone__title{margin:0 0 6px;color:var(--gray-800);font-size:16px;font-weight:800}.upload-dropzone__hint{max-width:440px;margin:0 auto;color:var(--gray-500);font-size:14px;font-weight:600;overflow-wrap:anywhere}.upload-progress-card{display:grid;gap:10px;padding:14px 16px;margin-bottom:16px;border:1px solid #d1fae5;border-radius:14px;background:#f0fdf4}.upload-progress-card__header{display:flex;align-items:center;justify-content:space-between;color:#047857;font-size:13px;font-weight:800}.upload-file-chip{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;margin-bottom:16px;border-radius:12px;background:#f9fafb;border:1px solid #e5e7eb;color:var(--gray-600);font-size:13px;font-weight:700}.upload-file-chip strong{min-width:0;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-submit-btn.ant-btn{height:48px;border:0;border-radius:13px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:16px;font-weight:800;box-shadow:0 4px 12px -4px #05966966;transition:transform .26s ease,box-shadow .26s ease,background .26s ease}.upload-submit-btn.ant-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px -6px #05966980}.upload-submit-btn.ant-btn:disabled{background:#9ca3af;color:#fff;box-shadow:none;cursor:not-allowed}.upload-side{display:grid;gap:18px}.upload-process-card{padding:24px}.upload-process-card h3,.upload-insight-card h3{margin:0;color:var(--gray-900);font-size:18px;font-weight:800}.upload-process-list{display:grid;gap:0;margin-top:22px}.upload-process-step{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding-bottom:24px}.upload-process-step:last-child{padding-bottom:0}.upload-process-step:not(:last-child):after{content:"";position:absolute;top:38px;bottom:2px;left:17px;width:2px;border-radius:999px;background:#e5e7eb;transition:background .26s ease}.upload-process-step--completed:not(:last-child):after,.upload-process-step--active:not(:last-child):after{background:#10b981}.upload-process-step__icon{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f3f4f6;color:#9ca3af;font-size:14px;font-weight:850;transition:background .26s ease,color .26s ease,transform .26s ease}.upload-process-step--active .upload-process-step__icon,.upload-process-step--completed .upload-process-step__icon{background:#059669;color:#fff}.upload-process-step--active .upload-process-step__icon{transform:scale(1.06);box-shadow:0 8px 16px -8px #059669a6}.upload-process-step strong{display:block;margin:1px 0 4px;color:var(--gray-700);font-size:15px;font-weight:800;transition:color .26s ease}.upload-process-step span:not(.upload-process-step__icon){display:block;color:var(--gray-400);font-size:13px;font-weight:600}.upload-process-step--active strong,.upload-process-step--completed strong{color:#047857}.upload-insight-card{position:relative;overflow:hidden;padding:24px;background:radial-gradient(circle at 100% 0,rgba(16,185,129,.12),transparent 120px),#fff}.upload-insight-card__tag{display:inline-flex;margin-bottom:14px;padding:5px 10px;border-radius:999px;background:#fffbeb;color:#b45309;font-size:12px;font-weight:850}.upload-insight-card p{margin:10px 0 0;color:var(--gray-500);font-size:14px;font-weight:600;line-height:1.7}.upload-success{display:grid;justify-items:center;gap:10px;padding:18px 0 12px;text-align:center}.upload-success .anticon{color:var(--success);font-size:58px}.upload-success h3{margin:4px 0 0;color:var(--gray-900);font-size:24px;font-weight:850}.upload-success p{margin:0;color:var(--gray-500);font-size:15px;font-weight:600}.num-unit{display:inline-flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.num-unit :where(.num){color:var(--num-color, #059669);font-weight:800}.num-unit :where(.unit){color:var(--unit-color, #6b7280);font-weight:500}.text-num-text{display:inline-flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.text-num-text :where(.num){color:var(--num-color, #059669);font-weight:800}.mall-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mall-stat-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:124px;padding:24px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;box-shadow:0 2px 8px -2px #0f172a0a,0 4px 12px -4px #0f172a0f;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.mall-stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:0 0 0 100%;background:linear-gradient(135deg,#10b9811c,#10b98100 72%);pointer-events:none}.mall-stat-card:hover{transform:translateY(-4px);border-color:#d1fae5;box-shadow:0 6px 14px #0f172a0d,0 12px 24px -8px #0f172a1f}.mall-stat-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:9px;background:#ecfdf5;color:#059669;font-size:17px}.mall-stat-card__label{position:relative;z-index:1;color:var(--gray-500);font-size:13px;font-weight:700;margin-top:4px}.mall-stat-card__value{position:relative;z-index:1;--num-color: var(--gray-900);--unit-color: #4b5563;color:var(--gray-900);line-height:1;letter-spacing:-.03em}.mall-stat-card__number{color:var(--num-color);font-size:32px;line-height:1;font-weight:900;letter-spacing:-.04em}.mall-stat-card--points .mall-stat-card__value{--num-color: #059669}.mall-stat-card__unit{color:var(--unit-color);font-size:16px;font-weight:750;letter-spacing:0}.mall-goal-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:center;padding:28px 32px;border:1px solid #d1fae5;border-radius:20px;background:radial-gradient(circle at 8% 12%,rgba(16,185,129,.14),transparent 32%),linear-gradient(135deg,#fff,#f0fdf4);box-shadow:0 4px 12px -2px #0f172a0d,0 18px 40px -28px #0596698c}.mall-goal-panel:after{content:"";position:absolute;right:-42px;top:-52px;width:190px;height:190px;border-radius:999px;border:32px solid rgba(16,185,129,.08);pointer-events:none}.mall-goal-panel__content,.mall-goal-panel__action{position:relative;z-index:1}.mall-kicker{display:inline-flex;width:fit-content;margin-bottom:12px;padding:5px 10px;border-radius:999px;background:#dcfce7;color:#047857;font-size:12px;font-weight:850}.mall-goal-panel h2{margin:0 0 8px;color:var(--gray-900);font-size:24px;line-height:1.25;font-weight:850;letter-spacing:-.03em}.mall-goal-title{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:8px;row-gap:8px}.mall-goal-diff-line{--num-color: #059669}.mall-goal-diff{color:#059669;font-size:22px;font-weight:900;letter-spacing:-.04em}.mall-goal-panel p{max-width:640px;margin:0 0 16px;color:var(--gray-600);font-size:15px;line-height:1.7;font-weight:600}.mall-goal-progress,.product-card__progress{overflow:hidden;height:9px;border-radius:999px;background:#e5e7eb}.mall-goal-progress span,.product-card__progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#059669,#10b981);box-shadow:0 0 18px #10b98161}.mall-goal-panel__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:var(--gray-500);font-size:13px;font-weight:700}.mall-goal-panel__meta strong{color:#047857;font-weight:850}.mall-progress-status{display:inline-flex;align-items:baseline;gap:6px}.mall-progress-number{--num-color: #059669;--unit-color: #059669;gap:0}.mall-progress-percent{color:#059669!important;font-size:14px;font-weight:900!important}.mall-goal-panel__action{display:grid;justify-items:stretch;gap:12px}.mall-goal-panel__points{display:inline-flex;align-items:baseline;justify-content:center;min-height:92px;border:1px solid rgba(5,150,105,.12);border-radius:18px;background:#ffffffd1;box-shadow:inset 0 1px #ffffffd9;--num-color: #059669;--unit-color: #059669}.mall-goal-number{color:#059669;font-size:48px;line-height:.92;font-weight:950;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.mall-goal-unit{color:#059669;font-size:22px;line-height:1;font-weight:850}.mall-earn-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border-radius:13px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:14px;font-weight:850;text-decoration:none;box-shadow:0 12px 22px -14px #059669e6;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.mall-earn-link:hover{color:#fff;transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 16px 28px -16px #059669f2}.product-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:438px;height:100%;padding:24px;border:1px solid #f3f4f6;border-radius:18px;background:#fff;box-shadow:0 4px 12px -2px #0f172a0d,0 2px 8px -2px #0f172a08;transition:border-color .28s ease,box-shadow .28s ease,filter .28s ease}.product-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--product-accent) 8%,transparent),transparent 38%);opacity:0;transition:opacity .28s ease;pointer-events:none}.product-card:hover{border-color:color-mix(in srgb,var(--product-accent) 36%,#e5e7eb);filter:saturate(1.03);box-shadow:0 18px 34px -12px #0f172a24}.product-card:hover:before,.product-card--redeemable:before{opacity:1}.product-card__visual{position:relative;display:grid;place-items:center;min-height:138px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--product-accent) 22%,#e5e7eb);border-radius:14px;background:radial-gradient(circle at 70% 26%,color-mix(in srgb,var(--product-accent) 24%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--product-accent) 10%,#fff),#f9fafb 76%)}.product-card__halo{position:absolute;width:72px;height:72px;border-radius:999px;background:color-mix(in srgb,var(--product-accent) 14%,#fff);filter:blur(2px)}.product-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#ffffffd1;color:var(--product-accent);font-size:30px;box-shadow:0 10px 24px -18px #0f172acc,inset 0 1px #fffffff2}.product-card__badge{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:850}.product-card__badge--ready{background:#dcfce7;color:#047857}.product-card__badge--locked{background:#f3f4f6;color:#6b7280}.product-card__badge-gap{--num-color: #059669}.product-card__body{position:relative;z-index:1;display:grid;gap:8px}.product-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.product-card__title-row h3{margin:0;color:var(--gray-900);font-size:18px;line-height:1.35;font-weight:850;letter-spacing:-.02em;transition:color .22s ease}.product-card:hover .product-card__title-row h3{color:var(--product-accent)}.product-card__title-row span{flex:0 0 auto;padding:4px 8px;border-radius:7px;background:color-mix(in srgb,var(--product-accent) 13%,#fff);color:color-mix(in srgb,var(--product-accent) 78%,#111827);font-size:12px;font-weight:850}.product-card__body p{min-height:44px;margin:0;color:var(--gray-600);font-size:14px;line-height:1.6;font-weight:600}.product-card__points{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:16px 0 12px}.product-card__points-main{display:grid;gap:8px}.product-card__points-main>span{color:var(--gray-500);font-size:12px;font-weight:800}.product-card__point-line{--num-color: #059669;--unit-color: var(--gray-500)}.product-card__points-value{color:var(--num-color);font-size:32px;line-height:1;font-weight:900;letter-spacing:-.04em}.product-card__points-label{color:var(--unit-color)!important;font-size:14px!important;font-weight:800!important}.product-card__meta{justify-content:flex-end;--num-color: #4b5563;color:var(--gray-500);font-size:12px;font-style:normal;font-weight:750;text-align:right}.product-card__meta :where(.num){color:var(--num-color);font-size:13px;line-height:1;font-weight:800}.product-card__progress{position:relative;z-index:1;height:8px;margin-bottom:16px}.product-card__button{position:relative;z-index:1;display:inline-flex;align-items:baseline;justify-content:center;gap:6px;width:100%;min-height:46px;padding:10px 20px;margin-top:auto;border:0;border-radius:13px;font-size:14px;font-weight:850;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.product-card__button .anticon{display:inline-flex;align-items:center;font-size:16px;line-height:1;transform:translateY(1px)}.product-card__button--ready{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 12px 22px -14px #059669e6}.product-card__button--ready:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 28px -16px #059669f2}.product-card__button--locked{border:1px solid #e5e7eb;background:#f3f4f6;color:#6b7280;box-shadow:none}.product-card__button--locked:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.product-card--locked .product-card__progress span{background:linear-gradient(90deg,#9ca3af,#d1d5db);box-shadow:none}.product-card__button:disabled{cursor:wait;opacity:.84}.ant-layout,.ant-layout *{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.ant-card{background:var(--bg-card)!important;border-color:transparent!important;box-shadow:var(--shadow)}.ant-card .ant-card-body,.ant-typography{color:var(--text)}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography strong{color:var(--gray-900)!important;font-weight:700!important}.ant-btn-primary{background:var(--primary-500);border-color:var(--primary-500);box-shadow:0 2px 8px #14b8a63d;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1)}.hero-banner .ant-btn{height:44px;padding:0 24px;border-radius:11px;font-size:14.5px;transition:all .25s cubic-bezier(.4,0,.2,1)}.hero-banner .ant-btn-primary{font-weight:600;box-shadow:0 3px 10px #10b98140}.hero-banner .ant-btn-default{background:#fffffff2;border-color:#ffffffe6}.hero-banner .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98159}.hero-banner .ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover{border-color:#fff;background:#fff;transform:translateY(-1px);box-shadow:0 3px 10px #0f172a14}.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{background:var(--primary-600);border-color:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a647}.ant-btn-default{border-color:var(--gray-300);color:var(--gray-700);font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1)}.ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover{border-color:var(--primary-500);color:var(--primary-500);background:var(--primary-50)}.ant-btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.ant-btn:active{transform:scale(.98)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-upload-wrapper .ant-upload-drag{background:var(--bg-card)!important;border-color:var(--gray-300)!important;color:var(--text)!important}.ant-input::placeholder,.ant-input-textarea textarea::placeholder{color:var(--gray-400)!important}.ant-tabs .ant-tabs-tab{color:var(--muted)}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary-600)}@media(max-width:1024px){.forum-overview,.resource-overview,.ebook-overview,.textbook-overview,.mall-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.forum-filter-panel{align-items:flex-start;flex-direction:column}.forum-filter-row{justify-content:flex-start}}@media(max-width:768px){.site-header{height:auto;padding:8px 10px}.site-header__inner,.page-header{padding:0}.site-header__inner,.page-header,.page-header__meta{display:flex;flex-direction:column;align-items:stretch}.site-header__inner{height:auto;gap:10px}.site-nav,.site-header__meta,.header-stats{justify-content:center}.site-nav{flex-wrap:wrap;margin:0}.site-nav__link{height:36px;padding:0 9px;line-height:36px;font-size:13px}.site-nav__underline{bottom:0}.site-header__meta{gap:8px;flex-wrap:wrap;min-width:0}.tile-grid,.overview-metrics,.forum-overview,.resource-overview,.ebook-overview,.upload-overview,.textbook-overview,.mall-stats,.home-band,.content-split,.shortcut-list{grid-template-columns:1fr}.mall-goal-panel{grid-template-columns:1fr;gap:20px;padding:22px}.mall-goal-panel__meta{align-items:flex-start;flex-direction:column;gap:6px}.mall-goal-panel__points{min-height:76px}.mall-goal-number{font-size:40px}.mall-goal-unit{font-size:18px}.mall-stat-card__number{font-size:30px}.dashboard-hero__title{font-size:34px!important}.section-title{font-size:24px}.overview-metric__value{font-size:26px}.page-header__extra{justify-content:flex-start}.upload-form-panel{padding:20px}.upload-form-panel__header{flex-direction:column;margin-bottom:22px}.upload-process-card,.upload-insight-card{padding:20px}.update-item{grid-template-columns:64px minmax(0,1fr)}.update-item__meta{grid-column:2}.app-content{width:min(100% - 20px,1280px);padding-top:168px}.hero-banner{padding:32px 24px;margin:10px 0 28px}.post-card{padding:18px}.resource-toolbar.surface-panel,.ebook-toolbar.surface-panel{padding:16px}.resource-card{min-height:auto;padding:20px}.resource-card__header{grid-template-columns:44px minmax(0,1fr)}.resource-tag{grid-column:1 / -1;width:fit-content}.ebook-card{min-height:auto;padding:20px}.ebook-cover{height:126px}.ebook-actions,.ebook-reader__body{grid-template-columns:1fr}.book-card{min-height:auto;padding:20px}.book-cover{height:132px}.price-container{align-items:flex-start;flex-direction:column}.post-card__top,.post-actions,.pinned-post{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.post-card__badges,.post-actions{justify-content:flex-start}.view-post-btn{margin-left:0}}
