@import"https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800&family=Noto+Sans+SC:wght@500;600;700;800&display=swap";.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) minmax(380px,1fr);background:#f4f7fb}.auth-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:48px clamp(36px,7vw,76px);background:#fff}.auth-brand{position:absolute;top:34px;display:flex;align-items:center;gap:11px}.auth-brand>span{display:grid;place-items:center;width:42px;height:42px;color:#fff;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:14px;font-size:20px;font-weight:800;box-shadow:0 10px 24px #22c55e3d}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{color:#1f2937;font-size:18px;font-weight:800}.auth-brand small{margin-top:2px;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.06em}.auth-heading>span{display:inline-block;padding:5px 12px;color:#16a34a;background:#22c55e1a;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em}.auth-heading h1{margin:12px 0 8px;color:#1f2937;font-size:clamp(26px,4vw,32px);font-weight:800;letter-spacing:-.02em}.auth-heading p{margin:0 0 26px;color:#64748b;line-height:1.65}.auth-panel>.ant-segmented{margin-bottom:22px;padding:4px;background:#f1f5f9;border-radius:14px}.auth-panel .ant-form-item{margin-bottom:18px}.auth-panel .ant-btn{height:50px;border-radius:14px!important;font-weight:800!important;box-shadow:0 10px 24px #22c55e38!important}.auth-note{margin:16px 0 0;color:#94a3b8;font-size:12px;text-align:center}.auth-context{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,10vw,140px);color:#fff;background:linear-gradient(145deg,#34d399,#22c55e 42%,#0ea5e9)}.auth-context>span{display:inline-block;width:fit-content;padding:5px 12px;color:#fff;background:#ffffff29;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em}.auth-context blockquote{max-width:680px;margin:20px 0 46px;font-size:clamp(24px,3vw,38px);font-weight:800;line-height:1.4}.auth-context div{display:flex;align-items:baseline;gap:12px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22)}.auth-context b{font-size:40px;font-weight:800}.auth-context small{color:#ffffffe6;font-weight:600}@media(max-width:800px){.auth-shell{padding:16px}.auth-card{padding:24px 18px}.auth-page{grid-template-columns:1fr}.auth-panel{min-height:100vh;padding:92px 24px 40px}.auth-brand{top:26px}.auth-context{display:none}}:root{--bg: #f4f7fb;--surface: #ffffff;--text: #1f2937;--text-muted: #64748b;--primary: #22c55e;--primary-dark: #16a34a;--blue: #0ea5e9;--orange: #f59e0b;--purple: #a855f7;--red: #ef4444;--gold: #eab308;--line: rgba(15, 23, 42, .08);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04);--shadow-md: 0 10px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 45px rgba(15, 23, 42, .1);--radius-xl: 22px;--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--header-pad-y: 10px;--header-pad-x: 20px;--layout-max: 1280px;--layout-pad-x: 24px;font-family:Nunito,Noto Sans SC,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.web-app{min-height:100vh;background:radial-gradient(circle at 8% 0%,rgba(34,197,94,.1),transparent 26%),radial-gradient(circle at 92% 0%,rgba(14,165,233,.08),transparent 24%),linear-gradient(180deg,#f8fafc 0%,var(--bg) 100%);color:var(--text)}.app-topbar{position:sticky;top:0;z-index:30;background:#ffffffe6;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-header,.main{width:100%;max-width:var(--layout-max);margin-inline:auto;padding-inline:var(--layout-pad-x);box-sizing:border-box}.app-header{display:flex;align-items:center;gap:12px;padding-block:var(--header-pad-y)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand>span{display:grid;place-items:center;width:40px;height:40px;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:14px;color:#fff;font-size:18px;font-weight:800;box-shadow:0 8px 18px #22c55e47}.brand strong,.brand small{display:block}.brand strong{font-size:17px;font-weight:800;letter-spacing:-.02em}.brand small{margin-top:1px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.06em}.header-nav{display:flex;flex:1;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px;background:#f1f5f9;border-radius:999px}.header-nav::-webkit-scrollbar{display:none}.header-nav button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;color:var(--text-muted);background:transparent;border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;transition:.18s ease}.header-nav button:hover{color:var(--text);background:#ffffffb8}.header-nav button.active{color:var(--primary-dark);background:#fff;box-shadow:var(--shadow-sm)}.header-nav button b{min-width:18px;padding:1px 6px;color:#fff;background:var(--orange);border-radius:999px;font-size:10px;line-height:16px}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.stat-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;color:var(--text-muted);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700}.stat-pill b{color:var(--text)}.header-user{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 5px;color:inherit;font:inherit;background:#fff;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.header-user:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.header-user>span{display:grid;place-items:center;width:28px;height:28px;color:#fff;background:linear-gradient(135deg,#38bdf8,#0ea5e9);border-radius:50%;font-size:12px}.header-user div strong,.header-user div small{display:block;line-height:1.2}.header-user div strong{font-size:12px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user div small{color:var(--text-muted);font-size:10px}.icon-btn{display:grid;place-items:center;width:36px;height:36px;color:var(--text-muted);background:#fff;border:1px solid var(--line);border-radius:50%;cursor:pointer;transition:.18s ease}.icon-btn:hover{color:var(--text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.main{padding-top:14px;padding-bottom:96px}.content{width:100%;max-width:100%;min-width:0}.page-title>span,.welcome>span,.section-head>div>span{display:inline-block;padding:5px 12px;color:var(--primary-dark);background:#22c55e1a;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em}.page-title h1,.welcome h1{margin:10px 0 6px;font-size:clamp(26px,3.6vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.15}.page-title p,.welcome p,.section-head p{margin:0;color:var(--text-muted);font-size:15px;line-height:1.65}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.daily-goal-select{min-width:160px}.custom-goal-note{margin:0 0 12px;color:var(--text-muted)}.plan-panel{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:210px;padding:30px 34px;color:#fff;background:linear-gradient(135deg,#34d399,#22c55e 45%,#16a34a);border-radius:var(--radius-xl);box-shadow:0 20px 50px #22c55e47;margin-bottom:22px;overflow:hidden}.plan-panel:before,.plan-panel:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.plan-panel:before{width:220px;height:220px;top:-80px;right:-40px;background:#ffffff1f}.plan-panel:after{width:140px;height:140px;left:-30px;bottom:-50px;background:#ffffff14}.plan-copy{position:relative;z-index:1}.eyebrow{display:inline-block;padding:5px 12px;color:#fff;background:#ffffff29;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em}.plan-copy h2{margin:14px 0 10px;font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.15}.plan-copy p{margin:0;color:#ffffffeb;font-size:15px;max-width:520px}.plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.plan-actions .ant-btn-primary{height:48px!important;padding:0 22px!important;color:var(--primary-dark)!important;background:#fff!important;border:none!important;border-radius:14px!important;box-shadow:0 10px 24px #0f172a1f!important;font-weight:800!important}.plan-actions .ant-btn-default{height:48px!important;padding:0 20px!important;color:#fff!important;background:#ffffff24!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:14px!important;font-weight:700!important}.plan-panel .ant-progress-circle{position:relative;z-index:1}.plan-panel .ant-progress-circle .ant-progress-text{color:#fff!important;font-weight:800!important;font-size:18px!important}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.streak-badge{display:inline-flex;margin-left:10px;padding:5px 9px;color:#14532d;background:#ffffffc7;border:1px solid rgba(255,255,255,.72);border-radius:999px;font-size:12px;font-weight:800}.dashboard-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.insight-panel{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.insight-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.insight-panel h2,.insight-panel p{margin:0}.insight-panel h2{font-size:18px}.insight-panel p{margin-top:4px;color:var(--text-muted);font-size:12px}.weak-category-list,.recent-note-list{display:grid;gap:8px}.weak-category-list button,.recent-note-list button{width:100%;color:inherit;background:transparent;border:0;cursor:pointer;text-align:left}.weak-category-list button{display:grid;grid-template-columns:88px minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:40px;padding:4px 6px}.weak-category-list button>span,.weak-category-list button>strong{font-size:13px;font-weight:800}.weak-category-list button>strong{text-align:right}.recent-note-list button{padding:10px 12px;background:color-mix(in srgb,var(--bg) 76%,transparent);border-radius:var(--radius-sm)}.recent-note-list strong,.recent-note-list span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.recent-note-list strong{margin-bottom:4px;font-size:13px;-webkit-line-clamp:1}.recent-note-list span{color:var(--text-muted);font-size:12px;-webkit-line-clamp:2}.metric{padding:18px 18px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.metric-top span{color:var(--text-muted);font-size:13px;font-weight:700}.metric-top i{display:block;width:34px;height:34px;border-radius:12px;opacity:.95}.metric-blue .metric-top i{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.metric-purple .metric-top i{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.metric-green .metric-top i{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.metric-orange .metric-top i{background:linear-gradient(135deg,#fef3c7,#fde68a)}.metric strong{display:block;margin:0 0 2px;font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1}.metric small{color:var(--text-muted);font-size:12px;font-weight:600}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 16px}.section-head h2{margin:0;font-size:22px;font-weight:800}.section-head .ant-btn-link{font-weight:800;color:var(--blue)!important}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.category-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:176px;padding:20px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);cursor:pointer;text-align:left;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.category-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--cat-color, var(--primary));border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.category-card:after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:color-mix(in srgb,var(--cat-color, var(--primary)) 12%,transparent);border-radius:50%;pointer-events:none}.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--cat-color, var(--primary)) 28%,white)}.category-card-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.category-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;flex-shrink:0;overflow:hidden}.category-mark.has-logo{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.category-mark img,.category-logo{width:36px;height:36px;object-fit:contain}.category-card-percent{padding:6px 10px;color:var(--cat-color, var(--primary-dark));background:color-mix(in srgb,var(--cat-color, var(--primary)) 12%,white);border-radius:999px;font-size:12px;font-weight:800}.category-card-body{position:relative;z-index:1}.category-card strong{display:block;font-size:19px;font-weight:800;line-height:1.25}.category-card small{display:block;margin-top:6px;color:var(--text-muted);font-size:13px;font-weight:600}.category-card .ant-progress{position:relative;z-index:1;margin-top:auto}.progress-list .category-logo{width:42px;height:42px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.library-workbench{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px}.library-categories{position:sticky;top:76px;display:grid;max-height:calc(100vh - 96px);padding:8px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.library-categories button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:8px 10px;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-weight:700}.library-categories button:hover,.library-categories button.active{color:var(--primary-dark);background:#22c55e1a}.library-categories button span{font-size:11px}.library-results{min-width:0}.library-results .library-tools{grid-template-columns:minmax(220px,1fr) 150px}.library-results>.ant-pagination,.notes-center>.ant-pagination{margin-top:18px;text-align:right}.library-tools{display:grid;grid-template-columns:minmax(260px,1fr) 180px 140px;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px}.library-tools.single-tool{grid-template-columns:1fr}.result-line{margin:0 4px 14px;color:var(--text-muted);font-size:14px;font-weight:600}.result-line strong{color:var(--text);font-size:18px;font-weight:800}.question-list{display:grid;gap:12px}.question-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);content-visibility:auto;transition:transform .18s ease,box-shadow .18s ease}.question-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.question-index{display:grid;place-items:center;width:44px;height:44px;color:var(--primary-dark);background:#22c55e1a;border-radius:14px;font-size:12px;font-weight:800}.row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.question-row .question-main h3{margin:0;font-size:16px;font-weight:800;line-height:1.5}.question-row .question-main p{display:-webkit-box;overflow:hidden;margin:8px 0 0;color:var(--text-muted);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.question-row>.ant-btn{height:42px;border-radius:12px!important;font-weight:700!important}.library-sentinel{height:1px}.session-bar{margin-bottom:16px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.session-bar>div{display:flex;justify-content:space-between;margin-bottom:10px}.session-bar span{color:var(--text-muted);font-size:13px;font-weight:700}.session-bar strong{font-size:15px;font-weight:800}.study-card{min-height:480px;padding:28px 32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.study-meta{display:flex;align-items:center;justify-content:space-between}.study-meta button{width:42px;height:42px;color:var(--gold);background:#eab3081f;border:1px solid rgba(234,179,8,.22);border-radius:14px;cursor:pointer;font-size:18px;transition:transform .18s ease}.study-meta button:hover{transform:scale(1.05)}.study-actions{display:flex;align-items:center;gap:8px}.study-actions .ant-btn{width:auto;height:38px;padding-inline:10px;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm)!important;font-size:13px}.study-actions .ant-btn:hover{color:var(--primary-dark)!important;background:#22c55e1a!important;transform:none}.notes-center-tools{display:grid;grid-template-columns:minmax(260px,1fr) 180px 160px;gap:12px;margin-bottom:16px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.notes-center-list{display:grid;gap:12px}.note-center-row{padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.note-center-row>header,.note-center-row>footer,.note-center-row>footer>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.note-center-row time{flex-shrink:0;color:var(--text-muted);font-size:12px}.note-center-row h3{margin:14px 0 8px;font-size:16px;line-height:1.5}.note-center-row>p{margin:0 0 14px;color:var(--text-muted);white-space:pre-wrap;line-height:1.65}.note-center-row>.note-center-markdown{margin:0 0 14px;color:var(--text);line-height:1.7}.note-center-row>.note-center-markdown h1,.note-center-row>.note-center-markdown h2,.note-center-row>.note-center-markdown h3,.note-center-row>.note-center-markdown h4{color:var(--text)}.note-center-row>footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.recall-label{display:inline-block;margin-top:24px;padding:5px 12px;color:#0284c7;background:#0ea5e91a;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}.study-card h1{max-width:720px;margin:14px 0 24px;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.45}.recall-guide{padding:22px;background:linear-gradient(180deg,#f8fbff,#f0f9ff);border:1px solid rgba(14,165,233,.12);border-radius:var(--radius-lg)}.recall-guide p{display:flex;align-items:center;gap:12px;margin:0 0 10px;color:var(--text);font-weight:600}.recall-guide b{display:grid;place-items:center;width:28px;height:28px;color:#fff;background:var(--blue);border-radius:10px;font-size:12px;font-weight:800}.recall-guide .ant-btn{width:100%;height:50px!important;margin-top:12px;border-radius:14px!important;font-weight:800!important;box-shadow:0 10px 24px #22c55e38!important}.answer section+section{margin-top:22px;padding-top:20px;border-top:1px dashed rgba(15,23,42,.08)}.answer section>span{color:var(--primary-dark);font-size:12px;font-weight:800}.answer-point{display:grid;grid-template-columns:30px 1fr;gap:12px;margin-top:12px}.answer-point b{display:grid;place-items:center;width:28px;height:28px;color:#fff;background:var(--primary);border-radius:10px;font-size:12px;font-weight:800}.answer aside{margin-top:22px;padding:18px 20px;color:#92400e;background:linear-gradient(180deg,#fffbeb,#fef3c7);border:1px solid rgba(245,158,11,.18);border-radius:var(--radius-md)}.rating{margin-top:16px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.rating>span{display:block;margin-bottom:12px;font-size:14px;font-weight:800}.rating>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rating .ant-btn{height:58px;border-radius:14px!important;font-weight:800!important}.rating small{display:block;margin-top:4px;font-size:10px;font-weight:600}.session-empty{display:grid;place-items:center;max-width:520px;margin:60px auto;padding:56px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);text-align:center}.session-empty>span{display:grid;place-items:center;width:72px;height:72px;color:#fff;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:22px;font-size:32px;box-shadow:0 12px 28px #22c55e47}.session-empty h2{margin:18px 0 8px;font-weight:800}.session-empty p{margin:0 0 22px;color:var(--text-muted)}.weak-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.weak-card{display:flex;flex-direction:column;min-height:240px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.weak-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.weak-card h3{margin:14px 0 10px;font-size:17px;font-weight:800;line-height:1.5}.weak-card footer{display:flex;gap:8px;margin-top:auto;padding-top:18px}.progress-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:20px}.progress-hero>div>span{color:var(--text-muted);font-size:13px;font-weight:700}.progress-hero>div>strong{display:block;margin:8px 0;font-size:48px;font-weight:800;letter-spacing:-.04em;color:var(--primary-dark)}.progress-hero>div>strong small{font-size:22px}.progress-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-chart{display:flex;align-items:flex-end;gap:12px;height:180px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px}.activity-chart>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.activity-chart>div>span{display:flex;align-items:flex-start;justify-content:center;width:min(40px,75%);min-height:10px;padding-top:6px;background:linear-gradient(180deg,#86efac,#22c55e);border-radius:10px 10px 4px 4px;box-shadow:0 6px 16px #22c55e2e}.activity-chart b{color:#fff;font-size:10px;font-weight:800}.activity-chart small{margin-top:8px;color:var(--text-muted);font-size:11px;font-weight:700}.progress-list{display:grid;gap:10px;background:transparent}.progress-list button{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:16px 18px;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.progress-list button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.progress-list strong{display:flex;justify-content:space-between;margin-bottom:8px;font-weight:800}.progress-list strong small{color:var(--text-muted);font-weight:600}.profile-hero{display:flex;align-items:center;gap:20px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:16px}.profile-avatar{display:grid;flex-shrink:0;place-items:center;width:72px;height:72px;color:#fff;font-size:28px;font-weight:800;background:linear-gradient(135deg,#38bdf8,#0ea5e9);border-radius:22px;box-shadow:0 10px 24px #0ea5e947}.profile-identity{flex:1;min-width:0}.profile-nickname-row{display:flex;gap:10px;max-width:420px}.profile-nickname-row .ant-input,.profile-nickname-row .ant-btn{height:42px;border-radius:12px;font-weight:700}.profile-identity>p{margin:6px 0 0;color:var(--text-muted);font-size:14px;font-weight:600}.profile-label{display:block;margin-bottom:10px;color:var(--text-muted);font-size:13px;font-weight:700}.profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.profile-info-list{display:grid;gap:10px;margin-bottom:20px}.profile-info-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.profile-info-list span{color:var(--text-muted);font-size:13px;font-weight:700}.profile-info-list strong{font-size:14px;font-weight:700;text-align:right}.profile-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.profile-quick-links button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:16px 18px;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.profile-quick-links button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.profile-quick-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--primary-dark);font-size:18px;background:#22c55e1f;border-radius:14px}.profile-quick-links strong{display:block;font-size:15px;font-weight:800}.profile-quick-links small{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;font-weight:600}.profile-settings{display:grid;gap:10px;margin-bottom:20px}.profile-setting-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:16px 18px;color:inherit;font:inherit;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.profile-setting-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.profile-setting-row>span{display:grid;place-items:center;width:42px;height:42px;font-size:18px;background:#94a3b81f;border-radius:14px}.profile-setting-row strong{display:block;font-size:15px;font-weight:800}.profile-setting-row small{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;font-weight:600}.profile-setting-row.danger>span{color:#ef4444;background:#ef44441a}.profile-setting-row.danger strong{color:#ef4444}.reset{margin-top:24px;height:44px;border-radius:12px!important;font-weight:700!important}.loading-screen{display:grid;place-items:center;align-content:center;gap:16px;min-height:100vh;background:var(--bg);color:var(--text-muted);font-weight:700}.mobile-nav{display:none}.dark.web-app{--bg: #0f172a;--surface: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--line: rgba(255, 255, 255, .08);background:radial-gradient(circle at 8% -10%,rgba(34,197,94,.08),transparent 32%),radial-gradient(circle at 92% 0%,rgba(14,165,233,.08),transparent 28%),linear-gradient(180deg,#111827 0%,var(--bg) 100%)}.dark .app-topbar{background:#0f172aeb}.dark .header-nav{background:#0f172ab8}.dark .header-nav button.active{background:#334155;color:#f8fafc}.dark .stat-pill,.dark .header-user,.dark .icon-btn,.dark .metric,.dark .library-tools,.dark .question-row,.dark .study-card,.dark .session-bar,.dark .rating,.dark .session-empty,.dark .weak-card,.dark .progress-hero,.dark .activity-chart,.dark .progress-list button,.dark .category-card,.dark .category-mark.has-logo,.dark .profile-hero,.dark .profile-info-list>div,.dark .profile-quick-links button,.dark .profile-setting-row{background:var(--surface);border-color:var(--line)}.dark .insight-panel,.dark .library-categories,.dark .notes-center-tools,.dark .note-center-row{background:var(--surface);border-color:var(--line)}.dark .question-index{background:#22c55e24}.dark .recall-guide{background:#0ea5e914;border-color:#0ea5e924}.dark .progress-list .category-logo{background:#334155}.formatted-content{display:grid;gap:12px}.formatted-text{display:grid;gap:10px}.formatted-text h4{margin:0;color:#203f34;font-size:14px}.formatted-text p{display:flex;align-items:flex-start;gap:9px;margin:0;color:#43564e;font-size:14px;line-height:1.85;white-space:pre-wrap}.important-mark{flex:none;margin-top:4px;padding:1px 6px;color:#8a5610;background:#fff1c8;border:1px solid #efd99b;border-radius:4px;font-size:10px;font-weight:700;line-height:18px}.code-block{overflow:hidden;margin:4px 0;background:#16242c;border:1px solid #293c46;border-radius:7px;box-shadow:0 8px 24px #0a181f1f}.code-header{display:flex;justify-content:space-between;padding:9px 14px;color:#9db1bc;background:#1d303a;border-bottom:1px solid #30444e;font-size:10px;font-weight:700}.code-scroll{overflow-x:auto;padding:10px 0;outline:none}.code-scroll:focus-visible{box-shadow:inset 0 0 0 2px #67c9a4}.code-line{display:grid;grid-template-columns:42px max-content;min-width:100%;min-height:25px;padding-right:16px;font:12px/1.7 Consolas,Monaco,Courier New,monospace;white-space:pre}.code-line-number{padding-right:12px;color:#607984;text-align:right;-webkit-user-select:none;user-select:none}.code-line code{color:#d6e2e7;font:inherit}.token-keyword{color:#7dd3fc}.token-string{color:#a7e3a1}.token-number{color:#f5c87a}.token-comment{color:#71858e;font-style:italic}.token-plain{color:#d6e2e7}.dark .formatted-text h4{color:#e1ebe7}.dark .formatted-text p{color:#c6d3ce}.dark .important-mark{color:#f1cf8b;background:#3b321d;border-color:#5b4b29}.formatted-text .paragraph-level-1{padding-left:18px}.formatted-text .paragraph-level-2{padding-left:38px}.paragraph-marker{flex:none;min-width:20px;color:#16725a;font-weight:750}.formatted-text .paragraph-heading{margin-top:5px;color:#203f34;font-weight:750}.dark .formatted-text .paragraph-heading{color:#e1ebe7}.dark .paragraph-marker{color:#78d2b1}.formatted-text .paragraph-text{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.follow-ups{margin-top:18px;border:2px solid rgba(28,176,246,.18);border-radius:14px;background:linear-gradient(180deg,#f8fbff,#f3f8ff)}.follow-ups summary{display:flex;align-items:center;gap:8px;padding:15px 18px;color:#1cb0f6;cursor:pointer;font-size:14px;font-weight:800;list-style:none}.follow-ups summary::-webkit-details-marker{display:none}.follow-ups summary small{margin-left:auto;color:#6b7280;font-weight:600}.follow-ups[open] summary{border-bottom:2px dashed rgba(28,176,246,.15)}.follow-ups>div{padding:8px 18px 14px}.follow-ups p{display:grid;grid-template-columns:24px 1fr;gap:9px;margin:10px 0;color:#374151;line-height:1.6}.follow-ups p b{display:grid;place-items:center;width:22px;height:22px;color:#fff;background:#1cb0f6;border-radius:8px;font-size:10px;font-weight:800}.dark .follow-ups{background:#1cb0f614;border-color:#1cb0f62e}.dark .follow-ups[open] summary{border-color:#1cb0f62e}.dark .follow-ups summary{color:#7dd3fc}.dark .follow-ups p{color:#d1d5db}@media(max-width:720px){.follow-ups summary{padding:14px}.follow-ups>div{padding:6px 14px 12px}}.question-detail{--qd-left-width: 200px;display:grid;grid-template-columns:var(--qd-left-width) minmax(0,1fr);gap:14px;align-items:start;transition:grid-template-columns .18s ease}.question-detail.qd-left-collapsed{--qd-left-width: 44px}.qd-sidebar{position:sticky;top:64px;max-height:calc(100dvh - 92px);overflow:auto;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.qd-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--text-muted);font-size:12px;font-weight:700}.qd-sidebar-head>div{display:flex;align-items:center;gap:6px}.qd-sidebar-head strong{color:var(--text)}.qd-collapse-btn,.qd-collapsed-trigger{display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--text-muted);background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease}.qd-collapse-btn:hover,.qd-collapsed-trigger:hover{color:var(--primary-dark);background:#22c55e14;border-color:#22c55e3d}.qd-collapsed-trigger{display:none;width:30px;height:36px;margin:1px auto 0}.qd-question-list{display:grid;gap:8px}.qd-question-list button{display:grid;grid-template-columns:28px 1fr;gap:8px;width:100%;padding:10px;color:inherit;text-align:left;background:transparent;border:1px solid transparent;border-radius:12px;cursor:pointer}.qd-question-list button.active{background:#22c55e1a;border-color:#22c55e33}.qd-question-list button span{display:grid;place-items:center;width:28px;height:28px;color:var(--primary-dark);background:#22c55e1f;border-radius:8px;font-size:12px;font-weight:800}.qd-question-list p{margin:0;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qd-main{min-width:0}.qd-card .question-title-content{margin-bottom:12px;font-size:clamp(24px,2.2vw,32px);font-weight:800;line-height:1.35;letter-spacing:-.02em}.qd-main .study-card{padding:24px 28px}.qd-main .answer{font-size:15px;line-height:1.75}.qd-left-collapsed .qd-sidebar{padding:6px;overflow:hidden}.qd-left-collapsed .qd-sidebar-content{display:none}.qd-left-collapsed .qd-sidebar>.qd-collapsed-trigger{display:grid}.qd-mobile-tabs{display:none}.qd-float-dock{position:fixed;right:24px;bottom:28px;z-index:55;display:flex;flex-direction:column;gap:10px}.qd-float-dock button{display:inline-flex;align-items:center;gap:8px;min-width:118px;padding:12px 16px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-lg);cursor:pointer;font-size:13px;font-weight:700;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.qd-float-dock button:hover{color:var(--primary-dark);background:#22c55e14;border-color:#22c55e47;transform:translateY(-1px)}.qd-float-dock button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.qd-float-dock button.active:hover{color:#fff;background:var(--primary-dark);border-color:var(--primary-dark)}.qd-float{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:auto}.qd-float-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:transparent;cursor:default}.qd-float-panel{pointer-events:auto;position:fixed;right:24px;bottom:96px;z-index:81;display:flex;flex-direction:column;width:min(480px,calc(100vw - 48px));height:min(720px,calc(100dvh - 120px));padding:14px 16px 16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 48px #0f172a2e;animation:qd-float-in .2s ease}@keyframes qd-float-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.qd-float-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--text-muted);background:#0f172a0a;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease}.qd-float-close:hover{color:var(--primary-dark);background:#22c55e14;border-color:#22c55e3d}.qd-float-panel .ant-tabs-nav{margin-bottom:12px;padding-right:40px}.qd-float-panel .ant-tabs,.qd-float-panel .ant-tabs-content-holder,.qd-float-panel .ant-tabs-content,.qd-float-panel .ant-tabs-tabpane-active{height:100%;min-height:0}.qd-float-panel .ant-tabs{display:flex;flex-direction:column;height:100%;min-height:0}.qd-float-panel .ant-tabs-content-holder{flex:1;height:auto;overflow:hidden}.session-bar.compact{margin-bottom:12px;padding:10px 14px}.category-logo.tiny{width:14px;height:14px;margin-right:4px;vertical-align:-2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(min-width:1025px){.main.question-main{padding-bottom:14px}}.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.panel-head strong{display:block;font-size:15px}.panel-head small{color:var(--text-muted);font-size:12px}.panel-loading{display:grid;place-items:center;min-height:180px}.ai-chat-panel,.notes-panel{display:flex;flex-direction:column;min-height:360px}.qd-float-panel .ai-chat-panel,.qd-float-panel .notes-panel{height:100%;min-height:0}.qd-float-panel .notes-panel{overflow:auto}.session-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.session-picker button{padding:4px 10px;font-size:12px;background:#f1f5f9;border:1px solid var(--line);border-radius:999px;cursor:pointer}.session-picker button.active{color:var(--primary-dark);background:#22c55e1f;border-color:#22c55e40}.chat-list{flex:1;min-height:0;max-height:none;overflow:auto;display:grid;gap:10px;margin-bottom:12px;padding-right:4px}.chat-bubble{padding:12px 14px;border-radius:14px;line-height:1.65}.chat-bubble.user{background:#0ea5e91a;border:1px solid rgba(14,165,233,.15)}.chat-bubble.user p{margin:0;white-space:pre-wrap}.chat-bubble.assistant{background:#f8fafc;border:1px solid var(--line)}.chat-bubble .markdown-content,.chat-bubble .markdown-content p,.chat-bubble .markdown-content li,.note-card p{display:block;overflow:visible;max-height:none;-webkit-line-clamp:unset;line-clamp:unset;text-overflow:unset;color:inherit;font-size:inherit}.chat-bubble.loading{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.chat-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;flex-shrink:0;padding-top:10px;background:var(--surface);border-top:1px solid var(--line)}.chat-input .ant-btn{height:auto;min-height:54px}.note-editor,.note-list{display:grid;gap:10px}.note-card{padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.note-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.note-card p{margin:0;white-space:pre-wrap;line-height:1.6}.note-card .note-highlightable{margin-top:4px}.note-card .note-paragraph{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:10px;cursor:text;line-height:1.7;color:var(--text);background:#ffffff8c;border:1px solid transparent;transition:border-color .15s ease,background .15s ease}.note-card .note-paragraph:hover{border-color:#22c55e47}.note-card .note-paragraph .paragraph-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.note-card .note-md{flex:1;min-width:0;width:100%;color:var(--text);font-size:14px;line-height:1.7}.note-card .note-md h1,.note-card .note-md h2,.note-card .note-md h3,.note-card .note-md h4{margin:0 0 8px;color:var(--text);font-weight:800;line-height:1.35}.note-card .note-md h2{font-size:17px}.note-card .note-md h3{font-size:15px}.note-card .note-md h4{font-size:14px}.note-card .note-md p{margin:0 0 8px;color:inherit;font-size:inherit;line-height:inherit;display:block;overflow:visible;-webkit-line-clamp:unset;white-space:normal}.note-card .note-md p:last-child,.note-card .note-md ul:last-child,.note-card .note-md ol:last-child,.note-card .note-md blockquote:last-child{margin-bottom:0}.note-card .note-md ul,.note-card .note-md ol{margin:0 0 8px;padding-left:1.25em}.note-card .note-md li{margin-bottom:4px}.note-card .note-md strong{font-weight:800;color:#0f172a}.note-card .note-md blockquote{margin:8px 0;padding:8px 12px;color:var(--text-muted);background:#0ea5e914;border-left:3px solid #0ea5e9;border-radius:8px}.note-card .note-md hr{margin:10px 0;border:0;border-top:1px solid var(--line)}.note-card .note-md :not(pre)>code{padding:1px 5px;background:#0f172a0f;border-radius:5px;font-size:12.5px}.note-card .note-paragraph.hl-yellow{background:#fef08a;box-shadow:inset 3px 0 #eab308}.note-card .note-paragraph.hl-blue{background:#bae6fd;box-shadow:inset 3px 0 #0ea5e9}.note-card .note-paragraph.hl-green{background:#bbf7d0;box-shadow:inset 3px 0 #22c55e}.note-card .note-paragraph.hl-red{background:#fecaca;box-shadow:inset 3px 0 #ef4444}.note-card .highlight-comment{display:block;width:100%;flex-basis:100%;margin-top:4px;padding:8px 10px;color:#334155;background:#ffffffe6;border-left:3px solid var(--primary);border-radius:8px;font-size:12px;line-height:1.55}.note-card .highlight-comment strong{display:inline-block;margin-right:6px;color:var(--primary-dark)}.note-card .code-block{margin:8px 0 12px}.highlight-toolbar-hint{align-self:center;color:var(--text-muted);font-size:12px;padding:0 4px}.note-card-actions{display:flex;gap:4px;margin-top:8px}.text-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;color:var(--text-muted);background:transparent;border:0;cursor:pointer;font-size:12px}.markdown-content{line-height:1.7;word-break:break-word}.markdown-content p,.markdown-content ul,.markdown-content ol{margin:0 0 10px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:14px 0 8px;line-height:1.35}.markdown-content li{margin-bottom:6px}.markdown-content blockquote{margin:10px 0;padding:10px 12px;color:var(--text-muted);background:#0ea5e914;border-left:3px solid #0ea5e9;border-radius:8px}.md-code-block{margin:10px 0;overflow:hidden;border-radius:12px;background:#0f172a;border:1px solid #1e293b}.md-code-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;color:#94a3b8;background:#1e293b;font-size:12px;font-weight:700}.md-code-copy{padding:2px 8px;color:#e2e8f0;background:#ffffff14;border:0;border-radius:6px;cursor:pointer;font-size:12px}.md-code-scroll{overflow-x:auto;padding:10px 0 12px}.md-code-line{display:grid;grid-template-columns:42px minmax(0,1fr);min-width:max-content;min-height:22px;padding-right:14px;font:12.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre}.md-code-line-number{padding-right:12px;color:#64748b;text-align:right;-webkit-user-select:none;user-select:none}.md-code-line code{color:#e2e8f0;font:inherit}.markdown-content pre{margin:0;padding:12px;overflow:auto;color:#e2e8f0;font-size:13px;line-height:1.55}.markdown-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.markdown-content :not(pre)>code{padding:2px 6px;background:#0f172a0f;border-radius:6px}.highlightable-content{position:relative}.highlight-paragraph{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:0 0 8px;padding:4px 6px;border-radius:8px;cursor:text;line-height:1.7}.highlight-paragraph .paragraph-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.highlightable-content .code-block{margin:8px 0 12px}.highlightable-content .formatted-text{margin-bottom:4px}.highlight-paragraph.hl-yellow{background:#fef08a;box-shadow:inset 3px 0 #eab308}.highlight-paragraph.hl-blue{background:#bae6fd;box-shadow:inset 3px 0 #0ea5e9}.highlight-paragraph.hl-green{background:#bbf7d0;box-shadow:inset 3px 0 #22c55e}.highlight-paragraph.hl-red{background:#fecaca;box-shadow:inset 3px 0 #ef4444}.note-card .highlight-paragraph.hl-yellow,.note-card .highlight-paragraph.hl-blue,.note-card .highlight-paragraph.hl-green,.note-card .highlight-paragraph.hl-red{background-clip:padding-box}.highlight-comment{display:block;width:100%;flex-basis:100%;margin-top:6px;padding:8px 10px;color:#334155;background:#ffffffd9;border-left:3px solid var(--primary);border-radius:8px;font-size:12px;line-height:1.55}.highlight-toolbar{position:fixed;z-index:90;display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg)}.highlight-toolbar button{padding:4px 8px;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}.highlight-toolbar .hl-yellow{background:#fef08a;box-shadow:inset 0 -2px #eab308}.highlight-toolbar .hl-blue{background:#bae6fd;box-shadow:inset 0 -2px #0ea5e9}.highlight-toolbar .hl-green{background:#bbf7d0;box-shadow:inset 0 -2px #22c55e}.highlight-toolbar .hl-red{background:#fecaca;box-shadow:inset 0 -2px #ef4444}.comment-popover{display:grid;gap:8px;width:220px}.mock-setup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.mock-mode-control{grid-column:1 / -1;display:grid;gap:8px}.mock-mode-control>span,.mock-question-select{color:var(--text-muted);font-size:13px;font-weight:700}.mock-question-select{grid-column:1 / -1}.mock-question-select .ant-select{margin-top:8px}.mock-setup label{display:grid;gap:8px;font-size:13px;font-weight:700}.mock-setup .ant-select{width:100%}.mock-setup .ant-btn{align-self:end;grid-column:1 / -1;justify-self:start}.mock-history{margin-top:20px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.mock-history-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.mock-history-row:last-child{border-bottom:0}.mock-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.mock-card h2{margin:12px 0 16px;font-size:24px;line-height:1.35}.mock-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.mock-feedback{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}.mock-score{display:inline-flex;align-items:baseline;gap:4px;margin-bottom:10px;color:var(--primary-dark);font-size:42px;font-weight:800}.mock-score small{font-size:16px}.mock-feedback-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.mock-feedback-lists ul{margin:8px 0 0;padding-left:18px}.mock-reference{margin-top:16px;padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.mock-reference.viewed{border-color:#f59e0b59;background:#f59e0b14}.mock-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.mock-report-card{margin-bottom:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.recommend-row{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px;padding:12px;text-align:left;background:#f8fafc;border:1px solid var(--line);border-radius:12px;cursor:pointer}.dark .chat-bubble.assistant,.dark .note-card,.dark .mock-reference,.dark .recommend-row{background:#0f172a80}@media(min-width:1400px){.question-detail{--qd-left-width: 220px;gap:16px}.question-detail.qd-left-collapsed{--qd-left-width: 44px}.qd-float-panel{width:min(520px,calc(100vw - 48px))}}@media(max-width:1024px){:root{--layout-pad-x: 16px}.brand small{display:none}.header-nav{flex:1;min-width:0;gap:3px;padding:3px}.header-nav button{height:36px;padding:0 10px;font-size:12px;gap:5px}.stat-pill,.header-user div{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-insights{grid-template-columns:1fr}.library-workbench{grid-template-columns:180px minmax(0,1fr)}.notes-center-tools{grid-template-columns:minmax(220px,1fr) 1fr}.notes-center-tools .ant-input-search{grid-column:1 / -1}.category-grid,.library-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.weak-grid,.progress-hero{grid-template-columns:1fr}.profile-metrics,.profile-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero{flex-direction:column;align-items:flex-start}.profile-nickname-row{max-width:none;width:100%}.plan-panel{grid-template-columns:1fr auto;gap:16px;padding:24px}.plan-actions{flex-wrap:wrap}.mock-setup{grid-template-columns:repeat(2,minmax(0,1fr))}.mock-setup .ant-btn{grid-column:1 / -1}.mock-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-detail{grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:12px}.qd-float-dock{display:none}.qd-sidebar{top:56px;max-height:calc(100vh - 64px)}.qd-sidebar-content{display:block!important}.qd-sidebar>.qd-collapsed-trigger,.qd-collapse-btn{display:none!important}.qd-left-collapsed .qd-sidebar{padding:14px;overflow:auto}.qd-mobile-tabs{display:flex;gap:8px;margin-top:14px}.qd-mobile-tabs button{flex:1;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:700}.qd-mobile-tabs button.active{color:var(--primary-dark);background:#22c55e1a;border-color:#22c55e40}.qd-float-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a59;pointer-events:auto}.qd-float-panel{right:0;bottom:0;left:0;width:100%;height:min(78vh,680px);max-height:min(78vh,680px);border-radius:18px 18px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));animation:qd-drawer-in .22s ease}@keyframes qd-drawer-in{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.section-head{flex-wrap:wrap;gap:8px}.welcome{gap:12px}.daily-goal-select{min-width:140px}}@media(min-width:900px)and (max-width:1024px){.header-user div{display:block}.stat-pill{display:inline-flex}}@media(min-width:721px)and (max-width:899px){.header-nav{justify-content:flex-start;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}}@media(max-width:720px){:root{--header-pad-y: 8px;--header-pad-x: 12px;--layout-pad-x: 14px;--layout-max: 100%}.app-topbar{border-bottom-color:var(--line)}.app-header{gap:8px}.brand strong{font-size:15px}.brand>span{width:34px;height:34px;font-size:15px;border-radius:12px}.header-nav{display:none}.header-actions{gap:6px;margin-left:auto}.header-user{width:34px;height:34px;padding:0;justify-content:center;border:none;background:transparent;box-shadow:none}.header-user>span{width:34px;height:34px}.icon-btn{width:34px;height:34px}.main{padding-top:8px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.welcome{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.daily-goal-select{width:100%}.page-title h1,.welcome h1{font-size:clamp(22px,6vw,28px);margin-top:8px}.page-title p,.welcome p{font-size:14px}.plan-panel{grid-template-columns:1fr;gap:18px;padding:18px 16px;margin-bottom:14px}.plan-panel>.ant-progress{justify-self:center}.plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:16px}.plan-actions .ant-btn-primary{grid-column:1 / -1}.plan-actions .ant-btn-default{min-width:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric{padding:14px 12px}.metric strong{font-size:26px}.category-grid,.library-tools,.notes-center-tools,.profile-metrics,.profile-quick-links,.mock-setup,.mock-report-grid,.mock-feedback-lists{grid-template-columns:1fr}.category-grid{gap:10px}.category-card{min-height:auto;padding:16px}.section-head{margin-bottom:10px}.section-head .ant-btn{padding-inline:0}.page-title{margin-bottom:12px}.library-tools{gap:10px;margin-bottom:12px}.library-workbench{grid-template-columns:1fr}.library-categories{position:static;display:flex;gap:6px;max-height:none;overflow-x:auto;padding:6px;scrollbar-width:none}.library-categories button{flex:0 0 auto;white-space:nowrap}.library-results .library-tools{grid-template-columns:1fr}.dashboard-insights{gap:10px}.insight-panel{padding:14px}.streak-badge{display:flex;width:max-content;margin:8px 0 0}.note-center-row{padding:14px}.note-center-row>header,.note-center-row>footer{align-items:flex-start;flex-direction:column}.note-center-row>footer,.note-center-row>footer>div,.note-center-row>footer .ant-btn{width:100%}.study-actions .ant-btn{padding-inline:8px}.question-list-header{margin-bottom:10px}.question-row{grid-template-columns:1fr;padding:14px}.question-index{display:none}.question-row>.ant-btn{width:100%}.rating>div{grid-template-columns:1fr;gap:8px}.rating .ant-btn{width:100%;height:auto!important;min-height:46px}.study-card{padding:16px 14px}.session-bar{padding:12px 14px}.mock-actions{flex-direction:column}.mock-actions .ant-btn{width:100%}.mock-card h2{font-size:20px}.question-detail{grid-template-columns:1fr;gap:10px}.qd-sidebar{position:static;max-height:none;padding:10px}.qd-left-collapsed .qd-sidebar{padding:10px;overflow:visible}.qd-question-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.qd-question-list::-webkit-scrollbar{display:none}.qd-question-list button{grid-template-columns:1fr;flex:0 0 min(78vw,280px);min-height:72px;padding:12px}.qd-question-list button span{display:none}.qd-question-list p{-webkit-line-clamp:3;font-size:12px}.qd-main .study-card{padding:16px 14px}.qd-card .question-title-content{font-size:22px}.highlight-toolbar{left:12px!important;right:12px;max-width:calc(100vw - 24px)}.qd-float-panel{height:min(78vh,640px);max-height:min(78vh,640px)}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);height:calc(56px + env(safe-area-inset-bottom,0px));padding:0 4px env(safe-area-inset-bottom,0px);background:#fffffff5;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -4px 20px #0f172a0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;color:var(--text-muted);background:transparent;border:0;font-size:20px;cursor:pointer}.mobile-nav button span{font-size:10px;font-weight:700;line-height:1.1}.mobile-nav button.active,.mobile-nav button.active span{color:var(--primary-dark)}.dark .mobile-nav{background:#0f172af5;border-top-color:var(--line)}}@media(min-width:721px)and (max-width:1024px)and (orientation:landscape){.question-detail{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(hover:none)and (pointer:coarse){.header-nav button,.mobile-nav button,.category-card,.qd-question-list button{-webkit-tap-highlight-color:transparent}.metric:hover,.category-card:hover,.header-user:hover,.icon-btn:hover{transform:none}}
