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