/* =========================================================
   Age of Doubloons - sys-quests.css
   依頼・実績・称号・名声（quests.js）の見た目。共通部品は css/sys.css。
   ========================================================= */

/* ---------------- 依頼のカード ---------------- */
.sq-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.sq-card{display:flex;flex-direction:column;gap:5px}
.sq-top{display:flex;align-items:center;gap:9px}
.sq-top .grow{flex:1;min-width:0}
.sq-face{
  flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;
  border-radius:50%;background:radial-gradient(circle at 40% 35%,#4a3a22,#1a130a);
  border:1px solid rgba(232,194,92,.55);box-shadow:0 2px 6px rgba(0,0,0,.5);
}
.sq-face .sys-img{width:100%;height:100%;object-fit:cover}
.sq-giver{font-size:max(var(--fs-min),calc(10.5px*var(--fs)));color:#c9ba90}
.sq-desc{font-size:max(var(--fs-min),calc(11px*var(--fs)));color:#d4c8a8;line-height:1.65;font-family:"Hiragino Mincho ProN",serif}
.sq-goal{font-size:max(var(--fs-min),calc(11.5px*var(--fs)));color:#f1e4c0;font-weight:700}
.sq-prog{display:flex;align-items:center;gap:8px;font-size:max(var(--fs-min),calc(10.5px*var(--fs)));color:#cdbf98;font-variant-numeric:tabular-nums}
.sq-prog .sys-bar{flex:1}
.sq-rw{font-size:max(var(--fs-min),calc(10.5px*var(--fs)));color:#d9c98f;line-height:1.7}
.sq-it{white-space:nowrap}
.sq-it .sys-img,.sq-it .sys-emo{vertical-align:-3px;margin-right:2px}
.sq-btns{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}
.sq-hint{font-size:max(var(--fs-min),calc(10px*var(--fs)));color:#b7a987}
.sys-btn.sq-go{background:linear-gradient(180deg,#b88a2c,#6b4c12);box-shadow:0 0 10px rgba(255,205,90,.35)}
.sq-stamp{flex:none;transform:rotate(-12deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.sq-stamp.big{margin-left:auto}
.sq-cnt{font-size:max(var(--fs-min),calc(10.5px*var(--fs)));color:#b7a987;font-weight:700;margin-left:6px;letter-spacing:0}
.sq-off{font-size:max(var(--fs-min),calc(11.5px*var(--fs)));color:#ab9e7e;padding:14px;text-align:center;border:1px dashed rgba(255,255,255,.1);border-radius:8px}
.sq-done .sys-row{font-size:max(var(--fs-min),calc(11px*var(--fs)))}
.sq-date{font-size:max(var(--fs-min),calc(10px*var(--fs)));color:#ab9e7e;white-space:nowrap}
.sq-small{font-size:max(var(--fs-min),calc(10px*var(--fs)));color:#c9ba90;text-align:right;font-variant-numeric:tabular-nums;margin-top:2px}

/* ---------------- 港の施設 ---------------- */
.sq-svc-head{font-size:max(var(--fs-min),calc(13px*var(--fs)));font-weight:800;color:var(--gold);margin-bottom:8px}

/* ---------------- 報告・周回・手紙のダイアログ ---------------- */
.sq-receipt{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sq-receipt .grow{flex:1;min-width:0}
.sq-line{font-family:"Hiragino Mincho ProN",serif;font-size:max(var(--fs-min),calc(13px*var(--fs)));color:#f0dfae;line-height:1.7}
.sq-rw-list ul{margin:4px 0 0 18px}
.sq-rw-list li{font-size:max(var(--fs-min),calc(12px*var(--fs)));color:#ffe08a}
.sq-fb{margin:8px 0;max-width:420px}
.sq-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;font-size:max(var(--fs-min),calc(11px*var(--fs)))}
.sq-cols ul{margin:4px 0 0 16px;color:#d4c8a8;line-height:1.7}
.sq-keep{margin-top:10px;font-size:max(var(--fs-min),calc(12px*var(--fs)))}
.sq-keep select{font-family:inherit;font-size:max(var(--fs-min),calc(12px*var(--fs)));background:#1d160b;color:#f1e4c0;border:1px solid rgba(232,194,92,.5);border-radius:5px;padding:2px 6px}
.sq-ok{color:#7fe3a0}
.sq-ng{color:#e59a8a}
.sq-letter{
  background:linear-gradient(180deg,#e9dcb8,#d6c395) center/cover no-repeat;color:#3a2a14;
  border-radius:6px;padding:16px 18px;box-shadow:inset 0 0 30px rgba(90,60,20,.45);
}
/* 文字は絵（机の上の手紙：ロウソク・羽ペン・封蝋）の上に直に載せると読めなかった（2026-09-16 試し遊び）。
   羊皮紙色の板を敷いて、その上に書く。絵は板のまわりの額縁として見せる */
.sq-letter[style*="background-image"]{padding:26px 16px 30px}
.sq-letter[style*="background-image"] .sq-letter-in{
  padding:14px 14px 10px;border-radius:8px;
  background:linear-gradient(180deg,rgba(247,236,206,.95),rgba(236,219,178,.95));
  border:1px solid rgba(122,82,30,.55);box-shadow:0 6px 18px rgba(0,0,0,.45),inset 0 0 22px rgba(150,105,40,.25);
}
.sq-letter-in{display:block}
/* 顔と名前は上の 1 行（以前は顔の横の細い列に本文が詰まって縦長になった。2026-09-17） */
.sq-letter-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(122,82,30,.35)}
.sq-letter-head>:first-child{flex:0 0 48px}
.sq-letter-head .nm{display:flex;flex-direction:column;min-width:0}
.sq-letter-head b{font-size:max(var(--fs-min),calc(15px*var(--fs)));color:#4a2c0c;white-space:nowrap}
.sq-letter-head span{font-size:max(var(--fs-min),calc(11px*var(--fs)));color:#7a5a30;white-space:nowrap}
/* 本文は太めのゴシック（明朝は線が細くてスマホで読みにくかった） */
.sq-letter-tx{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-weight:600;
  font-size:max(var(--fs-min),calc(14px*var(--fs)));line-height:1.65;color:#2e2010}
.sq-letter-tx p{margin:0 0 8px}
.sq-letter-tx b{color:#8a2a0c;font-weight:800}
.sq-letter-ol{margin:0 0 8px;padding-left:1.5em}
.sq-letter-ol li{margin:0 0 5px}
.sq-letter-ol li::marker{color:#8a2a0c;font-weight:800}

/* ---------------- 記録タブ ---------------- */
.sq-subs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.sq-sub{
  position:relative;appearance:none;cursor:pointer;font-family:inherit;
  padding:4px 11px;border-radius:14px;font-size:max(var(--fs-min),calc(11.5px*var(--fs)));font-weight:700;color:#cbbf9f;
  background:rgba(0,0,0,.3);border:1px solid rgba(232,194,92,.25);
}
.sq-sub.on{color:#2a1c05;background:linear-gradient(180deg,#f3d27a,#b88a2c);border-color:#ffe9a8}
.sq-sub .dot{
  position:absolute;top:-6px;right:-6px;min-width:15px;height:15px;border-radius:8px;
  font-size:9px;font-style:normal;line-height:15px;padding:0 4px;text-align:center;
  background:#d2452c;color:#fff;border:1px solid #ffc2a8;
}
.sq-fame-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:4px}
.sq-fame-big{font-size:max(var(--fs-min),calc(15px*var(--fs)));color:#f0dfae;font-family:"Hiragino Mincho ProN",serif}
.sq-fame-big b{font-size:calc(24px*var(--fs-big));color:#ffe9a8;margin-left:4px}
.sq-fame-sub{font-size:max(var(--fs-min),calc(11px*var(--fs)));color:#b7a987}
.sq-fame-n{font-size:max(var(--fs-min),calc(16px*var(--fs)));color:#ffe08a}
.sq-perk .sys-bar{margin:5px 0 2px}
.sq-ach .sys-bar{margin-top:5px}
.sq-cur{font-size:max(var(--fs-min),calc(12px*var(--fs)));margin-bottom:8px;display:flex;align-items:center;gap:8px}
.sq-cur b{color:#ffe08a}
.sq-stats{max-width:520px}

/* ---------------- HUD：右上の階級の下の称号 ---------------- */
.sq-title-hud{
  margin-top:3px;font-size:max(var(--fs-min),calc(10.5px*var(--fs)));color:#cdbf98;letter-spacing:.05em;
  background:center/100% 100% no-repeat;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sq-title-hud .rk{color:#b39a58}
.sq-title-hud .dt{margin:0 5px;color:#8b7f5f}
.sq-title-hud b{color:#ffe9a8;font-family:"Hiragino Mincho ProN",serif;font-size:max(var(--fs-min),calc(11.5px*var(--fs)))}

@media (max-width:820px){
  .sq-grid{grid-template-columns:1fr}
  .sq-cols{grid-template-columns:1fr}
}
/* 幅 300px 以下（折りたたみスマホの外画面など）：余白を詰めて本文の幅を取る（2026-09-22 幅 280 で名前が切れ、本文が細く折れていた） */
@media (max-width:300px){
  .sq-letter[style*="background-image"]{padding:12px 5px 14px}
  .sq-letter[style*="background-image"] .sq-letter-in{padding:10px 9px 8px}
  .sq-letter-head{gap:7px}
  .sq-letter-head>:first-child{flex-basis:40px}
  .sq-letter-tx{font-size:max(var(--fs-min),calc(13px*var(--fs)))}
  .sq-letter-ol{padding-left:1.25em}
}

/* 見本 ?qchain（2026-09-27 要望3）：報告の窓の下の「次の依頼」 */
.sq-next{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(232,194,92,.35)}
.sq-next > .sq-line{margin-bottom:6px}
.sq-next-card{padding:8px 10px;border-radius:8px;background:rgba(255,235,190,.06);border:1px solid rgba(232,194,92,.35)}
.sq-next-card .sys-note{margin:4px 0 2px}
.sq-next-rw{font-size:max(var(--fs-min),calc(12px*var(--fs)));color:#ffe6ab}
/* 狭い画面（380px 以下）で次の依頼の札が窓の下に隠れた（320px 実測）。次の依頼がある時だけ、印を外して依頼人の段を詰める */
@media (max-width:380px){
  .modal-box:has(.sq-next) .sq-receipt .sq-stamp{display:none}
  .modal-box:has(.sq-next) .sq-receipt .sq-face{width:52px!important;height:52px!important}
  .modal-box:has(.sq-next) .sq-receipt .sq-face img{width:52px!important;height:52px!important}
  .modal-box:has(.sq-next) .sq-rw-list ul{margin:2px 0}
  .modal-box:has(.sq-next) .sq-rw-list li{line-height:1.35}
  .sq-next{margin-top:6px;padding-top:6px}
}
/* 名乗っている称号の行：狭い画面（320px）で［名乗らない］が窓の右へ 10px はみ出した（2026-09-27 Safari の点検）。折り返してよい */
.sq-cur{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.sq-cur > b{overflow-wrap:anywhere}
.sq-cur .sys-btn{white-space:nowrap}
