@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap');
:root{--ink:#52674c;--green:#6e9d70;--cream:#fffdf2;--paper:#f6f4df;--line:#dedfbe;--muted:#8d987a;--orange:#c38e58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:500 14px/1.85 'M PLUS Rounded 1c','Hiragino Maru Gothic ProN',sans-serif;background-image:radial-gradient(#d9dfbe 1px,transparent 1px);background-size:18px 18px}a{color:inherit;text-underline-offset:4px}button,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #d59a58;outline-offset:5px}button{border:0}header{height:92px;padding:0 5%;display:flex;align-items:center;gap:25px;background:#fffdf0e8;border-bottom:2px dashed #d8ddbc}.logo{text-decoration:none;font-size:26px;display:flex;align-items:center;gap:10px;line-height:1.2;font-weight:800;letter-spacing:2px}.leaf{background:#85b583;color:#fffadf;border-radius:50% 50% 8px 50%;width:42px;height:42px;display:grid;place-items:center;font-size:34px}.logo-small{display:block;font-size:11px;letter-spacing:6px;margin-top:5px}.header-tag{margin:auto;font-size:11px;letter-spacing:1px;background:#f0efda;padding:7px 20px;border-radius:30px}.header-actions{display:flex;gap:10px}.header-actions button{padding:8px 15px;border-radius:22px;background:#edf0d8;font-size:12px;box-shadow:0 3px 0 #d4d9bb}main{max-width:1440px;margin:auto;padding:0 4%}.intro{position:relative;text-align:center;padding:42px 0 26px;overflow:hidden}.intro-label{font-size:12px;letter-spacing:3px;color:#8b9d73}h1{font-size:clamp(27px,3.2vw,44px);line-height:1.6;letter-spacing:3px;margin:12px 0 10px;font-weight:800}h2{font-size:25px;line-height:1.6;margin:8px 0 12px;font-weight:800}h3{font-size:15px}p{margin:0 0 12px}.intro p{font-size:13px;line-height:1.9;color:#8c977b}.family-chips{display:flex;justify-content:center;gap:10px;margin:23px 0 0;flex-wrap:wrap}.family-chips span{border:1px dashed #ced5b0;border-radius:22px;background:#fffdf3;padding:5px 13px;font-size:10px}.mobile{display:none}.cloud{position:absolute;width:100px;height:30px;background:#fffdf2;border-radius:50px;z-index:-1;box-shadow:15px -12px 0 -1px #fffdf2,-12px -7px 0 -3px #fffdf2;animation:drift 8s ease-in-out infinite alternate}.cloud-one{left:5%;top:60px}.cloud-two{right:5%;top:105px;transform:scale(.8);animation-delay:-4s}.arrival{background:#f6ead0;border:2px dashed #e1c590;border-radius:18px;display:flex;align-items:center;padding:16px 22px;gap:15px;margin:12px 0 30px;font-size:11px}.arrival b{font-size:12px;color:#a27e4d}.arrival p{margin:4px 0 0;font-size:10px;color:#a3926e;max-width:850px}.arrival-icon{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e7c98f;color:#fff9e6;display:grid;place-items:center;font-size:21px}.arrival>a{margin-left:auto;white-space:nowrap;background:#fff9e8;padding:9px 14px;border-radius:20px;font-size:10px;text-decoration:none;box-shadow:0 3px 0 #e7d9b8}.travel-controls{display:flex;align-items:center;gap:15px;justify-content:space-between}.day-tabs{display:flex;gap:8px}.day-tabs button{background:#e6ead0;border-radius:18px 18px 0 0;padding:12px 24px 15px;min-width:155px;font-size:14px;position:relative;line-height:1.6}.day-tabs button small{font-size:8px;letter-spacing:2px;display:block;color:#8ba077}.day-tabs button span{display:block;font-size:9px;color:#8da079}.day-tabs button.selected{background:#7ca67c;color:#fffbed;box-shadow:inset 0 3px 0 #94b68c}.day-tabs button.selected small,.day-tabs button.selected span{color:#e5efd8}.map-tools{font-size:10px;display:flex;align-items:center;gap:9px}.map-tools button{background:transparent;padding:8px;font-size:10px;text-decoration:underline}.live-dot{width:7px;height:7px;background:#8fb58a;border-radius:50%}.adventure{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.map-shell{border:7px solid #fffdf0;border-radius:0 25px 25px 25px;box-shadow:0 7px 0 #d9dfbf;overflow:hidden;background:#fffdf0}.map-paper{position:relative;aspect-ratio:1000/740;background:#bde4df;overflow:hidden}.island{display:block;width:100%;height:100%;transition:filter .7s}.map-label{position:absolute;left:4%;top:5%;z-index:2;letter-spacing:5px;font-size:19px;color:#6b9c8b;line-height:1.5;font-weight:800;transform:rotate(-7deg)}.map-label span{font-size:8px;letter-spacing:2px}.map-pins{position:absolute;inset:0;pointer-events:none}.pin{pointer-events:auto;position:absolute;background:#fffdf0;border:2px solid #f9f1d6;box-shadow:0 4px 0 #768b5a33,0 6px 20px #476b4020;border-radius:13px;padding:5px 12px 6px;display:flex;flex-direction:column;align-items:center;min-width:120px;transform:translate(-50%,-50%);transition:transform .2s,box-shadow .2s;line-height:1.65}.pin:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 7px);border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #fffdf0}.pin:hover{transform:translate(-50%,-57%) scale(1.05)}.pin.active{background:#f8e6ac;border-color:#d5ae62;box-shadow:0 0 0 5px #f9eec099,0 5px 0 #8d905b44}.pin.active:after{border-top-color:#f8e6ac}.pin-icon{font-size:19px;line-height:1.2}.pin strong{font-size:11px}.pin small{font-size:7px;color:#95a182}.pin.today:not(.active){box-shadow:0 0 0 4px #fffbdd88,0 5px 0 #8c9b6733}.pin-home{left:79%;top:88%}.pin-camp{left:71%;top:57%}.pin-kiri{left:61%;top:27%}.pin-bridge{left:54%;top:43%}.pin-lake{left:24%;top:31%;border-style:dashed}.map-hint{position:absolute;bottom:3%;left:4%;right:4%;text-align:center;font-size:9px;color:#699c8d;pointer-events:none}.map-bottom{display:flex;gap:16px;padding:12px 15px 6px;font-size:9px;color:#a1a98b;flex-wrap:wrap}.map-bottom span:first-child{color:#ba9468}.map-bottom small{margin-left:auto;font-size:8px}.detail{background:#fffdf2;border-radius:24px;box-shadow:0 6px 0 #dce0c4;overflow:hidden;border:2px solid #e6e6cd;min-height:555px;scroll-margin-top:18px}.detail-top{padding:20px 23px;background:#edf0d9;border-bottom:2px dashed #dce1bf;position:relative}.place-icon{width:57px;height:57px;font-size:30px;background:#fffdf1;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 0 #d8dfbd}.place-tag{font-size:9px;letter-spacing:1px;color:#9aa47b;display:block;margin:12px 0 3px}.detail h2{font-size:22px;margin:0}.detail-top>p{font-size:10px;color:#99a181;margin:5px 0 0}.detail-body{padding:20px 22px}.detail-desc{font-size:11px;line-height:1.9}.time-tag{background:#f1ecd6;border-radius:10px;padding:8px 10px;font-size:10px;display:block;margin-bottom:14px}.detail h3{font-size:11px;margin:15px 0 7px;color:#77966b}.activities{padding:0;list-style:none;margin:0}.activities li{font-size:10px;padding:6px 0;border-bottom:1px dashed #e0e3c9;display:flex;gap:8px}.activities li:before{content:'✧';color:#c7a36a}.tip{background:#f8eed7;border-radius:12px;padding:12px;margin:15px 0;font-size:10px;color:#a28a60}.green-button{background:#7ea77a;color:#fffbed;box-shadow:0 4px 0 #658b61;padding:10px 18px;border-radius:22px;text-decoration:none;display:inline-block;font-size:11px;font-weight:700}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.stamp-button{border:1px dashed #c4bd8f;background:#fbf6df;border-radius:22px;padding:8px 12px;font-size:10px;color:#b09259}.stamp-button[aria-pressed=true]{color:#b47d55;background:#f4e6c6}.detail-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:16px;font-size:9px;color:#9ba184}.detail button,.detail a{white-space:normal}.route-note{font-size:9px;color:#9da584;margin-top:15px}.schedule{margin:45px 0}.section-title>span,.section-kicker{font-size:9px;letter-spacing:3px;color:#a9ac85}.section-title p{font-size:11px;color:#9aa184}.stops{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.stop{position:relative;text-align:left;padding:20px;background:#fffdf2;border-radius:18px;border:2px solid #e4e5c8;box-shadow:0 4px 0 #e1e3c5}.stop:hover{border-color:#9cba8b;transform:translateY(-2px)}.stop-time{font-size:10px;color:#b39560;display:block;margin-bottom:9px;letter-spacing:1px}.stop strong{font-size:13px;display:block}.stop p{font-size:10px;color:#99a184;margin:7px 0 0}.stop>span:last-child{font-size:9px;color:#90a181;display:block;margin-top:10px}.souvenirs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:40px}.stamp-card,.quest-card{background:#fffdf1;border:2px solid #e5e4c7;padding:28px;border-radius:24px}.stamp-card{background-image:repeating-linear-gradient(0deg,transparent,transparent 29px,#e9e8d2 30px)}.stamp-list{display:flex;gap:18px;justify-content:space-around;margin:30px 0}.stamp-item{background:transparent;border:2px dashed #c9c9a8;width:110px;height:110px;flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-7deg);color:#acb296}.stamp-item:nth-child(2){transform:rotate(6deg)}.stamp-item>span{font-size:30px}.stamp-item b{font-size:10px}.stamp-item small{font-size:8px}.stamp-item.done{color:#b78958;border:3px double #c39a64;background:#efdfb555}.storage-note{font-size:9px;color:#aaa98a}.quest-card h2{font-size:22px}.quest-card>p{font-size:12px;min-height:55px;color:#8d9b7d}.quest-card label{font-size:10px;display:block;margin:24px 0 8px}.quest-card textarea{width:100%;border:1px dashed #cccfab;border-radius:10px;background:#f9f7e8;color:var(--ink);padding:12px;resize:vertical;font-size:11px}.quest-card #save-status{font-size:9px;color:#acb08b}.practical{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:35px 10px;margin:15px 0 35px}.practical h2{font-size:22px}.practical p{font-size:11px;color:#8e997e}.practical h3{margin-top:15px}.practical a{font-size:10px}footer{border-top:2px dashed #d5dcba;padding:25px 0 35px;text-align:center;color:#96a080;font-size:10px}footer b{font-size:16px}footer p{font-size:9px;margin:10px auto;max-width:800px}footer div{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:9px}footer button{font-size:9px;background:none;text-decoration:underline}footer small{font-size:8px;display:block;margin-top:15px}dialog{max-width:560px;width:90%;max-height:85vh;border:4px solid #e4e1bd;background:#fffdf0;color:#657653;border-radius:25px;padding:28px;box-shadow:0 20px 100px #233c3055}dialog::backdrop{background:#30452d77;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px}.dialog-head button{background:#edf0d8;border-radius:50%;width:30px;height:30px;font-size:21px}dialog h2{font-size:21px}#check-count{font-size:11px;color:#aa9564}.check-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed #e1e1c0;font-size:11px;cursor:pointer}.check-row input{accent-color:#80a778;width:17px;height:17px;flex-shrink:0}.check-row:has(input:checked) span{text-decoration:line-through;color:#a7af92}dialog>small{font-size:9px;display:block;margin-top:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border-radius:22px;background:#6e9468;color:#fff9e6;padding:12px 24px;z-index:20;display:none;font-size:12px;white-space:nowrap;box-shadow:0 5px 15px #263e2633}.confetti{position:fixed;top:-30px;z-index:30;pointer-events:none;font-size:23px;animation:fall 2.6s ease-in forwards}.flame{transform-box:fill-box;transform-origin:bottom;animation:flame 1.2s ease-in-out infinite alternate}.night{--paper:#344b46;--ink:#e2e4bb;--line:#597363;--muted:#a6ba9c;background-image:radial-gradient(#72856c 1px,transparent 1px)}.night header{background:#3e574b;border-color:#72816a}.night .header-tag,.night .header-actions button{background:#59735a;color:#f2eaca;box-shadow:none}.night .intro p,.night .intro-label{color:#bdd0ac}.night .family-chips span{background:#4e6652;color:#e7e8c7;border-color:#809276}.night .map-paper{background:#5c969c}.night .island{filter:brightness(.66) saturate(.8)}.night .map-label,.night .map-hint{color:#cce0c1}.night .detail,.night .stamp-card,.night .quest-card,.night .stop{background:#4b6250;border-color:#698169;color:#eee7c5}.night .detail-top{background:#536e56;border-color:#7c926d}.night .detail-desc,.night .activities li{color:#d6ddbe}.night .detail h3{color:#b7d09e}.night .time-tag{background:#6b7859;color:#eeebcc}.night .place-icon{background:#708163;box-shadow:none}.night .stop p,.night .section-title p,.night .quest-card>p,.night .practical p{color:#bfccac}.night .stamp-card{background-image:none}.night .stamp-item{color:#c2c8a4}.night .stamp-item.done{background:#c9b87b33;color:#e4c88b}.night .map-shell{border-color:#647c62;background:#647c62;box-shadow:0 7px 0 #253d35}.night .map-bottom{color:#c2c9a7}.night .quest-card textarea{background:#3e5748;border-color:#7e936e;color:#eeebca}.night .pin{color:#647653}.night .arrival{color:#647653}.night .day-tabs button{background:#536e55;color:#cfdabb}.night .day-tabs button.selected{background:#b6c38b;color:#3e604b}.night .day-tabs button.selected span,.night .day-tabs button.selected small{color:#587459}.night .cloud{background:#a7b9a0;box-shadow:15px -12px 0 -1px #a7b9a0,-12px -7px 0 -3px #a7b9a0}.night .map-shell:after{content:'✦';position:absolute;pointer-events:none}body,header{transition:background .5s,color .5s}@keyframes drift{to{translate:25px 4px}}@keyframes flame{to{transform:scaleX(.85) scaleY(1.1)}}@keyframes fall{to{transform:translateY(105vh) rotate(300deg);opacity:.15}}@media(min-width:1600px){header{padding-left:calc((100vw - 1325px)/2);padding-right:calc((100vw - 1325px)/2)}}@media(max-width:1100px){.adventure{grid-template-columns:minmax(0,1fr) 290px}.day-tabs button{padding:12px 18px;min-width:135px}.map-tools{font-size:8px}.detail-body{padding:17px}.map-bottom small{margin-left:0}.pin{min-width:96px;padding:5px 8px}.pin strong{font-size:9px}.pin small{font-size:6px}.pin-icon{font-size:16px}.stamps{gap:10px}.stamp-item{width:95px;height:95px}.stops{gap:10px}.stop{padding:16px}.stamp-list{gap:9px}.header-tag{font-size:9px}}@media(max-width:850px){.adventure{grid-template-columns:1fr}.detail{min-height:0;display:grid;grid-template-columns:230px 1fr}.detail-top{border-bottom:0;border-right:2px dashed #dce1bf}.detail-body{padding:20px}.map-tools>span,.live-dot{display:none}.map-shell{border-radius:0 24px 24px 24px}.pin{min-width:120px}.pin strong{font-size:11px}.pin small{font-size:7px}.souvenirs{gap:15px}.stamp-card,.quest-card{padding:22px}.stamp-item{width:86px;height:86px}.practical{gap:30px}.header-tag{display:none}.header-actions{margin-left:auto}.intro{padding-top:30px}.stops{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){body{font-size:12px}header{height:75px;padding:0 5%;gap:10px}.logo{font-size:20px}.leaf{width:34px;height:34px;font-size:26px}.logo-small{font-size:8px;letter-spacing:5px}.header-actions{gap:6px}.header-actions button{font-size:9px;padding:8px 10px}main{padding:0 4%}.intro{padding:30px 0 20px}.intro-label{font-size:9px;letter-spacing:2px}.mobile{display:block}h1{font-size:27px;letter-spacing:2px;margin:10px 0}.intro p{font-size:10px}.family-chips{gap:6px;margin-top:17px}.family-chips span{font-size:8px;padding:4px 9px}.cloud{width:60px;height:22px}.cloud-one{left:0;top:100px}.cloud-two{right:0;top:125px}.arrival{padding:13px;gap:10px;flex-wrap:wrap;margin-bottom:24px;border-radius:16px}.arrival-icon{width:28px;height:28px;font-size:18px}.arrival>div{flex:1}.arrival b{font-size:10px}.arrival p{font-size:9px;line-height:1.7}.arrival>a{font-size:9px;margin-left:38px;padding:6px 12px}.travel-controls{gap:0}.day-tabs{gap:5px;flex:1}.day-tabs button{min-width:0;flex:1;padding:10px 9px;border-radius:14px 14px 0 0;font-size:11px}.day-tabs button small{font-size:7px}.day-tabs button span{font-size:7px}.map-tools{display:none}.map-shell{border-width:4px;border-radius:0 0 20px 20px}.map-paper{aspect-ratio:1/1.05}.island{width:125%;height:100%;margin-left:-12.5%}.map-label{font-size:15px;letter-spacing:3px;top:3%;left:5%}.map-label span{font-size:6px}.pin{min-width:96px;padding:5px 8px;border-radius:11px;max-width:125px}.pin strong{font-size:9px}.pin small{font-size:6px}.pin-icon{font-size:17px}.pin-home{left:82%;top:86%}.pin-camp{left:75%;top:59%}.pin-kiri{left:65%;top:26%}.pin-bridge{left:52%;top:44%}.pin-lake{left:18%;top:32%}.map-hint{font-size:7px;bottom:2%;left:3%;right:3%}.map-bottom{padding:10px;gap:12px;font-size:8px}.map-bottom small{font-size:7px;width:100%}.detail{display:block;border-radius:20px;scroll-margin-top:12px}.detail-top{border-right:0;border-bottom:2px dashed #dce1bf;padding:18px 20px 16px;padding-left:90px;min-height:115px}.place-icon{position:absolute;left:20px;top:23px;width:52px;height:52px;font-size:28px}.place-tag{margin:0 0 3px;font-size:8px}.detail h2{font-size:21px}.detail-top>p{font-size:9px}.detail-body{padding:18px 20px}.detail-desc{font-size:12px}.activities li{font-size:11px}.detail h3{font-size:12px}.tip{font-size:10px}.green-button{font-size:11px}.stamp-button{font-size:10px}.section-title>span,.section-kicker{font-size:8px}.section-title h2{font-size:23px}.section-title p{font-size:10px}.schedule{margin:35px 0}.stops{gap:10px}.stop{padding:15px}.stop strong{font-size:12px}.stop p{font-size:9px}.stop-time{font-size:9px}.souvenirs{grid-template-columns:1fr}.stamp-card,.quest-card{padding:24px}.stamp-list{gap:10px}.stamp-item{width:94px;height:94px}.practical{grid-template-columns:1fr;gap:10px;padding:15px 8px;margin:20px 0}.practical h2{font-size:21px}.practical p{font-size:11px}footer{margin-top:25px}footer div{gap:12px}.dialog-head{font-size:10px}dialog{padding:22px}dialog h2{font-size:18px}#toast{font-size:10px;max-width:92vw;white-space:normal;text-align:center}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white;color:#333}header,.arrival>a,.header-actions,.day-tabs,.map-tools,.map-pins,.map-hint,.detail-actions,.quest-card,.stamp-list,#toast,dialog{display:none!important}main{max-width:none;padding:0}.intro{padding:10px}.intro h1{font-size:25px}.adventure{display:block}.map-shell{max-width:520px;margin:0 auto 20px}.detail{display:none}.stops{grid-template-columns:1fr 1fr}.schedule{break-inside:avoid}.souvenirs{display:none}.practical{margin:10px 0}.stop{break-inside:avoid}.arrival{break-inside:avoid}footer button{display:none}}
/* Comfortable reading sizes across the illustrated travel guide. */
body{font-size:16px}.intro-label{font-size:14px}.intro p{font-size:16px}.family-chips span{font-size:13px}.header-tag{font-size:13px}.header-actions button{font-size:14px}.arrival{padding:20px 24px}.arrival b{font-size:16px}.arrival p{font-size:14px;line-height:1.85}.arrival>a{font-size:13px}.adventure{grid-template-columns:minmax(0,1fr) 370px}.day-tabs button{font-size:17px;min-width:165px}.day-tabs button small{font-size:11px}.day-tabs button span{font-size:12px}.map-tools,.map-tools button{font-size:12px}.map-label span{font-size:11px}.pin{min-width:142px;padding:8px 12px}.pin strong{font-size:14px}.pin small{font-size:11px}.pin-icon{font-size:22px}.map-hint{font-size:12px}.map-bottom{font-size:12px}.map-bottom small{font-size:11px}.detail-top{padding:24px}.place-tag{font-size:12px}.detail h2{font-size:26px}.detail-top>p{font-size:13px}.detail-body{padding:23px}.detail-desc{font-size:16px;line-height:1.95}.time-tag{font-size:14px;padding:10px 12px}.detail h3{font-size:16px;margin-top:22px}.activities li{font-size:15px;line-height:1.95;padding:9px 0}.tip{font-size:14px;line-height:1.9;padding:15px}.green-button{font-size:15px;padding:12px 20px}.stamp-button{font-size:14px;padding:10px 15px}.detail-links{font-size:13px;gap:18px}.route-note{font-size:12px;line-height:1.9}.section-title>span,.section-kicker{font-size:12px}.section-title p{font-size:15px}.stop{padding:22px}.stop-time{font-size:14px}.stop strong{font-size:17px}.stop p{font-size:14px;line-height:1.9}.stop>span:last-child{font-size:12px}.stamp-item{width:125px;height:125px}.stamp-item b{font-size:14px}.stamp-item small{font-size:11px}.stamp-list{gap:12px}.storage-note{font-size:12px}.quest-card>p{font-size:16px;line-height:1.95}.quest-card label{font-size:14px}.quest-card textarea{font-size:16px}.quest-card #save-status{font-size:12px}.practical p{font-size:15px;line-height:1.95}.practical h3{font-size:18px}.practical a{font-size:14px}footer p{font-size:12px;line-height:1.9}footer div,footer button{font-size:12px}footer small{font-size:11px}.dialog-head{font-size:14px}dialog h2{font-size:23px}#check-count{font-size:15px}.check-row{font-size:16px;padding:13px 0;line-height:1.9}dialog>small{font-size:12px}#toast{font-size:15px}.detail,.map-shell,.stop{scroll-margin-top:20px}
@media(max-width:1200px){.adventure{grid-template-columns:minmax(0,1fr) 340px}.day-tabs button{min-width:145px;padding-left:16px;padding-right:16px}.map-tools{display:none}.pin{min-width:115px;padding:6px 9px}.pin strong{font-size:12px}.pin small{font-size:10px}.map-hint{font-size:10px}.stamp-item{width:110px;height:110px}.stamp-card,.quest-card{padding:22px}.stamp-list{gap:8px}}
@media(max-width:1000px){.adventure{grid-template-columns:1fr}.detail{display:grid;grid-template-columns:240px minmax(0,1fr)}.detail-top{border-bottom:0;border-right:2px dashed #dce1bf}.pin{min-width:145px}.pin strong{font-size:15px}.pin small{font-size:11px}.map-hint{font-size:12px}.map-tools{display:flex}.map-bottom small{margin-left:0}.stamp-item{width:100px;height:100px}.stamp-item b{font-size:12px}.stamp-item small{font-size:10px}.stops{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.souvenirs{grid-template-columns:1fr}.stamp-item{width:115px;height:115px}.detail{display:block}.detail-top{border-right:0;border-bottom:2px dashed #dce1bf;padding:20px 22px 20px 96px;position:relative}.place-icon{position:absolute;top:24px;left:22px}.place-tag{font-size:12px}.detail-top>p{font-size:13px}.detail h2{font-size:25px}.detail-body{padding:22px}.map-tools{display:none}.practical{grid-template-columns:1fr;gap:15px}.header-tag{display:none}}
@media(max-width:560px){header{height:83px}.header-actions button{font-size:12px;padding:8px 10px}.logo{font-size:22px}.logo-small{font-size:10px}.intro-label{font-size:12px;letter-spacing:1px}.intro h1{font-size:30px}.intro p{font-size:15px;line-height:1.9}.family-chips span{font-size:12px}.arrival{padding:16px;gap:10px}.arrival b{font-size:15px;line-height:1.8}.arrival p{font-size:14px;line-height:1.85}.arrival>a{font-size:13px;margin-left:38px}.arrival-icon{width:30px;height:30px}.day-tabs button{min-width:0;font-size:15px;padding:12px 7px;line-height:1.7}.day-tabs button small{font-size:10px}.day-tabs button span{font-size:11px}.pin{min-width:116px;max-width:140px;padding:7px 8px}.pin strong{font-size:12px}.pin small{font-size:10px}.pin-icon{font-size:21px}.pin-lake{left:19%;top:32%}.pin-kiri{left:66%;top:24%}.pin-bridge{left:49%;top:44%}.pin-camp{left:75%;top:64%}.pin-home{left:80%;top:86%}.map-hint{font-size:10px;line-height:1.5;bottom:2%}.map-bottom{font-size:11px}.map-bottom small{font-size:10px}.map-label{font-size:17px}.map-label span{font-size:9px}.detail-desc{font-size:16px}.activities li{font-size:15px}.time-tag{font-size:14px}.tip{font-size:14px}.detail-links{font-size:13px}.green-button{font-size:14px}.stamp-button{font-size:13px}.section-title>span,.section-kicker{font-size:12px}.section-title h2{font-size:26px}.section-title p{font-size:15px}.stops{grid-template-columns:1fr}.stop{padding:20px 22px}.stop-time{font-size:14px}.stop strong{font-size:18px}.stop p{font-size:15px}.stop>span:last-child{font-size:13px}.stamp-list{gap:8px}.stamp-item{width:95px;height:95px}.stamp-item b{font-size:12px}.stamp-item small{font-size:10px}.quest-card h2{font-size:24px}.quest-card>p{font-size:16px}.practical p{font-size:15px}.practical h2{font-size:24px}.practical a{font-size:14px}footer p{font-size:12px}footer div,footer button{font-size:12px}footer small{font-size:11px}.dialog-head{font-size:12px}dialog h2{font-size:21px}.check-row{font-size:16px}.check-row input{width:20px;height:20px}#toast{font-size:14px}}
@media print{body{font-size:12px}.adventure{display:block}.detail{display:none}.stops{grid-template-columns:1fr 1fr}.stop p{font-size:11px}.stop strong{font-size:13px}.stop-time{font-size:11px}.arrival p,.practical p{font-size:11px}.arrival b{font-size:13px}}
.family-cast{padding:20px 24px 28px;margin:5px 0 30px;background:linear-gradient(#eaf0d888,#fff9e8);border:2px dashed #d6ddba;border-radius:28px;text-align:center}.family-cast .section-title h2{font-size:27px}.family-art{width:100%;max-height:420px;object-fit:contain;height:auto;display:block;filter:drop-shadow(0 10px 5px #8c9c6220)}#family-art-holder>small{font-size:11px;color:#9aab86;display:block;margin:8px 0 18px}.member-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;text-align:center}.member-grid article{padding:12px 9px;background:#fffdf0bb;border-radius:16px}.member-grid b{font-size:18px;display:block;color:#6b8a5f}.member-grid span{font-size:12px;color:#a09d76;display:block}.member-grid p{font-size:13px;line-height:1.85;margin:7px 0 0;color:#8e9a7c}.field-guide{margin:20px 0}.field-guide details{border-top:1px dashed #d9dfbe;padding:11px 0}.field-guide summary{font-size:15px;font-weight:700;cursor:pointer;color:#7d996f;line-height:1.8}.field-guide ol{font-size:14px;line-height:1.95;padding-left:22px;color:var(--ink);margin:12px 0}.field-guide li{padding:5px 0}.trip-handbook,.experience-section,.food-rest,.camp-timing,.task-board{margin:45px 0}.prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.prep-grid article,.food-grid article,.setup-grid article,.experience{background:#fffdf1;border:2px solid #e2e4c4;border-radius:22px;padding:25px}.guide-number{font-size:25px;color:#b4bf90}.prep-grid h3,.food-grid h3,.setup-grid h3{font-size:19px;line-height:1.65;margin:8px 0 15px}.prep-grid ul,.setup-grid ol{font-size:15px;line-height:1.95;padding-left:22px;margin:0}.prep-grid li,.setup-grid li{padding:6px 0}.prep-grid a,.text-button{font-size:14px;color:#83a177}.text-button{background:none;text-align:left;text-decoration:underline;text-underline-offset:4px;padding:9px 0}.prep-grid details{border-top:1px dashed #d8dfba;margin-top:15px;padding-top:15px}.prep-grid summary{font-size:14px;cursor:pointer}.phone-script{font-size:15px;line-height:2;margin-top:15px}.prep-grid small{font-size:12px;color:#a2a783}.experience-filters,.member-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.experience-filters button,.member-tabs button{font-size:14px;background:#e8ecd5;padding:10px 18px;border-radius:25px;border:1px solid #d5deba}.experience-filters .chosen,.member-tabs .chosen{background:#83a67a;color:#fffbe9;border-color:#83a67a;box-shadow:0 3px 0 #6a9063}.experience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.experience{display:flex;flex-direction:column}.experience-meta{font-size:12px;color:#a89f78}.experience h3{font-size:19px;margin:10px 0 15px}.experience p{font-size:15px;line-height:1.95}.bring{border-top:1px dashed #dde0be;padding-top:14px;margin-top:auto;display:flex;flex-direction:column;gap:5px;font-size:13px}.bring b{font-size:12px;color:#a4aa80}.experience .text-button{font-size:13px;margin-top:8px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.food-grid p{font-size:15px;line-height:1.95}.food-grid b{font-size:14px;color:#9c9f71;display:block}.food-grid small{font-size:12px;line-height:1.9;display:block;margin-top:10px;color:#a1aa84}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.task-board{background:#edf0db;border:2px solid #dce1be;border-radius:25px;padding:28px}.task-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px dashed #cfd8b2;padding:8px 0 20px}.task-toolbar h3{font-size:19px;margin:5px 0}.task-toolbar span{font-size:13px;color:#97a278}.task-toolbar label{font-size:12px;display:flex;flex-direction:column;gap:6px;white-space:nowrap}.task-toolbar select{font:inherit;font-size:14px;color:var(--ink);background:#fffdf0;border:1px solid #cfd9ae;border-radius:15px;padding:9px 12px}.task-row{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px dashed #d0d8b4;cursor:pointer;font-size:16px;line-height:1.9}.task-row input{accent-color:#7ba572;width:21px;height:21px;margin-top:4px;flex-shrink:0}.task-day{background:#fffae4;color:#a7a273;border-radius:10px;padding:1px 9px;font-size:12px;white-space:nowrap;margin-top:4px}.task-row:has(input:checked)>span:last-child{text-decoration:line-through;color:#9caa87}.task-board>.storage-note{margin:18px 0 0}.night .family-cast{background:#4d6450;border-color:#7a8e66}.night .member-grid article{background:#5d7457}.night .member-grid b{color:#e8dfb7}.night .member-grid p,.night .member-grid span{color:#cbd8b6}.night .prep-grid article,.night .food-grid article,.night .setup-grid article,.night .experience{background:#4b6250;border-color:#698169}.night .task-board{background:#4c654f;border-color:#768c67}.night .task-toolbar select{color:#536d4f}.night .task-day{color:#708057}.night .experience-filters button,.night .member-tabs button{background:#617b5b;color:#e9e7be;border-color:#82966e}.night .experience-filters .chosen,.night .member-tabs .chosen{background:#b0c18b;color:#425f40}.night .field-guide summary{color:#c4d6aa}.night .task-row:has(input:checked)>span:last-child{color:#b6c29e}@media(max-width:1100px){.prep-grid,.experience-cards,.food-grid{grid-template-columns:1fr 1fr}.member-grid p{font-size:12px}.member-grid b{font-size:16px}.member-grid span{font-size:11px}.member-grid{gap:7px}.family-art{max-height:350px}.task-toolbar h3{font-size:17px}}@media(max-width:700px){.member-grid{grid-template-columns:repeat(3,1fr)}.member-grid article:nth-last-child(-n+2){grid-column:auto}.family-cast{padding:20px 12px}.family-art{width:100%;min-height:160px}.prep-grid,.experience-cards,.food-grid,.setup-grid{grid-template-columns:1fr}.trip-handbook,.experience-section,.food-rest,.camp-timing,.task-board{margin:35px 0}.task-board{padding:22px 18px}.task-toolbar{align-items:flex-start;gap:10px}.task-toolbar h3{font-size:16px}.task-toolbar label{font-size:11px}.task-toolbar select{font-size:12px;padding:8px}.task-row{font-size:15px;gap:10px}.task-day{font-size:10px;padding:2px 7px}.experience-filters,.member-tabs{gap:7px}.experience-filters button,.member-tabs button{font-size:13px;padding:9px 13px}.family-cast .section-title h2{font-size:24px}.prep-grid article,.food-grid article,.setup-grid article,.experience{padding:23px}.member-grid b{font-size:16px}.member-grid span{font-size:11px}.member-grid p{font-size:12px}#family-art-holder>small{font-size:10px}.field-guide ol{font-size:15px}.field-guide summary{font-size:16px}}@media print{.family-cast{break-inside:avoid}.family-art{max-height:180px}.member-grid{grid-template-columns:repeat(5,1fr)}.member-grid p{font-size:9px}.prep-grid,.food-grid,.setup-grid,.experience-cards{grid-template-columns:1fr 1fr}.experience,.prep-grid article,.food-grid article,.setup-grid article{break-inside:avoid}.experience-filters,.text-button,.member-tabs,.task-toolbar select{display:none}.prep-grid ul,.setup-grid ol,.experience p,.food-grid p,.task-row{font-size:11px}.task-board{break-inside:avoid}}

.quick-nav{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0 0 25px}.quick-nav a{font-size:14px;background:#fffdf0;border:1px dashed #d3dcb6;padding:9px 16px;border-radius:24px;text-decoration:none;color:#7e9970}.night .quick-nav a{background:#526d54;color:#e7e8bf}#map,#tasks,#handbook,#experiences{scroll-margin-top:20px}@media(max-width:560px){.quick-nav{gap:8px}.quick-nav a{font-size:13px;padding:8px 12px}}
.character-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:12px auto 24px;max-width:950px}.character-hint{font-size:14px;color:#95a47d;margin:15px 0}.character-choice{background:#fffdf0;border:2px solid #dfe4bf;border-radius:22px;padding:12px 8px 15px;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;align-items:center}.character-choice:hover{transform:translateY(-7px)}.character-choice.chosen{background:#f5edc6;border-color:#b0be80;box-shadow:0 5px 0 #cdd8ac}.avatar-figure{display:block;background-image:url('assets/family-autumn.png');background-repeat:no-repeat;background-size:500% 100%;background-position:var(--avatar,0%) center;width:90px;height:220px;filter:drop-shadow(0 5px 3px #61774922)}.character-choice b{font-size:16px;margin-top:6px}.character-choice small{font-size:11px;color:#a4ac83}.guide-bubble{display:flex;align-items:center;gap:20px;background:#fffcee;border:2px solid #d8e0b9;border-radius:26px;margin:0 0 18px;padding:12px 22px;box-shadow:0 4px 0 #e1e5c7}.guide-avatar{width:48px;height:120px;flex-shrink:0}.guide-bubble strong{font-size:17px;color:#7c9a68}.guide-bubble p{font-size:15px;line-height:1.8;margin:7px 0}.guide-bubble button{background:#edf1d5;border-radius:22px;padding:11px 18px;font-size:14px;white-space:nowrap;margin-left:auto}.wanderer{position:absolute;left:70%;top:64%;z-index:3;width:45px;height:110px;transform:translate(-50%,-100%);pointer-events:none;transition:left 1.1s ease-in-out,top 1.1s ease-in-out}.wanderer .avatar-figure{width:45px;height:110px}.wanderer.hop .avatar-figure{animation:walk-hop .35s ease-in-out 3}.real-explorer{margin:50px 0}.area-controls{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.area-controls button{border:1px solid #d4dfb6;background:#eef1dc;border-radius:23px;padding:10px 16px;font-size:14px}.area-controls button.chosen{background:#7da477;color:#fffce9;box-shadow:0 3px 0 #648c60}.real-map-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:22px;align-items:start}.embedded-map{border:5px solid #fffdf0;border-radius:22px;overflow:hidden;background:#fffdf0;box-shadow:0 5px 0 #dfe5c3}.embedded-map iframe{width:100%;height:510px;border:0;display:block;background:#dce8d2}.embedded-map>small{display:block;padding:0 15px 15px;font-size:12px;color:#a1ab86;line-height:1.8}.map-queries{padding:15px;display:flex;flex-wrap:wrap;gap:8px}.map-queries button{font-size:13px;border:1px dashed #cad8ad;background:#f3f5e3;padding:8px 13px;border-radius:18px}.map-queries button[aria-pressed=true]{background:#e4e9c4;border-color:#8daa74}.area-detail{border:2px solid #dfe4c0;background:#fffdf0;border-radius:23px;padding:25px}.area-detail h3{font-size:25px;margin:8px 0 15px}.area-detail>p{font-size:15px;line-height:1.9}.area-duration{font-size:14px;padding:12px;background:#f3eed6;border-radius:12px;margin:15px 0}.area-detail ol{font-size:15px;line-height:1.95;padding-left:24px}.area-detail li{margin:10px 0}.area-navigation{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.area-navigation .green-button{font-size:14px}.area-navigation .walk-button{background:#b8a873;box-shadow:0 4px 0 #9a8f64}.area-detail>.route-note{font-size:12px}.festival-note{margin-top:22px;background:#f6edd1;border:1px dashed #d9cb9c;border-radius:18px;padding:20px 25px}.festival-note b{font-size:16px;color:#a39261}.festival-note p{font-size:14px;line-height:1.95;margin:10px 0}.festival-note a{font-size:13px}.night .character-choice,.night .guide-bubble,.night .area-detail{background:#506b50;border-color:#8b9e71}.night .character-choice.chosen{background:#7b8f61}.night .guide-bubble strong{color:#d7dfb3}.night .guide-bubble button,.night .area-controls button{color:#e2e4b9;background:#617957}.night .area-controls button.chosen{background:#a3b77d;color:#304a34}.night .area-duration,.night .festival-note{background:#716f4d;color:#f2e6bb}.night .festival-note b{color:#e5d6a4}.night .embedded-map{background:#6d8060;border-color:#6d8060}.night .map-queries button{background:#849570;color:#fff8dc}.night .map-queries button[aria-pressed=true]{background:#c4ce96;color:#4f6544}@keyframes walk-hop{50%{translate:0 -10px;rotate:3deg}}@media(min-width:1001px){.detail{max-height:950px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8c796 transparent}.embedded-map{position:sticky;top:20px}}@media(max-width:1000px){.real-map-grid{grid-template-columns:1fr}.embedded-map iframe{height:440px}.character-picker{gap:10px}.avatar-figure{width:70px;height:175px}.guide-avatar{width:43px;height:108px}.character-choice b{font-size:14px}.wanderer .avatar-figure{width:45px;height:110px}}@media(max-width:600px){.character-picker{gap:6px}.character-choice{border-radius:16px;padding:8px 3px 12px}.character-choice .avatar-figure{width:47px;height:118px}.character-choice b{font-size:12px}.character-choice small{font-size:9px}.character-hint{font-size:12px}.family-cast{padding-left:9px;padding-right:9px}.guide-bubble{gap:12px;padding:12px 15px;flex-wrap:wrap}.guide-avatar{width:37px;height:92px}.guide-bubble>div:nth-child(2){flex:1}.guide-bubble strong{font-size:16px}.guide-bubble p{font-size:14px}.guide-bubble button{font-size:13px;padding:9px 13px}.wanderer{width:32px;height:80px}.wanderer .avatar-figure{width:32px;height:80px}.area-controls{gap:8px}.area-controls button{font-size:13px;padding:9px 12px}.embedded-map iframe{height:380px}.map-queries button{font-size:13px}.area-detail{padding:22px}.area-detail h3{font-size:24px}.area-detail ol,.area-detail>p{font-size:15px}.festival-note{padding:20px}.festival-note b{font-size:15px}.festival-note p{font-size:14px}.guide-bubble button{margin-left:49px}.real-explorer{margin:35px 0}}@media(prefers-reduced-motion:reduce){.wanderer{transition:none}.wanderer.hop .avatar-figure{animation:none}}@media print{.character-picker,.guide-bubble,.wanderer,.area-controls,.map-queries,.embedded-map iframe,.area-navigation{display:none}.real-map-grid{display:block}.embedded-map{display:none}.area-detail{break-inside:avoid}.festival-note{break-inside:avoid}}
.voice-panel{margin:24px 0 32px;background:#fffcf0;border:2px solid #d9e1ba;border-radius:25px;padding:28px}.voice-heading{display:flex;gap:25px;align-items:center;justify-content:space-between}.voice-badge{background:#edf2d8;border-radius:30px;padding:12px 18px;font-size:14px;white-space:nowrap}.voice-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.voice-buttons button:not(.green-button){background:#edf1dc;border:1px solid #d5dfb5;border-radius:24px;padding:11px 17px;font-size:14px}.voice-options{display:flex;gap:20px;flex-wrap:wrap;align-items:end}.voice-options>label{font-size:12px;display:flex;flex-direction:column;gap:7px}.voice-options select{font:inherit;font-size:14px;color:#607653;border:1px solid #d4dfb8;background:#fffdf1;border-radius:13px;padding:9px 12px;max-width:340px}.voice-options>.voice-auto-label{display:flex;flex-direction:row;align-items:center;font-size:14px;padding:8px 0}.voice-auto-label input{width:19px;height:19px;accent-color:#7da276}.voice-status{font-size:13px;margin:17px 0 0;color:#94a07c;min-height:26px}.voice-mic-row{border-top:2px dashed #dde1c2;padding-top:20px;margin-top:15px;display:flex;align-items:center;gap:22px}.voice-mic-row>button{flex-shrink:0;background:#c5a76c;box-shadow:0 4px 0 #ac905b;border-radius:26px;padding:13px 20px;font-size:15px;color:#fffbea}.voice-mic-row>button[aria-pressed=true]{background:#bc8169;box-shadow:0 4px 0 #99644f;animation:mic-pulse 1s infinite alternate}.voice-mic-row b{font-size:14px}.voice-mic-row p{font-size:12px;color:#96a17e;line-height:1.9;margin:7px 0 0}#voice-text-form{margin:20px 0 12px}#voice-text-form>label{font-size:13px;display:block;margin-bottom:8px}#voice-text-form>div{display:flex;gap:10px}#voice-text{font:inherit;font-size:16px;color:#5e7653;background:#f7f6e7;border:1px dashed #cbd7ad;border-radius:15px;padding:11px 15px;flex:1;min-width:0}#voice-text-form button{font-size:14px;border-radius:18px;padding:10px 20px;background:#85a87a;color:#fffbe8}.voice-caption{background:#f2efd8;border-radius:15px;padding:16px;font-size:15px;line-height:1.95;margin:12px 0}.voice-command-help{margin:16px 0 0;border-top:1px dashed #d8debb;padding-top:14px}.voice-command-help summary{font-size:14px;cursor:pointer}.voice-command-help p{font-size:13px;margin:12px 0;line-height:1.95}.avatar-figure.talking{animation:talk-hop .6s ease-in-out infinite alternate}.night .voice-panel{background:#4b654f;border-color:#80966b}.night .voice-badge,.night .voice-buttons button:not(.green-button){background:#617a57;color:#e6e7bd}.night .voice-caption{background:#627050;color:#f0e8c2}.night .voice-options select{background:#dce4bd}.night #voice-text{background:#405941;color:#e6e5c4}.night .voice-status,.night .voice-mic-row p{color:#c0cda6}@keyframes mic-pulse{to{box-shadow:0 0 0 7px #bd8c6433}}@keyframes talk-hop{to{translate:0 -5px;rotate:2deg}}@media(max-width:650px){.voice-panel{padding:22px 18px}.voice-heading{display:block}.voice-badge{display:inline-block;margin-top:12px;font-size:12px;padding:8px 14px}.voice-buttons{gap:9px}.voice-buttons button:not(.green-button),.voice-buttons .green-button{font-size:13px;padding:10px 14px}.voice-options{gap:15px}.voice-options select{max-width:250px}.voice-mic-row{flex-direction:column;align-items:flex-start;gap:18px}.voice-mic-row b{font-size:14px}.voice-mic-row p{font-size:12px}.voice-caption{font-size:14px}.voice-command-help summary{font-size:14px}.voice-panel .section-title h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.avatar-figure.talking,.voice-mic-row>button[aria-pressed=true]{animation:none}}@media print{.voice-panel{display:none}}
/* Each avatar is a complete standalone image, never a slice of the lineup. */
.avatar-figure{background-image:url('assets/gian-solo.png');background-size:contain!important;background-position:center bottom!important;background-repeat:no-repeat}.family-solos{display:flex;align-items:flex-end;justify-content:center;gap:0;margin:12px auto 0;max-width:1080px;min-height:330px}.family-solos img{display:block;width:20%;height:auto;max-height:350px;object-fit:contain;object-position:bottom}.family-solos .solo-anna,.family-solos .solo-minami{max-height:315px}.family-solos .solo-itsuki{max-height:245px}.character-choice .avatar-figure{width:100%;height:220px;max-width:150px}.guide-avatar{background-size:contain!important}.wanderer .avatar-figure{background-size:contain!important}.character-choice.chosen .avatar-figure{filter:drop-shadow(0 5px 6px #9daf5c55)}@media(max-width:1000px){.character-choice .avatar-figure{width:100%;height:175px}.family-solos{min-height:250px}.family-solos img{max-height:300px}.family-solos .solo-anna,.family-solos .solo-minami{max-height:270px}.family-solos .solo-itsuki{max-height:210px}}@media(max-width:600px){.character-choice .avatar-figure{width:100%;height:125px}.family-solos{min-height:150px;align-items:flex-end}.family-solos img{max-height:195px}.family-solos .solo-anna,.family-solos .solo-minami{max-height:175px}.family-solos .solo-itsuki{max-height:135px}}@media print{.family-solos{min-height:100px}.family-solos img{max-height:150px}.family-solos .solo-anna,.family-solos .solo-minami{max-height:140px}.family-solos .solo-itsuki{max-height:100px}}
/* iPhone layouts use intentional rows instead of shrinking or fragmenting labels. */
h1>span{display:inline}h1>span+span{margin-left:.2em}button,a,select{min-width:0}main>section,main>div{min-width:0}.voice-buttons>button,.area-controls>button,.map-queries>button,.member-tabs>button,.experience-filters>button{white-space:nowrap}.detail-top h2,.section-title h2,.practical h2{line-break:strict;text-wrap:balance}.task-row>span:last-child{min-width:0;overflow-wrap:anywhere}.detail-links>a{overflow-wrap:anywhere}.voice-options>label{min-width:0}.voice-options select{width:100%}.embedded-map{min-width:0}.real-map-grid{min-width:0}
@media(max-width:600px){html{scroll-padding-top:12px}main{padding-left:16px;padding-right:16px}header{padding-left:16px;padding-right:16px;gap:8px}.logo{font-size:20px;letter-spacing:1px;flex-shrink:0}.logo-small{font-size:9px;letter-spacing:4px}.header-actions{gap:7px}.header-actions button{font-size:12px;white-space:nowrap;padding:9px 11px;min-height:40px}.intro{padding:28px 0 24px}.intro-label{font-size:11px;letter-spacing:.5px;white-space:nowrap}.intro h1{font-size:clamp(23px,6.2vw,28px);letter-spacing:1px;line-height:1.7;margin:12px 0}h1>span{display:block;white-space:nowrap}h1>span+span{margin-left:0}.intro p{font-size:14px;line-height:1.9}.family-chips{gap:7px}.family-chips span{font-size:11px;white-space:nowrap;padding:6px 10px}.family-chips span:last-child{width:auto}.quick-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:23px}.quick-nav a{font-size:13px;white-space:nowrap;padding:11px 9px;text-align:center;min-height:45px}.family-cast{border-radius:22px;padding:22px 10px}.family-cast .section-title h2{font-size:23px;line-height:1.55}.family-solos{min-height:0;margin-top:10px}.family-solos img{width:20%;max-height:165px}.family-solos .solo-anna,.family-solos .solo-minami{max-height:150px}.family-solos .solo-itsuki{max-height:120px}.character-hint{font-size:12px;line-height:1.8;padding:0 6px}.character-picker{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bfcc9f transparent;justify-content:flex-start;gap:10px;padding:8px 3px 15px;margin:5px 0 18px}.character-choice{flex:0 0 111px;scroll-snap-align:start;min-width:111px;padding:10px 8px 14px;border-radius:18px}.character-choice .avatar-figure{height:158px;width:94px}.character-choice b{font-size:15px;white-space:nowrap}.character-choice small{font-size:11px;white-space:nowrap}.member-grid{grid-template-columns:1fr 1fr;gap:9px}.member-grid article{padding:14px 10px}.member-grid article:last-child{grid-column:1/-1;max-width:none}.member-grid article:last-child p{max-width:270px;margin-left:auto;margin-right:auto}.member-grid b{font-size:16px;white-space:nowrap}.member-grid span{font-size:11px;line-height:1.7}.member-grid p{font-size:13px;line-height:1.85}.voice-panel{padding:23px 17px;border-radius:22px}.voice-panel .section-title h2{font-size:23px;line-height:1.6}.voice-panel .section-title p{font-size:14px}.voice-badge{font-size:12px}.voice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.voice-buttons button:not(.green-button),.voice-buttons .green-button{font-size:12px;padding:12px 7px;min-height:48px;white-space:nowrap;text-align:center;justify-content:center;box-shadow:0 3px 0 #d4dfb2}.voice-buttons #speak-guide{background:#7da276;box-shadow:0 3px 0 #63895d}.voice-options{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:15px 10px;align-items:start}.voice-options>label{font-size:12px}.voice-options select{max-width:100%;font-size:16px;padding:10px 7px;min-height:44px;min-width:0}.voice-options>.voice-auto-label{grid-column:1/-1;font-size:13px;line-height:1.7;padding:0}.voice-auto-label input{flex-shrink:0}.voice-status{font-size:12px;line-height:1.8;min-height:0;margin:16px 0}.voice-mic-row{gap:16px}.voice-mic-row>button{font-size:14px;width:100%;padding:13px;min-height:47px}.voice-mic-row b{font-size:13px;line-height:1.9}.voice-mic-row p{font-size:12px}#voice-text-form>div{gap:8px}#voice-text{font-size:16px;padding:11px 10px;width:100%;min-width:0}#voice-text-form button{font-size:13px;white-space:nowrap;padding:10px 14px}.voice-caption{padding:13px;font-size:14px;line-height:1.9}.voice-command-help summary{font-size:13px;line-height:1.8}.arrival{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px 12px;padding:17px}.arrival>div{min-width:0}.arrival b{font-size:14px;line-height:1.9}.arrival p{font-size:13px;line-height:1.9}.arrival>a{grid-column:2;margin-left:0;text-align:center;font-size:13px;white-space:nowrap;padding:10px 12px;width:100%;min-height:42px}.day-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.travel-controls{display:block}.day-tabs button{width:100%;padding:12px 5px;border-radius:14px 14px 0 0;min-height:92px;font-size:15px;line-height:1.5}.day-tabs button small{font-size:10px;letter-spacing:1.5px}.day-tabs button span{font-size:10px;letter-spacing:0;white-space:nowrap;margin-top:6px}.guide-bubble{display:grid;grid-template-columns:42px minmax(0,1fr);padding:13px 15px;gap:8px 12px}.guide-avatar{width:42px;height:100px}.guide-bubble>div:nth-child(2){min-width:0}.guide-bubble strong{font-size:15px;line-height:1.8}.guide-bubble p{font-size:14px;line-height:1.9}.guide-bubble button{grid-column:2;margin:0;padding:10px 12px;font-size:13px;width:100%;min-height:44px}.detail-top{padding:20px 18px 20px 86px}.detail h2{font-size:23px;line-height:1.6}.detail-top .place-tag{font-size:11px}.detail-top>p{font-size:12px}.detail-body{padding:20px 18px}.detail-desc{font-size:16px}.time-tag{font-size:13px;line-height:1.9}.detail-actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}.detail-actions .green-button{display:block;text-align:center;font-size:14px;padding:13px 15px;white-space:normal}.stamp-button{padding:12px 15px;min-height:45px}.detail-links{display:flex;gap:14px;align-items:flex-start}.detail-links .text-button{width:100%;font-size:14px}.detail-links>a{font-size:13px}.field-guide summary{font-size:15px;line-height:1.85}.area-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.area-controls button{font-size:12px;padding:12px 6px;white-space:normal;line-height:1.6;min-height:54px;border-radius:16px;text-wrap:balance}.area-controls button:last-child{grid-column:1/-1}.real-map-grid{display:flex;flex-direction:column;gap:18px}.embedded-map,.area-detail{width:100%}.embedded-map iframe{height:340px}.map-queries{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px}.map-queries button{font-size:12px;padding:11px 5px;min-height:44px;white-space:normal;border-radius:13px;line-height:1.7}.area-detail{padding:22px 18px}.area-detail h3{font-size:23px;line-height:1.6}.area-navigation{display:grid;grid-template-columns:1fr;gap:13px}.area-navigation a{text-align:center;font-size:14px;white-space:nowrap;padding:13px}.task-board{padding:24px 17px}.member-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding:3px 0 12px;scrollbar-width:thin}.member-tabs button{flex-shrink:0;font-size:14px;padding:10px 16px;min-height:44px}.task-toolbar{display:block;padding-bottom:20px}.task-toolbar h3{font-size:17px;line-height:1.8}.task-toolbar>label{margin-top:15px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;font-size:13px}.task-toolbar select{font-size:16px;padding:10px 12px;width:100%;min-height:44px}.task-row{display:grid;grid-template-columns:22px 40px minmax(0,1fr);gap:9px;font-size:15px;padding:17px 0;line-height:1.95}.task-day{font-size:11px;text-align:center;padding:2px 4px}.task-row input{margin-top:5px}.experience-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.experience-filters button{white-space:nowrap;font-size:12px;padding:11px 6px;min-height:44px}.experience-filters button:first-child{grid-column:1/-1}.experience-meta{font-size:12px;line-height:1.9}.experience h3{font-size:19px;line-height:1.8}.section-title>span,.section-kicker{font-size:11px;letter-spacing:2px}.section-title h2{font-size:24px;line-height:1.65;letter-spacing:0}.section-title p{font-size:14px;line-height:1.95}.prep-grid article,.food-grid article,.setup-grid article,.experience{padding:23px 20px}.stamp-list{justify-content:space-between;gap:8px}.stamp-item{width:clamp(80px,24vw,106px);height:clamp(80px,24vw,106px)}.stamp-item b{font-size:12px;white-space:nowrap}.stamp-item small{font-size:9px;white-space:nowrap}.stamp-card,.quest-card{padding:23px 18px}.voice-options option{font-size:16px}dialog{width:calc(100% - 28px);max-height:calc(100dvh - 48px);padding:22px 18px}.dialog-head{font-size:12px;letter-spacing:1px}.dialog-head button{min-width:36px;min-height:36px}.check-row{font-size:15px}footer div{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}footer div a,footer button{font-size:12px;white-space:nowrap}footer p{font-size:12px;line-height:1.9}#toast{width:max-content;max-width:calc(100vw - 32px);font-size:13px;white-space:normal;padding:13px 17px;line-height:1.8;bottom:max(18px,env(safe-area-inset-bottom))}}@media(max-width:380px){.header-actions button{font-size:11px;padding:9px}.logo{font-size:18px}.leaf{width:30px;height:30px}.intro h1{font-size:23px;letter-spacing:.5px}.family-chips span{font-size:10px}.day-tabs button{font-size:14px}.day-tabs button span{font-size:9px}.voice-buttons button:not(.green-button),.voice-buttons .green-button{font-size:11px}.area-controls button{font-size:11px}.task-row{grid-template-columns:21px 35px minmax(0,1fr);gap:8px;font-size:15px}}
.emergency-section{margin:45px 0;padding:30px;border:2px solid #dbc6ad;background:#fffaf0;border-radius:26px;scroll-margin-top:20px}.emergency-section .section-title>span{color:#b8896d}.urgent-buttons{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:15px;margin:23px 0 16px}.urgent-buttons a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;background:#b97b66;color:#fff9e9;border-radius:20px;padding:20px 14px;box-shadow:0 4px 0 #986654}.urgent-buttons a:nth-child(2){background:#7a92a1;box-shadow:0 4px 0 #60798b}.urgent-buttons a:last-child{background:#7c9d75;box-shadow:0 4px 0 #617d5c}.urgent-buttons span{font-size:14px}.urgent-buttons strong{font-size:35px;line-height:1.8;white-space:nowrap;letter-spacing:1px;font-variant-numeric:tabular-nums}.urgent-buttons a:last-child strong{font-size:25px;letter-spacing:0}.urgent-buttons small{font-size:11px}.emergency-caution,.emergency-updated{font-size:12px;line-height:1.95;color:#9c987f}.emergency-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.contact-card,.hospital-grid article{background:#fffdf4;border:1px solid #dddcc4;border-radius:20px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-card h3{font-size:20px;margin:0 0 4px}.contact-card p{font-size:14px;line-height:1.95;margin:0}.contact-card>a{font-size:15px;line-height:1.8}.contact-card .contact-number{font-size:24px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.contact-card small{font-size:12px;line-height:1.85;color:#9aa181}.contact-card .source-link{font-size:12px}.hospital-heading{margin:30px 0 20px}.hospital-heading h3{font-size:21px}.hospital-heading p{font-size:14px;line-height:1.95}.hospital-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hospital-grid h4{font-size:18px;margin:0;line-height:1.7}.hospital-grid p{font-size:14px;margin:0;line-height:1.9}.hospital-grid .hospital-phone{font-size:22px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.hospital-grid article>div{display:flex;gap:20px;margin-top:6px;font-size:13px}.insurance-card{background:#f0efda;border:1px dashed #c9cea5;border-radius:22px;padding:27px;margin-top:28px}.insurance-card h3{font-size:23px;margin:10px 0}.insurance-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.insurance-summary>div{background:#fffdf0;border-radius:13px;padding:14px 17px;min-width:0}.insurance-summary small{display:block;font-size:12px;color:#a5a37f;margin-bottom:4px}.insurance-summary b{font-size:15px;line-height:1.85;font-weight:700}.insurance-card details{margin:18px 0;border-top:1px dashed #cdd5b0;padding-top:17px}.insurance-card summary{font-size:15px;line-height:1.9;font-weight:700;cursor:pointer}.insurance-card ul,.insurance-card details>p{font-size:14px;line-height:1.95}.insurance-card li{margin-bottom:8px}.private-contract dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.private-contract dl>div{padding:12px;background:#fffdf0;border-radius:12px;min-width:0}.private-contract dt{font-size:12px;color:#9caa82}.private-contract dd{font-size:17px;margin:7px 0;font-variant-numeric:tabular-nums}.private-contract button,.location-card>button{background:#7c9e73;color:#fff9e8;padding:11px 17px;border-radius:21px;font-size:14px;min-height:44px}.private-contract small{display:block;font-size:12px;margin-top:14px;line-height:1.85;color:#9aa581}.insurance-card>a{font-size:13px}.emergency-howto{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:26px}.emergency-howto h3,.location-card h3{font-size:20px}.emergency-howto ol{padding-left:22px;font-size:15px;line-height:1.95}.emergency-howto li{margin:10px 0}.emergency-howto small{font-size:12px;line-height:1.85}.emergency-howto a{font-size:13px}.call-script{background:#f3e9d5;border-radius:15px;padding:17px;font-size:15px;line-height:2}.location-card{padding-top:20px;border-top:2px dashed #d4d9b6;margin-top:25px}.location-card>p{font-size:14px;line-height:1.95}.location-card>label{font-size:14px;display:block;margin:18px 0 10px}.location-card textarea{width:100%;font:inherit;font-size:16px;color:#607652;background:#fffdf0;border:1px solid #d1d8b1;border-radius:15px;padding:15px;resize:vertical}.location-card small{font-size:12px;color:#a2aa86;display:block;margin:10px 0 20px}.emergency-fab{position:fixed;right:20px;bottom:20px;z-index:15;border-radius:25px;padding:11px 20px;background:#ae7663;color:#fffbe9;text-decoration:none;box-shadow:0 4px 0 #865746;font-size:14px;font-weight:700}.night .emergency-section{background:#4e604c;border-color:#a18f70}.night .contact-card,.night .hospital-grid article{background:#52694f;border-color:#87966e}.night .insurance-card{background:#60724f;border-color:#95a77b}.night .insurance-summary>div,.night .private-contract dl>div{background:#455f48}.night .insurance-summary small,.night .private-contract dt{color:#c9d5ae}.night .emergency-howto .call-script{background:#6d6c4f}.night .location-card textarea{background:#40583f;color:#e8e5bc}.night .emergency-caution,.night .emergency-updated{color:#c3cdac}
@media(max-width:750px){.urgent-buttons{grid-template-columns:1fr 1fr}.urgent-buttons a:last-child{grid-column:1/-1}.emergency-grid,.hospital-grid,.emergency-howto{grid-template-columns:1fr}.emergency-section{padding:25px 20px}.insurance-summary{grid-template-columns:1fr}.private-contract dl{grid-template-columns:1fr}.urgent-buttons a:last-child strong{font-size:29px}.emergency-fab{font-size:13px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:10px 17px}.contact-card .contact-number{font-size:23px}.emergency-section h2{font-size:24px}.insurance-card{padding:23px 18px}.insurance-summary b{font-size:15px;overflow-wrap:anywhere}.private-contract dd{font-size:18px}.private-contract button{width:100%;min-height:46px}.contact-card a,.hospital-grid a{overflow-wrap:normal}.contact-card .contact-number{white-space:nowrap;font-size:clamp(20px,5.5vw,25px)}.emergency-section .section-title p{font-size:15px}.urgent-buttons span{font-size:12px}.urgent-buttons strong{font-size:38px}.urgent-buttons a:last-child strong{font-size:clamp(24px,7vw,30px)}.urgent-buttons small{font-size:10px}.urgent-buttons{gap:12px}.urgent-buttons a{padding:19px 9px}.emergency-section{margin:35px 0;padding:24px 17px}.contact-card,.hospital-grid article{padding:22px 18px}.contact-card h3,.hospital-heading h3{font-size:20px}.contact-card p,.hospital-grid p{font-size:15px}.emergency-howto ol{font-size:15px}.location-card>label{font-size:14px}.quick-nav{grid-template-columns:1fr 1fr}.quick-nav .emergency-link{grid-column:1/-1;color:#a87960;background:#f7ebd4;border-color:#d8bfa1}.emergency-fab+#toast{bottom:80px}}
@media print{.emergency-section{break-inside:auto;padding:18px;background:white}.urgent-buttons{grid-template-columns:1fr 1fr 1.5fr}.urgent-buttons a{color:#333;background:#eee!important;box-shadow:none}.emergency-fab{display:none}.emergency-grid,.hospital-grid,.emergency-howto{grid-template-columns:1fr 1fr}.contact-card,.hospital-grid article,.insurance-card{break-inside:avoid}.contact-card p,.hospital-grid p,.emergency-howto ol,.insurance-card details>p{font-size:11px}.private-contract[open]{display:block}.location-card>button,.location-card textarea,#copy-insurance{display:none}}
/* Both languages share layout and saved family progress. */
.language-switch{display:flex;align-items:center;gap:3px;padding:4px;border-radius:20px;background:#e8f0dd;border:1px solid #b5caaa;flex-shrink:0}
.language-switch a{font-size:14px;line-height:1.35;padding:7px 10px;text-decoration:none;color:#375f4a;border-radius:16px;white-space:nowrap;font-weight:800}
.language-switch a[aria-current="page"]{background:#416f54;color:#fff;box-shadow:0 2px 4px #29442c20}
html[lang="vi"] body{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0}
html[lang="vi"] .intro h1{font-size:clamp(30px,5vw,58px);line-height:1.2;letter-spacing:-.03em}
html[lang="vi"] .intro h1 span{white-space:normal}
html[lang="vi"] .day-tabs button{white-space:normal;line-height:1.4}
html[lang="vi"] .day-tabs button span{line-height:1.35}
html[lang="vi"] .pin b{font-size:14px}
html[lang="vi"] .task-day{white-space:normal;min-width:65px;line-height:1.35}
html[lang="vi"] .logo-small{font-size:11px}
html[lang="vi"] .map-label span{letter-spacing:0;font-size:11px}
html[lang="vi"] .voice-options label{min-width:0}
@media(max-width:700px){header{flex-wrap:wrap;gap:9px}.language-switch{margin-left:auto}.language-switch a{font-size:13px;padding:6px 8px}.header-actions{margin-left:auto}html[lang="vi"] .intro h1{font-size:clamp(30px,8.3vw,43px)}html[lang="vi"] .day-tabs button{font-size:15px;padding:12px 7px}html[lang="vi"] .day-tabs button span{font-size:12px}html[lang="vi"] .quick-nav a{font-size:14px}html[lang="vi"] .pin b{font-size:12px}html[lang="vi"] .task-row{grid-template-columns:22px 68px minmax(0,1fr)}html[lang="vi"] .voice-badge{white-space:normal;text-align:center}}
@media(max-width:700px){html[lang="vi"] .intro h1{font-size:clamp(28px,7.3vw,35px)}html[lang="vi"] .intro-label{letter-spacing:1px}html[lang="vi"] .pin strong{font-size:13px}html[lang="vi"] .pin small{font-size:10px}}
