:root{color-scheme:light;font-family:Arial,sans-serif;color:#244438;background:#f6f2e9}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;background:#214b3e;color:#fff7df;gap:15px}header a{color:inherit;text-decoration:none}header span{font-size:12px}main{max-width:1120px;margin:auto;padding:0 24px}.intro{padding:40px 0 15px;max-width:780px}h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,66px);line-height:1.25;margin:15px 0}h1 em{color:#927338;font-style:normal}h2{font-size:28px;margin-top:0}h3{font-size:21px}p{line-height:1.9}.eyebrow{font-size:12px;color:#927338;font-weight:bold}.small,small{font-size:12px;line-height:1.8;color:#657469}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #214b3e;background:#214b3e;color:#fff8e9;padding:13px 20px;border-radius:25px;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit;min-height:44px}.outline{background:transparent;color:#214b3e}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c39643;outline-offset:3px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #24443830;padding:14px 0;position:sticky;top:0;background:#f6f2efed;backdrop-filter:blur(8px);z-index:2}.tabs button{background:transparent;color:#214b3e}.tabs button[aria-pressed=true]{background:#214b3e;color:white}#content{padding:30px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{padding:25px;border:1px solid #24443820;border-radius:20px;background:#fffdf7;margin-bottom:15px;overflow-wrap:anywhere}.card p{font-size:14px}.gold{background:#eae4d3}.tag{display:inline-block;padding:7px 12px;background:#e9ecdf;border-radius:20px;font-size:12px}.stamp{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:2px dashed #b59a5e;font-size:23px;color:#8b713c}.stamped{background:#214b3e;color:#fff2c7;border:2px solid #d0b16e}.card-head{display:flex;align-items:center;gap:18px}.status:not(:empty){background:#e4ebd9;padding:12px;border-radius:12px;font-size:14px}.route{list-style:none;padding:0;border-right:3px solid #c6a15c;margin-right:15px}.route li{padding:0 25px 25px;position:relative}.route li:before{content:'';position:absolute;right:-10px;top:5px;width:17px;height:17px;border-radius:50%;background:#c6a15c}.route a{color:#214b3e}label{display:block;font-size:14px;font-weight:bold;line-height:1.8;margin:14px 0}input,select,textarea{font:inherit;width:100%;padding:12px;border-radius:10px;border:1px solid #24443840;background:#fffdf7;color:#244438;margin-top:7px}textarea{resize:vertical;min-height:100px}footer{padding:25px 0 40px;color:#788177;font-size:12px;border-top:1px solid #24443820}.day{border-right:4px solid #c5a05b}.empty{padding:30px 0}a{color:#79602c}[hidden]{display:none!important}@media(max-width:600px){main{padding:0 16px}.intro{padding-top:28px}.grid{grid-template-columns:1fr}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{font-size:13px;padding:10px}.card{padding:20px}.actions>*{flex-grow:1}header{padding:15px}h2{font-size:24px}}@media print{header,.tabs,.intro .actions,button,input,footer{display:none}.card{break-inside:avoid}.grid{display:block}}
header{flex-wrap:wrap}.companion-language select{width:auto;margin:0;padding:8px 12px;min-height:44px}.companion-language-dialog{border:0;border-radius:20px;padding:25px;max-width:min(540px,92vw);background:#f6f2e9;color:#244438}.companion-language-dialog button{margin:6px}.companion-language-dialog::backdrop{background:#071b17cc}html[dir=ltr] .route{border-right:0;margin-right:0;border-left:3px solid #c6a15c;margin-left:15px}html[dir=ltr] .route li:before{right:auto;left:-10px}html[dir=ltr] .day{border-right:0;border-left:4px solid #c5a05b}

html[lang=ja] body{font-family:"Yu Gothic",Meiryo,sans-serif}html[lang=zh] body{font-family:"Microsoft YaHei","PingFang SC",sans-serif}html[lang=hi] body{font-family:"Nirmala UI",Mangal,sans-serif}html:is([lang=ja],[lang=zh],[lang=hi]) :is(h1,h2,h3,h4,button,input,select,textarea){font-family:inherit}html:is([lang=ja],[lang=zh],[lang=hi]) p{line-height:1.85}.language-dialog{max-height:92svh;overflow:auto}
