:root{font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:#0f172a;background:radial-gradient(circle at top left,rgba(254,240,138,.55),transparent 30%),radial-gradient(circle at top right,rgba(125,211,252,.55),transparent 28%),linear-gradient(180deg,#fefce8,#f8fafc 32%,#eef2ff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}#app{min-height:100vh}.landing-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:40px 24px}.landing-page{gap:28px}.landing-hero{text-align:center;max-width:780px}.landing-hero h1,.login-card h1{margin:0;font-size:clamp(2.75rem,5vw,5rem);line-height:1.05}.page-eyebrow,.hero-kicker,.role-kicker,.brand-kicker{margin:0 0 10px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#475569}.landing-copy,.login-copy,.shell-copy,.brand-slogan,.page-subtitle,.detail-copy,.teacher-note,.review-body{color:#475569}.brand-slogan{margin:6px 0 0;font-size:.95rem;font-weight:700}.landing-grid{width:min(1100px,100%);display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.role-card,.login-card,.hero-panel,.form-panel,.toolbar-panel,.stat-card,.question-card,.review-card,.class-card,.paper-card,.teacher-question-card,.detail-panel,.shell-sidecard,.notification-card,.subject-chip-card,.loading-card,.empty-state{border-radius:28px;box-shadow:0 24px 60px #0f172a14;background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.role-card{padding:28px;min-height:220px;border:1px solid rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease}.role-card:hover,.shell-link:hover,.question-card:hover,.clickable-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #0f172a1f}.clickable-card{display:block}.role-card h2,.question-card h3,.review-card h3,.teacher-question-card h3,.paper-card h3,.class-card h3,.detail-main h3,.hero-panel h3{margin:6px 0 10px}.role-card-student{background:radial-gradient(circle at top right,rgba(250,204,21,.25),transparent 24%),linear-gradient(160deg,#f0fdf4f2,#dbeafef2)}.role-card-teacher{background:radial-gradient(circle at top left,rgba(14,165,233,.18),transparent 24%),linear-gradient(160deg,#eff6fff5,#f8fafcf5)}.demo-strip{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center;color:#334155}.demo-strip span{padding:8px 14px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(15,23,42,.06)}.login-card{width:min(540px,100%);padding:32px}.stack-form,.form-panel{display:grid;gap:18px}.field{display:grid;gap:8px}.field span{font-size:.95rem;font-weight:700;color:#1e293b}input,textarea,select{width:100%;border:1px solid rgba(148,163,184,.35);background:#ffffffeb;color:#0f172a;border-radius:18px;padding:14px 16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}textarea{resize:vertical}.primary-button,.secondary-button,.ghost-button,.compact-button{padding:14px 18px;border-radius:18px;transition:transform .16s ease,opacity .16s ease}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed}.primary-button{color:#fff;background:linear-gradient(135deg,#f97316,#ef4444)}.secondary-button{background:#0ea5e924;color:#0f172a}.ghost-button{background:transparent;border:1px solid rgba(148,163,184,.35);color:#0f172a}.compact-button{align-self:end}.inline-backlink{justify-self:start;color:#2563eb;font-weight:700}.demo-box{padding:16px 18px;border-radius:22px;background:linear-gradient(160deg,#fff7edf2,#eff6fff2)}.error-text,.status-text{margin:0;font-size:.92rem;color:#b91c1c}.status-text{color:#0369a1}.app-shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.shell-sidebar{padding:28px 22px;display:grid;gap:26px;color:#fff}.student-shell .shell-sidebar{background:radial-gradient(circle at top left,rgba(255,255,255,.22),transparent 20%),linear-gradient(180deg,#14532d,#166534 28%,#0284c7)}.teacher-shell .shell-sidebar{background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 20%),linear-gradient(180deg,#0f766e,#155e75 55%,#0f172a)}.shell-sidebar .brand-kicker,.shell-sidebar .brand-slogan,.shell-sidebar .shell-copy,.shell-sidebar .sidecard-label,.shell-sidebar .sidecard-caption{color:#f8fafce0}.brand-mark{display:flex;gap:14px;align-items:center}.brand-orbit{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fde68a,#f97316 72%);box-shadow:0 0 0 8px #ffffff1f}.shell-nav{display:grid;gap:10px}.shell-link{padding:12px 14px;border-radius:16px;background:#ffffff1a;transition:background .18s ease,transform .18s ease;display:flex;align-items:center;gap:10px}.shell-link.router-link-active{background:#ffffff2e}.shell-link-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.shell-link-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell-sidecard{padding:20px;background:#ffffff1a;color:#f8fafc}.sidecard-label,.stat-label{margin:0;font-size:.88rem;color:inherit;opacity:.82}.sidecard-value,.stat-value{margin:10px 0 4px;font-size:1.85rem;line-height:1.05}.sidecard-caption,.stat-caption{margin:0;color:inherit;opacity:.86}.shell-content{padding:26px}.shell-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.shell-header h2{margin:0;font-size:clamp(1.9rem,2vw,2.6rem)}.shell-main{margin-top:26px;display:grid;gap:24px}.hero-panel{padding:28px;display:grid;gap:18px;align-items:center;grid-template-columns:1.2fr .8fr}.student-hero{background:radial-gradient(circle at top left,rgba(255,241,118,.4),transparent 24%),linear-gradient(160deg,#ecfdf5f2,#e0f2fef2)}.teacher-hero{background:radial-gradient(circle at top right,rgba(125,211,252,.26),transparent 24%),linear-gradient(160deg,#eff6fff5,#e2e8f0f0)}.notification-stack{display:grid;gap:12px}.notification-card{padding:18px}.notification-card h4,.section-heading h3,.detail-sidepanel h4{margin:0 0 8px}.stat-grid,.question-grid,.class-grid,.subject-overview{display:grid;gap:18px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:20px;border:1px solid rgba(148,163,184,.14)}.subject-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.subject-chip-card,.class-card,.paper-card,.teacher-question-card,.review-card,.detail-sidepanel{padding:20px}.subject-chip-header,.question-topline,.detail-topline,.review-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.question-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.question-card{padding:20px;border:1px solid rgba(148,163,184,.14)}.question-thumb,.detail-image{width:100%;border-radius:20px;border:1px solid rgba(148,163,184,.18);object-fit:cover;background:#f8fafce6}.question-thumb{height:160px;margin-bottom:16px}.detail-image{max-height:420px;cursor:zoom-in}.question-category,.paper-note,.teacher-note{margin:0}.teacher-class-card{display:grid;gap:18px;min-height:240px;background:radial-gradient(circle at top right,rgba(56,189,248,.16),transparent 28%),linear-gradient(160deg,#fffffff5,#eff6fff0);border:1px solid rgba(14,116,144,.12)}.teacher-class-top,.teacher-class-stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-class-arrow{font-size:.92rem;color:#0369a1;font-weight:700}.teacher-class-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.teacher-class-copy{display:grid;gap:8px}.teacher-class-copy h3{margin:0;font-size:1.45rem}.teacher-class-badge{width:104px;height:104px;border-radius:28px;display:grid;place-items:center;align-content:center;gap:2px;background:radial-gradient(circle at 30% 30%,rgba(254,240,138,.8),transparent 38%),linear-gradient(160deg,#0ea5e929,#2563eb1f);border:1px solid rgba(14,116,144,.14);color:#0f172a}.teacher-class-badge strong{font-size:2.15rem;line-height:1}.teacher-class-badge span{font-size:.9rem;color:#475569}.teacher-class-stat{flex:1 1 0;padding:14px 16px;border-radius:20px;background:#f8fafceb;border:1px solid rgba(148,163,184,.16);display:grid;gap:6px}.teacher-class-stat span{font-size:.9rem;color:#64748b}.teacher-class-stat strong{font-size:1.6rem;line-height:1;color:#0f172a}.question-tags,.tag-wall,.review-actions{display:flex;flex-wrap:wrap;gap:10px}.tag,.pill,.tag-toggle{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:.86rem}.tag,.subtle-pill{background:#e2e8f0b3;color:#334155}.help-tag,.help-pill{background:#f9731624;color:#9a3412}.pill{background:#0f172a14}.tag-toggle{border:1px solid rgba(148,163,184,.32);background:#fffc}.tag-toggle.active{background:#f9731624;border-color:#f973167a;color:#9a3412}.question-footer,.detail-meta{margin:16px 0 0;display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:.9rem}.section-block{display:grid;gap:16px}.toolbar-panel{padding:18px;display:flex;gap:14px;align-items:end;flex-wrap:wrap}.inline-field{min-width:180px}.grow{flex:1 1 320px}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.helper-toggle{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:22px;background:#f8fafceb;border:1px solid rgba(148,163,184,.18)}.helper-toggle input{width:18px;height:18px;margin-top:3px}.helper-toggle strong,.share-feature-card strong{color:#0f172a}.helper-toggle p,.share-feature-card p,.empty-inline{margin:0;color:#475569}.camera-panel{display:grid;gap:14px;padding:18px;border-radius:22px;background:#f8fafce0;border:1px dashed rgba(148,163,184,.4)}.camera-actions{display:flex;flex-wrap:wrap;gap:10px}.camera-preview{width:100%;max-height:360px;object-fit:cover;border-radius:20px;background:#0f172a14}.camera-hint{margin:0;color:#475569}.form-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.review-list,.paper-list,.teacher-question-list{display:grid;gap:18px}.paper-card-actions,.review-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.share-feature-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.share-feature-card{padding:22px;border-radius:28px;box-shadow:0 24px 60px #0f172a14;background:radial-gradient(circle at top right,rgba(254,240,138,.24),transparent 28%),linear-gradient(160deg,#ffffffeb,#eff6fff0);display:grid;gap:10px}.share-feature-card h3{margin:0}.compact-link{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.file-trigger{position:relative;overflow:hidden}.file-trigger input{display:none}.paper-source-text,.paper-review-meta{margin:0;color:#475569}.review-hotspot-list{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.review-hotspot-card{padding:22px;border-radius:28px;box-shadow:0 24px 60px #0f172a14;background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;gap:14px}.paper-source-box{padding:16px 18px;border-radius:22px;background:#f8fafceb;border:1px solid rgba(148,163,184,.18);display:grid;gap:10px}.paper-source-label{margin:0;font-size:.88rem;font-weight:700;color:#1e293b}.paper-source-preview{margin:0;white-space:pre-wrap;font:inherit;color:#334155}.review-actions{margin-top:16px}.detail-panel{padding:22px;display:grid;gap:20px;grid-template-columns:1.3fr .7fr}.detail-main{display:grid;gap:18px}.detail-ai{margin:0;padding:14px 16px;border-radius:18px;background:#3b82f614;color:#1d4ed8}.image-lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0f172ab8}.image-lightbox-content{max-width:min(960px,100%);max-height:calc(100vh - 48px);border-radius:24px;box-shadow:0 24px 60px #0f172a47}.timeline-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.timeline-list li{padding:12px 14px;border-radius:16px;background:#f8fafce6;display:grid;gap:4px}.empty-state,.loading-card{padding:28px;text-align:center}.empty-orbit{width:78px;height:78px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fde68a,#60a5fa)}@media(max-width:980px){.app-shell,.detail-panel,.hero-panel{grid-template-columns:1fr}.shell-sidebar{padding-bottom:20px}}@media(max-width:760px){.shell-content{padding:18px}.shell-header{flex-direction:column}.toolbar-panel,.form-actions,.question-footer,.paper-card-actions,.review-hero-actions{flex-direction:column;align-items:stretch}.inline-field,.grow{width:100%}.teacher-class-body{grid-template-columns:1fr}.teacher-class-badge{width:100%;height:auto;min-height:96px}}
