@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#243e34;--green:#234b3e;--green-light:#e7eee6;--paper:#f7f6f0;--white:#fffefa;--line:#dedfd4;--muted:#728078;--gold:#a88d56;--red:#9b5747}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}input:focus,select:focus{outline:2px solid #91aa9b;outline-offset:1px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Noto Serif JP',serif;font-weight:500}button{border:0;background:none}svg{display:block}[hidden]{display:none!important}.wrap{max-width:1160px;margin:0 auto;padding-left:32px;padding-right:32px}.header{max-width:1280px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-family:'Noto Serif JP',serif;font-size:27px;line-height:1.15;letter-spacing:.1em}.brand small{font:9px 'Noto Sans JP',sans-serif;letter-spacing:.3em;display:block;margin-top:7px}.brand-symbol{font-size:43px;line-height:1;color:var(--green)}nav{display:flex;gap:33px;align-items:center;font-size:12px}.nav-circle{width:28px;height:28px;border:1px solid #a5aea3;border-radius:50%;display:grid;place-items:center;font-family:serif;font-size:15px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:540px;gap:40px;padding-top:50px;padding-bottom:35px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--muted);line-height:1.7}.hero .eyebrow{font-size:9px;letter-spacing:.14em;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;background:var(--gold);border-radius:50%}h1{font-size:58px;letter-spacing:.055em;line-height:1.55;margin:26px 0 20px}.hero-description{font-size:14px;line-height:2.2;color:#647267}.primary{background:var(--green);color:#fff;border-radius:7px;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:25px;transition:background .2s,transform .2s;font-weight:500;letter-spacing:.04em}.primary:hover{background:#366650;transform:translateY(-1px)}.hero-cta{width:285px;margin-top:28px;font-size:13px}.primary span{font-size:19px;line-height:1}.micro{margin-top:11px;color:#7d857d;font-size:10px}.micro span{margin:0 9px}.hero-art{position:relative;width:430px;height:430px;justify-self:end;border-radius:50%;background:radial-gradient(circle,#e4e8d9 0%,#eceee1 41%,transparent 69%)}.orbit{position:absolute;border:1px solid #c5cfba;border-radius:50%;inset:47px}.orbit-outer{inset:13px;border-color:#e0e3d6}.orbit-inner{inset:78px;border-style:dashed;opacity:.7}.hero-art:before,.hero-art:after{content:'';position:absolute;background:#cbd2bf}.hero-art:before{width:1px;height:360px;left:50%;top:35px}.hero-art:after{height:1px;width:360px;top:50%;left:35px}.art-top,.art-bottom,.art-left,.art-right{position:absolute;font:12px Georgia;color:#8d987e;background:#f1f2e8;padding:0 6px;z-index:2}.art-top{top:37px;left:calc(50% - 10px)}.art-bottom{bottom:37px;left:calc(50% - 10px)}.art-left{left:38px;top:calc(50% - 8px)}.art-right{right:39px;top:calc(50% - 8px)}.compass-rose{position:absolute;width:240px;height:240px;left:95px;top:95px;transform:rotate(30deg);filter:drop-shadow(0 12px 10px #8e9f8122);z-index:3}.compass-rose i{position:absolute;inset:0;background:#315846;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.compass-rose b{position:absolute;inset:0;background:#b5bf9e;clip-path:polygon(50% 0,50% 50%,100% 50%,60% 60%,50% 100%,50% 50%,0 50%,40% 40%)}.compass-rose:after{content:'';position:absolute;inset:40px;transform:rotate(45deg);background:#a99870;clip-path:polygon(50% 0,57% 43%,100% 50%,57% 57%,50% 100%,43% 57%,0 50%,43% 43%);z-index:-1}.compass-rose span{position:absolute;left:103px;top:94px;font:46px Georgia;color:#fbfaf0;z-index:4}.floating-note{position:absolute;right:-5px;bottom:55px;display:flex;gap:13px;align-items:center;background:#fffefaed;border:1px solid #e2e3d4;border-radius:10px;padding:16px 23px;z-index:5;box-shadow:0 10px 40px #365c3e0c;font-size:13px}.floating-note small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.small-spark{color:var(--gold);font-size:26px}.art-caption{position:absolute;bottom:3px;left:84px;font-size:9px;letter-spacing:.2em;color:#8c957e}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:10px Georgia;color:var(--gold)}.intro-strip b{font:12px 'Noto Sans JP',sans-serif;margin-left:16px;color:#6a756c;letter-spacing:.08em}.intro-strip i{height:1px;background:#e2e3d8;width:16%}.finder-section{padding-top:76px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.section-title h2{font-size:25px;letter-spacing:.04em;margin-top:10px}.pill{border:1px solid #cbd7ca;background:#edf2e9;border-radius:30px;font-size:10px;padding:6px 14px;white-space:nowrap}.finder-grid{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}.input-card{padding:26px;background:var(--white);border:1px solid var(--line);border-radius:12px}.card-kicker{font-size:9px;letter-spacing:.12em;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:12px}.card-kicker span{color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.04em}label{font-size:12px;display:block;font-weight:500;margin:0 0 8px}.required{font-size:9px;color:#8f7353;font-weight:400;margin-left:9px}input,select{width:100%;min-width:0;border:1px solid #d5dacd;background:#fafbf6;border-radius:6px;min-height:46px;padding:10px 11px;color:var(--ink);font-size:13px;color-scheme:light}input[type=date]{max-width:100%}input[type=time]{padding-left:8px;padding-right:5px}.field-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:8px}.small-details{margin-top:18px;font-size:11px}.small-details summary{padding:7px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}.small-details summary:before{content:'＋';color:var(--gold);font-size:14px}.small-details[open] summary:before{content:'−'}.small-details summary span{font-size:9px;color:var(--muted)}.small-details label{margin-top:14px;font-size:11px}.form-divider{height:1px;background:var(--line);margin:25px 0}.date-time{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:9px}.calculate{width:100%;font-size:12px;margin-top:27px;padding:14px 16px}.sample-button{display:block;margin:12px auto 0;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.privacy-note{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:9px;margin-top:22px;line-height:1.6}.privacy-note svg{width:11px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.form-error{font-size:12px;background:#faf0e7;color:#934f35;padding:12px;border-radius:6px;margin-top:16px}.result-area{border:1px solid var(--line);border-radius:12px;padding:28px;background:var(--white);min-height:550px}.empty-state{min-height:490px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-icon{font-size:62px;line-height:1;color:#8ca18a;background:#f0f2e7;border-radius:50%;width:112px;height:112px;display:grid;place-items:center;margin-bottom:27px}.empty-state .eyebrow{font-size:8px}.empty-state h3{font-size:29px;line-height:1.8;margin:17px 0}.empty-state>p:last-of-type{font-size:12px;line-height:2;color:var(--muted)}.empty-features{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:28px}.empty-features span{font-size:9px;border:1px solid #e1e4d9;padding:5px 10px;border-radius:30px;color:#7b8676}.result-header{display:flex;justify-content:space-between;align-items:center}.result-header h3{font-size:23px;margin-top:7px}.icon-button{border:1px solid var(--line);border-radius:50%;width:33px;height:33px}.stars-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-top:23px;padding-bottom:20px;gap:20px}.stars-row>div+div{border-left:1px solid var(--line);padding-left:22px}.stars-row span{font-size:10px;color:var(--muted);display:block}.stars-row strong{display:block;font-family:'Noto Serif JP',serif;font-weight:500;font-size:23px;margin-top:5px}.stars-row small{font:8px 'Noto Sans JP',sans-serif;background:#f2f2e9;border-radius:4px;padding:2px 5px;margin-left:6px}.result-visual{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:15px;padding:17px 0 5px}.result-compass{width:100%;max-width:320px;margin:auto}.result-compass svg{width:100%;height:auto}.compass-sector{cursor:pointer;transition:opacity .15s}.compass-sector:hover{opacity:.75}.compass-sector:focus-visible{outline:none;stroke:#a88d56;stroke-width:3}.small-label{font-size:10px;color:var(--muted)}.recommendation h4{font-family:'Noto Serif JP',serif;font-size:35px;font-weight:500;margin:5px 0;color:var(--green);line-height:1.6}.recommendation h4.no-match{font-size:21px;margin:13px 0}.recommendation>p{font-size:10px;line-height:1.9;color:var(--muted)}.overlap{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.overlap>span{font-size:10px;color:#6f7c6e}.overlap strong{font-family:Georgia,serif;display:block;font-size:29px;font-weight:400;letter-spacing:.04em;line-height:1.5;color:var(--gold)}.overlap small{font-size:9px;color:var(--muted)}.legend{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:9px;color:var(--muted);margin:9px 0 14px}.legend>span{display:flex;gap:5px;align-items:center}.legend i{width:7px;height:7px;border-radius:50%}.legend .both{background:var(--green)}.legend .one{background:#d6d0af}.legend .none{background:#e7e8e0}.results-footnote{font-size:10px;color:var(--muted);padding-bottom:16px}.direction-detail{border:1px solid #dae0d4;border-radius:8px;overflow:hidden}.detail-heading{background:#f1f4eb;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.detail-heading span{font-size:10px;color:#6d7c68}.detail-content{padding:13px 15px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-content h5{font-size:11px;font-weight:500;margin:0 0 6px}.detail-content p{font-size:10px;line-height:1.8;color:var(--muted)}.tag-good{font-size:9px;color:#385f45;background:#e8f0e5;padding:2px 6px;border-radius:3px;margin-left:5px}.tag-bad{font-size:9px;color:#8c6655;background:#f4eee4;padding:2px 6px;border-radius:3px;margin-left:5px}.full-details{font-size:11px;margin-top:14px}.full-details summary{padding:7px 0;color:#657460}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px;white-space:nowrap}td,th{padding:9px;border-bottom:1px solid #e5e7df;text-align:left}th{font-weight:500;color:var(--muted);font-size:10px}.table-good{color:#305e43}.table-bad{color:#9a6b58}.companion-summary{padding:9px 12px;background:#f5f1e7;border-radius:5px;margin-top:13px;font-size:10px}.calendar-section,.destination-section{padding-top:66px}.section-description{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}.year-control{display:flex;align-items:center;gap:15px;white-space:nowrap}.year-control button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%}.year-control strong{font:20px Georgia;letter-spacing:.04em}.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.month-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:16px 18px;text-align:left;position:relative;transition:border-color .15s}.month-card:hover,.month-card.selected{border-color:#6b8874;background:#f0f4eb}.month-card.selected:after{content:'●';position:absolute;right:15px;top:13px;font-size:6px;color:var(--green)}.month-top{display:flex;justify-content:space-between;align-items:baseline}.month-top strong{font:24px Georgia}.month-top strong small{font:10px 'Noto Sans JP',sans-serif;margin-left:4px}.month-top>span{font-size:9px;color:var(--muted)}.month-period{font-size:9px;color:var(--muted);margin-top:5px}.month-dirs{font-size:13px;margin-top:14px;min-height:24px;color:var(--green)}.month-dirs.no{font-size:11px;color:#99a091}.destination-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.destination-form{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:14px}.route-arrow{text-align:center;color:var(--gold);padding-top:25px}.destination-result{border-left:1px solid var(--line);padding-left:30px;font-size:12px;min-height:80px}.destination-result strong{font:26px 'Noto Serif JP',serif;margin-right:15px}.destination-result p{font-size:10px;color:var(--muted);margin-top:6px}.destination-result a{font-size:10px;border-bottom:1px solid #b2bda8;display:inline-block;margin-top:8px}.coordinate-fields{display:flex;flex-direction:column;gap:8px;margin-top:10px}.coordinate-fields label{font-size:10px}.coordinate-fields input{min-height:35px;font-size:11px}.about-section{margin-top:80px;background:#e9eddf;border-top:1px solid #e1e5d8;border-bottom:1px solid #e1e5d8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:58px;padding-bottom:58px}.about-grid h2{font-size:33px;line-height:1.8;margin-top:18px}.about-copy{font-size:13px;line-height:2.3;padding-top:8px}.about-copy p+p{margin-top:20px}.text-link{font-size:11px;display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid #a7b09d;padding-bottom:5px;margin-top:22px}.text-link span{font-size:18px}.method-section{padding-top:66px;padding-bottom:55px}.edition{font-size:9px;color:var(--muted);letter-spacing:.08em}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:13px;list-style:none;padding:22px 0;display:flex;gap:20px;justify-content:space-between;align-items:center}.faq-list summary:after{content:'＋';font-size:17px;color:var(--muted)}.faq-list details[open] summary:after{content:'−'}.faq-list details>div{padding:0 25px 25px 0;max-width:900px;font-size:12px;line-height:2;color:#6c776b}.faq-list p+p{margin-top:12px}.faq-list a{text-decoration:underline;text-underline-offset:3px}.faq-list ul{padding-left:20px}.footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand{font-size:22px}.footer .brand-symbol{font-size:32px}.footer .brand small{font-size:7px}.footer p{font-size:10px;color:var(--muted)}.footer>span{font-size:9px;color:var(--muted);letter-spacing:.08em}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 22px;border-radius:7px;z-index:20;font-size:12px;max-width:90vw;box-shadow:0 7px 25px #234b3e22}.noscript{padding:20px;background:#fff1df;text-align:center}
@media(min-width:1500px){.hero{min-height:580px}}@media(max-width:1050px){.hero-art{width:350px;height:350px}.compass-rose{left:55px;top:55px}.hero-art:before{height:280px}.hero-art:after{width:280px}.floating-note{bottom:27px;right:-5px;padding:13px 17px}.art-caption{left:45px;bottom:-10px}.hero{gap:20px}h1{font-size:49px}.finder-grid{grid-template-columns:290px 1fr}.input-card{padding:20px}.result-area{padding:22px}.result-visual{grid-template-columns:1.2fr 1fr;gap:8px}.recommendation h4{font-size:28px}.result-header h3{font-size:20px}.legend{gap:8px}.calendar-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.header{padding:20px 22px}.brand{font-size:23px}.brand-symbol{font-size:34px}nav{gap:18px;font-size:10px}nav a:nth-child(2){display:none}.hero{min-height:0;padding-top:38px;padding-bottom:35px;gap:0;grid-template-columns:1fr}.hero-copy{position:relative;z-index:6}.hero .eyebrow{font-size:8px}.hero h1{font-size:44px;margin:20px 0 17px}.hero-description{font-size:12px}.hero-cta{width:270px;font-size:12px;margin-top:24px}.hero-art{position:absolute;width:235px;height:235px;right:0;top:155px;opacity:.25;z-index:0;overflow:hidden}.compass-rose{width:150px;height:150px;left:43px;top:43px}.compass-rose span{left:63px;top:55px;font-size:35px}.orbit-outer{inset:5px}.orbit{inset:20px}.orbit-inner{inset:40px}.hero-art:before{top:20px;height:195px}.hero-art:after{left:20px;width:195px}.art-top{top:12px}.art-bottom{bottom:12px}.art-left{left:13px}.art-right{right:14px}.floating-note,.art-caption{display:none}.intro-strip{gap:8px;padding-top:18px;padding-bottom:18px;justify-content:space-between}.intro-strip b{font-size:10px;margin-left:7px;letter-spacing:0}.intro-strip i{width:12px;flex-shrink:0}.finder-section{padding-top:43px}.section-title{align-items:flex-start;gap:10px;margin-bottom:20px}.section-title h2{font-size:22px;margin-top:7px;line-height:1.7}.section-title .pill{display:none}.finder-grid{grid-template-columns:1fr;gap:18px}.input-card{padding:23px}.card-kicker{margin-bottom:15px}.input-card .date-time{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.input-card input,.input-card select{font-size:16px;min-height:48px}.small-details{margin-top:14px}.result-area{padding:22px;min-height:400px}.empty-state{min-height:360px}.empty-state h3{font-size:26px}.empty-icon{width:90px;height:90px;font-size:50px;margin-bottom:23px}.stars-row strong{font-size:23px}.result-visual{grid-template-columns:1.2fr 1fr;gap:10px}.recommendation h4{font-size:29px}.overlap{margin-top:13px;padding-top:10px}.overlap strong{font-size:26px}.legend{font-size:8px;gap:10px}.result-header h3{font-size:22px}.detail-content{gap:13px}.detail-content p{font-size:11px}.calendar-section,.destination-section{padding-top:42px}.calendar-section .section-title{flex-direction:column;gap:15px}.calendar-grid{grid-template-columns:repeat(2,1fr);gap:9px}.month-card{padding:14px}.month-period{font-size:8px}.month-dirs{font-size:12px}.section-description{font-size:11px}.destination-card{grid-template-columns:1fr;gap:20px;padding:20px}.destination-form{gap:8px;grid-template-columns:1fr 15px 1fr}.destination-result{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:20px}.destination-form select{font-size:14px}.about-section{margin-top:50px}.about-grid{grid-template-columns:1fr;gap:20px;padding-top:35px;padding-bottom:35px}.about-grid h2{font-size:28px;line-height:1.65;margin-top:15px}.about-copy{font-size:12px}.about-copy p+p{margin-top:13px}.method-section{padding-top:42px;padding-bottom:35px}.method-section .section-title{display:block}.edition{display:inline-block;margin-top:12px}.faq-list summary{font-size:12px;padding:18px 0}.faq-list details>div{font-size:11px;padding-right:0}.footer{flex-wrap:wrap;gap:20px;padding-top:25px;padding-bottom:25px}.footer p{width:100%;order:3;font-size:10px}.footer>span{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header,.hero,.intro-strip,.input-card,.about-section,.method-section,.footer,.sample-button,.destination-section{display:none!important}.finder-grid{display:block}.finder-section{padding-top:0}.result-area{border:none}.calendar-grid{grid-template-columns:repeat(4,1fr)}.calendar-section{break-before:page}.icon-button{display:none}}
.detail-period{font-size:9px;line-height:1.8;color:var(--muted);border-top:1px solid #e4e8dd;padding:9px 15px;background:#fcfcf7}.compass-sector{pointer-events:all}summary::-webkit-details-marker{display:none}@media(max-width:380px){.wrap{padding-left:16px;padding-right:16px}.result-area{padding:17px}.result-visual{gap:6px}.recommendation h4{font-size:24px}.legend{gap:6px;font-size:7px}.intro-strip b{font-size:9px}.hero h1{font-size:40px}}
.hero-promise{display:block;margin-top:.2em;font:inherit;letter-spacing:inherit;line-height:inherit}.hero-promise>span{display:inline-block;white-space:nowrap}.search-mode{border:0;margin:0 0 21px;padding:0;min-width:0}.search-mode legend{font-size:11px;font-weight:500;padding:0;margin-bottom:9px}.search-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #dde2d6;background:#f0f3e9;border-radius:8px}.search-mode-options label{position:relative;display:block;margin:0;cursor:pointer}.search-mode-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;border:0;pointer-events:none}.search-mode-options span{display:block;text-align:center;font-size:12px;font-weight:500;padding:10px 4px;border-radius:5px;color:#74806e;transition:background .2s,color .2s}.search-mode-options input:checked+span{color:#fff;background:var(--green);box-shadow:0 2px 5px #234b3e12}.search-mode-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.month-overview{padding-bottom:23px;margin-bottom:22px;border-bottom:1px solid var(--line)}.month-overview h3{font-size:24px;margin-top:8px}.month-overview-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:10px}.month-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.period-card{text-align:left;border:1px solid #dce2d4;border-radius:8px;background:#f9faf5;padding:14px 12px;min-width:0}.period-card[aria-pressed=true]{background:#edf3e8;border-color:#5b7a61;box-shadow:inset 0 0 0 1px #5b7a6130}.period-card-top{font-size:10px;color:#76836f;display:flex;justify-content:space-between;gap:8px}.period-card-top span:last-child{color:var(--green)}.period-card time{font-size:11px;font-variant-numeric:tabular-nums;display:block;line-height:1.8;margin-top:8px}.period-card>small{display:block;font-size:9px;color:var(--muted);margin-top:10px}.period-card strong{font-size:15px;display:block;font-weight:500;margin-top:2px}.period-card strong.no{font-size:12px;color:#79836e}.period-card .period-until{font-size:9px;color:#7a8472}.search-mode-options input:disabled+span{opacity:.5}@media(min-width:1051px){.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:20px}.hero-art{width:390px;height:390px}.hero-art .compass-rose{left:75px;top:75px}.hero-art:before{height:320px}.hero-art:after{width:320px}}@media(max-width:760px){.hero-promise{margin-top:.18em}.month-overview h3{font-size:22px}.month-periods{gap:8px}.period-card{padding:13px 10px}.period-card time{font-size:10px}.period-card strong{font-size:14px}.search-mode-options span{font-size:13px;padding:11px 4px}}

/* Daily search: simple default form, optional conditions, and a compact month. */
#submit-label{font-size:12px;line-height:1.6}
.settings-summary{margin-top:17px;padding:9px 11px;background:#f0f3e9;border-radius:5px;font-size:10px;color:#5d735e;line-height:1.8}
.advanced-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.advanced-settings summary{font-size:12px;font-weight:500}
.advanced-settings summary span{margin-left:auto}
.advanced-settings .form-divider{margin:20px 0}
.reset-settings{font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:14px 0 7px;color:#677961}
.month-overview{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.month-title-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:8px 0 10px}
.month-title-row h3{font-size:23px;line-height:1.7}
.candidate-count{background:var(--green);color:var(--white);border-radius:30px;padding:4px 12px;font-size:11px;white-space:nowrap}
.month-overview-note{font-size:11px;color:var(--muted);line-height:1.9}
.search-conditions{font-size:10px;margin:10px 0 17px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;color:#61755f;line-height:1.8}
.daily-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.weekday-heading{font-size:10px;text-align:center;padding:3px 0 6px;color:var(--muted)}
.weekday-heading:first-child{color:#9b6756}.weekday-heading:nth-child(7){color:#627a8d}
.day-cell{border:1px solid #e4e6dc;border-radius:7px;min-width:0;min-height:58px;padding:6px 2px;display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:center;position:relative;background:#fafbf6}
.day-cell>span{font:18px Georgia,serif;line-height:1.2}
.day-cell>small{font-size:15px;color:#9ca597;line-height:1.4;min-height:1.4em}
.day-cell.is-great{background:#f2ecd8;border-color:#d7c796;color:#776339}
.day-cell.is-great>small{color:#776339;font-weight:600}
.day-cell.is-good{background:#e7eee1;border-color:#cad8c3;color:var(--green)}
.day-cell.is-good>small{color:var(--green);font-weight:600}
.day-cell.is-bad{background:#f8efea;border-color:#e8d5cc;color:#975a46}
.day-cell.is-bad>small{color:#975a46}
.day-cell.is-selected{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:0 0 0 2px var(--white),0 0 0 3px var(--gold)}
.day-cell.is-selected>small{color:var(--white)}
.day-cell.is-today:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);position:absolute;right:5px;top:5px}
.day-cell:disabled{opacity:.3}
.calendar-key{font-size:10px;color:var(--muted);line-height:1.9;margin-top:12px}
.grade-key{display:flex;flex-wrap:wrap;gap:3px 15px;color:var(--ink);margin-bottom:5px}
.grade-key span{white-space:nowrap}
.calendar-key a{display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-top:5px}
.day-rating{margin-top:14px;padding:13px 15px;border-radius:7px;background:#f1f3ec;border:1px solid var(--line)}
.day-rating strong{font-size:14px;font-weight:500}
.day-rating p,.direction-rating-reason{font-size:11px;line-height:1.9;color:var(--muted);margin-top:4px}
.day-rating.rating-great{background:#f6f0df;border-color:#ded1aa}
.day-rating.rating-good{background:#edf3e8;border-color:#d1dec8}
.day-rating.rating-bad{background:#f8efea;border-color:#e8d5cc}
.day-rating.rating-great strong{color:#776339}.day-rating.rating-bad strong{color:#975a46}
.direction-rating-reason{padding:10px 15px 0;margin-top:0}
.legend .great{background:#d7c796}.legend .bad{background:#ddb9a8}
.tag-neutral{font-size:9px;color:var(--muted);background:#f1f3ec;padding:2px 6px;border-radius:3px;margin-left:5px}
.candidate-details{margin-top:16px;font-size:11px}
.candidate-details summary{padding:9px 0}
.candidate-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;width:100%;padding:13px 7px;border-bottom:1px solid var(--line);text-align:left}
.candidate-row time{font:17px Georgia,serif;min-width:90px}
.candidate-row time small{font:10px 'Noto Sans JP',sans-serif}
.candidate-row>span{font-size:12px}
.candidate-row .candidate-check{font-size:9px;color:var(--muted);margin-left:auto}
.candidate-row[aria-pressed=true]{background:#f0f3e9}
.candidate-empty{background:#f4f1e7;border-radius:6px;padding:14px;margin-top:15px;font-size:12px}
.candidate-empty .text-link{margin:7px 0 0;padding:0;border:0;font-size:11px;text-decoration:underline}
.current-view{font-size:10px;color:#74806e;margin-top:10px}
.term-note{font-size:11px;line-height:1.9;padding:11px 13px;background:#f6efdf;border-radius:6px;margin-top:12px;color:#8b7049}
.detail-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.detail-content h5 small{font-size:9px;color:var(--muted)}
.reference-board{border-top:2px solid #dce1d7;padding-top:7px}
.finder-grid>*,.hero-copy,.date-time>*,.result-visual>*{min-width:0}
#result-heading:focus{outline:none}
@media(max-width:1050px) and (min-width:761px){.detail-content{grid-template-columns:1fr}.detail-content>div+div{border-top:1px solid var(--line);padding-top:9px}.daily-calendar{gap:4px}.day-cell{min-height:53px}}
@media(max-width:760px){.month-title-row h3{font-size:21px}.daily-calendar{gap:5px}.day-cell{min-height:54px}.detail-content{grid-template-columns:1fr}.detail-content>div+div{border-top:1px solid var(--line);padding-top:11px}.detail-content h5{font-size:12px}.current-view,.calendar-key,.search-conditions{font-size:10px}.result-compass{min-width:0}.recommendation h4{overflow-wrap:anywhere}.result-visual{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@media(max-width:380px){.wrap{padding-left:16px;padding-right:16px}.result-area{padding:17px}.input-card{padding:20px}.daily-calendar{gap:4px}.day-cell{min-height:50px}.day-cell>span{font-size:17px}.result-header h3{font-size:20px}.stars-row strong{font-size:20px}.hero-cta{max-width:100%}.result-visual{grid-template-columns:1fr}.result-compass{max-width:260px}.recommendation{text-align:center;padding-bottom:15px}.overlap{max-width:180px;margin:12px auto 0}}
@media print{.advanced-settings,.candidate-details,.calendar-key{display:none}}
.hero h1{font-size:clamp(22px,3vw,40px);letter-spacing:0;line-height:1.65}
.hero-line,.hero .hero-promise{display:block;white-space:nowrap}
.hero .hero-promise{font:inherit;letter-spacing:inherit;margin-top:.15em}
.test-environment{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;padding:10px 20px;background:#eee5cd;color:#655532;font-size:12px}
.test-environment span{font-size:11px}
.test-environment a{text-decoration:underline;text-underline-offset:3px;font-size:11px}
@media(max-width:760px){.hero h1{font-size:clamp(18px,5vw,32px)}}
@media print{.test-environment{display:none}}
.map-section{padding-top:60px}
.direction-map-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0}
.map-date-summary{font-size:11px;color:var(--muted);line-height:1.8;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:20px}
.map-search-row{display:grid;grid-template-columns:135px minmax(0,1fr) auto;gap:9px;align-items:stretch}
.map-search-row .primary{font-size:12px;white-space:nowrap;padding:10px 20px}
.map-search-status{font-size:12px;line-height:1.8;color:var(--muted);margin-top:9px}
.map-search-status:empty{display:none}
.map-search-results{display:grid;gap:6px;margin-top:10px}
.map-search-results:empty{display:none}
.map-address-option{text-align:left;border:1px solid #dce2d5;background:#f4f6ee;border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.map-address-option small{display:block;color:var(--green);font-size:10px;margin-top:3px}
.map-address-option:hover{background:#e9efe2}
.map-origin-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:15px}
.map-outline-button{border:1px solid #bdcbb7;border-radius:6px;background:var(--white);color:var(--green);padding:10px 15px;font-size:12px;min-height:42px}
.map-outline-button[aria-pressed=true]{background:var(--green);color:var(--white)}
.map-text-button{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--muted);padding:8px 0}
.map-coordinate-details{margin-top:14px;font-size:11px;color:var(--muted);max-width:620px}
.map-coordinate-details summary{padding:8px 0}
.map-coordinate-details>label{margin-top:12px}
.map-coordinate-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:13px}
.map-coordinate-row label{margin:0}
.map-coordinate-row input{margin-top:7px}
.map-coordinate-row button{min-height:46px}
.map-origin-summary{font-size:12px;line-height:1.9;background:#f3f4ed;border-radius:6px;padding:12px 14px;margin:18px 0;overflow-wrap:anywhere}
.map-origin-summary.has-origin{background:#eaf1e4;color:#375b43}
.map-origin-summary:focus{outline:2px solid var(--gold);outline-offset:3px}
.map-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.map-view-controls{display:flex;gap:4px;background:#eef1e7;border-radius:7px;padding:4px}
.map-view-controls button{font-size:12px;color:var(--green);min-height:36px;min-width:75px;padding:7px 12px;border-radius:5px;background:var(--white);border:1px solid #d9e0d2}
.map-view-controls button:disabled{opacity:.4;cursor:default}
.map-checkbox{display:flex;align-items:center;gap:8px;font-size:11px;margin:0;cursor:pointer}
.map-checkbox input{width:16px;height:16px;min-height:16px;padding:0;accent-color:var(--green)}
.map-canvas-wrap{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;isolation:isolate}
.map-canvas{width:100%;height:520px;min-height:340px;background:#e9eee9;z-index:0;font-family:inherit}
.map-canvas.is-picking{cursor:crosshair}
.map-canvas:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.map-north{position:absolute;top:13px;right:13px;z-index:2;padding:5px 9px;background:#fffefaeb;border:1px solid #dce2d5;border-radius:5px;color:var(--green);font-size:11px;pointer-events:none}
.map-origin-pin{display:grid;place-items:center;border:2px solid #fffefa;border-radius:50%;background:var(--green);color:#fffefa;box-shadow:0 2px 10px #18372c66}
.map-origin-pin>span{font-size:9px;line-height:1}
.map-origin-tooltip{font-family:inherit;font-size:11px;font-weight:600;border-color:#9fb298;color:var(--green);background:#fffefaf2}
.map-canvas .leaflet-control-attribution{max-width:100%;font-size:9px;background:#fffefae8;line-height:1.5;padding:2px 5px;white-space:normal}
.map-canvas .leaflet-control-attribution a{color:#345d4a;text-decoration:underline}
.map-canvas .leaflet-control-zoom a{min-width:32px;min-height:32px;color:var(--green)}
.map-canvas .leaflet-control-scale-line{font-size:10px}
.map-interaction-hint{font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}
.map-status{font-size:12px;line-height:1.8;padding:10px 13px;margin-top:10px;background:#edf1e7;border-radius:6px;color:var(--green)}
.map-status.is-error{background:#faf0e7;color:#934f35}
.map-legend{display:flex;flex-wrap:wrap;gap:7px 20px;margin:16px 0 12px;font-size:11px;color:var(--muted)}
.map-legend>span{display:flex;gap:6px;align-items:center;white-space:nowrap}
.map-legend i{width:10px;height:10px;border-radius:50%;border:1px solid #cfd5c8}
.map-legend .great{background:#c9b371}.map-legend .good{background:#568563}.map-legend .bad{background:#c68b79}.map-legend .neutral{background:#fffefa}
.map-directions{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:10px 0 16px}
.map-direction-chip{padding:7px 3px;text-align:center;font-size:11px;border-radius:5px;border:1px solid var(--line)}
.map-direction-chip.is-great,.map-grade.is-great{background:#f2ecd8;color:#776339}
.map-direction-chip.is-good,.map-grade.is-good{background:#e7eee1;color:var(--green)}
.map-direction-chip.is-bad,.map-grade.is-bad{background:#f8efea;color:#975a46}
.map-direction-chip.is-neutral,.map-grade.is-neutral{background:#f6f7f1;color:#74806e}
.map-point-result{border:1px solid #d7e0d0;background:#f7f9f3;border-radius:8px;padding:17px 19px}
.map-point-title{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:8px}
.map-point-title strong{font-family:'Noto Serif JP',serif;font-size:25px;font-weight:500}
.map-grade{font-size:12px;padding:4px 10px;border-radius:5px}
.map-point-result p{font-size:12px;line-height:1.9;color:var(--muted)}
.map-footnote,.map-privacy,.map-sources{font-size:10px;line-height:1.9;color:var(--muted);margin-top:12px}
.map-sources a{text-decoration:underline;text-underline-offset:3px}
.map-comparison{margin-top:20px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}
.map-comparison summary{padding:10px 0;color:var(--green)}
.map-comparison .destination-card{border:0;padding:15px 0;background:transparent;border-radius:0}
@media(max-width:760px){.map-section{padding-top:42px}.direction-map-card{padding:19px}.map-search-row{grid-template-columns:minmax(0,1fr) auto}.map-search-row select{grid-column:1/-1;max-width:180px}.map-search-row input,.map-search-row select,.map-coordinate-details input{font-size:16px}.map-search-row .primary{padding:10px 12px;font-size:11px}.map-canvas{height:430px}.map-directions{grid-template-columns:repeat(4,minmax(0,1fr))}.map-view-controls{width:100%}.map-view-controls button{flex:1;min-width:0;padding:7px 9px}.map-toolbar{gap:13px}.map-coordinate-row{grid-template-columns:1fr 1fr}.map-coordinate-row button{grid-column:1/-1}.map-legend{font-size:10px;gap:7px 12px}.map-point-result{padding:14px}.map-point-result p{font-size:11px}.map-privacy,.map-footnote{font-size:10px}.map-comparison .destination-card{grid-template-columns:1fr}}
@media(max-width:380px){.direction-map-card{padding:14px}.map-canvas{height:390px}.map-search-row{grid-template-columns:1fr}.map-search-row select{max-width:none}.map-search-row .primary{min-height:44px}.map-origin-summary{padding:10px}.map-direction-chip{font-size:10px}}
@media print{.map-search-form,.map-origin-tools,.map-coordinate-details,.map-toolbar,.map-comparison{display:none}.map-canvas{height:380px}}


/* Keep the about heading on one line, sized to its own column. */
.about-grid>div:first-child{min-width:0;container-type:inline-size}
.about-grid h2{white-space:nowrap;font-size:min(33px,6.2cqi)}
@media(max-width:680px){.about-grid h2{font-size:min(28px,6.2cqi)}}

/* Independent destination-date search. */
.trip-section{padding-top:58px}.trip-card{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.trip-card a{text-decoration:underline;text-underline-offset:3px}.trip-card #trip-use-map{margin:18px 0 22px}
.trip-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.trip-place{min-width:0;padding:20px;background:#f7f8f1;border:1px solid var(--line);border-radius:9px}
.trip-place h3{font-size:20px;margin-bottom:16px}.trip-address-row{display:flex;gap:8px;margin-top:8px}.trip-address-row input{flex:1;min-width:0}.trip-address-row button{flex:none;white-space:nowrap;padding:10px 14px}
.trip-place .map-search-results{max-height:240px;overflow:auto}.trip-place .map-search-results button{overflow-wrap:anywhere}
.trip-chosen{padding-top:12px;font-size:12px;color:var(--green);overflow-wrap:anywhere}.trip-place details{font-size:12px;margin-top:15px}.trip-place details label{margin-top:12px}.trip-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trip-apply{margin-top:12px}
.trip-month-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:600px;margin-top:24px}.trip-submit{margin-top:22px;max-width:100%}
.trip-result-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.trip-result-heading h3{font-size:24px}.trip-route{margin-top:16px;overflow-wrap:anywhere}.trip-card .daily-calendar{margin-top:18px}.trip-candidates{margin-top:20px}.trip-empty{padding:20px;background:#f4f4eb;margin-top:16px;border-radius:8px;font-size:13px}.trip-card .direction-detail{margin-top:20px}.trip-card .detail-content{display:block}.trip-card .detail-content>div+div{margin-top:16px}.trip-card .map-privacy{margin-top:24px}
@media(max-width:680px){.trip-section{padding-top:42px}.trip-card{padding:20px}.trip-places{grid-template-columns:1fr;gap:14px}.trip-place{padding:16px}.trip-month-fields{gap:12px}.trip-result-heading h3{font-size:21px}.trip-result-heading{align-items:flex-start}.trip-place input,.trip-place select,.trip-month-fields input,.trip-month-fields select{font-size:16px}.trip-submit{width:100%;font-size:13px}.trip-card .candidate-row{gap:8px}.trip-card .candidate-check{font-size:11px}}
@media(max-width:380px){.trip-month-fields{grid-template-columns:1fr}.trip-card{padding:16px}}

.trip-place .trip-chosen{padding:12px 14px;background:#e7eee6;border:1px solid #c5d5c5;border-radius:7px;margin-top:12px}
.trip-place .map-search-results .trip-address-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:14px;margin-top:10px;background:var(--white);border:1px solid #a6bba9;border-radius:8px;text-align:left;line-height:1.8}
.trip-address-candidate strong{display:inline-block;background:var(--green);color:white;font-size:12px;padding:6px 12px;border-radius:5px;font-weight:500}
.trip-address-candidate:hover{background:#eef3ea!important}.trip-address-row button{font-size:12px}
@media(max-width:380px){.trip-address-row{flex-wrap:wrap}.trip-address-row input{flex-basis:100%}.trip-address-row button{width:100%}}

/* Bottom-of-page travel guide: closed until requested. */
.travel-guide{padding-top:12px;padding-bottom:36px}.travel-guide-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;border-radius:12px;border:1px solid #bac9b8;background:#e9eddf;text-align:left}.travel-guide-toggle:hover{background:#e0e7d7}.travel-guide-toggle-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.travel-guide-title{font:500 26px/1.6 'Noto Serif JP',serif;color:var(--ink)}.travel-guide-caption{font-size:12px;color:#627363}.travel-guide-toggle-label{font-size:12px;white-space:nowrap;border:1px solid #9bae98;border-radius:30px;padding:8px 14px}.travel-guide-panel{padding:34px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--white)}.travel-guide-toggle[aria-expanded=true]{border-radius:12px 12px 0 0}.travel-guide-intro{max-width:760px}.travel-guide-intro h2{font-size:28px;line-height:1.7;margin:10px 0 16px}.travel-guide-panel p{font-size:13px;line-height:2}.travel-guide-panel .travel-guide-note{font-size:11px;color:#6b796d;margin-top:12px}.travel-guide-subheading{font-size:21px;margin:32px 0 18px}.travel-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0;counter-reset:rule}.travel-rule-grid li{display:flex;gap:14px;border:1px solid #e0e4d7;padding:20px;border-radius:9px}.travel-rule-number{font:22px/1.7 Georgia,serif;color:var(--gold)}.travel-rule-grid h4,.travel-tips h4{font-size:14px;font-weight:600;line-height:1.8;margin:0 0 9px}.travel-guide-reference{margin-top:30px;background:#f4f3eb;padding:24px;border-radius:9px}.travel-guide-reference h3{font-size:21px;margin:7px 0 12px}.travel-customs{margin:18px 0 0}.travel-customs>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:16px 0}.travel-customs dt{font-weight:600;font-size:13px}.travel-customs dd{margin:0;font-size:12px;line-height:2}.travel-customs a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:11px;color:var(--green)}.travel-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px}.travel-tips article>span{font-size:24px;color:var(--gold);display:block;margin-bottom:8px}.travel-guide-faq{margin-top:32px}.travel-guide-faq h3{font-size:21px;margin-bottom:12px}.travel-guide-faq details{border-bottom:1px solid var(--line);padding:14px 0}.travel-guide-faq summary{font-size:13px;font-weight:500;line-height:1.8}.travel-guide-faq details p{margin-top:10px;color:#627363}.travel-guide-check{background:#eef2e8;border-radius:9px;padding:22px;margin-top:28px}.travel-guide-check h3{font-size:19px}.travel-guide-check ul{padding-left:20px;margin:12px 0 0;font-size:13px;line-height:2.1}.travel-guide-actions{display:flex;gap:14px;align-items:center;margin-top:24px;flex-wrap:wrap}.travel-guide-actions .primary{font-size:13px}.travel-guide-panel .travel-guide-sources{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
@media(max-width:680px){.travel-guide-toggle{padding:20px;gap:12px}.travel-guide-title{font-size:21px}.travel-guide-toggle-copy .eyebrow{font-size:8px;letter-spacing:.1em}.travel-guide-toggle-label{padding:6px 10px;font-size:11px}.travel-guide-caption{font-size:11px}.travel-guide-panel{padding:22px}.travel-guide-intro h2{font-size:24px}.travel-rule-grid{grid-template-columns:1fr}.travel-rule-grid li{padding:16px}.travel-guide-reference{padding:18px}.travel-customs>div{grid-template-columns:1fr;gap:6px}.travel-tips{grid-template-columns:1fr;gap:18px}.travel-tips article{border-left:2px solid #d7c694;padding-left:16px}.travel-tips article>span{display:none}.travel-guide-actions{align-items:stretch;flex-direction:column}.travel-guide-subheading,.travel-guide-reference h3{font-size:19px}}
@media(max-width:380px){.travel-guide-toggle{padding:16px;gap:9px}.travel-guide-title{font-size:18px}.travel-guide-panel{padding:18px}.travel-guide-caption{font-size:10px}.travel-guide-toggle-label{padding:6px 8px}}
@media print{.travel-guide-toggle,.travel-guide-actions{display:none}.travel-guide-panel{border:0;padding:0}.travel-rule-grid,.travel-tips{display:block}.travel-rule-grid li{break-inside:avoid;margin-bottom:12px}}

/* The hand-drawn face is the primary mark; the original compass is the secondary mark. */
.brand .brand-mark{display:block;width:72px;height:72px;flex:0 0 72px;object-fit:contain;mix-blend-mode:normal}.header .brand{gap:13px;flex-shrink:0}.footer .brand .brand-mark{width:56px;height:56px;flex-basis:56px}
@media(max-width:760px){.header .brand{gap:10px}.header .brand .brand-mark{width:60px;height:60px;flex-basis:60px}.footer .brand .brand-mark{width:50px;height:50px;flex-basis:50px}}
@media(max-width:380px){.header{padding-left:16px;padding-right:16px}.header .brand{font-size:21px;gap:8px}.header .brand .brand-mark{width:54px;height:54px;flex-basis:54px}.header nav{gap:12px;font-size:9px}}

/* Combined portrait and compass emblem: retain legibility at header size. */
.header .brand .brand-mark{width:80px;height:80px;flex-basis:80px}.footer .brand .brand-mark{width:60px;height:60px;flex-basis:60px}
@media(max-width:760px){.header .brand .brand-mark{width:64px;height:64px;flex-basis:64px}.footer .brand .brand-mark{width:54px;height:54px;flex-basis:54px}}
@media(max-width:380px){.header .brand .brand-mark{width:56px;height:56px;flex-basis:56px}}

/* Weekly weather: independent of fortune grades. */
.weather-section{padding-top:60px;padding-bottom:60px}.weather-section h2{font-family:"Noto Serif JP",serif;font-size:clamp(26px,4vw,42px);font-weight:400}.weather-controls{display:flex;align-items:end;gap:16px;margin:20px 0;flex-wrap:wrap}.weather-controls>div{flex:1;min-width:200px}.weather-controls label{display:block;margin-bottom:8px}.weather-controls select{width:100%}.weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.weather-day{border:1px solid #dce0d5;border-radius:12px;padding:16px 8px;text-align:center;background:#f7f8f1}.weather-day strong{font-size:14px}.weather-sky{font-size:14px;min-height:3em;line-height:1.5}.weather-temp{font-size:17px;color:#284c3f}.weather-day small{white-space:nowrap}.weather-section [hidden]{display:none!important}.weather-section #weather-status{color:#805444}.weather-section .text-link{display:inline-block;margin-top:16px}@media(max-width:760px){.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-day:last-child{grid-column:1/-1}.weather-sky{min-height:0}.weather-controls{align-items:stretch;flex-direction:column}.weather-controls>div{min-width:0}.weather-section{padding-top:40px;padding-bottom:40px}}

/* Shrine and sacred-water finder. */
.shrine-section{padding:60px 0}.shrine-section h2{font-family:'Noto Serif JP',serif;font-size:clamp(26px,4vw,42px);font-weight:400}.shrine-section [hidden]{display:none!important}.shrine-tabs{display:flex;gap:12px;flex-wrap:wrap;border:0;padding:0;margin:28px 0}.shrine-tabs legend{margin-bottom:10px}.shrine-tabs label{background:var(--green-light);padding:12px 18px;border-radius:9px}.shrine-tabs input,.shrine-check input{width:auto;accent-color:var(--green);margin-right:6px}.shrine-origin-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:24px}.shrine-origin-block>label{display:block;font-weight:600;margin-bottom:10px}.shrine-origin-block>button{margin-bottom:14px}.shrine-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.shrine-fields label,#shrine-water-wrap>label,.shrine-extra>label{display:block;margin-bottom:8px}.shrine-section select,.shrine-fields input{width:100%;min-width:0}.shrine-extra{padding:16px 0}.shrine-extra>label{margin-top:15px}.shrine-check{display:flex;align-items:center;gap:8px;margin:22px 0}.shrine-actions{display:flex;gap:12px;flex-wrap:wrap}.shrine-actions .primary{width:auto}.shrine-error{color:var(--red)}#shrine-summary{margin:24px 0}.shrine-results{display:grid;grid-template-columns:1fr 1fr;gap:20px}.shrine-card{border:1px solid var(--line);padding:24px;border-radius:14px;min-width:0;background:var(--paper)}.shrine-card h3{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:500;margin:14px 0}.shrine-card-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;flex-wrap:wrap}.shrine-grade{background:#e8e9e1;padding:3px 9px;border-radius:5px}.shrine-grade.good,.shrine-grade.great{background:#e4ebdd}.shrine-grade.bad{background:#f2e3db;color:var(--red)}.shrine-direction{font-size:20px}.shrine-water-info{background:#edf1e9;border-radius:8px;padding:16px;margin:20px 0}.shrine-water-info strong,.shrine-water-info span{display:block}.shrine-water-info span{font-size:12px;margin:6px 0;color:var(--muted)}.shrine-water-info p{font-size:13px;line-height:1.8;margin:10px 0}.shrine-links{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.shrine-links a,.shrine-section .map-privacy a{text-decoration:underline;text-underline-offset:4px}.shrine-card>.map-outline-button{margin-top:20px;width:100%}.shrine-guide{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.shrine-guide summary,.shrine-days summary{cursor:pointer;font-weight:500}.shrine-date-list{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:16px}.shrine-date{border-radius:4px;padding:5px;text-align:center;font-size:12px;background:#efefe8}.shrine-date.good,.shrine-date.great{background:#dce8d8}.shrine-date.bad{background:#f1e0d9;color:var(--red)}.shrine-days{margin-top:18px}.shrine-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:10px;padding:24px}@media(max-width:760px){.shrine-section{padding:40px 0}.shrine-results,.shrine-fields{grid-template-columns:1fr}.shrine-card{padding:18px}.shrine-tabs{display:grid;grid-template-columns:1fr}.shrine-actions{flex-direction:column}.shrine-actions .primary{width:100%}.shrine-card h3{font-size:22px}.shrine-date-list{grid-template-columns:repeat(4,minmax(0,1fr))}}

.shrine-card:only-child{grid-column:1/-1}

.shrine-catalog-counts{margin:0 0 1.2rem;padding:.9rem 1rem;border:1px solid var(--line,#dce0d5);border-radius:12px;background:#f1f3eb;color:#365348;font-size:.88rem;line-height:1.9;overflow-wrap:anywhere}

.shrine-pagination{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px}.shrine-pagination p:empty{display:none}.shrine-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.shrine-personal{padding:24px;border-radius:12px;background:var(--green-light);border-left:3px solid var(--green);margin:22px 0}.shrine-personal .eyebrow{font-size:11px;margin:0 0 10px}.shrine-personal-star{font-family:'Noto Serif JP',serif;font-size:clamp(24px,4vw,34px);margin:0 0 10px;color:var(--green);overflow-wrap:anywhere}.shrine-personal .text-link{font-size:13px}.shrine-section button:disabled{opacity:.55;cursor:wait}.shrine-section .map-privacy,.shrine-guide{overflow-wrap:anywhere}.shrine-guide p{line-height:1.9}.shrine-personal .field-note{margin:10px 0 16px}

/* Optional shrine searches stay quiet until opened. */
.search-disclosure{border:1px solid #cbd5c5;border-radius:12px;background:var(--white);overflow:hidden}
.search-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:25px 28px;background:#eef2e7}
.search-disclosure>summary::-webkit-details-marker{display:none}
.search-disclosure>summary:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.search-disclosure>summary .eyebrow{display:block;margin-bottom:10px;font-size:10px}
.disclosure-title{display:block;font-family:'Noto Serif JP',serif;font-size:25px;line-height:1.6;color:var(--green)}
.disclosure-note{display:block;margin-top:8px;font-size:12px;line-height:1.8;color:var(--muted)}
.disclosure-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #bcc9b4;border-radius:50%;font-size:22px;color:var(--green)}
.disclosure-icon::before{content:'＋'}.search-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.search-disclosure[open]>summary .disclosure-icon::before{content:'−'}
.shrine-section>.search-disclosure>.trip-card{border:0;border-radius:0}
.nearby-disclosure{margin-top:30px}.nearby-disclosure [hidden]{display:none!important}
.nearby-content{padding:24px}.nearby-content p{overflow-wrap:anywhere}
.nearby-route{padding:14px 16px;border-left:2px solid var(--green);background:#f4f6ef;font-size:13px;line-height:1.9;margin:18px 0 10px}
.nearby-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.nearby-fields>div{min-width:0}.nearby-fields label{display:block;font-size:12px;margin-bottom:8px}.nearby-fields input,.nearby-fields select{width:100%;min-width:0}
#nearby-submit{margin:18px 0 12px;max-width:100%;font-size:13px}#nearby-submit:disabled{opacity:.55;cursor:wait}
#nearby-output{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}#nearby-heading{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:500;margin-bottom:10px}
.nearby-results{padding:0;margin:22px 0;list-style:none;display:grid;gap:15px}.nearby-card{display:flex;gap:18px;border:1px solid var(--line);border-radius:10px;padding:22px;background:#fafbf6}
.nearby-card:first-child{border-color:#ac9865;background:#f7f6ec}.nearby-rank{font-family:Georgia,serif;font-size:29px;line-height:1.3;color:#9d8756;flex:0 0 36px}
.nearby-card-body{min-width:0;flex:1}.nearby-card-meta{display:flex;gap:10px;justify-content:space-between;align-items:start;flex-wrap:wrap;font-size:11px;color:var(--muted)}.nearby-card-meta strong{font-weight:500;color:var(--green)}
.nearby-card h4{font-family:'Noto Serif JP',serif;font-size:23px;font-weight:500;margin:10px 0 6px;overflow-wrap:anywhere}.nearby-direction{font-size:13px;margin:12px 0 6px}.nearby-card .shrine-links{margin-top:14px;font-size:12px}.nearby-card .map-outline-button{font-size:12px;margin-top:18px}
.nearby-days,.nearby-water{margin-top:16px;font-size:12px}.nearby-days summary,.nearby-water summary,.nearby-method summary{cursor:pointer}.nearby-water p{line-height:1.9;margin-top:8px}.nearby-good-days{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.nearby-good-days span{padding:5px 9px;background:#e7eee0;border-radius:5px}
.nearby-method{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:12px}.nearby-method p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:12px}
@media(max-width:680px){.search-disclosure>summary{padding:20px 18px;gap:12px}.disclosure-title{font-size:20px}.disclosure-note{font-size:11px}.disclosure-icon{flex-basis:30px;width:30px;height:30px}.nearby-content{padding:18px 14px}.nearby-fields{grid-template-columns:1fr;gap:14px}.nearby-fields input,.nearby-fields select{font-size:16px}.nearby-card{gap:10px;padding:16px 12px}.nearby-rank{font-size:24px;flex-basis:29px}.nearby-card h4{font-size:20px}.nearby-card .map-outline-button{width:100%;padding:10px 8px}.nearby-card-meta{gap:8px}#nearby-heading{font-size:21px}#nearby-submit{width:100%;padding:14px 12px}.nearby-disclosure>summary .disclosure-title{font-size:18px}}

#nearby-error:empty{display:none}

/* Use the approved emblem in the initial diagnosis panel. */
.empty-icon img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}

/* Quiet champagne-gold accents; preserve all layout, sizing and fortune colors. */
:root{--gold-ink:#786132;--gold-light:#e3d09a;--gold-line:#dcd1b5;--gold-soft-line:#e3dccb}
@media screen{
  .brand small,.eyebrow,.card-kicker{color:var(--gold-ink)}
  .header,.footer,.intro-strip{border-color:var(--gold-line)}
  .nav-circle{border-color:#bba674;color:var(--gold-ink)}
  .intro-strip i{background:linear-gradient(90deg,transparent,#cbbb91,transparent)}
  .hero .eyebrow>span{background:#b49a5d;box-shadow:0 0 0 3px #b49a5d12}

  .primary{box-shadow:inset 0 0 0 1px #d8c48b7a,inset 0 1px 0 #f4e9c52b}
  .hero-cta>span,.calculate>span:last-child{color:var(--gold-light)}
  .primary:hover{box-shadow:inset 0 0 0 1px #e3d09ab3,inset 0 1px 0 #f4e9c54d}
  .text-link{border-bottom-color:#bca879}
  .text-link>span{color:var(--gold-ink)}

  .hero-art{background:radial-gradient(circle,#e8e9d9 0%,#efeedf 41%,transparent 69%)}
  .hero-art .orbit-outer{border-color:#d5c69e}
  .hero-art .orbit-inner{border-color:#c8b98c}
  .hero-art:before,.hero-art:after{background:#d8ceb2}
  .art-top,.art-bottom,.art-left,.art-right,.art-caption{color:var(--gold-ink)}
  .compass-rose:after{background:linear-gradient(135deg,#b39859,#e2d2a1 48%,#ab9052)}
  .floating-note{border-color:var(--gold-line)}

  .input-card,.result-area,.trip-card,.direction-map-card,.destination-card{border-color:var(--gold-soft-line);border-top-color:#cbbb91}
  .empty-icon{background:radial-gradient(circle at 35% 25%,#fffdf4,#f1eddf 75%);box-shadow:inset 0 0 0 1px #c6b17a,0 0 0 6px #b49a5d0b}
  .empty-features span{border-color:var(--gold-line);color:#747d6c}
  .pill{border-color:#d2c6a5}
  .icon-button,.year-control button{border-color:var(--gold-line)}

  .search-disclosure,.travel-guide-toggle,.travel-guide-panel{border-color:#d2c4a2}
  .search-disclosure>summary{background:linear-gradient(115deg,#eef2e7 55%,#f3efe2)}
  .search-disclosure[open]>summary{border-bottom-color:var(--gold-soft-line)}
  .disclosure-icon{border-color:#baa46e;color:var(--gold-ink)}
  .travel-guide-toggle{background:linear-gradient(115deg,#e9eddf 50%,#f0ead8)}
  .travel-guide-toggle:hover{background:linear-gradient(115deg,#e0e7d7 50%,#ebe3cd)}
  .travel-guide-toggle-label{border-color:#baa46e;color:var(--gold-ink)}
  .about-section{border-color:var(--gold-line);background:linear-gradient(110deg,#e9eddf 62%,#efe9d7)}
  .faq-list,.faq-list details{border-color:var(--gold-soft-line)}
  .faq-list summary:after{color:var(--gold-ink)}
}

/* Optional A/B comparison: saved results survive new searches within this page. */
.comparison-save-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 22px}
.comparison-save-row .map-outline-button{border-color:#bca879;background:#faf8ef;font-size:12px}
.comparison-save-row a{font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.comparison-save-row p{flex-basis:100%;font-size:11px;color:var(--muted);line-height:1.9}
.comparison-section{padding-top:54px;padding-bottom:12px}.comparison-section [hidden]{display:none!important}
.comparison-card{border:1px solid var(--gold-line);border-radius:12px;background:var(--white);padding:28px}
.comparison-next,.comparison-warning,.comparison-replace{padding:16px 18px;border-radius:8px;margin-bottom:20px;font-size:12px;line-height:1.9}
.comparison-next{background:#edf2e8}.comparison-next a{display:inline-block;margin-left:12px;text-decoration:underline;text-underline-offset:4px}
.comparison-warning,.comparison-replace{background:#f7f1df;border:1px solid #dfcf9f;color:#64552e}
.comparison-replace>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.comparison-replace button{font-size:12px}.comparison-replace>p{overflow-wrap:anywhere}
.comparison-table{table-layout:fixed;width:100%;margin:0;white-space:normal;border-collapse:separate;border-spacing:0;font-size:13px}
.comparison-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.comparison-label-col{width:20%}.comparison-table th,.comparison-table td{padding:16px 18px;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid #e5e3d8;vertical-align:top}
.comparison-table th{font-size:12px;color:var(--ink);font-weight:500}.comparison-table thead th{background:#edf2e8;border-top:2px solid #b59b5e;border-radius:8px 8px 0 0;text-align:center}
.comparison-table thead th+th{background:#f5f1e5}.comparison-table td{border-left:1px solid #e5e3d8;text-align:center}
.comparison-table thead>tr>td{border-left:0}.comparison-table .comparison-group th{padding-top:25px;background:#f8f7f0;color:var(--gold-ink);font-size:12px}
.comparison-letter{display:block;color:var(--gold-ink);font-size:11px;letter-spacing:.12em;margin-bottom:8px}
.comparison-date{display:block;font-family:'Noto Serif JP',serif;font-size:24px;color:var(--green);font-weight:500;line-height:1.6}
.comparison-time{display:block;font-size:11px;color:var(--muted)}.comparison-remove{display:block;margin:12px auto 0;font-size:11px;color:#627064;text-decoration:underline;text-underline-offset:4px;padding:5px 8px}
.comparison-placeholder{display:block;font-size:12px;line-height:2;color:var(--muted)}.comparison-table small{display:block;font-size:11px;color:var(--muted);margin-top:7px}
.comparison-rating{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;min-height:28px}
.comparison-grade{display:inline-grid;place-items:center;min-width:30px;min-height:30px;border-radius:50%;font-size:22px;line-height:1.3;color:var(--ink)}
.comparison-grade.grade-great{color:#7c652f;background:#f0e7cd}.comparison-grade.grade-good{color:var(--green);background:#e8efe5}.comparison-grade.grade-bad{color:#9b5747;background:#f5e8e1}
.comparison-route-arrow{display:block;color:var(--gold-ink);padding:3px}.comparison-key{margin:18px 0;font-size:11px;color:var(--muted)}
.comparison-detail{border-top:1px solid var(--gold-soft-line);padding-top:18px}.comparison-detail summary{font-size:13px;line-height:1.9}.comparison-detail label{margin-top:20px}.comparison-detail select{max-width:240px}
.comparison-reasons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.comparison-reasons article{min-width:0;border:1px solid var(--line);border-radius:8px;padding:18px}.comparison-reasons h4{font-size:14px;margin:0 0 12px}.comparison-reasons p{font-size:12px;line-height:1.9;overflow-wrap:anywhere}.comparison-board{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.comparison-board strong{font-size:12px}.comparison-reference{color:var(--muted)}
.comparison-footer{border-top:1px solid var(--gold-soft-line);display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:20px}.comparison-footer p{font-size:10px;line-height:1.9;color:var(--muted)}.comparison-footer button{font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;padding:9px 4px}
@media(max-width:680px){.comparison-section{padding-top:36px}.comparison-card{padding:16px 10px}.comparison-table th,.comparison-table td{padding:12px 6px;font-size:11px}.comparison-label-col{width:23%}.comparison-date{font-size:17px;letter-spacing:-.02em}.comparison-table small,.comparison-time{font-size:10px}.comparison-placeholder{font-size:11px}.comparison-rating{gap:4px;font-size:11px}.comparison-next,.comparison-warning,.comparison-replace{padding:12px;font-size:11px}.comparison-next a{margin-left:0;display:block;margin-top:7px}.comparison-replace>div{flex-direction:column}.comparison-footer{align-items:start;flex-direction:column;gap:8px}.comparison-reasons{gap:8px}.comparison-reasons article{padding:12px 8px}.comparison-reasons p{font-size:11px}.comparison-save-row .map-outline-button{font-size:12px;max-width:100%}.comparison-key{font-size:10px}.comparison-section .section-title{gap:6px}.comparison-section .section-title h2{font-size:21px}}
@media print{.comparison-save-row,.comparison-remove,.comparison-replace,.comparison-footer button{display:none}.comparison-card{border:0;padding:0}.comparison-table tr{break-inside:avoid}}
