*{margin:0;padding:0;box-sizing:border-box}:root{--mc-bg: #0D0D0D;--mc-bg-card: #161616;--mc-bg-card-alt: #1A1A1A;--mc-border: #252525;--mc-border-hover: #353535;--mc-text: #E0E0E0;--mc-text-secondary: #999999;--mc-text-muted: #666666;--mc-shadow: 0 4px 24px rgba(0,0,0,.5);--gold: #D4A847;--green: #4caf50;--green-dim: rgba(76, 175, 80, .12);--red: #ef5350;--red-dim: rgba(239, 83, 80, .12);--blue: #42a5f5;--yellow: #ffb300;--yellow-dim: rgba(255, 179, 0, .12);--teal: #4dd0e1;--teal-dim: rgba(77, 208, 225, .12);--pink: #e91e63;--sakura: #FFB7C5;--sakura-dark: #e8a0b0;--sakura-bg: rgba(255, 183, 197, .07);--sakura-bg-alt: rgba(255, 183, 197, .04);--blue-dim: rgba(66, 165, 245, .1);--purple: #7c4dff;--purple-dim: rgba(124, 77, 255, .1);--sakura-dim: rgba(255, 183, 197, .1)}body.mode-light,body.theme-light{--mc-bg: #F2F2F2;--mc-bg-card: #FFFFFF;--mc-bg-card-alt: #FAFAFA;--mc-border: #E5E5E5;--mc-border-hover: #D0D0D0;--mc-text: #1A1A1A;--mc-text-secondary: #555555;--mc-text-muted: #999999;--mc-shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.03);--green: #2e7d32;--green-dim: rgba(46, 125, 50, .1);--red: #c62828;--red-dim: rgba(198, 40, 40, .1);--blue: #1565c0;--yellow: #f57f17;--yellow-dim: rgba(245, 127, 23, .1);--teal: #00897b;--teal-dim: rgba(0, 137, 123, .1);--sakura-bg: rgba(252, 228, 236, .6);--sakura-bg-alt: rgba(255, 240, 243, .8);--blue-dim: rgba(21, 101, 192, .08);--purple: #6200ea;--purple-dim: rgba(98, 0, 234, .08);--sakura-dim: rgba(252, 228, 236, .7)}body{font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;background:var(--mc-bg);color:var(--mc-text);-webkit-font-smoothing:antialiased}.nav-pill{background:#0c0c0cf0!important;border-color:#ffffff24!important}.mode-toggle,.nav-hamburger{background:#0c0c0ceb!important;border-color:#ffffff29!important;box-shadow:0 8px 24px #00000059}body.mode-light .nav-pill{background:#fffffff0!important}body.mode-light .mode-toggle,body.mode-light .nav-hamburger{background:#fffffff0!important;border-color:#0000001f!important}.container{max-width:960px;margin:0 auto;padding:80px 40px 60px}.nav{display:flex;gap:30px}.nav a{color:var(--mc-text-secondary);text-decoration:none;font-size:14px}.nav a:hover,.nav a.active{color:var(--mc-text)}h1{font-size:14px;font-weight:400;color:var(--mc-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:40px}.hero{background:linear-gradient(135deg,var(--sakura-bg-alt),var(--sakura-bg));border:1px solid var(--sakura);border-radius:16px;padding:40px;margin-bottom:40px;position:relative;overflow:hidden}.hero:before{content:"🌸";position:absolute;top:15px;right:25px;font-size:50px;opacity:.3}.hero-title{font-size:28px;font-weight:600;color:var(--mc-text);margin-bottom:8px}.hero-subtitle{font-size:16px;color:var(--mc-text-secondary);margin-bottom:20px}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:var(--mc-text-secondary)}.hero-meta span{display:flex;align-items:center;gap:6px}.hero-meta .tag{background:#fff;padding:4px 12px;border-radius:20px;font-size:12px;border:1px solid var(--sakura);color:var(--pink);font-weight:500}.travel-command-center{max-width:1120px;overflow-x:hidden}.command-hero{padding:28px 30px;margin-bottom:34px;border-color:#d4a84752;background:linear-gradient(135deg,#d4a8471f,#4dd0e10f)}.command-hero:before{display:none}.command-hero .hero-title{font-size:30px;line-height:1.15}.hero-status-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-status-pill,.timeline-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--mc-border);background:var(--mc-bg-card-alt);color:var(--mc-text-secondary);white-space:nowrap}.hero-status-pill.booked,.timeline-status-pill.booked,.timeline-status-pill.arranged{background:var(--green-dim);color:var(--green);border-color:#4caf5047}.hero-status-pill.pace,.timeline-status-pill.rest{background:var(--teal-dim);color:var(--teal);border-color:#4dd0e147}.hero-status-pill.needs,.timeline-status-pill.needs{background:var(--yellow-dim);color:var(--yellow);border-color:#ffb30052}.timeline-status-pill.travel{background:var(--blue-dim);color:var(--blue);border-color:#42a5f547}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.section-heading-row h2{margin-bottom:6px}.section-kicker{color:var(--mc-text-muted);font-size:13px;line-height:1.45;margin:0}.timeline-week{margin-bottom:30px}.timeline-week:last-child{margin-bottom:0}.timeline-week-header{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px}.timeline-week-title{font-size:18px;font-weight:650;color:var(--mc-text)}.timeline-week-range{font-size:12px;color:var(--mc-text-muted);white-space:nowrap}.timeline-scroll-wrap{position:relative}.timeline-scroll-wrap:before{content:"";position:absolute;left:10px;right:10px;top:36px;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold),var(--teal));opacity:.38;z-index:0}.timeline-scroll-wrap:after{content:"";display:none;position:absolute;right:0;top:0;bottom:30px;width:34px;background:linear-gradient(90deg,transparent,var(--mc-bg));pointer-events:none;z-index:2}.timeline-row{position:relative;z-index:1;display:flex;gap:14px;overflow-x:auto;padding:4px 4px 18px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-color:rgba(212,168,71,.45) transparent}.trip-day-card{flex:0 0 300px;scroll-snap-align:start;background:color-mix(in srgb,var(--mc-bg-card) 92%,transparent);border:1px solid var(--mc-border);border-top:3px solid var(--blue);border-radius:12px;padding:17px;box-shadow:var(--mc-shadow);display:flex;flex-direction:column;gap:9px;min-height:275px}.trip-day-card.status-booked,.trip-day-card.status-arranged{border-top-color:var(--green)}.trip-day-card.status-needs{border-top-color:var(--yellow)}.trip-day-card.status-travel{border-top-color:var(--blue)}.trip-day-card.status-rest{border-top-color:var(--teal)}.trip-day-date{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mc-text-muted)}.trip-day-location{font-size:19px;font-weight:700;line-height:1.25;color:var(--mc-text)}.trip-day-anchor{font-size:14px;line-height:1.45;color:var(--mc-text);min-height:40px}.trip-day-detail{font-size:12px;color:var(--mc-text-secondary);line-height:1.45}.trip-day-detail strong{color:var(--mc-text);font-weight:650}.trip-day-pace{margin-top:auto;color:var(--teal);font-size:12px;line-height:1.4;background:var(--teal-dim);border:1px solid rgba(77,208,225,.22);border-radius:8px;padding:8px 10px}.comfort-chip-row{display:flex;flex-wrap:wrap;gap:6px}.comfort-chip{display:inline-flex;align-items:center;border:1px solid rgba(77,208,225,.25);background:var(--teal-dim);color:var(--teal);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.timeline-swipe-cue{display:none;align-items:center;justify-content:space-between;gap:10px;color:var(--mc-text-muted);font-size:11px;margin-top:-8px;padding:0 4px}.timeline-cue-dots{display:inline-flex;gap:4px}.timeline-cue-dots i{width:5px;height:5px;border-radius:999px;background:var(--mc-text-muted);opacity:.55}.action-compact-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;padding:18px}.action-compact-list{display:flex;flex-direction:column;gap:8px}.action-compact-item{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:10px 12px;background:var(--mc-bg-card-alt);border:1px solid var(--mc-border);border-radius:8px;color:var(--mc-text);font-size:13px;line-height:1.45}.action-compact-item.more-hidden{display:none}.action-compact-priority{width:24px;text-align:center}.action-more-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:var(--mc-text-muted);font-size:12px}.action-toggle{border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.action-toggle:hover{background:#d4a8471f}.detail-drawers{margin-top:42px}.travel-detail{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;margin-bottom:12px;overflow:clip}.travel-detail summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--mc-text);font-weight:650}.travel-detail summary::-webkit-details-marker{display:none}.travel-detail summary:after{content:"+";color:var(--gold);font-size:20px;line-height:1}.travel-detail[open] summary{border-bottom:1px solid var(--mc-border)}.travel-detail[open] summary:after{content:"−"}.summary-meta{margin-left:auto;color:var(--mc-text-muted);font-size:12px;font-weight:400;text-align:right}.detail-body{padding:20px}.drawer-subsection{margin:26px 0 0}.drawer-subsection h3,.detail-body h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mc-text-secondary);margin:0 0 14px}.drawer-loading,.timeline-loading{padding:28px;color:var(--mc-text-muted);text-align:center;background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px}.hotel-host-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:26px}.hotel-host-card{background:var(--mc-bg-card-alt);border:1px solid var(--mc-border);border-radius:10px;padding:16px}.hotel-host-dates{color:var(--mc-text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.hotel-host-name{color:var(--mc-text);font-size:15px;font-weight:650;line-height:1.35;margin-bottom:8px}.hotel-host-status{color:var(--green);font-size:12px;font-weight:700}.hotel-host-notes{color:var(--mc-text-secondary);font-size:12px;line-height:1.45;margin-top:8px}.checklist-section{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:16px;padding:30px;margin-bottom:40px}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.checklist-title{font-size:18px;font-weight:600;color:var(--mc-text)}.checklist-progress-text{font-size:13px;color:var(--mc-text-secondary);font-family:JetBrains Mono,monospace}.checklist-progress-bar{width:100%;height:6px;background:var(--mc-bg-card-alt);border-radius:3px;margin-bottom:24px;overflow:hidden}.checklist-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--sakura));border-radius:3px;transition:width .5s ease}.checklist-category{margin-bottom:16px}.checklist-category:last-child{margin-bottom:0}.checklist-category-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--mc-text-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--mc-border)}.checklist-item{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;border-radius:8px;padding:8px 6px;transition:background .15s ease}.checklist-item:hover{background:#00000008}.checklist-item:active .checklist-icon{transform:scale(1.3)}.checklist-icon{font-size:16px;flex-shrink:0;width:22px;text-align:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.checklist-icon.pulse{animation:iconPulse .3s cubic-bezier(.34,1.56,.64,1)}@keyframes iconPulse{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.checklist-reset{display:inline-block;margin-top:16px;font-size:12px;color:var(--mc-text-muted);cursor:pointer;border:none;background:none;padding:4px 0;font-family:inherit;transition:color .15s}.checklist-reset:hover{color:var(--red, #e53935)}.checklist-item-text{color:var(--mc-text)}.checklist-item-text.done{color:var(--mc-text-muted);text-decoration:line-through}.checklist-item-priority{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;flex-shrink:0}.checklist-item-priority.high{background:var(--red-dim);color:var(--red)}.checklist-item-priority.medium{background:var(--yellow-dim);color:var(--yellow)}.checklist-item-priority.low{background:var(--blue-dim);color:var(--blue)}.flight-status-card{background:var(--mc-bg-card);border:2px solid var(--yellow);border-radius:16px;overflow:hidden;margin-bottom:40px}.flight-status-banner{background:linear-gradient(135deg,#fff3e0,#fff8e1);padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #FFE0B2}.flight-status-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--mc-text-muted);margin-bottom:4px}.flight-status-text{font-size:20px;font-weight:700;color:var(--yellow);letter-spacing:.5px}.flight-status-icon{font-size:40px;opacity:.6}.flight-status-body{padding:25px 30px}.flight-status-body h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--mc-text-secondary);margin-bottom:12px;margin-top:25px}.flight-status-body h3:first-child{margin-top:0}.target-flights-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:5px}.target-flights-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mc-text-muted);padding:8px 12px;border-bottom:1px solid var(--mc-border)}.target-flights-table td{padding:10px 12px;border-bottom:1px solid var(--mc-border);color:var(--mc-text)}.target-flights-table tr:last-child td{border-bottom:none}.flight-name{font-weight:600;color:var(--accent)}.points-math-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:10px;padding:18px 20px;margin:15px 0}.points-math-row{display:flex;align-items:center;gap:10px;font-size:15px;margin-bottom:6px}.points-math-row:last-child{margin-bottom:0}.points-math-row .value{font-weight:700;color:var(--green)}.points-math-row .arrow{color:var(--mc-text-muted)}.points-math-row .label{color:var(--mc-text-secondary);font-size:13px}.booking-steps{list-style:none;padding:0}.booking-steps li{padding:8px 0;font-size:13px;color:var(--mc-text-secondary);border-bottom:1px solid var(--mc-border);line-height:1.5}.booking-steps li:last-child{border-bottom:none}.fare-class-info{display:flex;gap:20px;flex-wrap:wrap;margin:10px 0}.fare-class-badge{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 14px;border-radius:8px}.fare-class-badge.good{background:var(--green-dim);color:var(--green);border:1px solid rgba(76,175,80,.2)}.fare-class-badge.bad{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,83,80,.2)}.fare-class-badge .class-letter{font-weight:700;font-size:18px}.phone-number{font-size:18px;font-weight:600;color:var(--accent);text-decoration:none}.phone-number:hover{text-decoration:underline}.monitoring-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--blue-dim);border:1px solid rgba(66,165,245,.2);border-radius:6px;font-size:13px;color:var(--blue)}.action-items{margin:15px 0}.action-item{padding:10px 14px;font-size:13px;color:var(--mc-text);border-bottom:1px solid var(--mc-border);line-height:1.5}.action-item:last-child{border-bottom:none}.action-item.urgent{background:#fff3e0;border-left:3px solid var(--red);border-radius:4px;margin-bottom:4px}.action-item.pending{background:var(--mc-bg);border-left:3px solid var(--yellow);border-radius:4px;margin-bottom:4px}section{margin-bottom:50px}h2{font-size:12px;font-weight:500;color:var(--mc-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--mc-border)}.points-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px;margin-bottom:15px}.points-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;padding:22px;transition:border-color .2s}.points-card:hover{border-color:var(--accent)}.points-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mc-text-muted);margin-bottom:8px}.points-card-value{font-size:28px;font-weight:700;color:var(--green);margin-bottom:4px}.points-card-detail{font-size:13px;color:var(--mc-text-secondary);line-height:1.5}.points-card-bonus{margin-top:8px;font-size:12px;color:var(--accent);font-weight:500}.bonus-deadline{background:var(--red-dim);border:1px solid rgba(239,83,80,.2);border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--red);font-weight:500}.bonus-deadline .icon{font-size:24px}.trip-phases{display:flex;flex-direction:column;gap:0;position:relative}.trip-phase{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 20px;background:var(--mc-bg-card);border:1px solid var(--mc-border);border-bottom:none;position:relative;transition:border-color .2s}.trip-phase:first-child{border-radius:12px 12px 0 0}.trip-phase:last-child{border-bottom:1px solid var(--mc-border);border-radius:0 0 12px 12px}.trip-phase:hover{border-color:var(--accent);z-index:1}.trip-phase-days{font-weight:600;color:var(--accent);font-size:14px}.trip-phase-info{display:flex;flex-direction:column;gap:3px}.trip-phase-name{font-weight:500;color:var(--mc-text);font-size:15px}.trip-phase-desc{font-size:13px;color:var(--mc-text-secondary)}.phase-badge-inline{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;margin-left:8px}.phase-badge-inline.transit{background:var(--blue)}.phase-badge-inline.osaka{background:var(--purple)}.phase-badge-inline.kyoto{background:var(--pink)}.phase-badge-inline.return{background:var(--yellow)}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.hotel-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:10px;padding:20px;transition:all .2s}.hotel-card:hover{border-color:var(--accent);box-shadow:0 4px 15px #0000000f}.hotel-card.recommended{border:2px solid var(--accent)}.hotel-rec-badge{display:inline-block;font-size:10px;padding:2px 8px;background:var(--accent);color:#fff;border-radius:4px;text-transform:uppercase;margin-bottom:8px}.hotel-name{font-size:16px;font-weight:600;color:var(--mc-text);margin-bottom:4px}.hotel-style{font-size:12px;color:var(--accent);margin-bottom:10px}.hotel-price{font-size:14px;color:var(--green);font-weight:500}.budget-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;overflow:hidden}.budget-header{padding:20px 25px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--green),#7cb342);color:#fff}.budget-header-title{font-size:16px;font-weight:500}.budget-header-total{font-size:24px;font-weight:600}.budget-header-note{font-size:12px;opacity:.9}.budget-rows{padding:5px 0}.budget-row{display:grid;grid-template-columns:40px 1fr auto;gap:15px;padding:14px 25px;border-bottom:1px solid var(--mc-border);align-items:center}.budget-row:last-child{border-bottom:none}.budget-icon{font-size:18px;text-align:center}.budget-label{font-weight:500;color:var(--mc-text);font-size:14px}.budget-detail{font-size:12px;color:var(--mc-text-secondary);margin-top:2px}.budget-amount{font-weight:600;color:var(--mc-text);font-size:15px;text-align:right}.budget-footer{padding:15px 25px;background:var(--mc-bg-card-alt);display:flex;justify-content:space-between;font-size:13px;color:var(--mc-text-secondary)}.comfort-card{background:linear-gradient(135deg,var(--sakura-bg-alt),var(--sakura-bg));border:1px solid var(--sakura);border-radius:12px;padding:25px 30px}.comfort-title{font-size:16px;font-weight:500;color:var(--mc-text);margin-bottom:15px}.comfort-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.comfort-item{background:#fff;padding:12px 15px;border-radius:8px;font-size:13px}.comfort-item-label{font-weight:500;color:var(--pink);font-size:12px;margin-bottom:4px}.comfort-item-text{color:var(--mc-text-secondary);line-height:1.5}.monitoring-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;padding:25px 30px}.monitoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.monitoring-item{background:var(--mc-bg);padding:16px;border-radius:8px}.monitoring-item-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mc-text-muted);margin-bottom:6px}.monitoring-item-text{font-size:14px;color:var(--mc-text);line-height:1.5}.recommendation{padding:25px;background:var(--mc-bg-card-alt);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:14px;color:var(--mc-text-secondary);line-height:1.6}.recommendation strong{color:var(--mc-text)}.meta{margin-top:60px;font-size:12px;color:var(--mc-text-muted)}.itinerary-section{margin-top:60px;padding-top:40px;border-top:2px solid var(--sakura)}.itinerary-hero{background:linear-gradient(135deg,var(--sakura-bg-alt) 0%,var(--sakura-bg) 50%,var(--green-dim) 100%);border:2px solid var(--sakura);border-radius:20px;padding:40px;margin-bottom:40px;position:relative;overflow:hidden}.itinerary-hero:before{content:"⛩️🌸🏯";position:absolute;top:20px;right:30px;font-size:40px;opacity:.4;letter-spacing:10px}.itinerary-hero-title{font-size:32px;font-weight:700;color:var(--mc-text);margin-bottom:10px}.itinerary-hero-subtitle{font-size:18px;color:var(--mc-text-secondary);margin-bottom:20px}.itinerary-hero-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:14px;color:var(--mc-text-secondary)}.itinerary-hero-meta .meta-item{display:flex;align-items:center;gap:6px;background:#fff;padding:8px 14px;border-radius:25px;box-shadow:0 2px 8px #0000000d}.day-timeline{position:relative;padding-left:30px}.day-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--sakura),var(--accent),var(--green));border-radius:3px}.osaka-calendar-section{background:linear-gradient(135deg,#7c4dff1f,#ffb7c50f);border:1px solid rgba(124,77,255,.35);border-radius:12px;padding:22px;margin-bottom:30px;box-shadow:var(--mc-shadow);scroll-margin-top:170px}.osaka-calendar-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.osaka-calendar-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sakura);margin-bottom:6px}.osaka-calendar-header h2{font-size:22px;font-weight:650;color:var(--mc-text);margin:0 0 6px}.osaka-calendar-header p{font-size:13px;color:var(--mc-text-secondary);line-height:1.5;margin:0}.osaka-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.osaka-day-column{background:#0d0d0d85;border:1px solid var(--mc-border);border-radius:10px;overflow:hidden}body.mode-light .osaka-day-column,body.theme-light .osaka-day-column{background:#ffffffb3}.osaka-day-column-header{padding:16px 16px 14px;border-bottom:1px solid var(--mc-border);background:#7c4dff14}.osaka-day-date{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--purple);margin-bottom:5px}.osaka-day-title{font-size:17px;font-weight:650;color:var(--mc-text);line-height:1.3;margin-bottom:8px}.osaka-route,.osaka-walking{font-size:12px;color:var(--mc-text-secondary);line-height:1.45}.osaka-walking{margin-top:6px;color:var(--mc-text-muted)}.osaka-route-chain{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.osaka-route-segment{white-space:nowrap}.osaka-route-arrow{color:var(--mc-text-muted);opacity:.65}.osaka-time-block{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:15px 16px;border-bottom:1px solid var(--mc-border)}.osaka-time-block:last-child{border-bottom:none}.osaka-block-time{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--sakura);letter-spacing:.05em}.osaka-block-area{font-size:14px;font-weight:650;color:var(--mc-text);margin-bottom:8px;line-height:1.35}.osaka-block-stops{margin:0 0 9px;padding-left:17px;color:var(--mc-text-secondary);font-size:12px;line-height:1.45}.osaka-block-meal,.osaka-block-transit,.osaka-block-note{font-size:12px;line-height:1.45;color:var(--mc-text-secondary);margin-top:7px}.osaka-block-meal strong,.osaka-block-transit strong,.osaka-block-note strong{color:var(--mc-text)}.osaka-block-note{color:var(--mc-text-secondary)}.osaka-block-note strong{color:var(--yellow)}.osaka-pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.osaka-status-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--mc-bg-card-alt);color:var(--mc-text-secondary);border:1px solid var(--mc-border);white-space:nowrap}.osaka-status-pill.booked{background:var(--green-dim);color:var(--green);border-color:#4caf5047}.osaka-status-pill.walk-in,.osaka-status-pill.walkin{background:var(--blue-dim);color:var(--blue);border-color:#42a5f547}.osaka-status-pill.pending{background:var(--yellow-dim);color:var(--yellow);border-color:#ffb3004d}.osaka-status-pill.optional{background:var(--purple-dim);color:var(--purple);border-color:#7c4dff4d}.osaka-status-pill.warning,.osaka-status-pill.high,.osaka-status-pill.rest-blocks-protected{background:var(--red-dim);color:var(--red);border-color:#ef53504d}.osaka-status-pill.medium{background:var(--yellow-dim);color:var(--yellow);border-color:#ffb3004d}.osaka-alert-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;margin-top:16px}.osaka-alert{background:#0d0d0d85;border:1px solid var(--mc-border);border-radius:10px;padding:16px}body.mode-light .osaka-alert,body.theme-light .osaka-alert{background:#ffffffb3}.osaka-alert.warning{border-color:#ffb30059}.osaka-alert.pending{border-color:#ef535052}.osaka-alert-heading{font-size:14px;font-weight:700;color:var(--mc-text);margin-bottom:12px}.osaka-alert-list{display:flex;flex-direction:column;gap:11px}.osaka-alert-item{padding-top:11px;border-top:1px solid var(--mc-border)}.osaka-alert-item:first-child{padding-top:0;border-top:none}.osaka-alert-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:650;color:var(--mc-text);margin-bottom:4px}.osaka-alert-detail{font-size:12px;color:var(--mc-text-secondary);line-height:1.45}.day-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:16px;margin-bottom:25px;position:relative;overflow:hidden;transition:all .3s ease}.day-card:hover{border-color:var(--accent);box-shadow:0 8px 30px #00000014;transform:translateY(-2px)}.day-card:before{content:"";position:absolute;left:-34px;top:28px;width:14px;height:14px;background:var(--accent);border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #00bcd466}.day-card.osaka:before{background:var(--purple);box-shadow:0 2px 8px #7c4dff66}.day-card.kyoto:before{background:var(--pink);box-shadow:0 2px 8px #e91e6366}.day-card.nara:before{background:var(--green);box-shadow:0 2px 8px #91b85966}.day-card.uji:before{background:#4caf50;box-shadow:0 2px 8px #4caf5066}.day-card.travel:before{background:var(--blue);box-shadow:0 2px 8px #6182b866}.day-header{padding:20px 25px;border-bottom:1px solid var(--mc-border);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:15px}.day-header-left{flex:1;min-width:200px}.day-number{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-weight:600;margin-bottom:4px}.day-card.osaka .day-number{color:var(--purple)}.day-card.kyoto .day-number{color:var(--pink)}.day-card.nara .day-number{color:var(--green)}.day-card.uji .day-number{color:#4caf50}.day-card.travel .day-number{color:var(--blue)}.day-title{font-size:20px;font-weight:600;color:var(--mc-text);margin-bottom:4px}.day-theme{font-size:13px;color:var(--mc-text-secondary);font-style:italic}.day-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.day-location-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500}.day-location-badge.osaka{background:var(--purple-dim);color:var(--purple)}.day-location-badge.kyoto{background:var(--sakura-dim);color:var(--pink)}.day-location-badge.nara,.day-location-badge.uji{background:var(--green-dim);color:var(--green)}.day-location-badge.travel{background:var(--blue-dim);color:var(--blue)}.day-walking{font-size:12px;color:var(--mc-text-muted)}.day-body{padding:20px 25px}.day-schedule{display:flex;flex-direction:column;gap:0}.schedule-item{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--mc-border)}.schedule-item:last-child{border-bottom:none}.schedule-time{font-size:12px;text-transform:uppercase;font-weight:600;color:var(--mc-text-muted);display:flex;align-items:flex-start;gap:6px}.schedule-time .icon{font-size:16px}.schedule-content{flex:1}.schedule-activity{font-weight:500;color:var(--mc-text);margin-bottom:4px}.schedule-details{font-size:13px;color:var(--mc-text-secondary);line-height:1.5;margin-bottom:6px}.schedule-tip{font-size:12px;color:var(--accent);background:#e0f7fa;padding:6px 10px;border-radius:6px;display:inline-block;margin-top:4px}.restaurant-inline{background:linear-gradient(135deg,#fff8e1,#fff3e0);border:1px solid #FFE0B2;border-radius:10px;padding:12px 15px;margin-top:8px}.restaurant-inline-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.restaurant-inline-name{font-weight:600;color:var(--mc-text)}.restaurant-inline-cuisine{font-size:11px;color:var(--yellow);background:#fff;padding:2px 8px;border-radius:10px}.restaurant-inline-price{font-size:11px;color:var(--green);font-weight:600}.restaurant-inline-order{font-size:13px;color:var(--mc-text-secondary);margin-bottom:4px}.restaurant-inline-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500}.badge.comfort-safe{background:var(--sakura-dim);color:var(--pink)}.badge.tiktok{background:var(--purple-dim);color:var(--purple)}.badge.reservation{background:var(--red-dim);color:var(--red)}.day-footer{padding:15px 25px;background:var(--mc-bg);border-top:1px solid var(--mc-border);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.highlight-tag{font-size:11px;padding:4px 10px;background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:15px;color:var(--mc-text-secondary)}.comfort-note{width:100%;margin-top:8px;font-size:12px;color:var(--pink);background:var(--sakura-bg-alt);padding:8px 12px;border-radius:8px;border-left:3px solid var(--sakura)}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.restaurant-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:14px;padding:20px;transition:all .2s ease;position:relative}.restaurant-card:hover{border-color:var(--yellow);box-shadow:0 6px 20px #f6a43426;transform:translateY(-2px)}.restaurant-card-badges{position:absolute;top:15px;right:15px;display:flex;gap:5px}.restaurant-card .badge-icon{font-size:16px}.restaurant-card-name{font-size:17px;font-weight:600;color:var(--mc-text);margin-bottom:4px;padding-right:60px}.restaurant-card-meta{display:flex;gap:12px;font-size:13px;color:var(--mc-text-muted);margin-bottom:12px}.restaurant-card-cuisine{color:var(--accent);font-weight:500}.restaurant-card-price{color:var(--green);font-weight:600}.restaurant-card-famous{font-size:13px;color:var(--mc-text-secondary);margin-bottom:10px;line-height:1.5}.restaurant-card-footer{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--mc-border)}.restaurant-card-footer .badge{font-size:11px;padding:4px 10px}.restaurant-card-links{display:flex;gap:12px;padding-top:8px;flex-wrap:wrap}.restaurant-card-links a{font-size:12px;color:var(--mc-text-secondary);text-decoration:none;transition:color .2s}.restaurant-card-links a:hover{color:var(--mc-text)}.spots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.spot-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:14px;padding:20px;transition:all .2s ease;position:relative;overflow:hidden}.spot-card:hover{border-color:var(--pink);box-shadow:0 6px 20px #e91e631f}.spot-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.spot-card.shrine:before{background:linear-gradient(90deg,#ff5722,#ff9800)}.spot-card.temple:before{background:linear-gradient(90deg,var(--pink),var(--sakura))}.spot-card.nature:before{background:linear-gradient(90deg,var(--green),#8BC34A)}.spot-card.market:before{background:linear-gradient(90deg,var(--yellow),#FFC107)}.spot-card.neighborhood:before{background:linear-gradient(90deg,var(--purple),#9C27B0)}.spot-card.castle:before{background:linear-gradient(90deg,var(--blue),var(--accent))}.spot-category-icon{font-size:28px;margin-bottom:10px}.spot-name{font-size:16px;font-weight:600;color:var(--mc-text);margin-bottom:4px}.spot-location{font-size:12px;color:var(--mc-text-muted);margin-bottom:10px}.spot-details{font-size:13px;color:var(--mc-text-secondary);margin-bottom:6px}.spot-tip{font-size:12px;color:var(--accent);line-height:1.5;margin-top:10px;padding-top:10px;border-top:1px solid var(--mc-border)}.itinerary-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.itinerary-tab{padding:10px 20px;border-radius:25px;font-size:14px;font-weight:500;cursor:pointer;border:2px solid var(--mc-border);background:var(--mc-bg-card);color:var(--mc-text-secondary);transition:all .2s ease}.itinerary-tab:hover{border-color:var(--accent);color:var(--accent)}.itinerary-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.itinerary-panel{display:none}.itinerary-panel.active{display:block}.hotel-timeline{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:16px;padding:25px;margin-bottom:30px;overflow-x:auto}.hotel-timeline-title{font-size:14px;font-weight:600;color:var(--mc-text);margin-bottom:20px;display:flex;align-items:center;gap:8px}.timeline-bar{display:flex;gap:3px;min-width:700px}.timeline-segment{flex:1;min-width:120px;padding:15px;border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.timeline-segment:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.timeline-segment.transit{background:linear-gradient(135deg,var(--mc-bg-card-alt),var(--mc-bg-card));border:1px solid var(--mc-border);color:var(--mc-text-secondary);flex:.6;min-width:90px}.timeline-segment.osaka{background:linear-gradient(135deg,#f6a434,#ff9800);color:#fff}.timeline-segment.kyoto-booked{background:linear-gradient(135deg,#7c4dff,#9c27b0);color:#fff}.timeline-segment.kyoto-tbd{background:linear-gradient(135deg,#e91e63,#f48fb1);color:#fff;border:2px dashed rgba(255,255,255,.5)}.segment-dates{font-size:11px;opacity:.9;margin-bottom:6px;font-weight:500}.segment-icon{font-size:20px;margin-bottom:6px}.segment-name{font-size:12px;font-weight:600;line-height:1.3;margin-bottom:8px}.segment-status{display:inline-block;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.segment-status.booked{background:#ffffff40}.segment-status.tbd{background:#fff3;border:1px dashed rgba(255,255,255,.5)}@media(max-width:768px){.timeline-bar{flex-direction:column;min-width:unset}.timeline-segment{min-width:unset}}.journey-map-section{margin:34px 0 32px;scroll-margin-top:150px}.journey-map-heading{align-items:center}.journey-map-status{color:var(--mc-text-muted);font-size:12px;border:1px solid var(--mc-border);border-radius:999px;padding:6px 10px;background:var(--mc-bg-card);white-space:nowrap}.journey-map-status.ready{color:var(--green);border-color:#4caf5047;background:var(--green-dim)}.journey-map-status.error{color:var(--red);border-color:#ef535047;background:var(--red-dim)}.journey-map-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;overflow:hidden;box-shadow:var(--mc-shadow)}.journey-map-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--mc-border);background:var(--mc-bg-card-alt)}.journey-day-controls,.journey-filter-controls{display:flex;gap:8px;align-items:center}.journey-day-controls{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.journey-day-controls::-webkit-scrollbar{display:none}.journey-chip,.journey-filter,.journey-nav-btn{border:1px solid var(--mc-border);background:var(--mc-bg);color:var(--mc-text-secondary);cursor:pointer;font-family:inherit;font-weight:700;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;white-space:nowrap}.journey-chip,.journey-filter{border-radius:999px;font-size:12px;padding:7px 12px}.journey-chip:hover,.journey-filter:hover,.journey-nav-btn:hover{border-color:var(--gold);color:var(--gold)}.journey-chip.active,.journey-filter.active{background:var(--gold);border-color:var(--gold);color:#0d0d0d}.journey-map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.95fr);min-height:640px}.journey-map-frame{min-width:0;border-right:1px solid var(--mc-border);background:var(--mc-bg)}#journey-map{width:100%;height:clamp(600px,68vh,760px);min-height:600px;background:var(--mc-bg)}.journey-map-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:12px 16px;border-top:1px solid var(--mc-border);color:var(--mc-text-secondary);font-size:12px;background:var(--mc-bg-card)}.journey-legend-item{display:inline-flex;align-items:center;gap:7px;min-height:22px}.journey-legend-line{width:26px;height:0;border-top:3px solid currentColor;border-radius:999px;display:inline-block}.journey-legend-line.flight{color:var(--teal);border-top-style:dashed}.journey-legend-line.train{color:var(--gold)}.journey-legend-line.car{color:var(--green)}.journey-legend-line.walk{color:#ffffffbd;border-top-style:dotted}.journey-legend-halo{width:18px;height:18px;border-radius:50%;background:#4dd0e129;border:1px solid rgba(77,208,225,.55);display:inline-block}.journey-day-panel{padding:18px;overflow-y:auto;max-height:820px;color:var(--mc-text)}.journey-panel-loading{color:var(--mc-text-muted);font-size:13px;padding:20px;text-align:center}.journey-panel-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}.journey-panel-title{font-size:21px;line-height:1.18;font-weight:750;color:var(--mc-text);margin-bottom:6px}.journey-panel-subtitle{font-size:13px;line-height:1.45;color:var(--mc-text-secondary);margin-bottom:16px}.journey-panel-block{border-top:1px solid var(--mc-border);padding-top:14px;margin-top:14px}.journey-panel-label{font-size:11px;font-weight:800;color:var(--mc-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.journey-panel-value{font-size:13px;color:var(--mc-text);line-height:1.45}.journey-neighborhood-list,.journey-mode-list{display:flex;flex-wrap:wrap;gap:7px}.journey-neighborhood-chip,.journey-mode-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--mc-border);background:var(--mc-bg-card-alt);color:var(--mc-text-secondary);font-size:11px;line-height:1.25;padding:6px 9px}.journey-neighborhood-swatch{width:8px;height:8px;border-radius:999px;background:var(--zone-color, var(--gold));box-shadow:0 0 10px var(--zone-color, var(--gold));flex:0 0 auto}.journey-stop-list,.journey-leg-list{display:flex;flex-direction:column;gap:9px}.journey-stop-item,.journey-leg-item{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start}.journey-stop-number{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--gold);color:#0d0d0d;font-size:12px;font-weight:800}.journey-stop-name,.journey-leg-label{font-size:13px;font-weight:700;color:var(--mc-text);line-height:1.3}.journey-stop-meta,.journey-leg-meta{font-size:12px;line-height:1.4;color:var(--mc-text-muted);margin-top:2px}.journey-map-nav{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--mc-border);background:var(--mc-bg-card-alt)}.journey-nav-btn{border-radius:8px;padding:9px 14px;font-size:13px}.journey-nav-btn.primary{background:var(--gold);border-color:var(--gold);color:#0d0d0d}.journey-nav-btn:disabled{opacity:.45;cursor:not-allowed}.journey-number-marker{background:transparent;border:0}.journey-marker-pin{width:34px;height:34px;border-radius:999px;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;align-items:center;justify-items:center;background:#161616;color:#fff;border:2px solid rgba(255,255,255,.88);box-shadow:0 8px 24px #0000006b;position:relative}.journey-marker-pin .marker-order{font-size:13px;font-weight:850;line-height:1}.journey-marker-pin .marker-icon{position:absolute;right:-6px;bottom:-6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#0d0d0df2;border:1px solid rgba(255,255,255,.45);font-size:10px}.journey-marker-pin.overview{width:25px;height:25px;opacity:.84}.journey-marker-pin.overview .marker-order{font-size:10px}.journey-marker-pin.role-airport{background:#1565c0}.journey-marker-pin.role-station{background:#7c4dff}.journey-marker-pin.role-sleep{background:#2e7d32}.journey-marker-pin.role-friend-stay{background:#00897b}.journey-marker-pin.role-resort,.journey-marker-pin.role-beach{background:#00acc1}.journey-marker-pin.role-food{background:#f57f17}.journey-marker-pin.role-attraction{background:#c2185b}.journey-arrow-marker{background:transparent;border:0;pointer-events:none}.journey-arrow{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#0d0d0de6;border:1px solid rgba(255,255,255,.38);color:var(--mc-text);font-size:15px;font-weight:900;transform:rotate(var(--arrow-angle, 0deg));box-shadow:0 0 16px #00000059}.journey-arrow.mode-flight{color:var(--teal)}.journey-arrow.mode-train{color:var(--gold)}.journey-arrow.mode-car{color:var(--green)}.journey-arrow.mode-local,.journey-arrow.mode-walk{color:#fff}.journey-neighborhood-label{background:#0d0d0dc7;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;font-size:11px;font-weight:750;line-height:1;padding:5px 8px;box-shadow:0 8px 24px #0000004d}body.mode-light .journey-neighborhood-label{background:#ffffffe6;color:#1a1a1a;border-color:#0000001f}.journey-line-flight{filter:drop-shadow(0 0 7px rgba(77,208,225,.8));animation:journey-flight-dash 1.8s linear infinite}.journey-line-train{filter:drop-shadow(0 0 5px rgba(212,168,71,.55))}.journey-line-car{filter:drop-shadow(0 0 5px rgba(76,175,80,.5))}.journey-line-walk,.journey-line-local{filter:drop-shadow(0 0 4px rgba(255,255,255,.35))}@keyframes journey-flight-dash{to{stroke-dashoffset:-30}}.leaflet-control-attribution{background:#0d0d0dd1!important;color:#e0e0e0d1!important;border-radius:6px 0 0;padding:3px 7px!important;line-height:1.35!important}.leaflet-control-attribution a{color:#ffffffe6!important}body.mode-light .leaflet-control-attribution{background:#ffffffe0!important;color:#1a1a1ac7!important}body.mode-light .leaflet-control-attribution a{color:#1565c0!important}.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 4px 15px #00000026}.leaflet-popup-content{margin:12px 15px;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}.popup-title{font-size:14px;font-weight:600;color:#333;margin-bottom:6px}.popup-type{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;margin-bottom:8px}.popup-type.hotel{background:#dbeafe;color:#1d4ed8}.popup-type.restaurant{background:#ffedd5;color:#c2410c}.popup-type.activity{background:#dcfce7;color:#15803d}.popup-type.mustvisit{background:#fce7f3;color:#be185d}.popup-type.airport{background:#dbeafe;color:#1d4ed8}.popup-type.station{background:#ede9fe;color:#5b21b6}.popup-type.sleep,.popup-type.hotel{background:#dcfce7;color:#15803d}.popup-type.food{background:#ffedd5;color:#c2410c}.popup-type.attraction{background:#fce7f3;color:#be185d}.popup-type.friend-stay,.popup-type.resort,.popup-type.beach{background:#ccfbf1;color:#0f766e}.popup-detail{font-size:12px;color:#666;line-height:1.4;margin-bottom:4px}.popup-note{font-size:11px;color:#666;line-height:1.35;margin-top:8px;padding-top:8px;border-top:1px solid #eee}.popup-tip{font-size:11px;color:#00bcd4;margin-top:8px;padding-top:8px;border-top:1px solid #eee}@media(max-width:768px){.itinerary-hero{padding:25px}.itinerary-hero-title{font-size:24px}.itinerary-hero:before{display:none}.day-timeline{padding-left:0}.day-timeline:before{display:none}.day-card:before{display:none}.day-header{flex-direction:column}.day-header-right{align-items:flex-start}.schedule-item{grid-template-columns:1fr;gap:8px}.schedule-time{margin-bottom:4px}.osaka-calendar-section{padding:16px}.osaka-calendar-header{flex-direction:column}.osaka-calendar-grid,.osaka-alert-grid{grid-template-columns:1fr}.osaka-time-block{grid-template-columns:1fr;gap:8px}.restaurant-grid,.spots-grid{grid-template-columns:1fr}.itinerary-tabs{justify-content:center}}@media(max-width:768px){body{overflow-x:hidden}.container{padding:48px 14px 36px;max-width:100%}.travel-command-center{width:100%;padding-left:0;padding-right:0}h1{margin-bottom:24px}.command-hero{padding:20px}.command-hero .hero-title{font-size:25px}.hero-status-pill,.timeline-status-pill,.comfort-chip{white-space:normal;max-width:100%;line-height:1.25;overflow-wrap:anywhere}.timeline-week-header{flex-direction:column;gap:4px}.timeline-week-range{white-space:normal}.timeline-scroll-wrap:after{display:block}.timeline-row{padding-right:12vw;max-width:100%}.timeline-swipe-cue{display:flex;justify-content:flex-end;color:var(--mc-text-secondary);padding-right:2px}.trip-day-card{flex:0 0 min(88vw,340px);min-width:0;min-height:292px}.trip-day-detail,.trip-day-anchor,.trip-day-pace{overflow-wrap:anywhere}.summary-meta{display:none}.travel-detail summary{padding:16px}.detail-body{padding:16px}.action-more-row{flex-direction:column;align-items:stretch}.action-toggle{width:100%}.hero{padding:25px}.hero-meta{flex-direction:column;align-items:flex-start;gap:8px}.flight-status-banner{flex-direction:column;text-align:center;gap:10px}.flight-status-body{padding:20px}.target-flights-table{font-size:12px}.target-flights-table th,.target-flights-table td{padding:6px 8px}.points-overview{grid-template-columns:1fr}.trip-phase{grid-template-columns:90px 1fr}.hotel-grid,.comfort-grid,.monitoring-grid{grid-template-columns:1fr}.budget-footer{flex-direction:column;gap:5px}.fare-class-info{flex-direction:column;gap:8px}.points-math-row{flex-wrap:wrap}.travel-tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px}.travel-tab{font-size:13px;padding:8px 16px}.booking-resources-grid{grid-template-columns:1fr}}.travel-tab-bar{display:flex;gap:8px;margin-bottom:30px;position:sticky;top:74px;z-index:80;background:#0d0d0dd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 0;border-bottom:1px solid var(--mc-border)}body.mode-light .travel-tab-bar,body.theme-light .travel-tab-bar{background:#f2f2f2d9}.travel-tab{padding:10px 22px;border-radius:25px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--mc-border);background:var(--mc-bg-card);color:var(--mc-text-secondary);transition:all .2s ease;white-space:nowrap;font-family:inherit}.travel-tab:hover{border-color:var(--gold);color:var(--gold)}.travel-tab.active{background:var(--gold);border-color:var(--gold);color:#000;font-weight:600}.travel-tab-panel{display:none}.travel-tab-panel.active{display:block}@media(max-width:768px){.container{padding-top:96px}.travel-tab-bar{top:82px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 28px),transparent 100%)}.travel-tab-bar::-webkit-scrollbar{display:none}.travel-tab{font-size:12px;padding:8px 13px}.osaka-calendar-header h2{font-size:20px;line-height:1.18}.osaka-pill-row{margin-top:12px}.journey-map-heading{align-items:flex-start}.journey-map-status{white-space:normal}.journey-map-controls{align-items:stretch;flex-direction:column;gap:10px}.journey-day-controls,.journey-filter-controls{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.journey-day-controls::-webkit-scrollbar,.journey-filter-controls::-webkit-scrollbar{display:none}.journey-chip,.journey-filter{flex:0 0 auto}.journey-map-layout{display:flex;flex-direction:column;min-height:unset}.journey-map-frame{border-right:0;border-bottom:1px solid var(--mc-border)}#journey-map{height:min(72vh,470px);min-height:420px}.journey-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.journey-day-panel{max-height:none;padding:16px}.journey-map-nav{justify-content:stretch}.journey-nav-btn{flex:1}}.rest-section-title{font-size:16px;font-weight:600;color:var(--mc-text);margin-bottom:16px;display:flex;align-items:center;gap:8px}.rest-section-subtitle{font-size:13px;color:var(--mc-text-muted);margin-bottom:20px}.rest-card-book-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--gold);text-decoration:none;font-weight:600;padding:4px 12px;border-radius:15px;border:1px solid var(--gold);transition:all .2s}.rest-card-book-link:hover{background:var(--gold);color:#000}.rest-card-tip{font-size:12px;color:var(--mc-text-muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--mc-border);line-height:1.5}.comfort-callout{background:linear-gradient(135deg,var(--sakura-bg-alt),var(--sakura-bg));border:1px solid var(--sakura);border-radius:12px;padding:20px 25px;margin-top:30px}.comfort-callout-title{font-size:15px;font-weight:600;color:var(--mc-text);margin-bottom:12px}.comfort-callout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.comfort-callout-item{font-size:13px;color:var(--mc-text-secondary);line-height:1.5}.comfort-callout-item strong{color:var(--pink)}.booking-resources{margin-top:30px}.booking-resources-title{font-size:14px;font-weight:600;color:var(--mc-text);margin-bottom:15px}.booking-resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.booking-resource-card{background:var(--mc-bg-card);border:1px solid var(--mc-border);border-radius:12px;padding:20px;text-decoration:none;transition:all .2s;display:block}.booking-resource-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.booking-resource-icon{font-size:24px;margin-bottom:8px}.booking-resource-name{font-size:14px;font-weight:600;color:var(--mc-text);margin-bottom:4px}.booking-resource-desc{font-size:12px;color:var(--mc-text-secondary);line-height:1.4}
