.planner-shell,.planner-date-form,.planner-settings,.planner-date-form label,.planner-settings label,.planner-timeline-item>div{min-width:0}.planner-shell{overflow-x:hidden}.planner-date-form,.planner-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:100%}.planner-date-form label,.planner-settings label{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:700}.planner-date-form input,.planner-date-form select,.planner-settings input,.planner-settings select,.planner-search,.planner-priority{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:11px 10px;color:#0f172a;font:inherit}.planner-check-label{display:flex!important;grid-column:auto;align-items:center;gap:8px!important;padding-top:20px}.planner-check-label input{width:auto}.planner-search{margin-bottom:12px}.planner-attraction-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.planner-attraction{min-width:0;border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff}.planner-attraction-main{display:flex;gap:9px;align-items:flex-start;min-width:0}.planner-attraction-main input{margin-top:4px;transform:scale(1.15)}.planner-attraction-main span{display:grid;gap:4px;min-width:0}.planner-attraction-main strong,.planner-attraction-main small{overflow-wrap:anywhere}.planner-attraction-main small{color:#64748b}.planner-priority{margin-top:10px;padding:8px}.planner-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.planner-badges span,.planner-pass-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:800}.planner-pass-badge{margin-bottom:5px}.planner-pass-badge.dpa{background:#fef3c7;color:#92400e}.planner-pass-badge.pp{background:#ede9fe;color:#6d28d9}.planner-primary-button,.planner-secondary-button{max-width:100%;box-sizing:border-box;border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}.planner-primary-button{width:100%;background:#2563eb;color:#fff;font-size:16px}.planner-secondary-button{background:#e2e8f0;color:#0f172a}.planner-primary-button:disabled{opacity:.5;cursor:not-allowed}.planner-result-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.planner-result-heading h2{margin-top:8px}.planner-timeline{display:grid;gap:10px;margin:16px 0}.planner-timeline-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px;border-left:5px solid #2563eb;border-radius:10px;background:#f8fafc}.planner-timeline-item.meal{border-left-color:#f59e0b}.planner-time{font-size:17px;font-weight:900;color:#1d4ed8}.planner-time span{display:block;margin-top:2px;font-size:11px;color:#64748b}.planner-timeline-item h3{margin:0 0 5px;font-size:16px;overflow-wrap:anywhere}.planner-timeline-item p{margin:0 0 5px;color:#334155;overflow-wrap:anywhere}.planner-timeline-item small{color:#64748b;line-height:1.6}@media(max-width:719px){.planner-date-form .planner-secondary-button{width:100%}.planner-result-heading{flex-wrap:wrap}}@media(min-width:720px){.planner-date-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.planner-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-primary-button{width:auto;min-width:280px}.planner-action-panel{text-align:center}.planner-timeline-item{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px}}@media print{header,.footer-wrap,.content-hero,.planner-shell>.content-panel:not(.planner-result),#printPlan{display:none!important}.planner-result{box-shadow:none;border:0}.planner-shell{max-width:none;padding:0}}

.planner-meals{grid-column:1/-1;min-width:0;margin:0;border:1px solid #dbe4ef;border-radius:14px;padding:14px;background:#f8fafc}.planner-meals legend{padding:0 6px;color:#334155;font-size:14px;font-weight:900}.planner-meal-grid{display:grid;gap:10px}.planner-meal-row{display:grid;grid-template-columns:minmax(76px,.55fr) minmax(100px,.8fr) minmax(0,1.4fr);gap:9px;align-items:center;min-width:0}.planner-meal-row>label{display:flex!important;align-items:center;gap:7px!important;margin:0}.planner-meal-row input{width:auto}.planner-meal-row select{width:100%;min-width:0}.planner-field-note{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.6}.planner-badges .thrill{background:#fee2e2;color:#b91c1c}.planner-badges .family{background:#dcfce7;color:#166534}.planner-badges .popular{background:#fef3c7;color:#92400e}.planner-badges .opportunity{background:#ecfeff;color:#0e7490}.planner-auto-badge{display:inline-block;margin:0 5px 5px 0;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:800}
.planner-input-help{display:block;color:#64748b;font-size:11px;font-weight:500;line-height:1.5}
.planner-selection-notice{display:grid;gap:5px;margin:14px 0;padding:12px 14px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#78350f;text-align:left}.planner-selection-notice strong{font-size:14px}.planner-selection-notice span{font-size:12px;line-height:1.65}.planner-capacity-warning{margin:14px 0;padding:15px;border:1px solid #f59e0b;border-radius:14px;background:#fff7ed;color:#7c2d12;text-align:left}.planner-capacity-warning>strong{display:block;font-size:17px}.planner-capacity-warning p{margin:7px 0 12px;line-height:1.65}.planner-capacity-warning>small{display:block;margin-top:10px;line-height:1.6}.planner-priority-editor{display:grid;gap:7px}.planner-priority-editor label{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;align-items:center}.planner-priority-editor span{font-size:12px;font-weight:800;overflow-wrap:anywhere}.planner-priority-editor select{width:100%;min-width:0;border:1px solid #fdba74;border-radius:9px;background:#fff;padding:8px;color:#7c2d12;font:inherit;font-size:12px;font-weight:800}.planner-skipped{margin-top:16px;padding:14px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7;color:#7f1d1d}.planner-skipped h3{margin:0 0 8px;font-size:15px}.planner-skipped ul{display:grid;gap:7px;margin:0;padding-left:20px}.planner-skipped li{line-height:1.55;font-size:13px}
.planner-overflow-dialog{width:min(680px,calc(100% - 28px));max-height:min(82vh,760px);box-sizing:border-box;border:0;border-radius:20px;padding:20px;background:#fff;color:#172033;box-shadow:0 24px 80px rgba(15,23,42,.35);overflow:auto}.planner-overflow-dialog::backdrop{background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.planner-overflow-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.planner-overflow-head h2{margin:8px 0 0;font-size:22px;line-height:1.35}.planner-dialog-close{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:#eef2f7;color:#334155;font-size:27px;line-height:1;cursor:pointer}.planner-overflow-lead{margin:15px 0;color:#526174;line-height:1.7}.planner-overflow-items{display:grid;gap:12px}.planner-overflow-item{display:grid;gap:9px;padding:14px;border:1px solid #fed7aa;border-radius:14px;background:#fffaf5}.planner-overflow-item h3,.planner-overflow-item p{margin:0}.planner-overflow-item h3{font-size:16px;color:#9a3412;overflow-wrap:anywhere}.planner-overflow-item p,.planner-overflow-item small{color:#6b4d3e;font-size:13px;line-height:1.6}.planner-overflow-item label{display:grid;gap:6px;color:#7c2d12;font-size:12px;font-weight:800}.planner-overflow-item select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #fdba74;border-radius:10px;background:#fff;padding:10px;color:#431407;font:inherit}.planner-overflow-item .planner-primary-button{width:100%;min-width:0;background:#c2410c}.planner-overflow-actions{display:flex;justify-content:flex-end;margin-top:16px}

@media(max-width:719px){.planner-meal-row{grid-template-columns:minmax(82px,.65fr) minmax(0,1fr)}.planner-meal-row .planner-meal-style{grid-column:1/-1}.planner-settings{gap:14px}.planner-priority-editor label{grid-template-columns:minmax(0,1fr) 118px}}

.planner-settings{grid-template-columns:minmax(0,1fr)}.planner-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.planner-time-row label,.planner-time-row input{min-width:0;max-width:100%}.planner-meals{min-width:0;margin:0;padding:12px;border:1px solid #d7e1eb;border-radius:12px}.planner-meals legend{padding:0 5px;color:#475569;font-size:13px;font-weight:800}.planner-meal-grid{display:grid;grid-template-columns:minmax(72px,.65fr) minmax(0,1fr);gap:8px;align-items:center}.planner-meal-grid label{display:flex!important;align-items:center;gap:7px!important}.planner-meal-grid label input{width:auto}.planner-area-list{display:grid;gap:10px}.planner-area{overflow:hidden;border:1px solid #dce5ee;border-radius:14px;background:#f8fbfd}.planner-area summary{display:flex;justify-content:space-between;align-items:center;padding:14px;cursor:pointer;color:#173e63;font-weight:900}.planner-area summary small{color:#71869a;font-size:11px}.planner-area .planner-attraction-grid{padding:0 10px 10px}.planner-timeline-item.show{border-left-color:#8b5cf6;background:#faf7ff}.planner-timeline-item.rest{border-left-color:#16a085;background:#f1fbf8}.planner-auto-badge{display:inline-block;margin:0 5px 5px 0;padding:3px 7px;border-radius:999px;background:#e6f6f2;color:#13705d;font-size:10px;font-weight:800}@media(min-width:720px){.planner-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-time-row,.planner-meals{grid-column:span 2}}
.planner-meal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.planner-meal-row{display:grid;grid-template-columns:minmax(72px,.65fr) minmax(0,1fr);gap:8px;align-items:center;min-width:0}.planner-settings [hidden]{display:none!important}.planner-date-form label{overflow:hidden}.planner-date-form input[type=date],.planner-time-select{display:block;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-width:100%;box-sizing:border-box}.planner-time-select{appearance:auto}.planner-time-row>*{overflow:hidden}@media(max-width:420px){.planner-time-row{gap:7px}.planner-date-form input[type=date],.planner-time-select{font-size:16px;padding-right:7px;padding-left:7px}.planner-meal-row{grid-template-columns:minmax(68px,.55fr) minmax(0,1fr)}}
.planner-show-list{display:grid;gap:10px}.planner-show-group{overflow:hidden;border:1px solid #ddd6fe;border-radius:14px;background:#faf7ff}.planner-show-group summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;cursor:pointer;color:#5b21b6;font-weight:900}.planner-show-group summary span{min-width:0;overflow-wrap:anywhere}.planner-show-group summary small{flex:0 0 auto;color:#7c3aed;font-size:11px}.planner-show-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding:0 10px 10px}.planner-show-choice-label{display:flex;align-items:center;gap:9px;min-width:0;padding:11px;border:1px solid #e9d5ff;border-radius:11px;background:#fff;color:#3f3f46;cursor:pointer}.planner-show-choice-label:has(input:checked){border-color:#8b5cf6;background:#f3e8ff;box-shadow:0 0 0 1px #8b5cf6}.planner-show-choice-label input{flex:0 0 auto;width:auto;transform:scale(1.15)}.planner-show-choice-label span{display:grid;gap:2px;min-width:0}.planner-show-choice-label strong{color:#6d28d9;font-size:16px}.planner-show-choice-label small{color:#64748b;font-size:11px}

/* 選択欄は情報量を保ったまま、スマホで縦に伸びすぎない2行表示にする。 */
.planner-choice-panel{padding:16px}.planner-choice-panel>h2{margin-bottom:5px;font-size:18px}.planner-choice-panel>.content-copy{margin:0 0 9px;font-size:12px;line-height:1.55}.planner-selection-notice{display:block;margin:8px 0;padding:8px 10px;border-radius:9px}.planner-selection-notice summary{cursor:pointer;font-size:11px;font-weight:900;list-style-position:inside}.planner-selection-notice p{margin:6px 0 0;font-size:10px;line-height:1.55}.planner-search{margin-bottom:8px;padding:8px 9px;font-size:12px}.planner-area-list,.planner-show-categories{display:grid;gap:6px}.planner-area,.planner-show-category{overflow:hidden;border:1px solid #dce5ee;border-radius:10px;background:#f8fbfd}.planner-area summary,.planner-show-category summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;cursor:pointer;color:#173e63;font-size:13px;font-weight:900}.planner-area summary small,.planner-show-category summary small{flex:0 0 auto;color:#71869a;font-size:9px}.planner-area .planner-attraction-grid{padding:0 7px 5px;gap:0;background:#fff}.planner-attraction{padding:6px 3px;border:0;border-bottom:1px solid #edf1f5;border-radius:0;background:#fff}.planner-attraction:last-child{border-bottom:0}.planner-attraction-line{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:5px;align-items:center}.planner-attraction-main{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}.planner-attraction-main input{flex:0 0 auto;margin:0;transform:scale(.9)}.planner-attraction-main strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:11px;line-height:1.35}.planner-attraction .planner-priority{height:26px;margin:0;padding:3px 4px;border-radius:6px;font-size:10px}.planner-attraction-meta{display:flex;align-items:center;gap:4px;margin:3px 0 0 21px;overflow:hidden;white-space:nowrap;color:#64748b;font-size:9px;line-height:1.25}.planner-attraction-meta span{flex:0 0 auto}.planner-attraction-meta .thrill,.planner-attraction-meta .family,.planner-attraction-meta .pass{padding:1px 4px;border-radius:999px;font-weight:800}.planner-attraction-meta .thrill{background:#fee2e2;color:#b91c1c}.planner-attraction-meta .family{background:#dcfce7;color:#166534}.planner-attraction-meta .pass{background:#fef3c7;color:#92400e}.planner-show-category{border-color:#ddd6fe;background:#faf7ff}.planner-show-category summary{color:#5b21b6}.planner-show-list{display:grid;gap:0;padding:0 7px 5px;background:#fff}.planner-show-row{display:grid;gap:4px;padding:7px 3px;border-bottom:1px solid #f0edf7}.planner-show-row:last-child{border-bottom:0}.planner-show-meta{display:flex;align-items:center;gap:7px;min-width:0}.planner-show-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34275f;font-size:11px}.planner-show-meta small{flex:0 0 auto;color:#7c6b9e;font-size:9px}.planner-show-times{display:flex;flex-wrap:wrap;gap:3px;padding:0}.planner-show-choice-label{display:flex;align-items:center;gap:2px;min-width:0;padding:1px 4px;border:0;border-radius:5px;background:transparent;color:#4c1d95;font-size:10px;cursor:pointer}.planner-show-choice-label:has(input:checked){border:0;background:#ede9fe;box-shadow:none}.planner-show-choice-label input{width:auto;margin:0;transform:scale(.78)}.planner-show-choice-label span{display:inline;color:inherit;font-size:10px;font-weight:800}
@media(min-width:720px){.planner-choice-panel{padding:20px}.planner-choice-panel>h2{font-size:21px}.planner-attraction-main strong,.planner-show-meta strong{font-size:12px}.planner-attraction-meta,.planner-show-meta small{font-size:10px}}
.planner-attraction.is-height-blocked{background:#f8fafc;opacity:.58}.planner-attraction.is-height-blocked .planner-attraction-main strong{color:#64748b}.planner-attraction.is-height-blocked input,.planner-attraction.is-height-blocked select{cursor:not-allowed}.planner-height-excluded{padding:1px 4px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:900}.planner-height-excluded[hidden]{display:none!important}.planner-priority-heading,.planner-priority-editor label{display:grid;grid-template-columns:minmax(0,1fr) 58px 82px;gap:6px;align-items:center}.planner-priority-heading{padding:0 2px;color:#9a5a3a;font-size:9px;font-weight:900}.planner-priority-heading span:nth-child(n+2){text-align:center}.planner-priority-editor label>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-priority-editor label>small{color:#9a3412;font-size:11px;font-weight:900;text-align:center;white-space:nowrap}.planner-priority-editor label>select{padding:6px 4px;font-size:11px}
.planner-date-input-wrap{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-sizing:border-box}.planner-date-form .planner-date-input-wrap input[type=date]{display:block;width:100%;min-width:0;max-width:100%;border:0;border-radius:0;background:transparent;box-sizing:border-box;-webkit-appearance:none;appearance:none}

/* 生成結果は、時刻・ポイント・予定を1本の線で結ぶ時系列表示にする。 */
.planner-result-heading p{margin:4px 0 0;color:#64748b;font-size:12px}.planner-timeline{display:block;margin:18px 0}.planner-timeline-board{overflow:hidden;border-radius:20px;background:linear-gradient(160deg,#111827,#0b1220 72%);color:#fff;box-shadow:0 18px 42px rgba(15,23,42,.22)}.planner-timeline-overview{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;padding:18px 16px 15px;border-bottom:1px solid rgba(148,163,184,.18);background:radial-gradient(circle at 88% 0,rgba(56,189,248,.2),transparent 42%)}.planner-timeline-overview>div:first-child{display:grid;gap:3px}.planner-timeline-overview>div:first-child>span{color:#93c5fd;font-size:9px;font-weight:900;letter-spacing:.18em}.planner-timeline-overview>div:first-child>strong{font-size:17px;line-height:1.35}.planner-timeline-overview>div:first-child>small{color:#9aa8bc;font-size:11px}.planner-timeline-stats{display:grid;grid-template-columns:repeat(3,auto);gap:12px;text-align:center}.planner-timeline-stats div{display:grid;gap:2px}.planner-timeline-stats b{font-size:18px;line-height:1}.planner-timeline-stats b small{font-size:10px}.planner-timeline-stats span{color:#8f9db1;font-size:8px;font-weight:800}.planner-timeline-legend{display:flex;gap:7px;flex-wrap:wrap;padding:12px 16px 4px}.planner-timeline-legend span{display:inline-flex;align-items:center;gap:5px;color:#aab5c5;font-size:9px;font-weight:800}.planner-timeline-legend span:before{content:"";width:7px;height:7px;border-radius:50%;background:#ff3d9a}.planner-timeline-legend .show:before{background:#9b87f5}.planner-timeline-legend .meal:before{background:#ff8a34}.planner-timeline-legend .rest:before{background:#2dd4bf}.planner-timeline-list{padding:11px 12px 16px}.planner-timeline-item{--event-color:#ff3d9a;display:grid;grid-template-columns:58px 24px minmax(0,1fr);gap:5px;min-height:78px;padding:0;border:0;border-radius:0;background:transparent;color:#fff}.planner-timeline-item.show{--event-color:#9b87f5;border:0;background:transparent}.planner-timeline-item.meal{--event-color:#ff8a34;border:0;background:transparent}.planner-timeline-item.rest{--event-color:#2dd4bf;border:0;background:transparent}.planner-timeline-item.arrival,.planner-timeline-item.departure{--event-color:#94a3b8;min-height:60px}.planner-time{padding-top:7px;text-align:right;color:#d8e0ec;font-size:12px}.planner-time strong{display:inline-block;padding:4px 7px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:rgba(148,163,184,.12);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.03em}.planner-time span{display:block;margin:4px 5px 0 0;color:#77859a;font-size:9px}.planner-timeline-axis{position:relative;min-width:0}.planner-timeline-axis:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%);border-radius:999px;background:#3a4658}.planner-timeline-axis span{position:absolute;z-index:1;top:12px;left:50%;width:13px;height:13px;transform:translateX(-50%);border:3px solid #111827;border-radius:50%;background:var(--event-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--event-color) 45%,transparent)}.planner-timeline-item:first-child .planner-timeline-axis:before{top:18px}.planner-timeline-item:last-child .planner-timeline-axis:before{bottom:auto;height:18px}.planner-event-content{min-width:0;padding:5px 2px 18px 7px;border-bottom:1px solid rgba(148,163,184,.12)}.planner-timeline-item:last-child .planner-event-content{border-bottom:0}.planner-event-label{margin-bottom:3px;color:var(--event-color);font-size:8px;font-weight:900;letter-spacing:.08em}.planner-event-content h3{margin:0 0 4px;color:#f8fafc;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.planner-event-content p{margin:0;color:#aeb9ca;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.planner-event-content .planner-pass-badge,.planner-event-content .planner-auto-badge{margin:0 4px 5px 0;vertical-align:middle}.planner-event-reason{margin-top:6px}.planner-event-reason summary{width:max-content;max-width:100%;cursor:pointer;color:#93c5fd;font-size:9px;font-weight:800}.planner-event-reason small{display:block;margin-top:5px;padding:7px 8px;border-radius:7px;background:rgba(148,163,184,.08);color:#aeb9ca;font-size:10px;line-height:1.55}.planner-timeline-item.arrival .planner-event-content h3,.planner-timeline-item.departure .planner-event-content h3{color:#cbd5e1}.planner-timeline-item.arrival .planner-event-label,.planner-timeline-item.departure .planner-event-label{color:#94a3b8}
@media(max-width:420px){.planner-result{padding:12px 9px}.planner-result-heading{padding:0 5px}.planner-timeline-overview{align-items:flex-start;flex-direction:column}.planner-timeline-stats{width:100%;grid-template-columns:repeat(3,1fr);padding-top:8px}.planner-timeline-item{grid-template-columns:55px 21px minmax(0,1fr)}.planner-timeline-list{padding-right:8px;padding-left:8px}.planner-event-content h3{font-size:13px}}
@media print{.planner-timeline-board{background:#fff;color:#0f172a;box-shadow:none;border:1px solid #cbd5e1}.planner-timeline-overview>div:first-child>strong,.planner-event-content h3{color:#0f172a}.planner-event-content p,.planner-timeline-overview>div:first-child>small{color:#475569}.planner-timeline-axis span{border-color:#fff}.planner-event-reason{display:none}}
