/* Functional extension of the established K02 surface. */
.skip-link{position:absolute;inset:8px auto auto 8px;transform:translateY(-160%);z-index:30;background:var(--yellow);padding:12px}.skip-link:focus{transform:none}
.site-header{height:auto;min-height:90px;flex-wrap:wrap;padding-block:14px}.site-header nav{margin-inline-start:auto;margin-inline-end:0}.site-header nav button{padding:10px 17px}
button,input,select,textarea{font-size:16px}.departure{grid-template-columns:minmax(340px,1.05fr) minmax(0,1fr)}.departure-form>h2{margin-bottom:6px}.departure-form>.field-help{margin-bottom:18px}.city-photo img{object-position:55% 50%}.city-photo{min-height:500px}.city-photo figcaption{align-items:flex-start;flex-direction:column}.two-fields{margin-block:18px}.mode-field{border:0;padding:0;margin:22px 0}.mode-field legend{font-weight:700;margin-bottom:8px}.mode-field label{display:flex;align-items:flex-start;gap:8px;line-height:1.7}.mode-field input,.check-line input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:4px;accent-color:#29446e}.check-line{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;line-height:1.8;margin-block:16px}.form-details{margin:22px 0}.form-details summary,.content-notes summary{font-weight:700;cursor:pointer;padding-block:12px}.form-details[open]{padding-bottom:10px}.form-details .field-help{margin-block:12px}.field-help,.quiet{font-size:14px}.notice{padding:18px 22px;background:var(--blue);border-radius:12px;margin-block:20px;overflow-wrap:anywhere}.notice p+p{margin-top:10px}.notice.error{background:#fcece7;color:#7b281e}.notice.error p,.inline-error{color:#7b281e}.notice ul{margin-block:8px;padding-inline-start:22px}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block:16px}.journeys-section{margin-top:48px}.journey-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-bottom:1px solid var(--line);padding:20px 0;align-items:center}.journey-row h3{overflow-wrap:anywhere}.journey-row p{font-size:14px;margin-top:5px}.content-notes{margin-block:24px}.content-notes p{margin-block:10px;max-width:72ch}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{white-space:nowrap}.candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px;max-width:920px;margin:auto}.candidate{min-width:0}.candidate .card-face{width:100%;display:block}.candidate img{width:100%;height:auto;display:block}.candidate .card-summary{font-size:14px;line-height:1.8;margin:12px 0}.card-choice{width:100%}.deck-list{display:flex;gap:10px;flex-wrap:wrap;margin-block:16px}.deck-list span{padding:8px 12px;background:var(--soft);border-radius:8px;font-size:14px}.selection-options{margin:20px 0}.selection-options label{margin-top:12px}.selection-options select{margin-bottom:16px}.selection-options p{margin-bottom:16px}.card-stage{padding-bottom:24px}.selected-difference{padding:18px 0;border-bottom:1px solid var(--line)}.selected-difference p{font-size:14px;margin-top:6px}.plan-grid{align-items:start}.plan-aside{position:sticky;top:24px}.plan-aside p{font-size:14px}.cost-number{display:block;font-size:28px;margin:10px 0}.plan-aside h2{margin-top:24px}.plan-aside h2:first-child{margin-top:0}.status-pill{font-size:14px}.itinerary-item{grid-template-columns:100px minmax(0,1fr)}.itinerary-item .time{font-variant-numeric:tabular-nums;font-size:14px}.itinerary-item h2{font-size:20px}.itinerary-item p{margin-top:10px}.itinerary-item small{display:block;font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}.itinerary-item.done{background:#edf5ed}.itinerary-item.skipped{opacity:.65}.itinerary-item.skipped h2{text-decoration:line-through}.itinerary-item .button-row{gap:8px}.itinerary-item .btn{font-size:14px;min-height:44px;padding:8px 12px}.block-adjust{padding-top:8px}.block-adjust label{font-size:14px}.block-adjust .two-fields{margin-block:8px}.block-adjust summary{cursor:pointer;min-height:44px;padding-block:8px}.block-task{padding:12px 0;line-height:1.8}.block-task strong{display:block;font-size:14px}.source-link{font-size:14px;display:inline-flex;align-items:center;min-height:44px}.empty-view{padding:40px 0}.empty-view p{margin:12px 0 24px}.record-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}.record-editor{padding:24px;background:var(--surface);border-radius:16px}.record-editor label{margin-top:18px}.record-editor textarea{resize:vertical}.record-editor .file-button{margin-top:16px}.record-editor img{max-width:100%;max-height:240px;object-fit:contain;margin-top:16px}.record-row{padding:24px 0;border-bottom:1px solid var(--line)}.record-row img{width:100%;max-height:360px;object-fit:contain;background:var(--soft);border-radius:12px;margin-block:16px}.record-words{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70ch}.record-meta{font-size:14px;color:var(--muted);margin-bottom:12px}.book-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.7fr);gap:40px;align-items:start}.book-paper{background:var(--surface);padding:40px;border-radius:12px;overflow-wrap:anywhere}.book-paper h2{font-size:30px;margin:12px 0 20px}.book-paper img{max-width:100%;max-height:500px;object-fit:contain;margin-block:20px}.book-paper article{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.book-controls label{margin-top:20px}.book-controls p{font-size:14px;margin-block:12px}.book-controls h2{margin-top:26px}.basic-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-block:20px}.basic-list p{font-size:14px}.basic-list h3{margin-bottom:6px}#feedback{max-width:min(560px,calc(100vw - 32px));overflow-wrap:anywhere}#save-state{font-variant-numeric:tabular-nums}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-button:has(+.file-input:focus-visible){outline:3px solid var(--focus);outline-offset:4px}
@media(max-width:800px){.site-header{gap:12px;padding:16px 20px}.site-header nav{width:100%;justify-content:space-between;gap:2px}.site-header nav button{padding:10px 12px}.departure{grid-template-columns:1fr}.city-photo{min-height:220px;order:-1}.departure-form{padding:24px}.plan-grid,.record-layout,.book-layout{grid-template-columns:1fr}.plan-aside{position:static}.candidates{gap:16px;grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 16px;max-width:100%}.candidate{scroll-snap-align:start}.card-stage{padding:18px 12px}.itinerary-item{grid-template-columns:1fr;gap:8px}.itinerary-item .time{font-weight:700}.book-paper{padding:24px}.basic-list{grid-template-columns:1fr}.review-strip{font-size:12px;align-items:flex-start}.journey-row{grid-template-columns:1fr}.page-heading{gap:16px;align-items:flex-start}main{padding-inline:20px}.plan-toolbar{flex-wrap:wrap}.button-row .btn{flex-grow:1}h1{font-size:32px}.book-controls{order:-1}.book-controls .button-row{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){.candidates.revealing .candidate{animation:card-arrive .45s cubic-bezier(.16,1,.3,1) both}.candidates.revealing .candidate:nth-child(2){animation-delay:.06s}.candidates.revealing .candidate:nth-child(3){animation-delay:.12s}@keyframes card-arrive{from{clip-path:inset(0 0 12%);transform:translateY(12px)}to{clip-path:inset(0);transform:none}}}
@media print{header,footer,.review-strip,.book-controls,.skip-link,#feedback{display:none!important}.book-layout{display:block}.book-paper{padding:0}.book-paper article{break-inside:avoid}body{background:#fff}}

.itinerary-item.gap button[data-status],.itinerary-item.gap .block-adjust{display:none}
h1[tabindex="-1"]:focus{outline:none}
@media(max-width:800px){.site-header nav button{font-size:14px;padding-inline:8px;white-space:nowrap;flex:1}}
.route-row{padding:20px 0 20px 100px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.route-row h3{font-size:16px}.route-row p,.route-row label{font-size:14px}.route-row details{max-width:640px}.route-row summary,.meal-details summary,.situation-panel>summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:700}.route-row form>label,.meal-details form>label{margin-top:16px}.route-row form>.btn,.meal-details form>.btn{margin-top:16px}.meal-details{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}.meal-details p{font-size:14px;max-width:65ch}.menu-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:20px}.menu-row label{font-size:14px}.menu-state{font-weight:700}.situation-panel{padding-block:16px;border-block:1px solid var(--line);margin-block:24px}.situation-panel>p{font-size:14px}.situation-panel form{max-width:720px}.situation-panel input[type=time]{max-width:220px}.situation-panel form>.btn{margin:16px 0 0 12px}#situation-preview{padding:20px;background:var(--blue);margin-top:20px;border-radius:12px}#situation-preview h3{margin-bottom:12px}#situation-preview p{margin-top:12px}.meal-details .two-fields{grid-template-columns:1fr 1fr}
@media(max-width:800px){.route-row{padding-inline-start:0}.menu-row{grid-template-columns:1fr 1fr}.menu-row>div:first-child{grid-column:1/-1}.meal-details .two-fields{grid-template-columns:1fr}.situation-panel form>.btn{margin-inline-start:0;display:flex}.situation-panel input[type=time]{max-width:none}}
