:root,[data-theme=washi-map]{--color-paper:oklch(97% .016 82);--color-paper-2:oklch(94% .022 82);--color-paper-3:oklch(90% .028 82);--color-map:oklch(94% .025 225);--color-water:oklch(88% .07 225);--color-rule:oklch(82% .03 76);--color-rule-2:oklch(63% .035 72);--color-muted:oklch(47% .025 70);--color-neutral:oklch(34% .025 72);--color-ink-2:oklch(28% .055 250);--color-ink:oklch(21% .06 250);--color-accent:oklch(30% .09 250);--color-accent-soft:oklch(92% .028 78);--color-accent-ink:oklch(98% .012 82);--color-signal:oklch(50% .18 34);--color-signal-hover:oklch(44% .17 32);--color-report:oklch(82% .14 82);--color-report-hover:oklch(76% .15 78);--color-allowed:oklch(44% .11 162);--color-cover:oklch(49% .14 70);--color-private:oklch(44% .12 255);--color-blocked:oklch(64% .015 250);--color-blocked-ink:oklch(27% .025 250);--color-unknown:oklch(47% .12 305);--color-focus:oklch(56% .18 34);--color-error:oklch(48% .18 25);--color-success:oklch(46% .12 155);--color-status-open-bg:oklch(91% .055 155);--color-status-open-ink:oklch(36% .105 158);--color-status-holiday-bg:oklch(92% .055 78);--color-status-holiday-ink:oklch(42% .09 70);--color-status-closed-bg:oklch(91% .035 35);--color-status-closed-ink:oklch(39% .08 30);--color-status-unknown-bg:oklch(91% .025 82);--color-status-unknown-ink:oklch(38% .025 72);--color-transparent:transparent;--color-shadow:oklch(20% .05 250/.16);--color-shadow-strong:oklch(18% .06 250/.24);--color-overlay:oklch(16% .06 250/.58);--font-display:"Noto Serif TC", ui-serif, serif;--font-body:"Noto Sans TC", ui-sans-serif, sans-serif;--font-label:"Noto Sans TC", ui-sans-serif, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-display:2.25rem;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--rule-card:1px;--radius-card:1.5rem;--radius-input:.875rem;--radius-pill:999px;--radius-round:50%;--radius-status:.25rem;--control-height:3rem;--app-bar-height:5.25rem;--bottom-nav-height:4.5rem;--result-sheet-collapsed-height:6rem;--sidebar-width:27rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-paper);color:var(--color-ink);margin:0;overflow-x:clip}body{min-width:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;overflow-y:hidden}button,input,select,textarea{font:inherit}button,a{min-height:var(--control-height);white-space:nowrap}button{border:var(--rule-card) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button:active,a:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}button[data-state=loading]{cursor:progress}button[data-state=error]{border-color:var(--color-error)}button[data-state=success]{border-color:var(--color-success)}a{color:inherit}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}h1,h2,h3,p{margin:0}[hidden]{display:none!important}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);line-height:1.25}.skip-link{z-index:var(--z-tooltip);padding:var(--space-sm) var(--space-md);transform:translateY(calc(-100% - var(--space-lg)));border-radius:var(--radius-input);background:var(--color-signal);color:var(--color-accent-ink);position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm)}.skip-link:focus-visible{transform:translateY(0)}.app-bar{z-index:var(--z-sticky);min-height:var(--app-bar-height);justify-content:space-between;align-items:center;gap:var(--space-sm);border-block-end:3px solid var(--color-signal);background:var(--color-ink);color:var(--color-accent-ink);padding-inline:max(var(--space-md), env(safe-area-inset-left), env(safe-area-inset-right));line-height:1;display:flex;position:relative}.wordmark{align-items:center;gap:var(--space-sm);min-width:0;text-decoration:none;display:inline-flex}.wordmark__mark{border:2px solid var(--color-signal);border-radius:var(--radius-round);width:2.75rem;height:2.75rem;color:var(--color-signal);flex:none;place-items:center;display:grid}.wordmark__mark svg{stroke-width:2.4px;width:2rem;height:2rem}.wordmark__copy{gap:var(--space-3xs);min-width:0;display:grid}.wordmark__copy strong{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.08em;line-height:1.1}.wordmark__copy small{opacity:.76;font-size:var(--text-xs);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.location-button{min-height:var(--control-height);align-items:center;gap:var(--space-xs);border:var(--rule-hair) solid var(--color-paper-3);border-radius:var(--radius-pill);padding-inline:var(--space-sm);font-size:var(--text-sm);flex:none;display:inline-flex}.location-button svg:first-child{color:var(--color-signal)}.app-bar__end{align-items:center;gap:var(--space-sm);display:flex}.desktop-actions{display:none}.map-app{height:calc(100dvh - var(--app-bar-height) - var(--bottom-nav-height));min-height:0;position:relative;overflow:clip}.search-tools{z-index:var(--z-sticky);gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);padding:var(--space-sm) var(--space-md) var(--space-md);box-shadow:0 4px 12px var(--color-shadow);display:grid;position:absolute;inset-block-start:0;inset-inline:0}.search-tools h1{font-size:var(--text-lg);letter-spacing:.02em}.search-tools__head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.filter-button{min-height:var(--control-height);align-items:center;gap:var(--space-xs);border-color:var(--color-accent);border-radius:var(--radius-pill);padding-inline:var(--space-sm);color:var(--color-accent);font-size:var(--text-sm);flex:none;display:inline-flex}.search-field{color:var(--color-neutral);display:grid}.search-field__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.search-field__control{align-items:center;gap:var(--space-sm);border:var(--rule-card) solid var(--color-accent);border-radius:var(--radius-input);background:var(--color-paper);min-height:3.25rem;color:var(--color-signal);padding-inline:var(--space-md);box-shadow:0 2px 0 var(--color-rule);display:flex}.search-field__control:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.search-field input{background:var(--color-transparent);width:100%;min-width:0;min-height:3rem;color:var(--color-ink);border:0;outline:0}.search-field input::placeholder{color:var(--color-muted)}.filter-row{gap:var(--space-xs);padding-block:var(--space-3xs);scrollbar-width:none;flex-wrap:wrap;display:flex}.filter-row::-webkit-scrollbar{display:none}.filter-row button{min-height:var(--control-height);border-color:var(--color-rule-2);border-radius:var(--radius-pill);padding-inline:var(--space-md);font-size:var(--text-sm);flex:none;font-weight:500}.filter-row button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.filter-row button[data-policy=allowed]:not([aria-pressed=true]){color:var(--color-allowed)}.filter-row button[data-policy=cover_required]:not([aria-pressed=true]){color:var(--color-cover)}.filter-row button[data-policy=private_only]:not([aria-pressed=true]){color:var(--color-private)}.filter-row button[data-policy=not_allowed]:not([aria-pressed=true]){color:var(--color-blocked-ink)}.filter-row button[data-policy=unknown]:not([aria-pressed=true]){color:var(--color-unknown)}.map-stage{background:var(--color-map);color:var(--color-ink);position:absolute;inset:0;overflow:clip}.map-caption{z-index:var(--z-raised);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);padding:var(--space-xs) var(--space-sm);box-shadow:0 3px 10px var(--color-shadow);font-size:var(--text-xs);display:grid;position:absolute;inset-block-start:11.75rem;inset-inline-end:var(--space-md)}.map-caption strong{font-family:var(--font-display);font-size:var(--text-sm)}.map-caption__count{color:var(--color-muted)}.map-legend{gap:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:var(--space-xs);padding-block-start:var(--space-xs);display:flex}.map-legend span{align-items:center;gap:var(--space-2xs);color:var(--color-neutral);display:inline-flex}.map-legend svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1rem;height:1rem}.policy-legend{border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:var(--space-xs);padding-block-start:var(--space-xs)}.policy-legend summary{cursor:pointer;color:var(--color-accent);font-weight:700}.policy-legend>div{gap:var(--space-2xs);margin-block-start:var(--space-xs);display:grid}.policy-legend span{align-items:center;gap:var(--space-xs);color:var(--color-neutral);white-space:nowrap;display:flex}.policy-dot{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-status);background:var(--color-unknown);flex:none}.policy-dot--allowed{background:var(--color-allowed)}.policy-dot--cover_required{background:var(--color-cover)}.policy-dot--private_only{background:var(--color-private)}.policy-dot--not_allowed{background:var(--color-blocked)}.policy-dot--unknown{background:var(--color-unknown)}.leaflet-map{z-index:var(--z-base);background:var(--color-map);width:100%;height:100%;font-family:var(--font-body);position:absolute;inset:0}.onsen-marker-shell{background:var(--color-transparent);cursor:pointer;border:0;width:3rem;height:3.25rem;margin:0;padding:0;position:absolute}.onsen-marker{border:3px solid var(--color-paper);border-radius:var(--radius-input);width:3rem;height:2.65rem;color:var(--color-paper);box-shadow:0 2px 7px var(--color-shadow-strong);place-items:center;display:grid;position:relative}.onsen-marker:after{background:inherit;content:"";width:.7rem;height:.7rem;position:absolute;inset-block-end:-.4rem;inset-inline-start:50%;transform:translate(-50%)rotate(45deg)}.onsen-marker svg{z-index:1;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.55rem;height:1.55rem;position:relative}.onsen-marker--allowed{background:var(--color-allowed)}.onsen-marker--cover_required{background:var(--color-cover)}.onsen-marker--private_only{background:var(--color-private)}.onsen-marker--not_allowed{background:var(--color-blocked);color:var(--color-blocked-ink)}.onsen-marker--unknown{background:var(--color-unknown);color:var(--color-paper)}.onsen-marker.is-selected{box-shadow:0 0 0 3px var(--color-signal), 0 2px 7px var(--color-shadow-strong)}.result-sheet{inset-inline:var(--space-xs);z-index:var(--z-sticky);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-paper);height:52%;min-height:17.5rem;color:var(--color-ink);box-shadow:0 -5px 20px var(--color-shadow-strong);border-block-end:0;position:absolute;inset-block-end:0;overflow:hidden}.sheet-handle{width:3rem;height:var(--space-2xs);margin:var(--space-xs) auto;border-radius:var(--radius-pill);background:var(--color-rule-2);display:block}.result-sheet__head{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);display:flex}.result-sheet__head h2{font-size:var(--text-lg);letter-spacing:.02em}.result-sheet__head p,.review-warning{color:var(--color-muted);font-size:var(--text-xs)}.result-sheet__tools{align-items:center;gap:var(--space-xs);display:flex}.sheet-toggle{min-height:var(--control-height);align-items:center;gap:var(--space-2xs);border-color:var(--color-accent);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-accent);padding-inline:var(--space-sm);font-size:var(--text-xs);white-space:nowrap;font-weight:700;display:inline-flex}.sheet-toggle svg{width:1rem;height:1rem}@media (width<=47.99rem){.map-caption{display:none}.result-sheet[data-collapsed=true]{height:var(--result-sheet-collapsed-height);min-height:var(--result-sheet-collapsed-height)}.result-sheet[data-collapsed=true] .review-warning,.result-sheet[data-collapsed=true] .bath-list,.result-sheet[data-collapsed=true] .foot-mast{display:none}}.sort-button{min-height:var(--control-height);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);padding-inline:var(--space-sm);color:var(--color-neutral);font-size:var(--text-xs);flex:none;align-items:center;display:inline-flex}.review-warning{padding:0 var(--space-md) var(--space-xs)}.bath-list{overscroll-behavior:contain;border-block-start:var(--rule-hair) solid var(--color-rule);height:calc(100% - 7.75rem);padding:var(--space-sm);overflow-y:auto}.bath-row{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;margin-block-end:var(--space-xs);display:grid}.bath-row[hidden]{display:none}.bath-row.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 2px 0 var(--color-rule)}.bath-row__symbol{border:2px solid var(--color-paper);border-radius:var(--radius-round);width:2.75rem;height:2.75rem;color:var(--color-paper);font-family:var(--font-label);font-size:var(--text-xs);place-items:center;font-weight:700;display:grid;box-shadow:0 0 0 1px}.bath-row__symbol--allowed{background:var(--color-allowed)}.bath-row__symbol--cover_required{background:var(--color-cover)}.bath-row__symbol--private_only{background:var(--color-private)}.bath-row__symbol--not_allowed{background:var(--color-blocked);color:var(--color-blocked-ink)}.bath-row__symbol--unknown{background:var(--color-unknown);color:var(--color-paper)}.bath-row__symbol svg,.detail-hero__symbol svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.6rem;height:1.6rem}.bath-row__body{gap:var(--space-2xs);min-width:0;display:grid}.bath-row__summary{color:var(--color-neutral);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bath-row__meta{gap:var(--space-xs) var(--space-md);color:var(--color-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.bath-row__meta span:before{content:"✓ ";color:var(--color-allowed)}.bath-row__actions{justify-items:end;gap:var(--space-xs);display:grid}.favorite-card{min-width:var(--control-height);color:var(--color-signal);font-size:var(--text-xl);border:0}.bath-row__title{align-items:center;gap:var(--space-xs);flex-wrap:wrap;min-width:0;display:flex}.bath-row h3{font-size:var(--text-base)}.detail-link{background:var(--color-transparent);max-width:100%;min-height:auto;color:var(--color-ink);font-family:var(--font-display);text-align:start;text-overflow:ellipsis;border:0;border-radius:0;padding:0;font-weight:700;display:block;overflow:hidden}.policy-badge{border:var(--rule-hair) solid currentColor;border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);flex:none;font-weight:500}.policy-badge--allowed{color:var(--color-allowed)}.policy-badge--cover_required{color:var(--color-cover)}.policy-badge--private_only{color:var(--color-private)}.policy-badge--not_allowed{color:var(--color-blocked-ink)}.policy-badge--unknown{color:var(--color-unknown)}.trust-badge{border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);flex:none;font-weight:700}.trust-badge--candidate{border:var(--rule-hair) dashed var(--color-muted);color:var(--color-muted)}.trust-badge--approved{border:var(--rule-hair) solid var(--color-allowed);color:var(--color-allowed)}.candidate-warning{border:var(--rule-hair) dashed var(--color-muted);border-radius:var(--radius-input);background:var(--color-paper-3);padding:var(--space-xs) var(--space-sm);color:var(--color-neutral);font-size:var(--text-sm);font-weight:700}.operation-badge{border-radius:var(--radius-status);background:var(--color-status-unknown-bg);min-height:1.5rem;padding-inline:var(--space-xs);color:var(--color-status-unknown-ink);font-size:var(--text-xs);white-space:nowrap;border:0;flex:none;align-items:center;font-weight:700;line-height:1;display:inline-flex}.operation-badge--open{background:var(--color-status-open-bg);color:var(--color-status-open-ink)}.operation-badge--holiday{background:var(--color-status-holiday-bg);color:var(--color-status-holiday-ink)}.operation-badge--closed{background:var(--color-status-closed-bg);color:var(--color-status-closed-ink)}.operation-badge--unknown{background:var(--color-status-unknown-bg);color:var(--color-status-unknown-ink)}.detail-badges{justify-content:center;align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.bath-row__place,.bath-row__note{color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bath-row__place .operation-badge{margin-inline-start:var(--space-xs)}.locate-button{min-width:var(--control-height);border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);padding-inline:var(--space-sm);font-size:var(--text-xs)}.foot-mast{display:none}.bottom-nav{z-index:var(--z-sticky);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));border-block-start:2px solid var(--color-accent);background:var(--color-paper);grid-template-columns:repeat(3,minmax(0,1fr));padding-block-end:env(safe-area-inset-bottom);display:grid;position:fixed;inset-block-end:0;inset-inline:0}.bottom-nav a,.bottom-nav button{place-content:center;place-items:center;gap:var(--space-2xs);background:var(--color-paper);min-width:0;color:var(--color-muted);font-size:var(--text-xs);border:0;border-radius:0;line-height:1;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--color-signal);font-weight:700}.nav-count{margin:calc(var(--space-lg) * -1) 0 0 var(--space-xl);border-radius:var(--radius-pill);background:var(--color-report);min-width:1.125rem;color:var(--color-ink);font-size:var(--text-xs);text-align:center;line-height:1.125rem;position:absolute}.app-dialog{background:var(--color-transparent);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--color-ink);border:0;margin:0;padding:0;overflow:hidden}.app-dialog::backdrop{background:var(--color-overlay)}.dialog-shell{background:var(--color-paper);grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;display:grid;overflow:hidden}.dialog-shell>form{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.dialog-head{align-items:center;gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-ink);min-height:4rem;color:var(--color-accent-ink);padding:var(--space-xs) var(--space-sm);text-align:start;grid-template-columns:minmax(0,1fr) auto;line-height:1;display:grid}.dialog-head__actions{align-items:center;gap:var(--space-2xs);display:flex}.dialog-head h2,.dialog-head p{font-family:var(--font-display);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.icon-button,.text-button{min-width:var(--control-height);border-color:var(--color-transparent);background:var(--color-transparent);color:inherit;place-items:center;display:inline-grid}.icon-button[aria-pressed=true] svg{fill:currentColor}.dialog-close{border-color:var(--color-paper-3)}.text-button{padding-inline:var(--space-xs);font-size:var(--text-sm)}.dialog-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.detail-hero{justify-items:center;gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);padding:var(--space-lg);text-align:center;display:grid}.detail-hero__symbol{border:3px solid var(--color-paper);border-radius:var(--radius-round);background:var(--color-unknown);width:4rem;height:4rem;color:var(--color-ink);box-shadow:0 0 0 1px var(--color-rule-2);font-family:var(--font-label);place-items:center;font-weight:700;display:grid}.detail-hero__symbol[data-policy-state=allowed]{background:var(--color-allowed);color:var(--color-paper)}.detail-hero__symbol[data-policy-state=cover_required]{background:var(--color-cover);color:var(--color-paper)}.detail-hero__symbol[data-policy-state=private_only]{background:var(--color-private);color:var(--color-paper)}.detail-hero__symbol[data-policy-state=not_allowed]{background:var(--color-blocked);color:var(--color-blocked-ink)}.detail-hero__symbol[data-policy-state=unknown]{background:var(--color-unknown);color:var(--color-paper)}.detail-hero>p:first-of-type,.detail-hero__ja{color:var(--color-muted);font-size:var(--text-sm)}.detail-hero h2{font-size:var(--text-2xl)}.detail-conclusion{gap:var(--space-xs);border-radius:var(--radius-card);background:var(--color-accent-soft);width:min(100%,34rem);padding:var(--space-md);display:grid}.detail-conclusion>span{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.detail-conclusion[data-detail-policy-state=allowed]>span{color:var(--color-allowed)}.detail-conclusion[data-detail-policy-state=cover_required]>span{color:var(--color-cover)}.detail-conclusion[data-detail-policy-state=private_only]>span{color:var(--color-private)}.detail-conclusion[data-detail-policy-state=not_allowed]>span{color:var(--color-blocked-ink)}.detail-conclusion[data-detail-policy-state=unknown]>span{color:var(--color-unknown)}.detail-conclusion strong{font-size:var(--text-base)}.detail-decision{gap:var(--space-sm);text-align:start;width:min(100%,34rem);display:grid}.detail-decision h3{font-size:var(--text-lg)}.decision-meta{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.decision-meta div{border-radius:var(--radius-input);background:var(--color-paper-2);padding:var(--space-sm)}.decision-meta dt{color:var(--color-muted);font-size:var(--text-xs)}.decision-meta dd{margin:var(--space-2xs) 0 0;font-weight:700}.honesty-note{color:var(--color-muted);font-size:var(--text-xs)}.detail-block{gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);padding:var(--space-lg);display:grid}.detail-block h3{font-size:var(--text-lg)}.detail-lede{font-weight:700}.tag-row{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag-row span{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-sm);color:var(--color-neutral);font-size:var(--text-xs)}.detail-facts dl{margin:0;display:grid}.detail-facts dl div{gap:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-sm);grid-template-columns:5rem minmax(0,1fr);display:grid}.detail-facts dt{color:var(--color-muted);font-size:var(--text-sm)}.detail-facts dd{margin:0}.action-row{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-button{min-height:var(--control-height);border:var(--rule-card) solid var(--color-accent);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-accent);padding:var(--space-sm) var(--space-md);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.action-button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.route-link{font-size:var(--text-sm);align-self:start}.section-head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.section-head>div{min-width:0}.section-head p,.source-meta,.form-note,.empty-copy{color:var(--color-muted);font-size:var(--text-xs)}.section-head>span{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-xs);color:var(--color-neutral);font-size:var(--text-xs);flex:none}.evidence-block blockquote{border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);padding:var(--space-md);font-family:var(--font-display);margin:0;font-weight:600}.text-link{min-height:auto;color:var(--color-accent);text-underline-offset:var(--space-3xs);font-weight:700}.small-button{min-height:var(--control-height);border-color:var(--color-accent);border-radius:var(--radius-pill);padding-inline:var(--space-sm);color:var(--color-accent);font-size:var(--text-xs);flex:none}.report-cta{min-height:var(--control-height);align-items:center;gap:var(--space-xs);border-color:var(--color-report);border-radius:var(--radius-input);background:var(--color-report);color:var(--color-ink);padding-inline:var(--space-md);font-size:var(--text-sm);white-space:nowrap;flex:none;font-weight:700;display:inline-flex}.traveller-reports{gap:var(--space-xs);display:grid}.report-card{gap:var(--space-xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);padding:var(--space-sm);display:grid}.report-card div{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.report-card time{color:var(--color-muted);font-size:var(--text-xs)}.form-stack{align-content:start;gap:var(--space-lg);padding:var(--space-lg);display:grid}.report-dialog-title{align-items:baseline;gap:var(--space-xs);min-width:0;display:flex}.report-dialog-title span{color:var(--color-paper-3);font-family:var(--font-label);font-size:var(--text-sm);font-weight:700}.report-step{align-content:start;gap:var(--space-lg);display:grid}.report-step-heading{gap:var(--space-xs);display:grid}.report-step-heading h3{font-size:var(--text-xl)}.report-step-heading p{color:var(--color-muted);font-size:var(--text-sm)}.report-question{gap:var(--space-sm);border:0;margin:0;padding:0;display:grid}.report-question legend{font-family:var(--font-display);font-size:var(--text-xl);margin-block-end:var(--space-sm);padding:0;font-weight:700}.report-policy-choices{gap:var(--space-xs);display:grid}.report-policy-choice{--choice-color:var(--color-unknown);align-items:center;gap:var(--space-sm);border:var(--rule-card) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);min-width:0;min-height:4.5rem;padding:var(--space-sm) var(--space-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr);display:grid}.report-policy-choice:has(input:checked){border-color:var(--choice-color);background:var(--color-paper-2)}.report-policy-choice input{width:1.5rem;height:1.5rem;accent-color:var(--choice-color);margin:0}.report-policy-choice>span{gap:var(--space-3xs);min-width:0;display:grid}.report-policy-choice strong{font-size:var(--text-md)}.report-policy-choice small{color:var(--color-muted);white-space:normal}.report-policy-choice--allowed{--choice-color:var(--color-allowed)}.report-policy-choice--cover_required{--choice-color:var(--color-cover)}.report-policy-choice--private_only{--choice-color:var(--color-private)}.report-policy-choice--not_allowed{--choice-color:var(--color-blocked-ink)}.favorites-view{grid-template-rows:auto minmax(0,1fr) auto}.favorites-view__actions{padding:var(--space-sm)}.favorites-back{width:100%;min-height:3.5rem;font-size:var(--text-md);justify-content:center}.report-policy-choice--unknown{--choice-color:var(--color-unknown)}.optional-note{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.new-bath-fields{gap:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);padding:var(--space-md);display:grid}.new-bath-fields[hidden]{display:none}.bath-combobox{gap:var(--space-xs);display:grid;position:relative}.bath-combobox__label{font-weight:700}.bath-combobox__control{border:var(--rule-card) solid var(--color-rule-2);border-radius:var(--radius-input);outline:2px solid var(--color-transparent);background:var(--color-paper);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.bath-combobox__control:focus-within{border-color:var(--color-accent);outline-color:var(--color-focus);outline-offset:1px}.bath-combobox__control input{width:100%;min-width:0;min-height:var(--control-height);background:var(--color-transparent);color:var(--color-ink);padding:var(--space-sm);border:0;outline:0}.bath-combobox__control button{min-width:var(--control-height);border:0;border-inline-start:var(--rule-hair) solid var(--color-rule);border-radius:0 var(--radius-input) var(--radius-input) 0;background:var(--color-transparent);color:var(--color-accent)}.bath-combobox__control button svg{transition:transform var(--dur-micro) var(--ease-out)}.bath-combobox__control button[aria-expanded=true] svg{transform:rotate(180deg)}.bath-suggestions{border:var(--rule-card) solid var(--color-rule-2);border-radius:var(--radius-input);background:var(--color-paper);box-shadow:0 5px 16px var(--color-shadow);display:grid;overflow:hidden}.bath-suggestions[hidden],.bath-suggestions button[hidden]{display:none}.bath-suggestions button{min-height:var(--control-height);justify-items:start;gap:var(--space-3xs);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm);text-align:start;border-radius:0;display:grid}.bath-suggestions button:last-child{border-block-end:0}.bath-suggestions button:hover{background:var(--color-paper-2)}.bath-suggestions button.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.bath-suggestions small{color:var(--color-muted)}.bath-suggestions .bath-suggestions__create{color:var(--color-accent);font-weight:700}.form-field{gap:var(--space-xs);font-weight:700;display:grid}.form-field__label{align-items:center;gap:var(--space-xs);display:flex}.required-note{border-radius:var(--radius-status);background:var(--color-status-closed-bg);color:var(--color-status-closed-ink);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);font-weight:700;line-height:1}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:var(--control-height);border:var(--rule-card) solid var(--color-rule-2);border-radius:var(--radius-input);outline:2px solid var(--color-transparent);background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm);font-weight:400}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-focus);outline-offset:1px}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{cursor:not-allowed;opacity:.55}.form-field textarea{resize:vertical}.check-field{align-items:start;gap:var(--space-sm);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.check-field input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent)}.form-error{min-height:var(--control-height);border:var(--rule-hair) solid var(--color-error);border-radius:var(--radius-input);color:var(--color-error);padding:var(--space-sm);font-size:var(--text-sm)}.form-error:empty{visibility:hidden;border-color:var(--color-transparent)}.dialog-actions{border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);padding:var(--space-md)}.dialog-actions .action-button{width:100%}.report-actions{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-actions:has([data-report-back][hidden]){grid-template-columns:minmax(0,1fr)}.saved-list{align-content:start;gap:var(--space-xs);padding:var(--space-md);display:grid}.saved-row{align-items:center;gap:var(--space-sm);border-color:var(--color-rule);min-width:0;padding:var(--space-sm);text-align:start;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.saved-row>span:nth-child(2){min-width:0;display:grid}.saved-row strong,.saved-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-row small{color:var(--color-muted)}.empty-state,.success-view{justify-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);text-align:center;display:grid}.success-view__close{border-color:var(--color-rule-2);color:var(--color-ink);position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-sm)}.empty-state p,.success-view p{color:var(--color-muted)}.success-view{align-content:center;min-height:calc(100dvh - 3rem);position:relative}.success-view__card{justify-items:center;gap:var(--space-sm);width:min(100%,22rem);padding:var(--space-xl) var(--space-lg);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-card,1rem);background:var(--color-paper);box-shadow:0 12px 32px var(--color-shadow-strong,#0000002e);text-align:center;display:grid}.success-view__stage{place-items:center;width:7.5rem;height:7.5rem;display:grid;position:relative}.success-view__mark{border-radius:var(--radius-round);background:var(--color-allowed);width:4rem;height:4rem;color:var(--color-paper);font-size:var(--text-2xl);place-items:center;font-weight:700;animation:.55s cubic-bezier(.2,1.4,.4,1) both success-pop;display:grid;position:relative}.success-view__spark{border-radius:var(--radius-round);opacity:0;width:.5rem;height:.5rem;animation:spark-burst 1.15s cubic-bezier(.1, .75, .3, 1) calc(.4s + var(--d,0s)) both;position:absolute;inset-block-start:calc(50% - .25rem);inset-inline-start:calc(50% - .25rem)}.success-view__spark:nth-child(3n+1){background:var(--color-allowed)}.success-view__spark:nth-child(3n+2){background:var(--color-report)}.success-view__spark:nth-child(3n){background:var(--color-accent-ink);width:.35rem;height:.35rem}.success-view__encourage{color:var(--color-ink);font-weight:700;animation:.6s ease-out .25s both success-fade-up}.success-view__steam{border-radius:var(--radius-round);background:var(--color-allowed);opacity:0;width:.3rem;height:.9rem;animation:1.8s ease-out infinite steam-rise;position:absolute;inset-block-start:-.4rem}.success-view__steam:first-child{animation-delay:.3s;inset-inline-start:24%}.success-view__steam:nth-child(2){animation-delay:.7s;inset-inline-start:46%}.success-view__steam:nth-child(3){animation-delay:1.1s;inset-inline-start:68%}@keyframes success-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes success-fade-up{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes steam-rise{0%{opacity:0;transform:translateY(0)scale(1)}25%{opacity:.75}to{opacity:0;transform:translateY(-1.5rem)scale(1.25)}}@keyframes spark-burst{0%{transform:rotate(var(--a,0deg)) translateY(-1.2rem) scale(.4);opacity:0}18%{opacity:1}to{transform:rotate(var(--a,0deg)) translateY(-3.6rem) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.success-view__mark,.success-view__encourage,.success-view__steam,.success-view__spark{animation:none}.success-view__steam{opacity:.4}.success-view__spark{opacity:0}}@media (hover:hover) and (pointer:fine){button:hover,a:hover{background-color:var(--color-paper-2)}.app-bar a:hover{background-color:var(--color-transparent)}.onsen-marker-shell:hover,.onsen-marker-shell:focus-visible{z-index:var(--z-sticky)}.bath-row:hover{background:var(--color-paper-2)}.locate-button:hover{background:var(--color-ink-2)}.action-button--primary:hover{background:var(--color-ink-2);color:var(--color-accent-ink)}.report-cta:hover{border-color:var(--color-report-hover);background:var(--color-report-hover);color:var(--color-ink)}.dialog-head button:hover{background:var(--color-ink-2)}}@media (width<=34rem){.wordmark__copy small,.location-button span{display:none}.location-button{width:var(--control-height);justify-content:center;padding-inline:0}.search-tools h1{font-size:var(--text-base)}.filter-row{display:none}.bath-row{grid-template-columns:minmax(0,1fr) auto}.bath-row__symbol,.result-sheet__tools .sort-button{display:none}.section-head--report{flex-wrap:wrap}.section-head--report>div{width:100%}.section-head--report .report-cta{justify-content:center;width:100%}}@media (width<=47.99rem) and (height<=43.75rem){.search-tools{gap:var(--space-xs);padding-block:var(--space-xs)}.search-tools__head{display:none}.map-caption{inset-block-start:7.5rem}.result-sheet{height:48%;min-height:16rem}}@media (width>=48rem){:root{--app-bar-height:5.5rem}.app-bar{padding-inline:var(--space-xl)}.wordmark__copy strong{font-size:var(--text-xl)}.sheet-toggle{display:none}.desktop-actions{align-items:center;gap:var(--space-xs);display:flex}.desktop-actions button{min-height:var(--control-height);align-items:center;gap:var(--space-xs);border:var(--rule-hair) solid var(--color-paper-3);border-radius:var(--radius-input);background:var(--color-transparent);color:var(--color-accent-ink);padding-inline:var(--space-sm);font-weight:700;display:inline-flex;position:relative}.desktop-actions button:last-child{border-color:var(--color-report);background:var(--color-report);color:var(--color-ink)}.desktop-actions .nav-count{margin:0;inset-block-start:-.4rem;inset-inline-end:-.4rem}.map-app{height:calc(100dvh - var(--app-bar-height));grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"tools map""results map";display:grid}.search-tools{padding:var(--space-lg);box-shadow:none;grid-area:tools;position:relative;inset:auto}.search-tools h1{font-size:var(--text-xl)}.filter-row{flex-wrap:wrap;overflow:visible}.map-stage{border-inline-start:2px solid var(--color-accent);grid-area:map;position:relative;inset:auto}.map-caption{inset-block-start:var(--space-lg);inset-inline-end:var(--space-lg)}.result-sheet{height:auto;min-height:0;box-shadow:none;border:0;border-radius:0;grid-area:results;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:relative;inset:auto}.sheet-handle{display:none}.result-sheet__head{padding:var(--space-lg) var(--space-lg) var(--space-sm)}.review-warning{padding:0 var(--space-lg) var(--space-sm)}.bath-list{height:auto;min-height:0;padding-inline:var(--space-lg)}.foot-mast{gap:var(--space-2xs);border-block-start:var(--rule-hair) solid var(--color-rule);padding:var(--space-md) var(--space-lg);color:var(--color-muted);font-size:var(--text-xs);display:grid}.foot-mast__wordmark{color:var(--color-ink);font-family:var(--font-display);font-weight:700}.bottom-nav{display:none}.app-dialog{padding:var(--space-xl)}.dialog-shell{max-width:48rem;height:calc(100dvh - var(--space-3xl));border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);box-shadow:0 12px 40px var(--color-shadow-strong);margin:auto}.dialog-shell--compact{max-width:36rem}}@media (width>=90rem){:root{--sidebar-width:30rem}}@media (pointer:coarse){button,a{min-height:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}
