@charset "UTF-8";
/* 宅建マスター手帳プラグイン — コンポーネントスタイル
   .tkp 配下にスコープし、テーマ(GAIA等)の全体デザインには干渉しません。 */
.tkp{
  --tk-navy:#1E2A44; --tk-paper-l:#F5F1E6; --tk-ink:#232323;
  --tk-hanko:#A8342A; --tk-teal:#3D6B72; --tk-gold:#B8935B; --tk-line:#D8D0BC;
  line-height:1.9;
}
.tkp .tk-muted{color:#8a8477;font-size:.85em}

/* ボタン */
.tkp .tk-btn{display:inline-block;background:var(--tk-hanko);color:#fff !important;padding:12px 32px;text-decoration:none;font-weight:700;border:none;cursor:pointer;font-size:1em;letter-spacing:.05em;border-radius:0}
.tkp .tk-btn:hover{background:#8e2b22}
.tkp .tk-btn:disabled{background:#bbb;cursor:default}

/* タグ・通知 */
.tkp .tk-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.tkp .tk-tag{font-size:.72em;padding:3px 12px;font-weight:700}
.tkp .tk-tag-navy{background:var(--tk-navy);color:#fff}
.tkp .tk-tag-gold{border:1px solid var(--tk-gold);color:var(--tk-gold)}
.tkp .tk-tag-hanko{border:1px solid var(--tk-hanko);color:var(--tk-hanko)}
.tkp .tk-notice{background:var(--tk-paper-l);border-left:4px solid var(--tk-gold);padding:12px 16px;margin:16px 0;font-size:.93em}
.tkp .tk-error{background:#F5E9E7;border:1px solid var(--tk-hanko);color:var(--tk-hanko);padding:12px 16px;margin:16px 0}

/* 出題 */
.tkp .tk-quiz{max-width:760px}
.tkp .tk-qtext{font-size:1.1em;font-weight:500;margin:0 0 20px;color:var(--tk-ink)}
.tkp .tk-choice{display:flex;gap:12px;background:#fff;border:1px solid var(--tk-line);padding:13px 16px;margin-bottom:9px;cursor:pointer;font-size:.95em;align-items:flex-start;transition:border-color .15s}
.tkp .tk-choice:hover{border-color:var(--tk-navy)}
.tkp .tk-choice input{margin-top:5px}
.tkp .tk-choice.is-correct{background:#EEF3EC;border-color:var(--tk-teal)}
.tkp .tk-choice.is-wrong{background:#F5E9E7;border-color:var(--tk-hanko)}
.tkp .tk-result-mark{font-size:1.5em;font-weight:700;margin:14px 0}
.tkp .tk-result-mark.ok{color:var(--tk-teal)}
.tkp .tk-result-mark.ng{color:var(--tk-hanko)}
.tkp .tk-explain{background:var(--tk-paper-l);border:1px solid var(--tk-line);padding:16px 18px;margin:18px 0}
.tkp .tk-explain b{color:var(--tk-navy)}
.tkp .tk-progress{font-size:.85em;color:#8a8477;margin-bottom:10px}
.tkp .tk-score-board{background:var(--tk-navy);color:#fff;padding:30px;text-align:center;margin:20px 0}
.tkp .tk-score-board .num{font-size:3em;font-weight:700}

/* 分野・年度カード */
.tkp .tk-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;margin:22px 0}
.tkp .tk-cat-card{background:#fff;border:1px solid var(--tk-line);border-left:4px solid var(--tk-navy);padding:18px;text-decoration:none;color:var(--tk-ink);display:flex;justify-content:space-between;align-items:center}
.tkp .tk-cat-card:hover{border-left-color:var(--tk-hanko)}
.tkp .tk-cat-card b{color:var(--tk-navy)}
.tkp .tk-cat-card-kakomon{border-left-color:var(--tk-hanko)}

/* ダッシュボード */
.tkp .tk-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:13px;margin:22px 0}
.tkp .tk-stat{background:#fff;border:1px solid var(--tk-line);padding:18px;text-align:center}
.tkp .tk-stat b{display:block;font-size:1.9em;color:var(--tk-navy)}
.tkp .tk-stat span{font-size:.75em;color:#8a8477}
.tkp .tk-bar-row{margin-bottom:16px}
.tkp .tk-bar-label{display:flex;justify-content:space-between;font-size:.9em;font-weight:700;color:var(--tk-navy);margin-bottom:5px}
.tkp .tk-bar{height:10px;background:#fff;border:1px solid var(--tk-line)}
.tkp .tk-bar-fill{height:100%;background:var(--tk-teal);transition:width .4s}
.tkp .tk-bar-fill.warn{background:var(--tk-hanko)}

/* 吹き出し */
.tkp .tk-fukidashi{display:flex;gap:14px;margin:24px 0;align-items:flex-start}
.tkp .tk-fukidashi.right{flex-direction:row-reverse}
.tkp .tk-fukidashi-icon{flex-shrink:0;text-align:center;width:72px}
.tkp .tk-fukidashi-icon img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--tk-line)}
.tkp .tk-fukidashi-icon .name{font-size:.7em;color:#8a8477;display:block;margin-top:4px}
.tkp .tk-hanko-mini{width:64px;height:64px;border:2.5px solid var(--tk-hanko);border-radius:50%;color:var(--tk-hanko);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4em;transform:rotate(-8deg);background:rgba(168,52,42,.06)}
.tkp .tk-fukidashi-body{position:relative;background:var(--tk-paper-l);border:1px solid var(--tk-line);padding:14px 18px;max-width:75%;font-size:.95em}
.tkp .tk-fukidashi-body::before{content:"";position:absolute;top:22px;left:-9px;border:9px solid transparent;border-right-color:var(--tk-line);border-left:0}
.tkp .tk-fukidashi-body::after{content:"";position:absolute;top:23px;left:-7px;border:8px solid transparent;border-right-color:var(--tk-paper-l);border-left:0}
.tkp .tk-fukidashi.right .tk-fukidashi-body::before{left:auto;right:-9px;border:9px solid transparent;border-left-color:var(--tk-line);border-right:0}
.tkp .tk-fukidashi.right .tk-fukidashi-body::after{left:auto;right:-7px;border:8px solid transparent;border-left-color:var(--tk-paper-l);border-right:0}
.tkp .tk-fukidashi.accent .tk-fukidashi-body{background:#fff;border-color:var(--tk-hanko)}
.tkp .tk-fukidashi.accent .tk-fukidashi-body::before{border-right-color:var(--tk-hanko)}
.tkp .tk-fukidashi.accent.right .tk-fukidashi-body::before{border-left-color:var(--tk-hanko);border-right-color:transparent}
.tkp .tk-fukidashi.accent .tk-fukidashi-body::after{border-right-color:#fff}
.tkp .tk-fukidashi.accent.right .tk-fukidashi-body::after{border-left-color:#fff;border-right-color:transparent}

/* CTAブロック */
.tkp .tk-cta-block{text-align:center;margin:36px 0;padding:26px;background:var(--tk-paper-l);border:1px dashed var(--tk-gold)}
.tkp .tk-cta-block p{margin:0 0 14px;color:var(--tk-navy);font-weight:700}
