.km{--km-ocean: #dbe8f2;--km-land: #ebe6da;--km-coast: #c7bfab;--km-out: var(--reg-surface-2);--km-pin: var(--reg-gold)}:root[data-theme=dark] .km{--km-ocean: #131c26;--km-land: #2b3139;--km-coast: #46505c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .km{--km-ocean: #131c26;--km-land: #2b3139;--km-coast: #46505c}}.km__bar{display:none;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:0 0 var(--space-4);scroll-margin-top:1rem}.km--js .km__bar{display:flex}.km__views{display:flex;flex-wrap:wrap;gap:.35rem}.km__views button{font-family:var(--font-ui);font-size:.76rem;line-height:1.2;padding:.36rem .7rem;cursor:pointer;border:1px solid var(--reg-border-strong);border-radius:999px;background:var(--reg-surface);color:var(--reg-heading)}.km__views button:hover{border-color:var(--reg-gold)}.km__views button[aria-pressed=true]{background:var(--reg-heading);border-color:var(--reg-heading);color:var(--reg-surface)}.km__book{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--reg-muted)}.km__book select{font-family:var(--font-ui);font-size:.85rem;letter-spacing:0;text-transform:none;font-weight:400;padding:.35rem .5rem;border:1px solid var(--reg-border-strong);border-radius:3px;background:var(--reg-surface);color:var(--reg-heading)}.km__layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:var(--space-6);align-items:stretch}.km__stage{position:relative;border:1px solid var(--reg-border);border-radius:3px;overflow:hidden;background:var(--km-out)}.km__map{display:block;width:100%;height:auto;aspect-ratio:16 / 10}.km-sphere{fill:var(--km-ocean);stroke:var(--km-coast);stroke-width:.6;vector-effect:non-scaling-stroke}.km-land,.km-fine{fill:var(--km-land);stroke:var(--km-coast);stroke-width:.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}.km-fine{display:none}.km-fine.is-on{display:inline}.km-sphere,.km-land,.km-fine{pointer-events:none}.km-pin{cursor:pointer;outline:none}.km-pin circle{fill:var(--km-pin);fill-opacity:.82;stroke:var(--reg-surface);stroke-width:1.2;vector-effect:non-scaling-stroke;transition:fill-opacity .15s}.km-pin:hover circle,.km-pin:focus-visible circle,.km-pin.is-chosen circle{fill-opacity:1;stroke:var(--reg-heading);stroke-width:1.6}.km-pin.is-off{display:none}.km-ring{display:none;fill:none;stroke:var(--reg-heading);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.km-ring.is-on{display:inline}.km-labels{pointer-events:none;font-family:var(--font-ui);font-weight:600;fill:var(--reg-heading);stroke:var(--km-land);stroke-linejoin:round;paint-order:stroke}.km-label{display:none}.km-label.is-on{display:inline}.km__card{height:0;min-height:100%;overflow:auto;box-sizing:border-box;border:1px solid var(--reg-border);border-top:3px solid var(--reg-gold);border-radius:3px;background:var(--reg-surface);padding:var(--space-4) var(--space-4) var(--space-6)}.km__eyebrow{margin:0 0 .35rem;font-family:var(--font-ui);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--reg-gold)}.km__stat{margin:0 0 .8rem;font-family:var(--font-register);font-size:1.15rem;line-height:1.35;color:var(--reg-heading)}.km__stat strong{font-weight:400;color:var(--reg-gold)}.km__hint{margin:0 0 .6rem;font-family:var(--font-body);font-size:.95rem;line-height:1.5;color:var(--reg-text-soft)}.km__top{list-style:none;margin:0;padding:0}.km__top li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--reg-surface-2);font-family:var(--font-ui);font-size:.85rem}.km__top a{color:var(--reg-link);text-decoration:none;font-weight:600}.km__top a:hover{text-decoration:underline}.km__top span{color:var(--reg-muted);font-variant-numeric:tabular-nums}.km__place-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.km__place-name{margin:0;font-family:var(--font-register);font-weight:400;font-synthesis:none;font-size:1.6rem;line-height:1.1;color:var(--reg-heading);border:0;padding:0}.km__close{flex:none;width:1.9rem;height:1.9rem;border:1px solid var(--reg-border-strong);border-radius:50%;background:var(--reg-surface);color:var(--reg-muted);font-size:1.1rem;line-height:1;cursor:pointer}.km__close:hover{color:var(--reg-heading);border-color:var(--reg-gold)}.km__place-count{margin:.35rem 0 .2rem;font-family:var(--font-ui);font-size:.74rem;letter-spacing:.06em;color:var(--reg-muted)}.km-reg{margin:.5rem 0 0;font-family:var(--font-ui);font-size:.8rem}.km-reg a{color:var(--reg-link);text-decoration:none;font-weight:600}.km-reg a:hover{text-decoration:underline}.km-book h3{margin:1rem 0 .25rem;font-family:var(--font-register);font-weight:400;font-synthesis:none;font-size:1.12rem;line-height:1.2;border:0;padding:0}.km-book h3 a{color:var(--reg-heading);text-decoration:none}.km-book h3 a:hover{color:var(--reg-link)}.km-book ol{list-style:none;margin:0;padding:0}.km-book li{padding:.38rem 0;border-bottom:1px solid var(--reg-surface-2)}.km-book li:last-child{border-bottom:0}.km-book li a{font-family:var(--font-body);font-size:.95rem;line-height:1.35;color:var(--reg-link);text-decoration:none}.km-book li a:hover{text-decoration:underline}.km-when{display:block;margin-top:.1rem;font-family:var(--font-ui);font-size:.72rem;line-height:1.4;letter-spacing:.02em;color:var(--reg-muted)}.km__places{margin-top:var(--space-12)}.km__places>h2{margin:0 0 .3rem;font-family:var(--font-register);font-weight:400;font-synthesis:none;font-size:1.55rem;color:var(--reg-heading);border:0;padding:0}.km__places-note{margin:0 0 var(--space-4);font-family:var(--font-ui);font-size:.8rem;color:var(--reg-muted)}.km__list{columns:2 22rem;column-gap:var(--space-8)}.km-place{break-inside:avoid;border-top:1px solid var(--reg-border);padding:.55rem 0}.km-place summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;cursor:pointer;list-style:none}.km-place summary::-webkit-details-marker{display:none}.km-place summary:before{content:"+";width:1rem;margin-right:-.5rem;font-family:var(--font-ui);color:var(--reg-gold)}.km-place[open] summary:before{content:"−"}.km-place__name{flex:1;font-family:var(--font-register);font-size:1.08rem;color:var(--reg-heading)}.km-place__count{font-family:var(--font-ui);font-size:.72rem;color:var(--reg-muted)}.km-place .km-body{padding:.2rem 0 .4rem 1rem}.km-show{display:none;margin:.4rem 0 0;padding:.3rem .65rem;font-family:var(--font-ui);font-size:.74rem;border:1px solid var(--reg-border-strong);border-radius:999px;background:var(--reg-surface);color:var(--reg-heading);cursor:pointer}.km-show:hover{border-color:var(--reg-gold)}.km--js .km-show{display:inline-block}.km__foot{margin:var(--space-8) 0 0;max-width:46rem;font-family:var(--font-body);font-size:.92rem;line-height:1.6;color:var(--reg-muted)}.km__foot a{color:var(--reg-link)}@media(max-width:900px){.km__layout{grid-template-columns:minmax(0,1fr)}.km__card{height:auto;min-height:0;max-height:none;overflow:visible}.km__map{aspect-ratio:3 / 2}}@media(max-width:560px){.km__views button{font-size:.72rem;padding:.32rem .6rem}.km__list{columns:1}}
