:root{--bg: #0f1420;--bg-card: #1a2233;--bg-elevated: #232e45;--text: #e8ecf4;--text-muted: #9aa7bd;--border: #2e3b57;--accent: #4f8cff;--accent-hover: #3a76e8;--danger: #e5534b;--danger-hover: #cf4038;--safe: #2ea06d;--safe-hover: #248a5b;--correct-bg: rgba(46, 160, 109, .12);--correct-border: #2ea06d;--wrong-bg: rgba(229, 83, 75, .12);--wrong-border: #e5534b}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,Meiryo,system-ui,-apple-system,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.app{max-width:640px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:20px}.header h1{margin:0;font-size:1.35rem;letter-spacing:.02em}.subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.85rem}.progress{display:flex;flex-direction:column;gap:6px}.progress-text{font-size:.85rem;color:var(--text-muted)}.progress-bar{height:6px;background:var(--bg-elevated);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 18px}.prompt{margin:0 0 10px;font-weight:700;font-size:1.05rem}.context{margin:0 0 12px;padding:8px 12px;background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:var(--text-muted);font-size:.85rem}.url-box{background:#0b0f18;border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:18px;overflow-x:auto}.url-box code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.95rem;color:#ffd479;word-break:break-all;white-space:pre-wrap}.answer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:14px 20px;font-size:1rem;font-weight:700;font-family:inherit;color:#fff;cursor:pointer;transition:background .15s ease,transform .05s ease}.btn:active{transform:scale(.98)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:var(--danger-hover)}.btn-safe{background:var(--safe)}.btn-safe:hover{background:var(--safe-hover)}.btn-primary{background:var(--accent);width:100%}.btn-primary:hover{background:var(--accent-hover)}.feedback{border-radius:10px;border:1px solid;padding:16px;display:flex;flex-direction:column;gap:10px}.feedback-correct{background:var(--correct-bg);border-color:var(--correct-border)}.feedback-wrong{background:var(--wrong-bg);border-color:var(--wrong-border)}.feedback-result{margin:0;font-size:1.15rem;font-weight:700}.feedback-correct .feedback-result{color:#5fd39b}.feedback-wrong .feedback-result{color:#ff8a84}.feedback-truth{display:block;font-size:.9rem;font-weight:400;color:var(--text)}.trick-badge{display:inline-block;margin:0;padding:3px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--text-muted)}.feedback-trick{align-self:flex-start}.explanation{margin:0;font-size:.92rem}.result-card{text-align:center;display:flex;flex-direction:column;gap:14px}.result-title{margin:0;font-size:1.2rem}.score{margin:0}.score-value{font-size:3rem;font-weight:800;color:var(--accent)}.score-total{font-size:1.3rem;color:var(--text-muted)}.result-message{margin:0;color:var(--text-muted);font-size:.92rem}.wrong-list{text-align:left;background:var(--bg-elevated);border-radius:10px;padding:14px 16px}.wrong-list h3{margin:0 0 10px;font-size:.95rem}.wrong-list ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.wrong-item{display:flex;flex-direction:column;gap:4px}.wrong-url{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;color:var(--text-muted);word-break:break-all}.footer{color:var(--text-muted);font-size:.75rem;text-align:center}@media(max-width:480px){.app{padding:16px 12px 40px}.header h1{font-size:1.15rem}.card{padding:18px 14px}.url-box code{font-size:.85rem}.btn{padding:13px 12px;font-size:.95rem}}
