/* ─────────────────────────────────────────────
   仮スケジュール／「行きたい」選択まわり
   sheet.css の配色トークン（--sea / --hibiscus / --sand / --r）に合わせている。
   ───────────────────────────────────────────── */

/* --- 日ごとの仮スケジュール --- */
.sched{
  margin:1.3rem 0 0;background:var(--surface);
  border:1px solid var(--rule);border-radius:var(--r);
  box-shadow:var(--shadow);overflow:hidden;
}
.sched-head{
  display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;
  background:var(--surface-2);border-bottom:1px solid var(--rule-soft);
}
.sched-head h3{margin:0;font-size:.82rem;font-weight:800;letter-spacing:.05em;color:var(--sea-deep);flex:1;}
.sched-head .count{font-size:.7rem;font-weight:700;color:var(--ink-3);}
.sched-list{list-style:none;margin:0;padding:0;}
.sched-list li{
  display:grid;grid-template-columns:5.6rem 1fr auto;gap:.6rem;align-items:baseline;
  padding:.6rem .9rem;border-bottom:1px solid var(--rule-soft);
}
.sched-list li:last-child{border-bottom:0;}
.sched-list li.is-fixed{background:var(--hibiscus-soft);}
.sched-list li.is-clash{box-shadow:inset 4px 0 0 var(--sand);}
.sched-list .t{font-family:var(--font-mono);font-size:.76rem;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;}
.sched-list li.is-fixed .t{color:var(--hibiscus);}
.sched-list .w{font-size:.9rem;line-height:1.5;min-width:0;}
.sched-list .w .memo{display:block;font-size:.76rem;color:var(--ink-3);line-height:1.6;}
.sched-list .w .cat-tag{
  display:inline-block;margin-left:.4rem;vertical-align:.1em;
  font-size:.6rem;font-weight:700;letter-spacing:.06em;
  color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:.06rem .45rem;
}
.sched-list li.is-fixed .w .cat-tag{color:#fff;background:var(--hibiscus);}
.sched-list .edit{
  appearance:none;cursor:pointer;white-space:nowrap;
  background:var(--surface);border:1px solid var(--rule);border-radius:999px;
  color:var(--sea);font-size:.7rem;font-weight:700;padding:.2rem .6rem;text-decoration:none;
}
.sched-list .edit:hover,.sched-list .edit:focus-visible{color:var(--surface);background:var(--sea);border-color:var(--sea);}
.sched-empty{padding:.95rem .9rem;font-size:.84rem;color:var(--ink-3);line-height:1.8;}
.sched-clash{padding:.55rem .9rem;border-top:1px solid var(--rule-soft);background:var(--sand-soft);color:var(--ink);font-size:.78rem;}
.sched-foot{display:flex;gap:.45rem;flex-wrap:wrap;padding:.65rem .9rem;border-top:1px solid var(--rule-soft);}

.btn{
  appearance:none;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.02em;
  padding:.4rem .8rem;border-radius:999px;
  border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.btn:hover,.btn:focus-visible{color:var(--surface);background:var(--sea);border-color:var(--sea);}
.btn.primary{border-color:var(--sea);color:var(--sea);}
.btn.danger{border-color:var(--hibiscus);color:var(--hibiscus);}
.btn.danger:hover,.btn.danger:focus-visible{background:var(--hibiscus);border-color:var(--hibiscus);color:#fff;}
.btn[disabled]{opacity:.4;cursor:not-allowed;}
.btn[disabled]:hover{color:var(--ink-2);background:var(--surface);border-color:var(--rule);}

/* --- カテゴリの絞り込みチップ --- */
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.4rem 0 .2rem;}
.chip{
  appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;
  font-size:.78rem;font-weight:700;padding:.35rem .75rem;border-radius:999px;
  border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);
}
.chip i{width:.55rem;height:.55rem;border-radius:50%;background:var(--shallow);font-style:normal;flex:none;}
.chip[data-kind="food"] i{background:var(--sand);}
.chip[data-kind="sea"] i{background:var(--sea);}
.chip .n{font-size:.66rem;font-weight:400;color:var(--ink-3);}
.chip[aria-pressed="true"]{border-color:var(--sea);color:var(--sea-deep);background:var(--sea-soft);}
.chip[aria-pressed="true"] .n{color:var(--sea-deep);}
.chip:focus-visible{outline:2px solid var(--sea);outline-offset:2px;}

/* --- 候補リスト --- */
.cat[hidden]{display:none;}
.p-main{display:block;}
.p-hint{
  display:block;margin-top:.4rem;padding:.35rem .6rem;
  font-size:.78rem;line-height:1.7;color:var(--sea-deep);
  background:var(--sea-soft);border-radius:calc(var(--r) - 4px);
}
.p-foot{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;flex-wrap:wrap;}
.p-foot .p-links{flex:none;}
.p-foot .spacer{flex:1;}
.mapbtn{
  appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;
  font-size:.72rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;
  border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);
}
.mapbtn:hover,.mapbtn:focus-visible{color:var(--surface);background:var(--sea);border-color:var(--sea);}
.mapbtn::after{content:"▾";font-size:.62rem;}
.mapbtn[aria-expanded="true"]::after{content:"▴";}
.want{
  appearance:none;cursor:pointer;white-space:nowrap;
  font-size:.82rem;font-weight:800;padding:.45rem .95rem;border-radius:999px;
  border:1px solid var(--sea);background:var(--sea);color:#fff;
}
.want:hover,.want:focus-visible{background:var(--sea-deep);border-color:var(--sea-deep);}
.want.on{
  border-color:var(--hibiscus);background:var(--hibiscus);color:#fff;
  font-family:var(--font-mono);font-size:.78rem;font-variant-numeric:tabular-nums;letter-spacing:0;
}
ul.places li.place.picked{border-color:var(--hibiscus);box-shadow:0 0 0 1px var(--hibiscus), var(--shadow);}
.strip[hidden]{display:none;}

