/* 恐竜NAVI Quiz — テーマのカラー変数に追従（無い場合はフォールバック） */
.dq-app,.dq-ranking{--dq-ink:var(--ink,#241c12);--dq-soft:var(--ink-soft,#5b4f3d);--dq-line:var(--line,#d8c7a6);
  --dq-paper:var(--paper,#fbf6ec);--dq-sand:var(--sand,#f3ead9);--dq-sand2:var(--sand-2,#ece0c9);
  --dq-ember:var(--ember,#b9461f);--dq-gold:var(--gold,#e6a23c);--dq-forest:var(--forest,#4a5d3a);
  --dq-disp:var(--jpdisp,"Shippori Mincho B1",serif);--dq-num:var(--disp,"Fraunces",serif);--dq-mono:var(--mono,"DM Mono",monospace);
  max-width:720px;margin:0 auto}
.dq-pick-h{font-family:var(--dq-disp);font-size:1.4rem;font-weight:700;text-align:center;margin-bottom:18px}
.dq-levels{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dq-level{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--dq-paper);border:1.5px solid var(--dq-line);border-radius:16px;padding:20px 22px;cursor:pointer;transition:.2s;text-align:left}
.dq-level:hover{border-color:var(--dq-ember);transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(36,22,8,.55)}
.dq-lv-name{font-family:var(--dq-disp);font-size:1.3rem;font-weight:800;color:var(--dq-ink)}
.dq-lv-sub{font-size:.8rem;color:var(--dq-soft)}
.dq-lv-n{font-family:var(--dq-mono);font-size:.72rem;color:var(--dq-ember);margin-top:6px}
.dq-box{background:var(--dq-paper);border:1px solid var(--dq-line);border-radius:18px;padding:32px;box-shadow:0 18px 40px -22px rgba(36,22,8,.45)}
.dq-prog{font-family:var(--dq-mono);font-size:.78rem;color:var(--dq-soft);display:flex;justify-content:space-between;margin-bottom:12px}
.dq-bar{height:7px;background:var(--dq-sand2);border-radius:999px;overflow:hidden;margin-bottom:22px}
.dq-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--dq-ember),var(--dq-gold));transition:.4s}
.dq-q{font-family:var(--dq-disp);font-size:1.35rem;font-weight:700;line-height:1.5;margin-bottom:20px}
.dq-opts{display:flex;flex-direction:column;gap:11px}
.dq-opt{text-align:left;padding:15px 18px;border:1.5px solid var(--dq-line);border-radius:13px;background:var(--dq-paper);font:500 1rem/1.5 var(--body,sans-serif);cursor:pointer;transition:.18s}
/* ホバーはマウス等の端末のみ（タッチ端末で :hover の赤枠が次問に残るのを防止） */
@media (hover:hover){.dq-opt:hover:not(:disabled){border-color:var(--dq-ember)}}
.dq-opt.correct{background:#e8f0e2;border-color:var(--dq-forest);color:var(--dq-forest)}
.dq-opt.wrong{background:#f6e4de;border-color:var(--dq-ember);color:var(--dq-ember)}
.dq-exp{margin-top:18px;background:var(--dq-sand);border-left:4px solid var(--dq-gold);border-radius:10px;padding:15px 18px;font-size:.92rem;display:none}
.dq-exp.show{display:block}
.dq-next{margin-top:20px;text-align:right}
.dq-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;font-weight:700;border:none;cursor:pointer;background:var(--dq-ink);color:var(--dq-paper);font-family:var(--body,sans-serif);font-size:.95rem;transition:.2s}
.dq-btn:hover{background:var(--dq-ember)}
.dq-result{text-align:center}
.dq-score{font-family:var(--dq-num);font-size:4rem;font-weight:700;color:var(--dq-ember);line-height:1}
.dq-result h3{font-family:var(--dq-disp);font-size:1.5rem;margin:8px 0 10px}
.dq-result p{color:var(--dq-soft);margin-bottom:20px}
.dq-result .dq-btn+.dq-btn{margin-left:10px}
@media(max-width:520px){.dq-levels{grid-template-columns:1fr}.dq-box{padding:22px}}
/* 記事本文用の見出し装飾(.desc h2/h3=オレンジ帯・ピンク背景)がクイズ内に効かないよう除外 */
.desc .dq-app h2,.desc .dq-app h3{background:none;border-left:0;border-radius:0;padding:0}
.desc .dq-app h2::before,.desc .dq-app h2::after{content:none;display:none}
/* ===== ランキング：結果画面の登録UI ＆ 専用ページ ===== */
.dq-time{font-family:var(--dq-mono);color:var(--dq-soft);margin:0 0 14px}
.dq-time b{font-family:var(--dq-num);font-size:1.3rem;color:var(--dq-ember)}
.dq-reg{background:var(--dq-sand);border:1px solid var(--dq-line);border-radius:14px;padding:16px;margin:0 auto 16px;max-width:440px}
.dq-reg-h{font-family:var(--dq-disp);font-weight:800;margin:0 0 10px}
.dq-reg-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.dq-reg-form input{flex:1;min-width:180px;border:1.5px solid var(--dq-line);border-radius:10px;padding:11px 14px;font:inherit;font-size:1rem;background:#fff}
.dq-reg-form input:focus{outline:none;border-color:var(--dq-ember)}
.dq-reg-note{font-size:.8rem;color:var(--dq-soft);margin:10px 0 0}.dq-reg-note a{color:var(--dq-ember);font-weight:700}
.dq-reg-done{font-size:1rem;color:var(--dq-ink);margin:4px 0;line-height:1.7}.dq-reg-done b{color:var(--dq-ember);font-size:1.15rem}
.dq-rank-inline{max-width:440px;margin:0 auto 16px}
.dq-rank-h{font-family:var(--dq-disp);font-weight:800;margin:0 0 8px;text-align:center}
.dq-rank-list{list-style:none;margin:0;padding:0}
.dq-rank-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px dashed var(--dq-line);font-size:.92rem}
.dq-rank-list li:last-child{border-bottom:none}
.dq-rk-n{font-weight:700;color:var(--dq-ink)}.dq-rk-s{font-family:var(--dq-mono);color:var(--dq-soft);white-space:nowrap}
.dq-rank-more{text-align:center;margin:10px 0 0}.dq-rank-more a{color:var(--dq-ember);font-weight:700}
/* 専用ランキングページ */
.dq-ranking{max-width:720px;margin:0 auto}
.dq-rank-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.dq-rtabs,.dq-ptabs{display:flex;gap:8px;flex-wrap:wrap;background:rgba(36,28,18,.06);padding:5px;border-radius:999px}
.dq-rtab,.dq-ptab{font:700 .92rem var(--body,sans-serif);border:none;background:rgba(36,28,18,.34);color:#fff;border-radius:999px;padding:9px 18px;cursor:pointer;transition:.18s}
.dq-rtab:hover,.dq-ptab:hover{background:rgba(36,28,18,.55)}
.dq-rtab.on,.dq-ptab.on{background:#1a140d;color:#fff;box-shadow:0 4px 12px rgba(36,22,8,.38)}
.dq-rank-table{list-style:none;margin:0;padding:0}
.dq-rank-table li{display:flex;align-items:center;gap:0;padding:13px 16px;border:1px solid var(--dq-line);border-radius:12px;margin-bottom:8px;background:var(--dq-paper)}
.dq-rank-table li.top{background:linear-gradient(135deg,#fff,#f8f1e3);border-color:var(--dq-gold)}
.dq-rk-pos{flex:none;width:2.5em;height:2.5em;border-radius:50%;background:var(--dq-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--dq-num);font-weight:800;font-size:1.25rem;position:relative;z-index:2;box-shadow:0 3px 8px rgba(36,22,8,.28)}
.dq-rank-table li.top .dq-rk-pos{background:var(--dq-ember)}
.dq-rk-name{flex:1;font-family:var(--dq-disp);font-weight:700;font-size:1.05rem;color:var(--dq-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:12px}
.dq-rk-meta{flex:none;font-family:var(--dq-mono);font-size:.86rem;color:var(--dq-soft);text-align:right}
.dq-rk-meta em{display:block;font-style:normal;color:var(--dq-ember);font-weight:700}
.dq-rank-loading,.dq-rank-empty{text-align:center;color:var(--dq-soft);padding:30px 0}
/* ===== タイムアタック化：選択ハイライト／ライブタイマー／答え合わせ ===== */
.dq-opt.sel{border-color:var(--dq-ember);background:#fff4e8}
.dq-opt:disabled{cursor:default;opacity:.96}
.dq-tm{font-family:var(--dq-mono);color:var(--dq-ember);font-weight:700}
.dq-review{margin:18px auto 0;max-width:560px;text-align:left;border:1px solid var(--dq-line);border-radius:12px;background:var(--dq-paper)}
.dq-review>summary{cursor:pointer;padding:13px 16px;font-family:var(--dq-disp);font-weight:700;color:var(--dq-ink);list-style:none}
.dq-review>summary::-webkit-details-marker{display:none}
.dq-review>summary::before{content:"▶ ";color:var(--dq-ember);font-size:.8em}
.dq-review[open]>summary::before{content:"▼ "}
.dq-rev-list{list-style:none;margin:0;padding:0 16px 14px}
.dq-rev-list li{padding:12px 0;border-top:1px dashed var(--dq-line)}
.dq-rev-q{font-weight:700;color:var(--dq-ink);margin:0 0 4px}
.dq-rev-a{font-size:.9rem;margin:0 0 4px;color:var(--dq-soft)}.dq-rev-a b{color:var(--dq-forest)}
.dq-rev-list li.ng .dq-rev-a{color:var(--dq-ember)}
.dq-rev-e{font-size:.86rem;color:var(--dq-soft);background:var(--dq-sand);border-radius:8px;padding:8px 12px;margin:6px 0 0;line-height:1.7}
/* ===== アバター（クイズ・ランキング） ===== */
.dq-reg-sub{font-size:.86rem;color:var(--dq-soft);margin:6px 0 10px}
.dq-av-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;justify-items:center;max-width:340px;margin:0 auto 12px}
.dq-av-opt{padding:0;border:2.5px solid transparent;border-radius:50%;background:none;cursor:pointer;line-height:0;transition:.18s;width:100%;max-width:60px}
.dq-av-opt .dq-av-thumb{width:100%;height:auto;aspect-ratio:1;border-radius:50%;display:block;background:#fff;border:1px solid var(--dq-line)}
.dq-av-opt:hover{transform:translateY(-2px)}
.dq-av-opt.on{border-color:var(--dq-ember);box-shadow:0 0 0 3px rgba(201,114,46,.2)}
.dq-av-done{width:64px;height:64px;border-radius:50%;display:inline-block;border:2px solid var(--dq-gold);background:#fff}
.dq-rank-list .dq-av{width:30px;height:30px;border-radius:50%;flex:none;background:#fff;border:1px solid var(--dq-line)}
.dq-rank-list li{display:flex;align-items:center;gap:8px}
.dq-rank-list .dq-rk-n{flex:1}
.dq-rank-table .dq-av-big{width:44px;height:44px;border-radius:50%;flex:none;background:#fff;border:1px solid var(--dq-line);position:relative;z-index:1;margin-left:-16px}
/* テーマ本文(.desc ol)の連番丸印がランキングのol内に二重表示されるのを抑止 */
.desc .dq-rank-table,.desc .dq-rank-list{counter-reset:none}
.desc .dq-rank-table>li::before,.desc .dq-rank-list>li::before{content:none!important;display:none!important}
@media(max-width:560px){.dq-reg-h{font-size:1.1rem;line-height:1.45}}
