:root{--c-primary:#0b6b5e;--c-primary-dark:#08544a;--c-primary-light:#e9f2f0;--c-accent:#b45309;--c-text:#2d2521;--c-text-sub:#75695f;--c-bg:#fff;--c-bg-sub:#f8f4ec;--c-border:#e8e0d2;--radius:10px;--maxw:720px}*{box-sizing:border-box}html{color:var(--c-text);background:var(--c-bg);-webkit-text-size-adjust:100%;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,Meiryo,system-ui,sans-serif;line-height:1.85}body{margin:0;font-size:16px}a{color:var(--c-primary)}a:hover{color:var(--c-primary-dark)}h1,h2,h3{letter-spacing:.01em;line-height:1.5}.container{max-width:var(--maxw);margin:0 auto;padding:0 1rem}.site-header{border-bottom:1px solid var(--c-border);background:var(--c-bg-sub)}.site-header__inner{flex-wrap:wrap;align-items:baseline;gap:.15rem .9rem;padding-top:.9rem;padding-bottom:.9rem;display:flex}.site-title{margin:0;font-size:1.05rem;font-weight:700}.site-title a{color:var(--c-text);text-decoration:none}.site-tagline{color:var(--c-text-sub);margin:0;font-size:.78rem}.site-main{padding-top:2rem;padding-bottom:3.5rem}.site-footer{border-top:1px solid var(--c-border);background:var(--c-bg-sub);color:var(--c-text-sub);padding-top:1.75rem;padding-bottom:2.25rem;font-size:.85rem}.site-footer h2{color:var(--c-text);margin:0 0 .5rem;font-size:.85rem}.footer-links{margin:0 0 1.25rem;padding:0;list-style:none}.footer-links li{margin-bottom:.3rem}.footer-note{margin:0;font-size:.78rem}.footer-note+.footer-note{margin-top:.4rem}.page-title{margin:0 0 .7rem;font-size:1.45rem}.page-lead{color:#4a423c;margin:0 0 1.75rem}.section{margin-bottom:2.75rem}.section__title{border-left:3px solid var(--c-primary);margin:0 0 .9rem;padding-left:.6rem;font-size:1.1rem}.back-link{margin-bottom:1.25rem;font-size:.88rem;text-decoration:none;display:inline-block}.card-list{gap:.85rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:1rem 1.1rem;transition:border-color .15s}.card:hover{border-color:var(--c-primary)}.card__title{margin:0 0 .35rem;font-size:1.02rem}.card__title a{text-decoration:none}.card__lead{color:#4a423c;margin:0 0 .6rem;font-size:.9rem}.card__meta{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.badge{background:var(--c-primary-light);color:var(--c-primary-dark);border-radius:999px;padding:.12rem .5rem;font-size:.72rem;line-height:1.7;display:inline-block}.badge--unverified{color:var(--c-accent);background:#fbf0e2}.more-link{font-weight:700;text-decoration:none;display:inline-block}.freshness{background:var(--c-primary-light);border-left:3px solid var(--c-primary);border-radius:0 var(--radius) var(--radius) 0;margin:0 0 1.5rem;padding:.85rem 1rem;font-size:.88rem}.prose{margin-bottom:2.75rem}.prose h2{border-bottom:1px solid var(--c-border);margin:2.25rem 0 .75rem;padding-bottom:.35rem;font-size:1.15rem}.prose h3{color:var(--c-primary-dark);margin:1.75rem 0 .5rem;font-size:1.02rem}.prose p{margin:0 0 .9rem}.prose ul{margin:0 0 1.1rem;padding-left:1.3rem}.prose li{margin-bottom:.3rem}.prose a{word-break:break-all}.booking{background:var(--c-primary-light);border-radius:var(--radius);border:1px solid #cfe2de;margin-bottom:2rem;padding:1.1rem 1.2rem}.booking__note{color:#4a423c;margin:0 0 .9rem;font-size:.86rem}.booking__list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.booking-btn{background:var(--c-primary);color:#fff;border-radius:var(--radius);padding:.55rem 1rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-block}.booking-btn:hover{background:var(--c-primary-dark);color:#fff}.booking__meta{color:var(--c-text-sub);margin-left:.5rem;font-size:.76rem}.ad-disclosure{color:var(--c-text-sub);margin:0 0 1.5rem;font-size:.8rem}.spots{background:var(--c-bg-sub);border-radius:var(--radius);margin-bottom:2.75rem;padding:1.1rem 1.2rem}.spots__note{color:var(--c-text-sub);margin:0 0 .9rem;font-size:.85rem}.spot-list{margin:0 0 .9rem;padding:0;list-style:none}.spot-item{border-bottom:1px solid var(--c-border);flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem;padding:.45rem 0;display:flex}.spot-item:last-child{border-bottom:none}.spot-meta{color:var(--c-text-sub);font-size:.76rem}.notes{background:var(--c-bg-sub);border-radius:var(--radius);padding:1.1rem 1.2rem}.notes ul{margin:0 0 .9rem;padding-left:1.2rem;font-size:.9rem}.notes li{margin-bottom:.45rem}.notes p{color:var(--c-text-sub);margin:0;font-size:.86rem}.form{flex-direction:column;gap:.75rem;display:flex}.form label{font-size:.92rem;font-weight:700}.form textarea{width:100%;font:inherit;border-radius:var(--radius);resize:vertical;border:1px solid #c9c1b4;padding:.75rem;line-height:1.7}.form-examples{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:inherit;color:var(--c-text);background:var(--c-bg-sub);border:1px solid var(--c-border);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.82rem}.chip:hover:not(:disabled){border-color:var(--c-primary)}.btn-primary{font:inherit;color:#fff;background:var(--c-primary);border-radius:var(--radius);cursor:pointer;border:none;padding:.8rem 1rem;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--c-primary-dark)}.btn-primary:disabled,.chip:disabled{opacity:.55;cursor:not-allowed}.form-note{color:var(--c-text-sub);margin:0;font-size:.84rem}.progress{background:var(--c-bg-sub);border-radius:var(--radius);margin-top:1.75rem;padding:1rem 1.2rem}.progress h3{margin:0 0 .6rem;font-size:.98rem}.progress ol{margin:0;padding-left:1.2rem;font-size:.9rem}.progress li{margin-bottom:.25rem}.progress__summary{color:var(--c-text-sub);margin-left:.5rem;font-size:.85rem}.progress__note{color:var(--c-text-sub);margin:.6rem 0 0;font-size:.85rem}.alert{border-radius:var(--radius);background:#fdf1ef;border:1px solid #f0c9c5;margin-top:1.5rem;padding:.9rem 1rem}.alert p{color:#a3241b;margin:0}.alert p+p{margin-top:.6rem;font-size:.9rem}.result{margin-top:2rem}.result__text{white-space:pre-wrap}.result__meta{border-top:1px solid var(--c-border);color:var(--c-text-sub);margin-top:1.5rem;padding-top:.75rem;font-size:.8rem}@media (min-width:600px){body{font-size:16.5px}.page-title{font-size:1.6rem}.container{padding:0 1.5rem}}
