.libera-travel{--lt-green:#294d42;--lt-ink:#203c38;--lt-paper:#f6f7f2;--lt-line:#dce3dc;max-width:1248px;margin:auto;padding:0 40px 96px;color:var(--lt-ink)}.libera-travel [hidden]{display:none!important}.lt-intro{padding:76px 0 56px;border-bottom:1px solid var(--lt-line)}.lt-intro h1{font-size:clamp(34px,5.6vw,70px);letter-spacing:-.045em;line-height:1.15;margin:20px 0}.lt-intro h1 span{font-weight:400;color:#8c9c90}.lt-intro>p{font-size:18px;letter-spacing:.08em;margin-bottom:12px}.lt-intro-note,.lt-count-note{font-size:12px;color:#637269;line-height:1.9}.lt-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:48px 0 28px}.lt-section-head h2{font-size:clamp(21px,2.7vw,30px);line-height:1.55;margin:10px 0 0}.lt-section-head>p{font-size:13px;color:#637269}.lt-edition{font-size:10px;letter-spacing:.13em;color:#637269}.lt-atlas-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;background:var(--lt-paper);border:1px solid var(--lt-line)}.lt-atlas-grid>div{min-width:0;position:relative}.lt-legend{display:flex;gap:20px;position:absolute;left:22px;top:20px;z-index:401;font-size:11px;pointer-events:none}.lt-legend>span{display:flex;gap:7px;align-items:center}.lt-swatch{width:10px;height:10px;background:#dce1dc;border-radius:50%;display:inline-block}.lt-swatch.lt-visited{background:var(--lt-green)}.lt-japan-map{height:490px;background:var(--lt-paper)!important}.lt-japan-map .leaflet-top.leaflet-left{top:52px}.lt-credit{padding:0 18px 12px;font-size:9px;line-height:1.8;color:#627166;margin:0}.lt-credit a{color:inherit;text-decoration:underline}.lt-passport{padding:30px 26px;border-left:1px solid var(--lt-line);background:#fff}.lt-passport>label{display:block;font-size:12px;margin:26px 0 8px}.lt-passport select{max-width:100%;width:100%;padding:10px 8px;border:1px solid #ccd6cc;background:#fff;color:var(--lt-ink);font:inherit;font-size:13px;border-radius:0}.lt-passport h3{font-size:23px;margin:30px 0 10px}.lt-passport p,.lt-passport li{font-size:13px;line-height:1.9}.lt-passport ul{padding-left:18px}.lt-passport li+li{margin-top:8px}.lt-passport a{text-decoration:underline;text-underline-offset:3px}.lt-mode-key{border-top:1px solid var(--lt-line);margin-top:28px;padding-top:8px;display:flex;gap:9px 12px;flex-wrap:wrap}.lt-mode-key p{width:100%;margin-bottom:0;font-size:11px;color:#66746b}.lt-mode-key>span{font-size:10px}.lt-stamps{display:flex;gap:8px;flex-wrap:wrap}.lt-stamp{border:1px solid #a5b7a8;border-radius:3px;padding:5px 8px;font-size:11px;color:var(--lt-green);background:#f5f7f1}.lt-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:32px 0;border-bottom:1px solid var(--lt-line)}.lt-stats>div{text-align:center;border-right:1px solid var(--lt-line)}.lt-stats>div:last-child{border:0}.lt-stats strong{font-size:42px;font-weight:500;display:block;line-height:1.3;font-family:Georgia,serif}.lt-stats small{font-size:18px;color:#8a988c}.lt-stats span{font-size:11px}.lt-filters{display:flex;gap:8px;flex-wrap:wrap}.lt-filters button,.lt-map-toolbar button,.lt-map-home{font:inherit;cursor:pointer;background:white;color:var(--lt-ink);border:1px solid #cbd5cc;padding:9px 15px;font-size:12px;min-height:42px;border-radius:2px}.lt-filters button[aria-pressed=true]{background:var(--lt-green);border-color:var(--lt-green);color:#fff}.lt-filters button:hover{border-color:var(--lt-green)}.libera-travel button:focus-visible,.libera-travel select:focus-visible,.libera-travel a:focus-visible{outline:3px solid #ad8557;outline-offset:3px}.lt-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px;font-size:12px}.lt-map-toolbar button{border:0;padding:6px 0;text-decoration:underline;text-underline-offset:4px}.lt-pin-map{height:470px;position:relative;z-index:0;background:#edf1ec;border:1px solid var(--lt-line)}.lt-japan-map{z-index:0}.lt-map-fallback{padding:40px;font-size:13px}.lt-empty{padding:36px 20px;text-align:center;background:var(--lt-paper);margin-top:18px}.lt-empty>span{font-size:10px;letter-spacing:.15em}.lt-empty h3{font-size:20px}.lt-empty p{font-size:13px}.lt-list{margin-top:24px}.lt-list>summary{font-size:13px;cursor:pointer;padding:12px 0;min-height:44px}.lt-spot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:15px}.lt-spot-card{background:white;border:1px solid var(--lt-line);min-width:0;overflow:hidden}.lt-spot-card>img,.lt-image-placeholder{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}.lt-image-placeholder{display:grid;place-items:center;font-size:12px;letter-spacing:.15em;color:#6b806e;background:#e9eee5}.lt-card-body{padding:20px}.lt-card-type{font-size:10px;letter-spacing:.08em;color:#6b806e}.lt-card-body h3{font-size:18px;margin:8px 0 10px;line-height:1.5}.lt-card-body p{font-size:13px;line-height:1.9;margin:10px 0;overflow-wrap:anywhere;white-space:pre-line}.lt-card-body p.lt-card-meta{font-size:11px;color:#6d786f}.lt-card-body>a{display:inline-block;font-size:12px;color:var(--lt-ink);text-decoration:underline;text-underline-offset:5px;margin-top:10px;min-height:30px}.lt-marker-wrap{background:transparent;border:0}.lt-marker{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--lt-green);border:2px solid #fff;box-shadow:0 2px 5px #203c3833;border-radius:50% 50% 50% 0;transform:rotate(-45deg);position:relative}.lt-marker>span{transform:rotate(45deg);color:white;font-size:15px;font-weight:bold}.lt-marker small{position:absolute;right:-7px;top:-4px;transform:rotate(45deg);font-size:10px;background:white;color:var(--lt-ink);border-radius:50%;padding:1px 4px}.libera-travel .leaflet-popup-content{margin:0;width:270px!important;max-width:calc(100vw - 88px)}.libera-travel .leaflet-popup-content-wrapper{padding:0;border-radius:3px;overflow:hidden}.libera-travel .leaflet-popup-close-button{background:white;color:#203c38;width:28px;height:28px;z-index:1}.lt-popup-group .lt-spot-card{border:0}.lt-popup-group .lt-card-body{padding:17px}.lt-popup-group .lt-spot-card+.lt-spot-card{border-top:4px solid #dce3dc}.lt-recent{margin-top:64px}.lt-recent .page-numbers{display:inline-block;padding:10px;margin:20px 4px 0}.libera-travel .leaflet-control-attribution{font-size:9px}.libera-travel .leaflet-bar a{color:var(--lt-ink)}
@media(max-width:900px){.lt-atlas-grid{grid-template-columns:minmax(0,1fr) 260px}.lt-passport{padding:26px 20px}.lt-japan-map{height:450px}.lt-edition{display:none}.lt-spot-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.libera-travel{padding:0 20px 60px}.lt-intro{padding:44px 0 34px}.lt-intro>p{font-size:15px}.lt-intro-note{font-size:11px}.lt-section-head{display:block;margin-top:36px}.lt-section-head h2{font-size:21px}.lt-atlas-grid{grid-template-columns:1fr}.lt-japan-map{height:430px}.lt-passport{border-left:0;border-top:1px solid var(--lt-line);padding:24px}.lt-passport>label{margin-top:16px}.lt-passport h3{margin-top:22px}.lt-mode-key{margin-top:20px}.lt-stats strong{font-size:34px}.lt-stats small{font-size:14px}.lt-stats span{font-size:10px}.lt-stats{padding:25px 0}.lt-filters{gap:7px}.lt-filters button{padding:8px 11px;font-size:11px}.lt-pin-map{height:420px}.lt-spot-list{grid-template-columns:1fr}.lt-map-toolbar{font-size:11px}.lt-map-toolbar button{font-size:10px}.lt-map-fallback{padding:30px}.lt-legend{left:16px}.lt-credit{font-size:9px}}

/* v1.1.1 — a quiet family travel notebook. All styles stay inside the travel page. */
.libera-travel{--lt-green:#46664f;--lt-ink:#344c40;--lt-paper:#faf8f0;--lt-line:#dddcd0;background:linear-gradient(#fff 0,#fffdf8 520px,#fff 100%)}
.libera-travel .eyebrow{color:#69776b;font-size:10px;letter-spacing:.2em}
.lt-intro{border-bottom:1px dashed #d6d8cc;position:relative}
.lt-intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}
.lt-intro h1 span{font-style:italic;color:#8b9d7c}
.lt-intro>p{letter-spacing:.12em}.lt-intro-note{color:#657062}
.lt-section-head h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;letter-spacing:.055em}
.lt-atlas-grid{border:1px solid #d9dacd;border-radius:17px 13px 18px 11px;overflow:hidden;box-shadow:0 5px 18px #50604708;background-color:var(--lt-paper);background-image:radial-gradient(#a79c7a17 .6px,transparent .8px);background-size:7px 9px}
.lt-japan-map{background-color:transparent!important;background-image:radial-gradient(#998b7014 .55px,transparent .9px);background-size:7px 9px}
#lt-japan-map .lt-wash-ready .lt-pref-visited{fill:url(#lt-wash-visited)}
#lt-japan-map .lt-wash-ready .lt-pref-unvisited{fill:url(#lt-wash-unvisited)}
#lt-japan-map .leaflet-interactive{stroke-opacity:.8;filter:drop-shadow(.25px .55px .3px #67705a20)}
#lt-japan-map .leaflet-interactive:hover{stroke:#7b775d;stroke-width:1.5;stroke-opacity:1}
.lt-swatch{width:13px;height:11px;border-radius:48% 43% 51% 39%;background:linear-gradient(125deg,#eeece3,#deded1);border:1px solid #b8bcae}
.lt-swatch.lt-visited{background:linear-gradient(125deg,#c2d0ad,#94ad8b);border-color:#8b9e82}
.lt-passport{border-left:1px dashed #d7d9ca;background:repeating-linear-gradient(0deg,transparent 0,transparent 31px,#6e80660a 32px,#6e80660a 33px),#fffdf7;position:relative}
.lt-passport:before{content:"";display:block;width:62px;height:13px;margin:-30px auto 21px;background:#d9dfc17d;transform:rotate(-3deg);border-left:2px dotted #fffdf7;border-right:2px dotted #fffdf7;pointer-events:none}
.lt-passport select{border-color:#c5cebb;border-radius:9px 7px 10px 8px;min-height:44px;background:#fffffbdc;padding:11px 9px}
.lt-passport h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;letter-spacing:.06em}
.lt-mode-key{border-top:1px dashed #d6dbcc;gap:12px 14px}
.lt-mode-key>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#4a6250}
.lt-sketch-icon{width:28px;height:28px;display:inline-block;flex:none;vertical-align:middle;overflow:visible}
.lt-mode-key .lt-sketch-icon{width:26px;height:26px}
.lt-stamps{gap:9px;margin:18px 0}
.lt-stamp{display:inline-flex;align-items:center;gap:5px;min-height:40px;border:1px solid #8fa383;border-radius:9px 7px 10px 6px;background:#ecf0e27d;padding:5px 9px;font-size:11px;box-shadow:inset 0 0 0 2px #fffdf780}
.lt-stamp:nth-child(2n){border-radius:7px 10px 6px 9px;background:#f6f1e0b0}
.lt-stats{border-bottom:1px dashed #d8dccc;padding:31px 0 27px}
.lt-stats strong{color:#526e50;font-style:italic}.lt-stats>div{border-right:1px dashed #d4dacb}
.lt-stats span{color:#52604e}.lt-count-note{color:#67715f}
.lt-filters{gap:10px}.lt-filters button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:46px;border:1px solid #c5ceba;border-radius:16px 12px 17px 13px;background:#fffdf6;padding:8px 13px;color:#405840;box-shadow:0 2px 0 #61735306}
.lt-filters .lt-sketch-icon{width:25px;height:25px}
.lt-filters button:nth-child(2n){border-radius:12px 17px 13px 16px}
.lt-filters button[aria-pressed=true]{background:#e4ecd7;color:#304c36;border-color:#688260;box-shadow:inset 0 0 0 1px #688260}
.lt-filters button:hover{background:#eef2e5;border-color:#819477}
.lt-map-toolbar button{background:transparent;border-radius:6px;min-height:44px}
.lt-map-home{border-radius:9px 6px 10px 8px;background:#fffef8;border-color:#c9cebc;min-height:44px;color:#415b43}
.lt-pin-map{border:1px solid #d3d8c6;border-radius:15px 12px 16px 11px;background:#eff1e7}
/* Soften only the basemap imagery; labels and the interactive pin layer stay sharp. */
#lt-pin-map .leaflet-tile-pane{filter:saturate(.7) sepia(.06)}
.libera-travel .leaflet-control-zoom{border:1px solid #c8ceba!important;border-radius:9px;overflow:hidden;box-shadow:0 2px 5px #344c4010}
.libera-travel .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;background:#fffef8;color:#486147;border-color:#d9ddce;font-weight:400}
.libera-travel .leaflet-control-attribution{background:#fffef5ed;color:#455744}
.libera-travel .leaflet-tooltip{background:#fffef6;border:1px solid #cbd1bc;border-radius:7px;box-shadow:0 2px 8px #344c4010;color:#344c40}
.lt-empty{border-radius:13px 17px 12px 16px;background:radial-gradient(#998b7017 .6px,transparent .9px) 0 0/7px 9px,#faf8ef;border:1px dashed #cfd6c1}
.lt-empty h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500}
.lt-empty>span{color:#68775d}.lt-list>summary{color:#465e42;text-underline-offset:5px}
.lt-spot-card{border:1px solid #dbdfd0;border-radius:12px 9px 14px 10px;background:#fffef9;box-shadow:0 3px 12px #3f563909}
.lt-spot-card>img{width:calc(100% - 16px);margin:8px 8px 0;border-radius:6px 8px 5px 7px}
.lt-card-body{padding:18px 20px 22px}.lt-card-body h3{color:#344c40;font-size:18px}.lt-card-body p{color:#4e594b}
.lt-card-type{display:inline-flex;align-items:center;gap:6px;color:#526e4b;font-size:11px}
.lt-card-type .lt-sketch-icon{width:24px;height:24px}.lt-card-body>a{min-height:44px;padding:8px 0 5px;font-weight:500}
.lt-image-placeholder{color:#637559;background:linear-gradient(115deg,#ecf0e1,#f5f0e2);font-family:Georgia,serif}
.lt-marker{width:42px;height:43px;transform:none;display:flex;align-items:center;justify-content:center;background:#fffcf0;border:1.7px solid #617955;border-radius:48% 45% 47% 43%;box-shadow:0 2px 4px #344c4024;position:relative;color:#46633f}
.lt-marker:after{content:"";position:absolute;bottom:-6px;left:16px;width:8px;height:8px;transform:rotate(45deg);background:#fffcf0;border-right:1.7px solid #617955;border-bottom:1.7px solid #617955;z-index:0}
.lt-marker>.lt-sketch-icon{width:32px;height:32px;z-index:1;position:relative}
.lt-marker small{transform:none;right:-7px;top:-7px;background:#e6edd8;border:1px solid #718566;min-width:19px;text-align:center;color:#344c40;line-height:18px;padding:0 3px;font-size:10px}
.libera-travel .leaflet-popup-content-wrapper{background:#fffef9;border-radius:12px;box-shadow:0 4px 18px #344c4024}
.libera-travel .leaflet-popup-tip{background:#fffef9}
.libera-travel .leaflet-popup-close-button{width:36px;height:36px;line-height:36px;border-radius:0 10px 0 9px;background:#fffef4f2;color:#3d563c}
.lt-popup-group .lt-spot-card{border-radius:0;box-shadow:none}.lt-popup-group .lt-spot-card+.lt-spot-card{border-top:1px dashed #bdc9b0}
.libera-travel button:focus-visible,.libera-travel select:focus-visible,.libera-travel a:focus-visible{outline:3px solid #8b6a3d;outline-offset:3px}
@media(max-width:900px){.lt-passport:before{margin-top:-26px}}
@media(max-width:600px){.lt-intro h1{font-size:clamp(32px,8.6vw,48px)}.lt-section-head h2{font-size:21px;letter-spacing:.02em}.lt-passport{border-left:0;border-top:1px dashed #cfd6c0}.lt-passport:before{margin-top:-24px}.lt-filters{gap:8px}.lt-filters button{padding:7px 10px;min-height:46px;font-size:12px}.lt-filters .lt-sketch-icon{width:23px;height:23px}.lt-stats span{font-size:10px}.lt-mode-key>span{font-size:11px}.lt-credit{line-height:1.9}.lt-map-toolbar{align-items:center}.lt-map-toolbar button{max-width:48%;text-align:right;line-height:1.65}.lt-card-body{padding:17px 18px 20px}.lt-passport select{font-size:16px}.lt-spot-list{gap:18px}}
@media(prefers-reduced-motion:reduce){.libera-travel *{scroll-behavior:auto}}
