:root{--color-ink:#171717;--color-ink-deep:#111;--color-signal-gold:#f5b40d;--color-on-gold:#111;--color-on-ink:#fff;--color-surface:#f7f7f7;--color-paper:#f2efe5;--color-surface-muted:#e9e9e9;--color-border:#c8c8c8;--color-muted-on-ink:#d9d9d9;--font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Courier New", Courier, monospace;--font-data:"Courier New", Courier, ui-monospace, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-control:4px;--radius-surface:8px;--duration-fast:.15s;--duration-modal:.2s;--modal-close-dur:.15s;--ease-out:cubic-bezier(.22, 1, .36, 1);--focus-ring:3px solid var(--color-signal-gold);--z-modal-backdrop:30;--z-modal:40}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--color-paper);background-image:url(/bg.webp)}body{background-color:var(--color-paper);min-width:320px;color:var(--color-ink);font-family:var(--font-ui);background-image:url(/bg.webp);background-repeat:repeat;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.app-shell{background-color:var(--color-paper);background-image:url(/bg.webp);background-repeat:repeat;min-height:100dvh}.site-header{width:min(100%,760px);min-height:120px;padding:var(--space-4) max(var(--space-4), env(safe-area-inset-right)) 0 max(var(--space-4), env(safe-area-inset-left));flex-direction:column;align-items:center;margin:0 auto;display:flex}.site-header__brand{width:min(190px,70vw);color:inherit;margin:0 auto;display:block}.site-header__title{margin:0}.site-header__logo{width:100%;height:auto;display:block}.language-selector{margin:var(--space-3) auto 0}.language-selector__link{border:1px solid var(--color-ink);border-radius:var(--radius-control);min-width:44px;min-height:44px;color:var(--color-ink);transition-property:background-color,border-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;padding:0;font-size:.875rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.language-selector__link:hover{border-color:var(--color-signal-gold);background:var(--color-signal-gold);color:var(--color-on-gold)}.app-main{width:100%;padding:var(--space-4) max(var(--space-4), env(safe-area-inset-right)) var(--space-6) max(var(--space-4), env(safe-area-inset-left))}.action-hub,.route-page{width:min(100%,430px);padding:var(--space-4);border-radius:var(--radius-surface);color:var(--color-ink);background:#ffffffe6;margin:0 auto}.action-hub{gap:var(--space-5);flex-direction:column;display:flex}.action-group{gap:var(--space-2);flex-direction:column;display:flex}.action-group__title{margin:0 0 var(--space-1);color:var(--color-ink);font-family:var(--font-display);font-size:1rem;font-weight:750;line-height:1.25}.primary-action,.secondary-action,.back-action,.modal-action{touch-action:manipulation}.primary-action,.secondary-action{min-height:52px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);text-align:left;transition-property:background-color,border-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);align-items:center;font-size:1rem;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.primary-action__icon,.secondary-action__icon{flex:none;width:1.15rem;font-size:1.05rem}.primary-action__icon{margin-right:var(--space-2)}.secondary-action__icon{color:var(--color-ink)}.secondary-action__content{flex:auto;min-width:0}.primary-action{border:1px solid var(--color-signal-gold);background:var(--color-signal-gold);color:var(--color-on-gold);text-align:center;justify-content:center}.primary-action:hover{border-color:var(--color-ink-deep);background:var(--color-ink-deep);color:var(--color-on-ink)}.secondary-action{justify-content:flex-start;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink-deep);cursor:pointer}.secondary-action:hover{border-color:var(--color-ink);background:var(--color-surface-muted)}.secondary-action__title,.secondary-action__meta{display:block}.secondary-action__title{font-family:var(--font-display);letter-spacing:-.025em;font-weight:700}.secondary-action__meta{margin-top:var(--space-1);color:var(--color-ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:500;line-height:1.35}.secondary-action--stacked{display:flex}.back-action{min-height:44px;color:var(--color-ink);transition-property:color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);align-items:center;padding:0;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.back-action:hover{color:var(--color-ink-deep)}.back-action:before{content:"←";margin-right:var(--space-2)}.primary-action:active,.secondary-action:active,.language-selector__link:active,.footer__social-link:active,.wifi-modal__close:active,.modal-action:active{scale:.96}:is(.primary-action:focus-visible,.secondary-action:focus-visible,.back-action:focus-visible,.language-selector__link:focus-visible,.footer__contact-link:focus-visible,.footer__social-link:focus-visible,.wifi-modal__close:focus-visible,.modal-action:focus-visible){outline:var(--focus-ring);outline-offset:3px}.route-page{gap:var(--space-4);flex-direction:column;display:flex}.route-page--booking{width:min(100%,1180px)}.route-page__notes{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);display:grid}.route-page__note{color:var(--color-ink);text-wrap:pretty;margin:0;font-size:.9375rem;line-height:1.5}.bookingFrame{outline-offset:-1px;background:#fff;border:0;outline:1px solid #0000001a;width:100%;height:max(760px,100dvh - 260px);display:block}.site-footer{width:100%;margin:var(--space-4) 0 0;padding:var(--space-6) max(var(--space-4), env(safe-area-inset-right)) calc(var(--space-6) + env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));background:var(--color-ink-deep);color:var(--color-muted-on-ink)}.footer__content{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;width:min(100%,430px);margin:0 auto;display:flex}.footer__name{color:var(--color-on-ink);font-family:var(--font-display);margin:0;font-size:1rem;font-weight:700;line-height:1.35}.footer__contact-link{min-height:44px;color:inherit;transition-property:color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-size:.9375rem;line-height:1.4;text-decoration:none}.footer__contact-link:hover,.footer__social-link:hover{color:var(--color-signal-gold)}.footer__socials{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:inline-flex}.footer__social-link{width:44px;height:44px;color:var(--color-on-ink);transition-property:color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;font-size:1.25rem;text-decoration:none;display:inline-flex}.footer__social-link svg{width:1.25em;height:1.25em}.wifi-modal__overlay{z-index:var(--z-modal-backdrop);padding:var(--space-4);opacity:1;transition:opacity var(--duration-modal) var(--ease-out);background:#111111e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wifi-modal__overlay.is-closing{opacity:0;transition-duration:var(--modal-close-dur)}.wifi-modal__card{z-index:var(--z-modal);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);width:min(520px,100%);color:var(--color-ink);opacity:1;transition-property:opacity,transform;transition-duration:var(--duration-modal);transition-timing-function:var(--ease-out);transform:translateY(0)}.wifi-modal__card.is-closing{opacity:0;transition-duration:var(--modal-close-dur);pointer-events:none;transform:translateY(4px)}.wifi-modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.wifi-modal__title{color:var(--color-ink-deep);font-family:var(--font-display);text-wrap:balance;margin:0;font-size:1.125rem;line-height:1.25}.wifi-modal__close{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-ink-deep);cursor:pointer;transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:0;flex:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:inline-flex}.wifi-modal__close:hover{background:var(--color-ink-deep);color:var(--color-on-ink)}.wifi-modal__content{padding:var(--space-4)}.wifi-modal__row+.wifi-modal__row{margin-top:var(--space-3)}.wifi-modal__label{color:var(--color-ink);font-size:.875rem;font-weight:700;display:block}.wifi-modal__value{margin-top:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-ink-deep);font-family:var(--font-data);font-variant-numeric:tabular-nums;background:#fff;line-height:1.25}.modal-action{width:100%;min-height:44px;margin-top:var(--space-4);padding:var(--space-2) var(--space-4);border:1px solid var(--color-ink-deep);border-radius:var(--radius-control);background:var(--color-ink-deep);color:var(--color-on-ink);cursor:pointer;transition-property:background-color,border-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;font-weight:700;display:flex}.modal-action:hover{border-color:var(--color-signal-gold);background:var(--color-signal-gold);color:var(--color-on-gold)}.wifi-modal__copied{margin:var(--space-3) 0 0;color:var(--color-ink);text-align:center;font-size:.875rem;font-weight:700}@media (max-width:760px){.route-page--booking{width:100%}.bookingFrame{height:max(720px,78vh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
