:root{color-scheme:light;font-family:Microsoft YaHei UI,Noto Sans SC,PingFang SC,sans-serif;background:#f7f5ef;color:#1f2933;--ink: #1f2933;--muted: #68727f;--paper: #fffdf7;--line: #ded8ca;--accent: #4f9d8f;--gold: #e6b84b;--danger: #b84a4a;--ok: #277d5f;--shadow: 0 10px 30px rgba(31, 41, 51, .08)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:linear-gradient(90deg,rgba(79,157,143,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(230,184,75,.09) 1px,transparent 1px),#f7f5ef;background-size:26px 26px}button,select,input{font:inherit}button,.button-like{border:1px solid var(--line);background:#fffaf0;color:var(--ink);min-height:42px;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:disabled{opacity:.45}.primary{border-color:#1f2933;background:#1f2933;color:#fffdf7;font-weight:700}.app-shell{min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 18px 12px;background:#f7f5efeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 3px;color:var(--accent);font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:28px}h2{font-size:18px;margin-bottom:14px}h3{font-size:18px;line-height:1.55}.content{width:min(860px,100%);margin:0 auto;padding:16px}.screen{display:grid;gap:14px}.toolbar,.button-row,.exam-actions{display:flex;gap:10px;flex-wrap:wrap}select,.file-input,.password-input{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 12px}.toolbar select{flex:1 1 150px}.panel,.notice,.error{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow);padding:16px}.notice{border-color:#4f9d8f80;color:#21695e}.error{border-color:#b84a4a80;color:var(--danger);background:#fff6f2}.inline{box-shadow:none;padding:10px}.runner-head,.bank-row,.history-item,.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-card{display:grid;gap:14px}.type-pill{justify-self:start;margin-bottom:0;padding:4px 9px;border-radius:999px;background:#e6b84b38;color:#7b5a0f;font-size:12px;font-weight:800}.options{display:grid;gap:10px}.option{min-height:52px;width:100%;justify-content:flex-start;text-align:left;background:#fffdf7}.option strong{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eee8db}.option span{line-height:1.45}.option.selected{border-color:var(--accent);box-shadow:0 0 0 3px #4f9d8f2e}.option.answer{border-color:var(--ok);background:#f0fbf5}.option.wrong{border-color:var(--danger);background:#fff2ef}.feedback{padding:12px;border-radius:8px;font-weight:800}.feedback.ok{background:#eaf8f0;color:var(--ok)}.feedback.bad{background:#fff0ea;color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid div{min-height:76px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:12px;display:grid;align-content:center;gap:4px}.stats-grid.compact div{min-height:62px}.stats-grid span,.muted,.bank-row span,.history-item span{color:var(--muted);font-size:13px}.stats-grid strong{font-size:24px}.field{display:grid;gap:8px;margin-bottom:14px}.compact-field{max-width:420px}.preview-box{display:grid;gap:12px}.bank-row,.history-item{border-top:1px solid var(--line);padding:12px 0}.text-danger{color:var(--danger)}.button-like input{display:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffdf7f2;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{min-height:54px;padding:4px;border-color:transparent;background:transparent;display:grid;gap:3px;font-size:12px;color:var(--muted)}.bottom-nav button.active{color:var(--ink);background:#f2ead8}@media(min-width:760px){.content{padding:24px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{padding:20px}}
