.state-page{max-inline-size:36rem;padding:var(--space-12) var(--space-4);text-align:center;margin-inline:auto}.state-page h1{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-primary);margin-block:var(--space-4)}.state-page__name{color:var(--color-fg-muted)}body:has(.bottom-nav){padding-block-end:calc(4.5rem + env(safe-area-inset-bottom))}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2}.text{white-space:pre-line}.note{color:var(--color-fg-muted);font-size:var(--text-sm)}.btn{font:inherit;min-block-size:var(--tap);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--accent{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-accent)}.btn--outline{background:var(--color-surface);color:var(--color-link);border-color:var(--color-control-border)}.guide-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-block-end:1px solid var(--color-border);padding-block-start:calc(var(--space-2) + env(safe-area-inset-top));display:flex;position:sticky;inset-block-start:0}.guide-header__brand{align-items:center;gap:var(--space-2);min-block-size:var(--tap);color:var(--color-fg);font-family:var(--font-heading);font-weight:600;text-decoration:none;display:flex}.guide-header__brand img{border-radius:var(--radius-full)}.guide-header__actions{align-items:center;gap:var(--space-2);display:flex}.emergency-button{min-block-size:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-full);background:var(--color-danger);color:var(--color-on-danger);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.guide-main{max-inline-size:40rem;padding:var(--space-4);margin-inline:auto}.bottom-nav{z-index:20;background:var(--color-surface);border-block-start:1px solid var(--color-border);padding-block-end:env(safe-area-inset-bottom);position:fixed;inset-block-end:0;inset-inline:0}.bottom-nav ul{grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid}.bottom-nav a{min-block-size:3.5rem;color:var(--color-fg-muted);font-size:var(--text-min);flex-direction:column;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--color-primary);font-weight:700}.welcome{gap:var(--space-2);display:grid}.welcome__image{object-fit:cover;border-radius:var(--radius-lg);max-block-size:9rem;inline-size:100%}.welcome__title{font-size:var(--text-2xl);color:var(--color-primary);margin:0}.stay-times{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stay-times li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-fg);font-weight:600}.wifi-box{margin-block:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-alt);border:1px solid var(--color-border)}.wifi-box h2{margin-block:0 var(--space-2);font-size:var(--text-xl)}.password-row{gap:var(--space-2);display:grid}.password-row__input{min-block-size:var(--tap);padding-inline:var(--space-3);font:inherit;font-family:ui-monospace,monospace;font-size:var(--text-lg);border:1px solid var(--color-control-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-fg);-webkit-user-select:all;user-select:all}.copy-status{min-block-size:1.5em;color:var(--color-fg);font-size:var(--text-sm);margin:0}.wifi-networks{margin:var(--space-2) 0 0;padding:0;list-style:none}.wifi-networks__item{justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2);border-block-start:1px solid var(--color-border);flex-wrap:wrap;display:flex}.wifi-networks__ssid{font-weight:600}.wifi-networks__label{color:var(--color-fg-muted)}.quick-actions ul,.area-cards ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.quick-actions ul{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.area-card{min-block-size:4rem;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-fg);font-family:var(--font-heading);font-size:var(--text-lg);align-items:center;text-decoration:none;display:flex}.area-title{font-size:var(--text-2xl);color:var(--color-primary)}.bridge{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-subtle)}.bridge a{color:var(--color-link);font-weight:600}.module{margin-block:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);scroll-margin-block-start:5rem}.module__summary{min-block-size:var(--tap);padding:var(--space-2) var(--space-4);cursor:pointer;align-items:center;display:flex}.module__title{font-size:var(--text-lg);margin:0}.module__body{padding:0 var(--space-4) var(--space-4);gap:var(--space-3);display:grid}.field__label{font-size:var(--text-base);color:var(--color-fg-muted);margin:0}.lead{font-size:var(--text-lg);margin:0;font-weight:600}.access-code strong{font-family:ui-monospace,monospace;font-size:var(--text-xl)}.steps,.rules{gap:var(--space-2);margin:0;padding-inline-start:var(--space-6);display:grid}.chips{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.chips legend{margin-block-end:var(--space-2);font-weight:600}.chip{min-block-size:var(--tap);padding-inline:var(--space-4);border:1px solid var(--color-control-border);border-radius:var(--radius-full);background:var(--color-surface);cursor:pointer;align-items:center;display:inline-flex;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip:has(input:checked){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.chip:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.menu__items{margin:0;padding:0;list-style:none}.menu-item{padding-block:var(--space-2);border-block-end:1px solid var(--color-border)}.menu-item__head{justify-content:space-between;gap:var(--space-3);display:flex}.menu-item__price{white-space:nowrap;font-weight:600}.menu-item__allergens{font-size:var(--text-sm);color:var(--color-fg-muted);margin:0}.allergen-legend summary{min-block-size:var(--tap);cursor:pointer;color:var(--color-link);align-items:center;display:flex}.allergen-legend dl div{gap:var(--space-2);display:flex}.allergen-legend dt{min-inline-size:2ch;font-weight:700}.allergen-legend dd{margin:0}.services{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.services__item{gap:var(--space-3);align-items:flex-start;display:flex}.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.poi-list{gap:var(--space-3);display:grid}.poi-list__items{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.poi-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-1);display:grid}.poi-card__name{font-size:var(--text-lg);margin:0}.poi-card__meta{color:var(--color-fg-muted);font-size:var(--text-sm);margin:0}.poi-list__off-season h3{color:var(--color-fg-muted)}.empty-state{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-alt)}.timetable{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.timetable table{border-collapse:collapse;font-size:var(--text-sm);white-space:nowrap}.timetable caption{text-align:start;padding:var(--space-2);font-weight:600}.timetable th,.timetable td{padding:var(--space-1) var(--space-2);border-block-start:1px solid var(--color-border)}.timetable th[scope=row]{background:var(--color-surface);text-align:start;position:sticky;inset-inline-start:0}.timetable__mine th,.timetable__mine td{background:var(--color-primary-subtle);font-weight:700}.suspended{padding-block-end:var(--space-12)}.emergency-list{gap:var(--space-3);display:grid}.call-button{min-block-size:4rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-danger);color:var(--color-on-danger);flex-direction:column;justify-content:center;text-decoration:none;display:flex}.call-button__label{font-size:var(--text-sm)}.call-button__number{font-size:var(--text-xl);font-weight:700}.emergency-place{gap:var(--space-2);border-block-start:1px solid var(--color-border);padding-block-start:var(--space-2);display:grid}.emergency-place h3{font-size:var(--text-lg);margin:0}.language-button{min-block-size:var(--tap);min-inline-size:var(--tap);padding-inline:var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-fg);font:inherit;cursor:pointer;font-weight:700}.language-sheet{border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-surface);inline-size:min(22rem,100vw - 2rem);color:var(--color-fg);border:0}.language-sheet::backdrop{background:#00000080}.language-sheet fieldset{margin:0 0 var(--space-4);gap:var(--space-1);border:0;padding:0;display:grid}.language-sheet legend{margin-block-end:var(--space-2);font-weight:700}.language-option{align-items:center;gap:var(--space-3);min-block-size:var(--tap);cursor:pointer;display:flex}.language-option input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-primary)}.language-links{gap:var(--space-2);padding:0;list-style:none;display:grid}.language-links a{min-block-size:var(--tap);color:var(--color-link);justify-content:center;align-items:center;font-weight:600;display:flex}.banner{z-index:15;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-on-primary);flex-wrap:wrap;display:flex;position:sticky;inset-block-start:3.75rem}.banner--offline{background:var(--color-warning);color:var(--color-on-warning)}.banner--notice{background:var(--color-surface-alt);color:var(--color-fg)}.banner--mandatory{background:var(--color-danger);color:var(--color-on-danger)}.banner__reload{min-block-size:var(--tap);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:1;font-weight:700;text-decoration:underline}
