.update-prompt{z-index:20;color:#f4f0e8;background:#2b2b2b;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex;position:fixed;bottom:4.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.update-prompt button{color:#f4f0e8;cursor:pointer;background:#9a2e24;border:none;border-radius:.375rem;padding:.4rem .75rem;font-weight:600}.bottom-nav{z-index:10;width:100%;max-width:var(--content-max);background:var(--color-bg);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav__list{margin:0;padding:0;list-style:none;display:flex}.bottom-nav__item{flex:1 1 0}.bottom-nav__link{min-height:var(--tap-min);height:var(--nav-height);color:var(--color-muted);font-size:var(--text-body);border-top:2px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav__link[aria-current=page]{border-top-color:var(--color-primary);color:var(--color-primary);font-weight:700}.bottom-nav__link:focus-visible{outline:2px solid var(--color-text);outline-offset:-4px}.primary-button{justify-content:center;align-items:center;gap:var(--space-1);width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-size:var(--text-body);text-align:center;cursor:pointer;border-radius:2px;flex-direction:column;font-weight:700;text-decoration:none;display:flex}.primary-button:active:not(:disabled){background:var(--color-text);border-color:var(--color-text)}.primary-button:disabled{border-color:var(--color-border);color:var(--color-muted);cursor:not-allowed;background:0 0}.primary-button__note{font-size:var(--text-note);font-weight:400;line-height:1.4}.primary-button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.status-message{align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);font-size:var(--text-body);border-radius:2px;line-height:1.6;display:flex}.status-message__mark{flex:none;font-weight:700}.status-message__word{font-size:var(--text-note);letter-spacing:.04em;flex:none;font-weight:700}.status-message--progress{color:var(--color-muted)}.status-message--error{border-left:3px solid var(--color-primary);color:var(--color-text)}.status-message--error .status-message__mark,.status-message--error .status-message__word{color:var(--color-primary)}.error-boundary{gap:var(--space-4);padding-block:var(--space-4);flex-direction:column;display:flex}.error-boundary__heading{font-size:var(--text-lead)}.error-boundary__note{color:var(--color-muted);font-size:var(--text-body)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-shell__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:calc(env(safe-area-inset-top,0px) + var(--space-4)) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.app-shell__brand{font-size:var(--text-note);letter-spacing:var(--tracking-brand);text-transform:uppercase;font-weight:700}.app-shell__badge{padding:2px var(--space-2);border:1px solid var(--color-primary);color:var(--color-primary);font-size:var(--text-note);white-space:nowrap;border-radius:2px;flex:none}.app-shell__main{padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + var(--space-6));flex:auto}.budget{gap:var(--space-6);flex-direction:column;display:flex}.budget__section{gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.budget__note{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.budget__body{font-size:var(--text-body);line-height:1.8}.budget__summary{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.budget__summary-cell{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.budget__summary-cell dt{color:var(--color-muted);font-size:var(--text-note)}.budget__summary-cell dd{font-size:var(--text-lead);font-variant-numeric:tabular-nums;margin:0}.budget__summary-cell--remaining{border-bottom-width:3px;border-bottom-color:var(--color-text)}.budget__summary-cell--remaining dt{color:var(--color-text);font-size:var(--text-body);font-weight:700}.budget__summary-cell--remaining dd{font-size:1.75rem;font-weight:700}.budget__over{gap:var(--space-1);padding-left:var(--space-3);border-left:3px solid var(--color-text);flex-direction:column;display:flex}.budget__over-word{font-size:var(--text-body);font-weight:700}.budget__over-detail{font-size:var(--text-note)}.budget__outlook{font-size:var(--text-body);font-weight:700;line-height:1.7}.budget__form{gap:var(--space-4);flex-direction:column;display:flex}.budget__field{gap:var(--space-2);flex-direction:column;display:flex}.budget__label{font-size:var(--text-body);font-weight:700}.budget__hint{color:var(--color-muted);font-size:var(--text-note)}.budget__input{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);background:0 0;border-radius:2px}.budget__input:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.budget__error{padding-left:var(--space-3);border-left:3px solid var(--color-text);font-size:var(--text-note);font-weight:700;line-height:1.6}.budget__form-actions{gap:var(--space-3);flex-direction:column;display:flex}.budget__button{min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.budget__button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.budget__button:active{background:var(--color-primary-wash)}.budget__ledger{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget__row{gap:var(--space-1) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:1fr auto;display:grid}.budget__row-meta{color:var(--color-muted);font-size:var(--text-note);grid-column:1}.budget__row-description{font-size:var(--text-body);overflow-wrap:anywhere;grid-column:1;font-weight:700}.budget__row-amount{font-size:var(--text-lead);font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center}.budget__row-state{font-size:var(--text-note);grid-column:1/-1;font-weight:700}.budget__row-actions{gap:var(--space-3);grid-column:1/-1;display:flex}.budget__confirm{gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);padding-left:var(--space-3);border-left:3px solid var(--color-text);flex-direction:column;grid-column:1/-1;display:flex}.budget__confirm-question{font-size:var(--text-body);overflow-wrap:anywhere;line-height:1.7}.budget__breakdown{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget__breakdown-row{align-items:baseline;gap:var(--space-1) var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);grid-template-columns:4.5rem 1fr auto;display:grid}.budget__breakdown-name{font-size:var(--text-body);grid-column:1}.budget__breakdown-amount{text-align:right;font-size:var(--text-body);font-variant-numeric:tabular-nums;grid-column:2}.budget__breakdown-share{text-align:right;min-width:3rem;font-size:var(--text-body);font-variant-numeric:tabular-nums;grid-column:3}.budget__bar{background:var(--color-border);grid-column:1/-1;height:3px;display:block}.budget__bar-fill{background:var(--color-text);height:100%;display:block}.chat{gap:var(--space-5);flex-direction:column;display:flex}.chat__lead{color:var(--color-muted);font-size:var(--text-body)}.chat__quick-questions{gap:var(--space-2);flex-wrap:wrap;display:flex}.chat__quick-question{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border-radius:2px}.chat__quick-question:disabled{color:var(--color-muted);cursor:not-allowed}.chat__messages{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chat__message{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.chat__message--user{color:var(--color-muted)}.chat__message-text{font-size:var(--text-body);white-space:pre-wrap}.chat__message-source{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-note)}.chat__form{gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.chat__label{font-weight:700}.chat__input{width:100%;min-height:calc(var(--tap-min) * 2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);resize:vertical;background:0 0;border-radius:2px}.chat__counter{color:var(--color-muted);font-size:var(--text-note);align-self:flex-end}.chat__counter--over{color:var(--color-primary);font-weight:700}.chat__retry{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border-radius:2px}.replan{gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.replan__reasons{gap:var(--space-2);flex-wrap:wrap;display:flex}.replan__notice{padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-muted);font-size:var(--text-note)}.replan__comparison{gap:var(--space-3);flex-direction:column;display:flex}.replan__comparison-date{font-weight:700}.replan__comparison-columns{gap:var(--space-4);flex-direction:column;display:flex}.replan__comparison-column h3{font-size:var(--text-body)}.replan__items{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.replan__item{padding-top:var(--space-2);border-top:1px solid var(--color-border)}.replan__item-time,.replan__item-note,.replan__item-cost,.replan__empty{color:var(--color-muted);font-size:var(--text-note)}.replan__actions{gap:var(--space-3);flex-direction:column;display:flex}.replan__cancel{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;text-decoration:underline}.booking-card{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-left:3px solid var(--color-text);flex-direction:column;grid-column:2;display:flex}.booking-card__facts{gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0;display:flex}.booking-card__fact{gap:var(--space-1);font-size:var(--text-note);display:flex}.booking-card__fact dt{color:var(--color-muted)}.booking-card__fact dd{margin:0}.booking-card__note{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.booking-card__status{font-size:var(--text-note);font-weight:700}.booking-card__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.booking-card__mark-reserved{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border:none;text-decoration:underline}.booking-card__mark-reserved:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.external-booking-confirm{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-text);flex-direction:column;display:flex}.external-booking-confirm__message{font-size:var(--text-body);line-height:1.7}.external-booking-confirm__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.external-booking-confirm__cancel{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border:none;text-decoration:underline}.external-booking-confirm__cancel:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.itinerary,.place{gap:var(--space-4);flex-direction:column;display:flex}.itinerary__span{font-size:var(--text-lead)}.itinerary__conditions,.itinerary__note,.place__note{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.itinerary__days{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.itinerary__day{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.itinerary__day-date{color:var(--color-muted);font-size:var(--text-note)}.itinerary__replan{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;text-decoration:underline}.itinerary__items{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.itinerary__item{gap:var(--space-1) var(--space-3);grid-template-columns:6.5rem 1fr;display:grid}.itinerary__item-time{color:var(--color-muted);font-size:var(--text-note);font-variant-numeric:tabular-nums;grid-column:1}.itinerary__item-kind{font-size:var(--text-note);grid-column:1;font-weight:700}.itinerary__item-title{grid-area:1/2;font-weight:700}.itinerary__item-title a{min-height:var(--tap-min);color:inherit;text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.itinerary__item-note,.itinerary__item-cost{font-size:var(--text-note);grid-column:2;line-height:1.6}.itinerary__item-cost{color:var(--color-muted);font-variant-numeric:tabular-nums}.place__kind{color:var(--color-muted);font-size:var(--text-note)}.place__description{font-size:var(--text-body);line-height:1.8}.place__facts{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.place__fact{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:6rem 1fr;display:grid}.place__fact-term{color:var(--color-muted);font-size:var(--text-note)}.place__fact-value{font-size:var(--text-body);margin:0}.place__link{min-height:var(--tap-min);color:var(--color-text);font-size:var(--text-body);text-underline-offset:4px;align-self:flex-start;align-items:center;text-decoration:underline;display:inline-flex}.place__link:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.place-actions{gap:var(--space-3);flex-direction:column;display:flex}.place-actions__link{min-height:var(--tap-min);color:var(--color-text);font-size:var(--text-body);text-underline-offset:4px;align-self:flex-start;align-items:center;text-decoration:underline;display:inline-flex}.place-actions__link:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.place-actions__external{font-size:var(--text-note);font-weight:400}.place-actions--offline{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--color-text)}.place-actions__offline-note,.place-actions__copy-state{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.place-actions__address{font-size:var(--text-body);-webkit-user-select:text;user-select:text;line-height:1.7}.place-actions__copy{min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-text);color:var(--color-text);font:inherit;font-size:var(--text-body);cursor:pointer;background:0 0;border-radius:2px;align-self:flex-start}.place-actions__copy:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.souvenirs{gap:var(--space-4);flex-direction:column;display:flex}.souvenirs__filters{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.souvenirs__filter{gap:var(--space-1);font-size:var(--text-note);flex-direction:column;display:flex}.souvenirs__filter select,.souvenirs__filter input{min-height:var(--tap-min);padding:var(--space-2);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);background:0 0}.souvenirs__tags{gap:var(--space-1) var(--space-3);border:none;flex-wrap:wrap;margin:0;padding:0;display:flex}.souvenirs__tags legend{width:100%;color:var(--color-muted);font-size:var(--text-note)}.souvenirs__tag{align-items:center;gap:var(--space-1);min-height:var(--tap-min);font-size:var(--text-body);display:inline-flex}.souvenirs__list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.souvenirs__item{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.souvenirs__item a{min-height:var(--tap-min);color:inherit;text-underline-offset:4px;align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.souvenirs__item-meta{color:var(--color-muted);font-size:var(--text-note);margin:0}.itinerary__more{gap:var(--space-4);flex-wrap:wrap;display:flex}.itinerary__more a{min-height:var(--tap-min);color:var(--color-text);text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.onboarding{gap:var(--space-6);flex-direction:column;display:flex}.onboarding__lead{color:var(--color-muted);font-size:var(--text-body)}.onboarding__sections{gap:var(--space-6);flex-direction:column;display:flex}.onboarding__section{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.onboarding__field{gap:var(--space-2);flex-direction:column;display:flex}.onboarding__label{font-weight:700}.onboarding__hint,.onboarding__error{font-size:var(--text-note);line-height:1.5}.onboarding__hint{color:var(--color-muted)}.onboarding__error{padding-left:var(--space-3);border-left:3px solid var(--color-primary);color:var(--color-primary);font-weight:700}.onboarding__input{width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit;font-size:var(--text-body);background:0 0;border-radius:2px}.onboarding__input:focus-visible{outline:2px solid var(--color-text);outline-offset:1px}.onboarding__input[aria-invalid=true]{border-color:var(--color-primary);border-width:2px}.onboarding__group{gap:var(--space-3);border:0;flex-direction:column;margin:0;padding:0;display:flex}.onboarding__legend{padding:0}.onboarding__choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.onboarding__choice{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);cursor:pointer;border-radius:2px;flex:auto;display:inline-flex}.onboarding__choice:has(input:checked){border-color:var(--color-text);background:var(--color-primary-wash);font-weight:700}.onboarding__choice:has(input:focus-visible){outline:2px solid var(--color-text);outline-offset:2px}.onboarding__checkbox{width:20px;height:20px;accent-color:var(--color-primary);flex:none}.onboarding__actions{gap:var(--space-3);flex-direction:column;display:flex}.onboarding__back{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--text-body);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-self:center;text-decoration:underline}.onboarding__back:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.onboarding__summary{font-size:var(--text-body);line-height:1.8}.onboarding__notice{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--color-text);flex-direction:column;display:flex}.onboarding__notice-headline{font-weight:700}.onboarding__notice-reason,.onboarding__caption{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.onboarding__days{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.onboarding__day{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.onboarding__day-date{color:var(--color-muted);font-size:var(--text-note)}.onboarding__items{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.onboarding__item{gap:var(--space-1) var(--space-3);grid-template-columns:6.5rem 1fr;display:grid}.onboarding__item-time{color:var(--color-muted);font-size:var(--text-note);font-variant-numeric:tabular-nums}.onboarding__item-title{font-size:var(--text-body);font-weight:700}.onboarding__item-body{gap:var(--space-1);flex-direction:column;grid-column:2;display:flex}.onboarding__item-note,.onboarding__item-cost{font-size:var(--text-note);line-height:1.6}.onboarding__item-cost{color:var(--color-muted);font-variant-numeric:tabular-nums}.onboarding__empty-day{color:var(--color-muted);font-size:var(--text-note)}.summary{gap:var(--space-5);flex-direction:column;display:flex}.summary__intro,.summary__note{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.summary__section{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.summary__visited,.summary__messages,.summary__breakdown,.summary__photos{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.summary__visited li{gap:var(--space-2);font-size:var(--text-body);flex-wrap:wrap;display:flex}.summary__visited-date{color:var(--color-muted);font-size:var(--text-note)}.summary__spend{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.summary__spend-cell{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.summary__spend-cell dt{color:var(--color-muted);font-size:var(--text-note)}.summary__spend-cell dd{font-size:var(--text-lead);font-variant-numeric:tabular-nums;margin:0}.summary__breakdown-row{gap:var(--space-1) var(--space-4);font-size:var(--text-note);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.summary__breakdown-name{font-variant-numeric:normal;min-width:5rem;font-weight:700}.summary__message{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.summary__message-role{color:var(--color-muted);font-size:var(--text-note)}.summary__message p{font-size:var(--text-body);margin:0;line-height:1.7}.summary__photo-input{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-text);color:var(--color-text);font-size:var(--text-body);cursor:pointer;align-self:flex-start;display:inline-flex}.summary__photo-input:focus-within{outline:2px solid var(--color-text);outline-offset:2px}.summary__photo-input input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.summary__photos{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.summary__photo{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);width:100%;display:block}.today{gap:var(--space-6);flex-direction:column;display:flex}.today__masthead{gap:var(--space-2);flex-direction:column;display:flex}.today__dateline{gap:var(--space-3);color:var(--color-muted);font-size:var(--text-note);flex-wrap:wrap;display:flex}.today__area{padding-left:var(--space-3);border-left:1px solid var(--color-border)}.today__section{gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.today__note{color:var(--color-muted);font-size:var(--text-note);line-height:1.6}.today__body{font-size:var(--text-body)}.today__weather{font-weight:700}.today__link,.today__next-detail{min-height:var(--tap-min);color:var(--color-text);font-size:var(--text-body);text-underline-offset:4px;align-self:flex-start;align-items:center;text-decoration:underline;display:inline-flex}.today__link:focus-visible,.today__next-detail:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.today__next{gap:var(--space-3);padding-top:var(--space-5);border-top:3px solid var(--color-text);flex-direction:column;display:flex}.today__next h2{color:var(--color-muted);font-size:var(--text-note);letter-spacing:.08em}.today__next-time{font-size:var(--text-lead);font-variant-numeric:tabular-nums}.today__next-day{color:var(--color-muted);font-size:var(--text-note)}.today__next-title{font-size:1.75rem;font-weight:700;line-height:1.3}.today__next-body{font-size:var(--text-body);line-height:1.8}.today__next-depart{font-size:var(--text-body)}.today__next-depart-time{font-size:var(--text-title);font-variant-numeric:tabular-nums}.today__next-state{padding-left:var(--space-3);border-left:3px solid var(--color-text);font-weight:700}.today__timeline{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today__timeline-item{gap:var(--space-1) var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--color-border);grid-template-columns:5.5rem 1fr;display:grid}.today__timeline-item--done{color:var(--color-muted)}.today__timeline-item--now{border-left:3px solid var(--color-text)}.today__timeline-time{font-size:var(--text-note);font-variant-numeric:tabular-nums;grid-area:1/1}.today__timeline-state{font-size:var(--text-note);grid-area:2/1;font-weight:700}.today__timeline-title{font-size:var(--text-body);grid-area:1/2;font-weight:700}.today__timeline-title a{min-height:var(--tap-min);color:inherit;text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.today__timeline-cost{color:var(--color-muted);font-size:var(--text-note);font-variant-numeric:tabular-nums;grid-area:2/2}.today__transport{gap:var(--space-4);flex-direction:column;margin:0;display:flex}.today__transport-row{gap:var(--space-1);flex-direction:column;display:flex}.today__transport-name{font-weight:700}.today__transport-detail{font-size:var(--text-body);margin:0;line-height:1.7}.today__nearby{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today__nearby-item{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.today__nearby-kind{color:var(--color-muted);font-size:var(--text-note)}.today__nearby-name a{min-height:var(--tap-min);color:var(--color-text);font-size:var(--text-body);text-underline-offset:4px;align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.shooting-picker{gap:var(--space-6);flex-direction:column;display:flex}.shooting-picker__badge{color:var(--color-muted);font-size:var(--text-caption)}.shooting-picker__list{gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.shooting-picker__button{align-items:flex-start;gap:var(--space-1);width:100%;min-height:var(--tap-min);padding:var(--space-3);border:1px solid var(--color-border);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;display:flex}.shooting-picker__number{color:var(--color-muted);font-weight:700}.shooting-picker__actions{gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.shooting-demo-screen{gap:var(--space-5);flex-direction:column;display:flex}.shooting-demo-screen__badge,.shooting-checkout__badge{color:var(--color-muted);font-size:var(--text-caption)}.shooting-checkout{gap:var(--space-5);flex-direction:column;display:flex}.shooting-checkout__facts{gap:var(--space-2);flex-direction:column;display:flex}.shooting-checkout__facts div{justify-content:space-between;gap:var(--space-3);display:flex}.shooting-checkout__note{color:var(--color-muted);font-size:var(--text-caption)}:root{--color-bg:#f4f0e8;--color-text:#26221c;--color-primary:#9a2e24;--color-muted:#756c60;--color-border:#cfc7ba;--tap-min:44px;--content-max:430px;--color-on-primary:#f8f5ef;--color-primary-wash:#9a2e2414;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--text-body:1rem;--text-note:.875rem;--text-lead:1.125rem;--text-title:1.375rem;--tracking-brand:.18em;--nav-height:56px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic Medium,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:1rem;line-height:1.7}#root{max-width:var(--content-max);min-height:100dvh;margin-inline:auto}h1,h2,h3{margin:0;font-weight:700;line-height:1.45}h1{font-size:var(--text-title)}h2{font-size:var(--text-lead)}h3{font-size:var(--text-body)}p{margin:0}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
