:root{color-scheme:light;--ink:#172d28;--green:#123f36;--paper:#f6f5ef;--muted:#56635e;--line:#d8ded6;--amber:#fff1d6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Tahoma,"Noto Sans Thai",system-ui,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-underline-offset:3px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:8px;min-height:48px}button:disabled{opacity:.4;cursor:default}button:hover{background:#e8eee7}:focus-visible{outline:3px solid #b76e00;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);max-width:820px;margin:auto;gap:12px}.brand{font-size:18px;letter-spacing:1.5px;text-decoration:none;font-weight:bold;line-height:1.2}.brand b{color:#8b6325}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:6px}main{max-width:760px;margin:auto;padding:28px 22px 110px}h1{font-size:38px;letter-spacing:-1px;line-height:1.2;margin:12px 0}h1 span{display:block;font-size:26px;font-weight:400;letter-spacing:0}h2{font-size:23px;margin:24px 0 12px}.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--muted);font-weight:bold}.intro{margin:12px 0 22px;color:var(--muted)}.match{background:var(--green);color:white;padding:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:10px}.match div{flex:1;min-width:185px}.match span:not(.match-dot){display:block;font-size:14px;color:#d1ded6}.match a{color:#fff;font-size:13px;min-height:44px;display:flex;align-items:center}.match-dot{width:10px;height:10px;background:#9ebd73;border-radius:50%}.status,.muted,.manual-note,.preview-note{font-size:13px;color:var(--muted)}.status{margin:16px 0}details{border-top:1px solid var(--line);padding:15px 0}summary{font-weight:bold;cursor:pointer;min-height:44px;display:list-item;padding:8px 0}details p{font-size:15px}.luggage{background:#ebece2;padding:10px 16px;border:0;border-radius:8px}.luggage label{display:block;font-size:14px}.luggage input{padding:8px;margin-top:6px;min-height:48px;max-width:100%;border:1px solid #9caaa0;border-radius:5px}.luggage a{display:block;padding:12px 0}.tools{display:flex;gap:8px;margin:16px 0;align-items:center;flex-wrap:wrap}.tools a{padding:10px;font-size:14px}.preview-note{padding-left:12px;border-left:3px solid #b68736}.navigator{margin:28px 0 20px;background:white;padding:20px;border:1px solid var(--line);border-radius:12px;scroll-margin-top:12px}.navigator>label{font-size:13px;font-weight:bold}.navigator select{display:block;width:100%;max-width:100%;min-height:52px;margin:8px 0 22px;border:1px solid #aebdb2;background:var(--paper);padding:8px;border-radius:6px}.card-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.route-title{font-size:24px;line-height:1.35;margin:10px 0 16px}.line-label{border-left:6px solid var(--route-color);padding:10px 12px;background:#f4f6f2;font-weight:bold}.line-label small{display:block;font-size:13px;font-weight:400}.go{padding:18px 0;border-bottom:1px solid var(--line)}.go label,.field-label{display:block;font-size:11px;font-weight:bold;color:var(--muted);letter-spacing:1px}.go strong{display:block;font-size:23px;line-height:1.5}.go .jp{font-size:16px}.instruction{font-size:17px}.check{background:#edf4e9;padding:12px 14px;border-radius:6px;font-size:15px}.check b{display:block}.exit{font-size:20px;font-weight:bold;margin:10px 0}.landmarks{padding-left:22px;margin:8px 0}.landmarks li{margin:8px 0}.warning{background:var(--amber);border-left:4px solid #b78024;padding:12px;font-size:14px;margin:18px 0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.actions a{border:1px solid var(--line);min-height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:14px;text-decoration:none}.actions button{font-size:14px}.actions .primary{background:var(--green);color:white}.route-detail{font-size:14px}.route-detail p{margin:12px 0}.route-detail a{overflow-wrap:anywhere}.step-controls{display:flex;gap:8px;margin-top:18px}.step-controls button{flex:1;font-size:14px}.step-controls #next{background:var(--green);color:white}.manual-note{text-align:center;margin-bottom:0}.timeline ol{padding-left:24px}.timeline button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:2px 0;font-size:15px}.timeline button[aria-current=true]{font-weight:bold;background:#e4edde}.check-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.check-item input{width:22px;height:22px;flex-shrink:0;margin:3px 0}#offline-check{margin-top:20px}footer{font-size:13px;color:var(--muted);margin-top:25px}.bottom{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);display:flex;gap:10px;justify-content:center;padding:10px 16px max(10px,env(safe-area-inset-bottom));z-index:5}.bottom>*{max-width:350px;flex:1;min-height:50px;font-size:16px}.bottom button{background:#8f3027;border-color:#8f3027;color:white;font-weight:bold}.bottom a{display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:8px;background:white}dialog{max-width:570px;width:calc(100% - 28px);max-height:90dvh;border:0;border-radius:12px;padding:20px;color:var(--ink);overflow:auto}dialog::backdrop{background:#102c25b3}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-top button{font-size:20px}.phrase{font-size:25px;line-height:1.7;background:#f0f3eb;padding:16px;overflow-wrap:anywhere}.reset-help{font-size:15px}.survival-step{border-left:4px solid #ce2778;padding:10px 14px;margin:12px 0}.survival-step strong{display:block;font-size:21px}nav{max-width:820px;margin:auto;padding:12px 22px;background:#e7ebe1}nav a{display:block;padding:12px}#days{display:grid;grid-template-columns:1fr 1fr;gap:5px}#days button{text-align:left;font-size:14px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:10px 16px;border-radius:8px;display:none;z-index:20;max-width:90%;font-size:14px}.print-only{display:none}#unresolved{padding-left:22px}#unresolved li{margin:12px 0}@media(min-width:700px){main{padding-top:35px}.navigator{padding:28px}.route-title{font-size:30px}h1 span{display:inline;margin-left:12px}#route .go strong{font-size:27px}}@media(prefers-reduced-motion:no-preference){dialog[open]{animation:reveal .15s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media print{header,nav,.bottom,.tools,.step-controls,.actions,#pretrip,button,select,.manual-note{display:none!important}body{background:white;font-size:12pt}main{padding:0;max-width:none}.navigator{border:0;padding:0}.print-only{display:block}a{color:black}.print-card{break-inside:avoid;border-bottom:1px solid #999;padding:14px 0}.print-card h2{font-size:17pt}.print-card p{margin:6px 0}.phrase{font-size:15pt;padding:8px}.match{background:white;color:black;border:1px solid #999}.match span:not(.match-dot){color:black}.warning{background:white;border:1px solid #999}.luggage{background:white}.luggage input{border:0}}
:root{scroll-padding-bottom:90px}
.navigator{margin-top:12px}
.intro{margin-bottom:14px}