/* --- 時間を入れるダイアログ --- */
dialog.picker{
  width:min(24rem,calc(100vw - 2rem));padding:0;
  border:1px solid var(--rule);border-radius:var(--r);
  background:var(--surface);color:var(--ink);
  box-shadow:0 16px 44px -14px rgba(9,52,64,.5);
}
dialog.picker::backdrop{background:rgba(9,52,64,.45);}
.pk-head{padding:1rem 1.1rem .6rem;border-bottom:1px solid var(--rule-soft);background:var(--surface-2);}
.pk-day{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--ink-3);}
.pk-name{display:block;font-size:1.05rem;font-weight:800;line-height:1.5;margin-top:.15rem;color:var(--sea-deep);}
.pk-body{padding:1rem 1.1rem;}
.pk-times{display:flex;align-items:flex-start;gap:.55rem;}
.pk-times label{flex:1;display:flex;flex-direction:column;gap:.3rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;color:var(--ink-3);}
.pk-times input{
  font-family:var(--font-mono);font-size:1.1rem;padding:.5rem .6rem;width:100%;
  border:1px solid var(--rule);border-radius:calc(var(--r) - 3px);
  background:var(--bg);color:var(--ink);
}
.pk-times input:focus-visible{outline:2px solid var(--sea);outline-offset:1px;}
.pk-times .dash{padding-top:1.6rem;color:var(--ink-3);}
.pk-durs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem;}
.pk-memo{margin-top:.85rem;display:flex;flex-direction:column;gap:.3rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;color:var(--ink-3);}
.pk-memo input{
  font-family:var(--font-jp);font-size:.88rem;padding:.5rem .6rem;
  border:1px solid var(--rule);border-radius:calc(var(--r) - 3px);
  background:var(--bg);color:var(--ink);
}
.pk-warn{margin:.7rem 0 0;font-size:.78rem;line-height:1.6;color:var(--sand);min-height:1.2rem;font-weight:700;}
.pk-foot{display:flex;gap:.45rem;align-items:center;padding:.8rem 1.1rem 1rem;border-top:1px solid var(--rule-soft);}
.pk-foot .spacer{flex:1;}

/* --- 書き出し用テキスト --- */
.out textarea{
  width:100%;min-height:12rem;margin-top:.9rem;resize:vertical;
  font-family:var(--font-mono);font-size:.76rem;line-height:1.8;padding:.8rem .9rem;
  border:1px solid var(--rule);border-radius:var(--r);
  background:var(--surface);color:var(--ink);box-shadow:var(--shadow);
}
.out-bar{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin:.9rem 0 0;}
.out-bar .said{font-size:.78rem;color:var(--ink-3);}

@media (max-width:26rem){
  .sched-list li{grid-template-columns:5rem 1fr auto;gap:.45rem;padding:.55rem .7rem;}
  .sched-list .t{font-size:.72rem;}
  .sched-head,.sched-foot,.sched-clash,.sched-empty{padding-left:.7rem;padding-right:.7rem;}
}
