:root{--bg:#f2f4f8;--card:#fff;--ink:#1a2233;--sub:#68738a;--accent:#2b5fd9;--accent2:#e8eefb;--ok:#1a9e5c;--ng:#d9433b;--border:#dde3ee;--shadow:0 2px 10px #14285a14}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);margin:0;font-family:Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif}button{font-family:inherit;font:inherit;color:inherit;margin:0}header{background:var(--card);border-bottom:1px solid var(--border);z-index:5;padding:12px 16px;position:sticky;top:0}h1{margin:0 0 8px;font-size:17px}.tabs{gap:6px;display:flex}.tab{text-align:center;border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;flex:1;padding:8px 0;font-size:14px}.tab.act{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}main{max-width:640px;margin:0 auto;padding:14px 16px 40px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--sub);background:#fff;border-radius:999px;padding:6px 11px;font-size:12.5px}.chip.on{background:var(--accent2);border-color:var(--accent);color:var(--accent);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.btn{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;padding:9px 14px;font-size:14px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn.small{padding:6px 10px;font-size:12.5px}.btn:active{transform:scale(.97)}.stat{color:var(--sub);font-size:12.5px}.fcard{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:26px 20px;display:flex}.fcard .cat{color:var(--sub);letter-spacing:.05em;margin-bottom:10px;font-size:11.5px}.fcard .term{font-size:22px;font-weight:700;line-height:1.4}.fcard .mean{margin-top:6px;font-size:16px;line-height:1.7}.fcard .person{color:var(--accent);margin-top:14px;font-size:14px;font-weight:600}.fcard .year{color:var(--sub);margin-top:2px;font-size:12px}.hint{color:var(--sub);text-align:center;margin-top:8px;font-size:12px}.judge{gap:10px;margin-top:12px;display:flex}.judge .btn{flex:1;padding:13px 0;font-size:15px;font-weight:700}.judge .ok{color:var(--ok);border-color:var(--ok)}.judge .ng{color:var(--ng);border-color:var(--ng)}.q{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:20px}.q .ask{margin-bottom:14px;font-size:16px;font-weight:600;line-height:1.7}.q .cat{color:var(--sub);margin-bottom:6px;font-size:11.5px}.opts{flex-direction:column;gap:8px;display:flex}.opt{border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:#fff;border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.55}.opt.correct{border-color:var(--ok);background:#e9f8f0;font-weight:600}.opt.wrong{border-color:var(--ng);background:#fdecec}.opt.dim{opacity:.55}.fb{margin-top:12px;font-size:14px;line-height:1.6}.fb .big{font-size:16px;font-weight:700}.prog{background:var(--border);border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden}.prog i{background:var(--accent);border-radius:3px;height:100%;transition:width .25s;display:block}.done{background:var(--card);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:16px;padding:30px 20px}.done .big{margin-bottom:6px;font-size:28px;font-weight:800}.empty{color:var(--sub);text-align:center;padding:40px 0;font-size:14px}.weakbadge{color:var(--ng);background:#fdecec;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700}.tier{text-align:center;color:#fff;border-radius:6px;min-width:20px;padding:1px 6px;font-size:11px;font-weight:800;display:inline-block}.tier-S{background:#d97706}.tier-A{background:#2b5fd9}.tier-B{background:#68738a}.tier-C{background:#b6bdcc}.tchip-S.on{color:#b45f05;background:#fdf1e0;border-color:#d97706}.tchip-A.on{background:var(--accent2);border-color:var(--accent);color:var(--accent)}.tchip-B.on{color:#4a5468;background:#eceff5;border-color:#68738a}.tchip-C.on{color:#8a92a6;background:#f2f3f7;border-color:#b6bdcc}input.btn,textarea.btn,select.btn{cursor:text;text-align:left}select.btn{cursor:pointer}
