:root{color:#233041;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f6f9fc;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 10%,rgba(104,174,255,.28),transparent 32%),radial-gradient(circle at 90% 18%,rgba(255,182,193,.24),transparent 30%),linear-gradient(135deg,#f9fbff,#eef7f3 52%,#fff8fb)}#app,.app-root{min-height:100vh}.app-root{display:flex;flex-direction:column}.app-root>.login-shell,.app-root>.app-shell{flex:1}.app-root>.login-shell,.app-root>.app-shell{min-height:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}input,select{min-width:0;width:100%;border:1px solid rgba(92,116,143,.18);border-radius:14px;padding:12px 14px;color:#233041;background:#ffffffa3;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input:focus,select:focus{border-color:#4589ff8c;background:#ffffffdb;box-shadow:0 0 0 4px #4589ff1f}.glass-card{border:1px solid rgba(255,255,255,.58);background:#ffffff85;box-shadow:0 18px 60px #364c6924;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.primary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;min-height:42px;border-radius:14px;padding:0 16px;font-weight:700;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button{color:#fff;background:linear-gradient(135deg,#3778ff,#3ac0a0);box-shadow:0 12px 24px #3778ff3d}.ghost-button,.icon-button{color:#284057;border:1px solid rgba(85,111,140,.16);background:#ffffff9e}.primary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #3f537029}.primary-button:active,.ghost-button:active,.icon-button:active,.option-button:active,.segmented button:active{transform:translateY(1px) scale(.98)}.wide{width:100%}.file-input{display:none}.icon-button{width:42px;padding:0}.mobile-only{display:none}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel{width:min(420px,100%);border-radius:28px;padding:34px}.brand-mark,.app-logo,.avatar{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3778ff,#3ac0a0);box-shadow:0 12px 28px #3778ff38}.brand-mark{width:58px;height:58px;border-radius:18px}.login-panel h1,.page-heading h1{margin:14px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:0}.login-panel p,.page-heading p{margin:0;color:#68788b}.login-form{display:grid;gap:16px;margin-top:28px}.login-form label{display:grid;gap:8px;color:#53657a;font-weight:700}.input-with-icon{display:flex;align-items:center;gap:10px;border:1px solid rgba(92,116,143,.18);border-radius:16px;padding-left:12px;background:#ffffff9e}.input-with-icon input{border:0;background:transparent;box-shadow:none}.form-error,.notice.error{color:#bf2d4a}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;min-height:100vh;padding:22px}.icp-footer{flex-shrink:0;border-top:1px solid rgba(255,255,255,.58);padding:10px 16px;color:#6a7a8c;text-align:center;font-size:12px;line-height:1.4;background:#ffffff6b;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.icp-footer a{color:inherit;text-decoration:none;transition:color .16s ease}.icp-footer a:hover{color:#2d6eea}.sidebar{position:sticky;top:22px;display:flex;flex-direction:column;height:calc(100vh - 44px);border-radius:28px;padding:18px}.sidebar-head{display:flex;align-items:center;gap:12px;margin-bottom:22px}.sidebar-head span,.topbar-title span,.soft-label{display:block;color:#718092;font-size:13px}.app-logo,.avatar{width:42px;height:42px;flex:0 0 auto;border-radius:14px;font-weight:900}.sidebar nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;border-radius:16px;padding:13px 14px;color:#52667a;font-weight:800;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-link.router-link-active{color:#173b62;background:#ffffffb8;box-shadow:inset 0 0 0 1px #50769e1f}.nav-link:hover{transform:translate(2px);background:#ffffff8f}.main-area{min-width:0}.topbar{position:sticky;top:22px;z-index:5;display:flex;align-items:center;gap:12px;min-height:72px;margin-bottom:22px;border-radius:24px;padding:14px 16px}.topbar-title{margin-right:auto}.page-stack{display:grid;gap:18px;padding-bottom:32px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.metric-grid,.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.quick-card,.info-card,.profile-form,.practice-side,.table-card{border-radius:22px;padding:20px}.metric-card{display:grid;gap:10px}.metric-card svg{color:#3778ff}.metric-card span,.quick-card span{color:#66778a}.metric-card strong{font-size:30px;line-height:1}.quick-card{display:grid;gap:8px;min-height:118px}.filter-bar,.practice-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;border-radius:22px;padding:14px}.notice{border-radius:16px;padding:12px 14px;color:#285073;background:#ffffff9e}.split-grid,.practice-layout,.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:18px;align-items:start}.practice-layout{grid-template-columns:minmax(0,1fr) 300px}.profile-grid{grid-template-columns:minmax(0,.8fr) minmax(320px,1fr)}.list-stack,.practice-main{display:grid;gap:12px}.question-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:20px;padding:16px}.question-row strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-line}.question-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.question-meta span,.status-pill{border-radius:999px;padding:5px 9px;color:#526d83;font-size:12px;font-weight:800;background:#ffffffb3}.detail-pane{position:sticky;top:112px}.question-card{--question-font-size: 18px;display:grid;gap:16px;border-radius:24px;padding:22px}.question-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-card-head .question-meta{margin-bottom:0}.font-toolbar{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:#617489;font-size:13px;font-weight:800}.font-button{width:42px;min-height:34px;font-size:13px}.question-card h2{margin:0;font-size:var(--question-font-size);line-height:1.55;white-space:pre-line}.question-image{max-width:100%;border-radius:16px;background:#fff}.option-list{display:grid;gap:10px}.option-button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;border:1px solid rgba(91,116,145,.14);border-radius:16px;padding:13px;text-align:left;color:#24374b;font-size:calc(var(--question-font-size) - 1px);background:#fff9;transition:transform .16s ease,border-color .16s ease,background .16s ease}.option-button span{line-height:1.55;white-space:pre-line}.option-button strong{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#3778ff;background:#3778ff1a}.option-button:hover,.option-button.active{border-color:#3778ff73;background:#eef6ffd1}.option-button.correct{border-color:#2ca97e80;background:#e5faf2d1}.answer-panel,.result-box{display:grid;gap:8px;border-radius:16px;padding:14px;background:#ffffff9e}.answer-panel p,.info-card p{margin:0;color:#627386}.answer-panel p{white-space:pre-line}.pager{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border-radius:15px;padding:4px;background:#ffffff9e}.segmented button{border:0;border-radius:12px;padding:10px;color:#607286;font-weight:800;background:transparent;transition:background .18s ease,color .18s ease,transform .16s ease}.segmented button.active{color:#173b62;background:#fff;box-shadow:0 8px 18px #3951701f}.practice-side{position:sticky;top:112px;display:grid;gap:16px}.practice-side>strong{font-size:34px}.result-box{color:#b2354a}.result-box.ok,.status-pill.ok{color:#177358}.table-card{overflow:hidden}.responsive-table{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{border-bottom:1px solid rgba(89,112,138,.12);padding:13px 10px;text-align:left;vertical-align:top}th{color:#647488;font-size:13px}.empty-state{display:grid;gap:6px;place-items:center;min-height:180px;border-radius:22px;padding:24px;text-align:center;color:#68788b}.empty-state strong{color:#25384c}.profile-form{display:grid;gap:14px}.profile-form h2,.info-card h2{margin:0}@media (max-width: 1100px){.metric-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.practice-layout,.profile-grid{grid-template-columns:1fr}.detail-pane,.practice-side{position:static}.filter-bar,.practice-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.mobile-only{display:inline-flex}.app-shell{display:block;padding:12px}.sidebar{position:fixed;inset:12px auto 12px 12px;z-index:20;width:min(280px,calc(100vw - 24px));height:auto;transform:translate(calc(-100% - 20px));transition:transform .22s ease}.sidebar.open{transform:translate(0)}.topbar{top:12px;min-height:64px;margin-bottom:18px}.topbar .ghost-button span{display:none}.page-heading{align-items:stretch;flex-direction:column}.page-heading h1{font-size:30px}.metric-grid,.metric-grid.compact,.quick-grid,.filter-bar,.practice-controls{grid-template-columns:1fr}.question-row{align-items:stretch;flex-direction:column}.question-card-head{align-items:flex-start;flex-direction:column}.login-panel{padding:24px;border-radius:24px}.metric-card strong{font-size:26px}}
