:root{--primary: #1a1a2e;--bg: #f8f7f4;--touch: 48px;--tap-min: 48px;--fs-base: 17px;--lh-base: 1.55;--fs-lg: 1.35rem;--fs-xl: 1.4rem;--fs-2xl: 1.6rem;--font-system: system-ui, -apple-system, sans-serif;--font-title: var(--font-system);--font-list: var(--font-system);--font-body: var(--font-system);--font-meta: var(--font-system);--font-digits: var(--font-system);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .7rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--list-gap: .5rem;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--border-w: 1px;--card-shadow: none;--surface: color-mix(in srgb, var(--bg) 94%, var(--primary) 6%);--card-bg: var(--surface);--card-border-color: color-mix(in srgb, var(--primary) 20%, transparent);--transition: .16s ease}*{box-sizing:border-box}html,body{overscroll-behavior-y:none}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--primary);font-size:var(--fs-base);line-height:var(--lh-base)}input,select,textarea{font-size:max(1rem,16px)}.shell{max-width:480px;margin:0 auto;padding-top:1.25rem;padding-right:max(1.25rem,env(safe-area-inset-right));padding-bottom:max(1.25rem,env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left));min-height:100dvh}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-4)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 1px var(--bg)}progress{width:100%;height:12px}.center button{min-height:var(--touch);padding:0 1.5rem;border:2px solid var(--primary);border-radius:var(--radius);background:var(--surface);transition:background var(--transition),transform var(--transition)}.center button:active{transform:scale(.98)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.app-header h1{font-size:var(--fs-lg);margin:0}.app-identity{display:flex;align-items:center;gap:.6rem;min-width:0}.app-logo{height:2.2rem;width:auto;max-width:40vw;object-fit:contain}.lang-switch{display:flex;gap:.4rem}.lang-switch button{min-width:var(--touch);min-height:var(--touch);border:2px solid var(--primary);border-radius:var(--radius-sm);background:transparent;transition:background var(--transition),color var(--transition),transform var(--transition)}.lang-switch button.active,.lang-switch button[aria-pressed=true]{background:var(--primary);color:var(--bg)}.lang-switch button:active{transform:scale(.96)}.keypad h2{font-size:1rem}.keypad-display{display:block;text-align:center;font-size:2rem;font-variant-numeric:tabular-nums;padding:.35rem;min-height:3rem}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.keypad-grid button{min-height:56px;font-size:1.4rem;border:1px solid var(--primary);border-radius:var(--radius);background:var(--surface);transition:background var(--transition),transform var(--transition)}.keypad-grid button:active{transform:scale(.96)}.keypad-grid .go{grid-column:3;background:var(--primary);color:var(--bg)}.keypad-grid button:disabled{opacity:.55;cursor:default}.tour h3{margin:1.25rem 0 .5rem}.station-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--list-gap)}.station-list a{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;min-height:var(--touch);background:var(--card-bg);border:var(--border-w) solid var(--card-border-color);border-radius:var(--radius);box-shadow:var(--card-shadow);color:inherit;text-decoration:none;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.station-list a:active{transform:scale(.99)}@media(hover:hover){.station-list a:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent)}}.station-number{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--primary);color:var(--bg);font-variant-numeric:tabular-nums;flex-shrink:0}.station-number.large{width:2.6rem;height:2.6rem;margin-right:.7rem}.station h1{display:flex;align-items:center;font-size:var(--fs-xl)}.back-link{display:inline-flex;align-items:center;min-height:var(--touch);color:inherit}.fallback-note{font-size:.9rem;opacity:.75}.audio-player{width:100%;margin:1rem 0;border-radius:var(--radius-pill)}.gallery{display:flex;gap:.5rem;flex-wrap:wrap}.gallery-thumb{padding:0;border:none;background:none;border-radius:12px;overflow:hidden}.gallery-thumb img{width:104px;height:104px;object-fit:cover;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;border:none;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10}.lightbox img{max-width:100%;max-height:100%}.body-text{white-space:pre-wrap}.map-section{margin-top:1.5rem}.map-figure{position:relative;display:block;line-height:0;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent)}.map-figure img{display:block;width:100%;height:auto}.map-marker{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;border-radius:50%;background:var(--primary);color:var(--bg);border:2px solid var(--bg);box-shadow:0 1px 4px #0006;font-variant-numeric:tabular-nums;text-decoration:none;line-height:1}.map-legend{margin-top:.75rem}.score-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);font-variant-numeric:tabular-nums;font-weight:600}.score-panel .score-name{display:block;margin-bottom:.5rem}.score-panel .score-name input{display:block;width:100%;max-width:20rem;margin-top:.25rem}.score-current{font-weight:600;font-variant-numeric:tabular-nums}.score-history{margin:.5rem 0 0;padding-left:1.25rem;font-variant-numeric:tabular-nums}.estimate-slider{display:block;margin:.5rem 0;font-variant-numeric:tabular-nums}.estimate-slider input[type=range]{display:block;width:100%;margin-top:.5rem}.estimate-feedback{min-height:1.25rem;font-weight:600}.order-list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.order-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:.5rem}.order-item .order-text{flex:1}.order-item.correct{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.order-item.wrong{border-style:dashed}.order-mark{font-weight:600;white-space:nowrap}.order-move{display:inline-flex;gap:.25rem}.order-move button{min-width:2.25rem;min-height:2.25rem}.order-result{min-height:1.25rem;font-weight:600}.match-images{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.match-image{position:relative;padding:.25rem;border:2px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:.5rem;background:transparent;cursor:pointer;line-height:0}.match-image img{width:6rem;height:6rem;object-fit:cover;border-radius:.25rem}.match-image.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.match-image.matched{border-style:solid;border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.match-check{position:absolute;top:.25rem;right:.25rem;min-width:1.5rem;min-height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:var(--bg);font-weight:700;line-height:1}.match-terms{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.match-term.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.match-term.matched{background:color-mix(in srgb,var(--primary) 12%,transparent)}.match-feedback,.match-score{min-height:1.25rem;font-weight:600}.hunt-input{display:block;margin:.5rem 0}.hunt-input input{display:block;width:8rem;margin-top:.25rem;font-variant-numeric:tabular-nums}.hunt-feedback{min-height:1.25rem;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.chaining-next{display:flex;align-items:center;justify-content:center;min-height:var(--touch);margin:1.5rem 0 .5rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--primary);color:var(--bg);font-weight:600;text-align:center;text-decoration:none;transition:transform var(--transition)}.chaining-next:active{transform:scale(.99)}.chaining-countdown-box{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.5rem 0 .5rem;padding:.75rem 1rem;border-radius:var(--radius-sm);border:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.chaining-countdown{flex:1 1 auto;margin:0;font-weight:600}.chaining-cancel{min-height:var(--touch);min-width:var(--touch);padding:.5rem 1.25rem;border-radius:var(--radius-sm);border:2px solid var(--primary);background:var(--bg);color:var(--primary);font-weight:600;transition:transform var(--transition)}.chaining-cancel:active{transform:scale(.97)}.game-error{margin:1rem 0;padding:.75rem 1rem;border:2px solid var(--primary);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--primary) 8%,transparent);font-weight:600}.quiz-answer,.hunt-check,.estimate-check,.order-check,.match-term,.favorite-toggle,button.secondary{background:var(--surface);color:inherit;border:1px solid var(--card-border-color);border-radius:var(--radius-sm);padding:.5rem .9rem;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.quiz-answer:active,.hunt-check:active,.estimate-check:active,.order-check:active,.order-move button:active,.match-term:active,.favorite-toggle:active,button.secondary:active{transform:scale(.98)}.hunt-check:disabled,.estimate-check:disabled,.order-check:disabled{opacity:.7;cursor:default}.order-move button{background:var(--surface);border:1px solid var(--card-border-color);border-radius:var(--radius-sm);transition:background var(--transition),transform var(--transition)}.quiz-answer.correct{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 16%,var(--surface));font-weight:600}.quiz-answer.wrong{border-style:dashed}[data-profile=accessible]{--tap-min: 56px;--fs-base: 1.125rem;--lh-base: 1.6;--border-w: 2px;--card-border-color: #9ca3af;--card-shadow: none}[data-profile=accessible] .keypad-grid button,[data-profile=accessible] .lang-switch button,[data-profile=accessible] .station-list a,[data-profile=accessible] .back-link,[data-profile=accessible] .center button{min-height:56px}[data-profile=accessible] .keypad-grid{gap:.7rem}[data-profile=accessible] .station-number{font-weight:700;border:2px solid var(--bg)}[data-profile=accessible] .station-list a{gap:1rem}[data-profile=gallery]{--fs-lg: var(--fs-2xl);--fs-xl: var(--fs-2xl);--radius: var(--radius-lg);--list-gap: 1rem;--card-shadow: 0 1px 3px rgba(0, 0, 0, .12)}[data-profile=gallery] .app-header{margin-bottom:var(--sp-5)}[data-profile=gallery] .app-header h1,[data-profile=gallery] .station h1,[data-profile=gallery] .tour-view h1,[data-profile=gallery] .tour-tile__label{letter-spacing:.015em;line-height:1.25}html[data-list-style=cards] .station-list a{padding:1rem 1.1rem;box-shadow:0 1px 3px #0000001f}html[data-list-style=cards] .station-list a>span:last-child{font-size:1.15rem}html[data-list-style=grid] .station-list{display:grid;grid-template-columns:1fr;gap:var(--list-gap)}@media(min-width:600px){html[data-list-style=grid] .station-list{grid-template-columns:1fr 1fr}}.tour-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--list-gap)}@media(min-width:600px){html[data-list-style=grid] .tour-tiles{grid-template-columns:1fr 1fr}}.tour-tile{position:relative;display:block;min-height:var(--touch);border-radius:var(--radius);border:var(--border-w) solid var(--card-border-color);box-shadow:var(--card-shadow);background:var(--card-bg);overflow:hidden;color:inherit;text-decoration:none;transition:border-color var(--transition),transform var(--transition)}.tour-tile:active{transform:scale(.99)}@media(hover:hover){.tour-tile:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent)}}.tour-tile__media{position:relative;display:block;aspect-ratio:16 / 9;background:var(--card-bg)}.tour-tile__img{width:100%;height:100%;object-fit:cover;display:block}.tour-tile__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 40%,transparent 75%)}.tour-tile__fallback{background:color-mix(in srgb,var(--primary) 88%,#000)}.tour-tile__body{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem;color:#fff}.tour-tile__fallback+.tour-tile__body{color:var(--bg)}.tour-tile__label{font-size:var(--fs-lg);font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.55)}.tour-tile__meta{font-size:.9rem;opacity:.9;font-variant-numeric:tabular-nums}[data-profile=accessible] .tour-tile__body{position:static;color:inherit;background:var(--card-bg)}[data-profile=accessible] .tour-tile__fallback+.tour-tile__body{color:inherit}[data-profile=accessible] .tour-tile__label{text-shadow:none}[data-profile=accessible] .tour-tile__scrim{display:none}[data-profile=gallery] .tour-tile__media{aspect-ratio:4 / 3}.tour-header-image{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius);margin-bottom:.75rem}.tour-view h1{font-size:var(--fs-xl);margin-top:.5rem}h1,h2,h3,.tour-tile__label{font-family:var(--font-title);font-weight:var(--fw-title, bold);line-height:var(--lh-title, inherit);letter-spacing:var(--ls-title, normal);text-transform:var(--tt-title, none)}.app-header h1{font-size:var(--fz-title, var(--fs-lg))}.station h1,.tour-view h1{font-size:var(--fz-title, var(--fs-xl))}.tour-tile__label{font-weight:var(--fw-title, 600);font-size:var(--fz-title, var(--fs-lg))}.station-list,.tour-tile__meta{font-family:var(--font-list)}.station-list a{font-size:var(--fz-list, inherit);font-weight:var(--fw-list, inherit);line-height:var(--lh-list, inherit);letter-spacing:var(--ls-list, normal);text-transform:var(--tt-list, none)}.body-text{font-family:var(--font-body);font-size:var(--fz-body, var(--fs-base));font-weight:var(--fw-body, inherit);line-height:var(--lh-body, var(--lh-base));letter-spacing:var(--ls-body, normal);text-transform:var(--tt-body, none)}.fallback-note{font-family:var(--font-meta);font-size:var(--fz-meta, .9rem);font-weight:var(--fw-meta, inherit);line-height:var(--lh-meta, inherit);letter-spacing:var(--ls-meta, normal);text-transform:var(--tt-meta, none)}.keypad-display,.keypad-grid button,.station-number,.map-marker{font-family:var(--font-digits);font-weight:var(--fw-digits, inherit);letter-spacing:var(--ls-digits, normal)}.keypad-display{font-size:var(--fz-digits, 2rem)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
