:root{--ink:#183d53;--deep:#214e68;--muted:#6f8996;--blue:#357c9d;--ice:#eaf4f8;--paper:#f9fbfa;--white:#fff;--line:#dbe9ed;--warm:#f4e9de;--peach:#e7ac95;--shadow:0 12px 34px rgba(36,87,105,.09);--radius:22px;--max:1120px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#edf6f9 0,#f8fbfa 370px,#fbfaf7 85%)}button,input,a,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #79bdd0;outline-offset:2px}p{margin:0;line-height:1.65}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.025em;margin:0}h1{font-size:clamp(2.2rem,6vw,4.3rem)}h2{font-size:clamp(1.35rem,3vw,1.9rem)}h3{font-size:1.06rem}small{font-size:.8rem}img{max-width:100%}svg{flex-shrink:0}button{touch-action:manipulation}.skip-link{position:absolute;left:-200vw;top:0;z-index:10000;background:white;padding:12px}.skip-link:focus{left:0}
.site-header{height:79px;max-width:calc(var(--max) + 42px);padding:0 22px;display:flex;align-items:center;justify-content:space-between;margin:0 auto;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--deep);min-width:0}.brand-symbol{display:grid;place-items:center;background:var(--deep);color:white;border-radius:13px;width:41px;height:41px;font-size:24px;line-height:1}.brand-wordmark{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.brand-wordmark strong{font-size:1.04rem;font-weight:900;letter-spacing:.09em}.brand-dot{color:var(--peach)}.brand-wordmark small{letter-spacing:.14em;font-size:.56rem;font-weight:800;color:#71919f}.header-actions{display:flex;align-items:center;gap:10px}.lang-switch{display:flex;gap:2px;background:white;border:1px solid var(--line);border-radius:999px;padding:4px}.lang-option{padding:8px 11px;background:transparent;border:0;border-radius:999px;font-size:.78rem;font-weight:800;color:#819ba6}.lang-option[aria-pressed=true]{background:#dfeef4;color:var(--deep)}.header-help{display:flex;align-items:center;justify-content:center;gap:8px;background:#1e4e67;color:white;border-radius:999px;padding:11px 16px;font-size:.84rem;font-weight:800;box-shadow:0 4px 10px #31597028}.header-help:hover{background:#163d52}.header-help-symbol{font-size:16px}
main{max-width:var(--max);margin:0 auto;padding:5px 22px 90px;min-height:65vh}.page-enter{animation:appear .24s ease-out}@keyframes appear{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#537e90;font-size:.73rem;letter-spacing:.16em;font-weight:900;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:1px;background:#83aebd}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:34px 0 17px}.section-heading p{color:var(--muted);font-size:.9rem;margin-top:6px}.section-heading a{font-weight:800;font-size:.85rem;white-space:nowrap}.page-title{margin:13px 0 8px}.page-intro{max-width:710px;color:var(--muted);font-size:1rem;margin-bottom:23px}
.hero{background:linear-gradient(90deg,#173f55c9 0%,#254c6380 47%,#173f5508 100%),url('./assets/winter-town.svg') center 46%/cover;position:relative;min-height:405px;border-radius:28px;overflow:hidden;color:white;box-shadow:var(--shadow);padding:39px 37px;display:flex;flex-direction:column;justify-content:space-between}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#14384c64,transparent 68%);pointer-events:none}.hero>*{position:relative;z-index:1}.hero-kicker{font-size:.75rem;letter-spacing:.22em;font-weight:850;color:#f7fafb}.hero h1{max-width:520px;margin-top:12px;font-weight:850;line-height:1.07}.hero h1 em{font-size:.48em;font-weight:700;font-style:normal;letter-spacing:.025em;display:block;margin-top:12px;color:#f3fbff}.hero p{margin-top:13px;color:#f4fbff;font-weight:600}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;border:1px solid transparent;padding:12px 16px;font-weight:780;font-size:.88rem;min-height:45px;line-height:1.25;text-align:center}.btn-primary{background:var(--deep);color:white;border-color:var(--deep)}.btn-primary:hover{background:#173e54;color:white}.btn-white{background:white;color:var(--deep)}.btn-white:hover{background:#f3f8f9}.btn-outline{background:white;color:var(--deep);border-color:var(--line)}.btn-outline:hover{background:#eff7f9}.btn-ghost{background:#e6f0f3;color:var(--deep)}.btn-danger{background:#a94742;color:white}.btn:disabled{opacity:.52;cursor:not-allowed}.btn-wide{width:100%}.btn-sm{padding:9px 12px;min-height:39px;font-size:.8rem;border-radius:10px}.hero .btn-primary{background:white;color:var(--deep);border-color:white}.hero .btn-outline{background:#ffffff18;color:white;border-color:#ffffff80;backdrop-filter:blur(5px)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.hero-stamp{border:1px solid #ffffff9c;border-radius:100%;width:92px;height:92px;display:grid;place-items:center;transform:rotate(10deg);font-size:.67rem;line-height:1.55;text-align:center;letter-spacing:.16em;font-weight:900;opacity:.87}.hero-credits{letter-spacing:.08em;font-size:.75rem;color:#f8fcff}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:17px 19px;display:flex;align-items:center;gap:12px}.stat-icon{width:43px;height:43px;background:#eef6f8;border-radius:12px;display:grid;place-items:center;color:#4081a0}.stat-text small{display:block;color:var(--muted);font-weight:650}.stat-text strong{display:block;font-size:1.06rem;margin-top:3px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px #285f7506}.card-pad{padding:22px}.split-feature{display:grid;grid-template-columns:1.25fr .9fr;gap:16px}.today-card{padding:25px;display:flex;flex-direction:column;gap:14px}.today-label{font-size:.73rem;letter-spacing:.14em;color:#5b8da1;text-transform:uppercase;font-weight:850}.today-card h2{font-size:1.55rem}.today-card .meta{display:flex;gap:8px;flex-wrap:wrap}.today-card .caption{color:var(--muted);font-size:.88rem}.today-card .today-actions{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap}.notes-card{padding:24px;background:#f5ece3;border-color:#ecdccc;display:flex;flex-direction:column;gap:13px}.notes-card .notes-title{display:flex;align-items:center;gap:10px;font-weight:850}.notes-card p{font-size:.92rem}.notes-card .small-note{color:#8d6c62;font-size:.83rem}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.quick-action{background:white;border:1px solid var(--line);padding:18px 15px;border-radius:18px;display:flex;align-items:center;gap:13px;color:var(--deep);text-align:left;transition:transform .15s,box-shadow .15s}.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-action .quick-icon{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:12px;background:#eef6f8;color:#3b7d99}.quick-action b{font-size:.9rem;display:block}.quick-action small{display:block;font-weight:500;color:var(--muted);margin-top:3px}.day-rail{display:grid;grid-auto-columns:minmax(160px,1fr);grid-auto-flow:column;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.day-teaser{text-align:left;border:1px solid var(--line);background:white;border-radius:15px;padding:16px;min-height:141px;color:var(--ink);display:flex;flex-direction:column;gap:9px;scroll-snap-align:start;min-width:0}.day-teaser:hover,.day-teaser.selected{border-color:#91b7c6;background:#f3f9fb}.day-teaser small{font-weight:780;color:#6792a5}.day-teaser b{font-size:.92rem}.day-teaser .day-location{font-size:.77rem;color:var(--muted);margin-top:auto}.tiny-illustration{height:52px;border-radius:10px;background:linear-gradient(130deg,#c2dbe4,#f3e8dc);display:grid;place-items:center;color:#356d86;font-size:29px;position:relative;overflow:hidden}.tiny-illustration:after{content:"✳   ·   ✳";position:absolute;right:4px;top:4px;color:#ffffffca;font-size:15px}.tiny-illustration.otaru{background:linear-gradient(130deg,#abc9d7,#dce4e6,#eed9c6)}.tiny-illustration.onsen{background:linear-gradient(130deg,#b5d4d8,#e7e5da)}.tiny-illustration.sweets{background:linear-gradient(130deg,#e5c7c0,#f6e7dd)}.tiny-illustration.airport{background:linear-gradient(130deg,#abc5d1,#f2f4f2)}
.chips,.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border-radius:999px;background:#eff6f7;padding:7px 12px;font-size:.75rem;font-weight:750;color:#46728a}.chip.peach{background:#f6eee8;color:#9a6a56}.chip.confirmed{background:#e6f4ea;color:#347a57}.chip.suggested{background:#eff4f7;color:#5c7786}.chip.yellow{background:#fff5e6;color:#926d38}.chip.red{background:#f8e7e3;color:#ad4d45}.day-picker{display:flex;gap:9px;overflow-x:auto;padding:5px 2px 11px;margin-top:16px;scrollbar-width:thin}.day-tab{border:1px solid var(--line);background:white;border-radius:13px;min-width:84px;padding:11px 9px;color:var(--ink);text-align:center;flex-shrink:0}.day-tab small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:750}.day-tab strong{display:block;font-size:1.2rem;margin:2px 0}.day-tab.active{background:var(--deep);border-color:var(--deep);color:white;box-shadow:0 5px 14px #254b6534}.day-tab.active small{color:#d5e7ec}.day-detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.85fr);gap:17px;margin-top:13px}.day-main{overflow:hidden}.day-banner{min-height:160px;display:flex;align-items:end;padding:24px;color:white;background:linear-gradient(110deg,#204c67ed,#457d94bb),url('./assets/winter-town.svg') center 55%/cover}.day-banner.otaru{background:linear-gradient(110deg,#264d64ed,#3c7893a3),url('./assets/winter-town.svg') center 55%/cover}.day-banner.onsen{background:linear-gradient(110deg,#386865ed,#508f83a3),url('./assets/winter-town.svg') center 55%/cover}.day-banner.sweets{background:linear-gradient(110deg,#8c666ced,#b48b7aa3),url('./assets/winter-town.svg') center 55%/cover}.day-banner.airport{background:linear-gradient(110deg,#4e6379ed,#6c9aaba3),url('./assets/winter-town.svg') center 55%/cover}.day-banner h2{margin-top:7px;color:white}.day-content{padding:24px}.day-summary{margin-bottom:17px;color:#597888}.timeline{display:flex;flex-direction:column;gap:0;margin-top:17px}.timeline-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;position:relative}.timeline-spine{width:24px;display:flex;justify-content:center;position:relative}.timeline-spine:before{content:"";position:absolute;top:11px;bottom:-11px;width:2px;background:#dce8eb}.timeline-item:last-child .timeline-spine:before{display:none}.timeline-spine:after{content:"";position:relative;top:7px;width:11px;height:11px;border:3px solid #5d98b0;background:white;border-radius:50%}.timeline-body{padding:0 0 24px}.timeline-time{font-size:.76rem;font-weight:850;letter-spacing:.04em;color:#5a8da3;margin-bottom:5px}.timeline-body h3{margin-bottom:6px}.timeline-body p{color:#637e8d;font-size:.89rem}.timeline-actions{display:flex;gap:8px;margin-top:10px;align-items:center;flex-wrap:wrap}.side-card{padding:22px;display:flex;flex-direction:column;gap:13px}.side-card .side-head{display:flex;align-items:center;gap:10px;font-weight:850}.side-card p{color:#637d8c;font-size:.9rem}.side-card.note{background:#f8f0e8;border-color:#eee3d8}.side-card.note p{color:#82695e}.side-stack{display:flex;flex-direction:column;gap:16px}.little-label{font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#79919c}
.place-grid,.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.place-card,.food-card{overflow:hidden}.place-art{height:112px;background:linear-gradient(125deg,#a8d0dc,#f3ebe5);display:flex;align-items:center;justify-content:center;font-size:53px;position:relative}.place-art:after{content:"✳  ✳  ·";position:absolute;right:18px;top:16px;font-size:24px;color:#fff8}.place-art.navy{background:linear-gradient(125deg,#719bb2,#c9dee4)}.place-art.warm{background:linear-gradient(125deg,#d7ad9a,#efe1cb)}.place-art.green{background:linear-gradient(125deg,#9ec4c1,#e4eeea)}.place-body,.food-body{padding:18px}.place-body p,.food-body p{font-size:.86rem;color:var(--muted);margin:7px 0 13px}.place-body .btn{margin-top:5px}.food-icon{height:110px;background:linear-gradient(135deg,#f4e9df,#e9f4f7);display:grid;place-items:center;font-size:51px}.food-body small{color:#6d97a9;font-weight:800;font-size:.7rem;letter-spacing:.05em}.food-body h3{margin-top:6px}.food-body p{min-height:85px}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flight-card,.hotel-card{padding:22px}.flight-code{font-size:.78rem;letter-spacing:.12em;color:#6890a1;font-weight:850}.flight-route{display:flex;align-items:center;justify-content:space-between;margin:15px 0 13px;gap:10px}.flight-route .airport{font-size:1.8rem;font-weight:900;color:var(--deep)}.flight-route .plane-dash{display:flex;align-items:center;justify-content:center;gap:5px;color:#80a0ae;flex:1}.flight-route .plane-dash:before,.flight-route .plane-dash:after{content:"";flex:1;border-top:1px dashed #b7cbd4}.flight-time{display:flex;align-items:start;justify-content:space-between;gap:14px}.flight-time strong{display:block;font-size:1.12rem}.flight-time small{display:block;color:var(--muted);margin-top:4px}.hotel-card h3{font-size:1.08rem;margin:10px 0}.hotel-card .jp{font-size:.94rem;color:#648291;margin-top:3px}.address{background:#f2f7f8;border-radius:13px;padding:14px;font-size:.94rem;line-height:1.65;color:#2d586d;margin:14px 0;overflow-wrap:anywhere}.hotel-card .address-jp{font-weight:750}.hotel-actions{display:flex;flex-wrap:wrap;gap:8px}.travel-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.travel-note{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.travel-note svg{color:#5c97ae;margin-bottom:13px}.travel-note p{font-size:.86rem;color:var(--muted);margin-top:7px}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-row{display:flex;align-items:start;gap:10px;background:#f2f8f9;border-radius:11px;padding:12px;font-size:.87rem}.check-row input{accent-color:var(--deep);width:18px;height:18px;margin:0;flex-shrink:0}.notice{background:#f4ede4;border:1px solid #eadbc9;border-radius:15px;padding:17px 19px;color:#805b4b;font-size:.89rem;line-height:1.65}
.safety-hero{background:linear-gradient(115deg,#153e55,#2b637d);color:white;border-radius:24px;padding:29px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;overflow:hidden}.safety-hero:after{content:"✳";position:absolute;right:35px;top:-56px;font-size:230px;color:#fff1;pointer-events:none}.safety-hero>*{position:relative;z-index:1}.safety-hero h1{font-size:clamp(1.9rem,4vw,3.2rem);margin:8px 0}.safety-hero p{color:#e0eff5;max-width:600px}.safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}.safety-action{display:flex;align-items:flex-start;gap:14px;padding:22px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:20px;text-align:left;min-height:132px}.safety-action:hover{border-color:#87b5c7;box-shadow:var(--shadow)}.safety-action .action-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#e9f3f6;color:#2f7997}.safety-action b{font-size:1.05rem;display:block;margin-bottom:7px}.safety-action span:last-child{font-size:.88rem;color:var(--muted);line-height:1.5}.safety-section{margin-top:29px}.help-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 8px}.help-tab{border:1px solid var(--line);background:white;border-radius:999px;padding:11px 15px;white-space:nowrap;font-size:.86rem;color:var(--deep);font-weight:750}.help-tab.active{background:var(--deep);border-color:var(--deep);color:white}.hotel-toggle{display:flex;gap:6px;background:#edf5f7;border-radius:12px;padding:5px;margin:12px 0}.hotel-toggle button{background:transparent;border:none;padding:11px;border-radius:9px;flex:1;color:#567889;font-weight:750}.hotel-toggle button.active{background:white;box-shadow:0 2px 10px #22475a12;color:#214c63}.help-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:16px}.help-main{padding:23px}.help-main h2{font-size:1.36rem}.help-main .helper-desc{color:var(--muted);font-size:.92rem;margin:8px 0}.big-jp-card{border:2px solid #bfd8e3;border-radius:18px;padding:20px;background:#f7fcfd;margin:16px 0;box-shadow:inset 0 0 0 4px white}.big-jp-card .label{font-size:.71rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#6996a9}.big-jp-card .message-en{font-size:.85rem;color:#7694a0;margin:11px 0}.big-jp-card .message-jp{white-space:pre-wrap;line-height:1.65;font-size:clamp(1.15rem,2.5vw,1.6rem);font-weight:780;color:#123e55;overflow-wrap:anywhere}.action-row{display:flex;flex-wrap:wrap;gap:9px}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-item{background:white;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-item b{font-size:.89rem;display:block}.contact-item small{display:block;margin-top:4px;color:var(--muted)}.contact-item a{white-space:nowrap}.contact-item.urgent{border-color:#eac6c2;background:#fff9f8}.contact-item.urgent b{color:#9b4542}.subsection-heading{display:flex;align-items:center;gap:10px;margin:22px 0 12px}.subsection-heading h3{font-size:1.03rem}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0}.field label{font-weight:750;font-size:.84rem}.field input,.field textarea{border:1px solid #c9dbe2;border-radius:12px;padding:13px 14px;background:white;color:var(--ink);width:100%;font-size:1rem}.field textarea{resize:vertical;min-height:85px}.field-hint{font-size:.8rem;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.phrase-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.phrase-choice{border:1px solid var(--line);background:white;border-radius:12px;text-align:left;padding:12px 13px;color:var(--ink);font-weight:750;font-size:.84rem}.phrase-choice.active{background:#e4f2f6;border-color:#8eb7c8}.emergency-stripe{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.emergency-stripe .btn{flex:1}.share-actions{display:flex;gap:8px;flex-wrap:wrap}.share-actions .btn{flex:1}.offline-pill{display:inline-flex;align-items:center;gap:7px;background:#e8f3ea;padding:9px 12px;border-radius:10px;font-size:.8rem;font-weight:780;color:#3d7a56}.safety-card-summary{padding:17px;border:1px dashed #8cb3c1;border-radius:15px;background:#f9fcfb}.safety-card-summary p{margin:6px 0;font-size:.84rem}.help-note{padding:16px;background:#f2f7f9;border-radius:13px;font-size:.84rem;color:#527386;line-height:1.65}.meet-point{margin:13px 0;background:#f0f7f9;padding:14px;border-radius:12px}.source-links{display:flex;flex-wrap:wrap;gap:14px;font-size:.78rem}.source-links a{text-decoration:underline}.external-mark{display:inline-block;margin-left:2px;font-size:.8em}
.top-nav{display:none}.footer{max-width:var(--max);margin:0 auto;padding:35px 22px 115px;border-top:1px solid var(--line);color:var(--muted);font-size:.79rem;display:flex;justify-content:space-between;gap:18px;align-items:center}.footer small{max-width:650px;line-height:1.55}.footer .footer-brand{font-weight:850;letter-spacing:.08em;color:#59859b}.bottom-nav{display:none}.floating-help{position:fixed;right:22px;bottom:24px;z-index:90;border:2px solid #ffffffa8;border-radius:999px;background:#ba645a;color:white;box-shadow:0 8px 23px #743d4b35;display:flex;align-items:center;gap:8px;font-weight:850;font-size:.91rem;padding:14px 18px}.floating-help:hover{background:#a95148;color:white}body.help-page .floating-help{display:none}.toast{position:fixed;bottom:97px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#214b61;color:white;padding:12px 19px;border-radius:14px;z-index:110;box-shadow:var(--shadow);font-weight:750;text-align:center;transition:opacity .2s,transform .2s;max-width:min(90vw,430px);font-size:.9rem}.toast.show{opacity:1;transform:translate(-50%,0)}.overlay{position:fixed;inset:0;background:#0c3040ce;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.overlay-panel{background:white;border-radius:23px;max-width:700px;width:100%;max-height:95vh;overflow:auto;padding:23px;box-shadow:0 25px 80px #0004}.overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.overlay-header h2{font-size:1.1rem}.icon-button{background:#edf5f8;border:0;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;color:var(--deep)}.overlay-message{font-size:clamp(1.5rem,5vw,3rem);font-weight:800;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:#173f53;padding:18px 0}.overlay-english{color:var(--muted);font-size:.95rem;margin:10px 0}.print-card{display:none}
@media(max-width:950px){.quick-actions{grid-template-columns:repeat(2,1fr)}.day-rail{grid-auto-columns:185px}.stat{padding:14px}.day-detail{grid-template-columns:1.5fr .85fr}}
@media(max-width:740px){.site-header{height:71px;padding:0 15px}.brand-symbol{width:37px;height:37px}.brand-wordmark strong{font-size:.88rem}.brand-wordmark small{font-size:.47rem}.header-actions{gap:6px}.header-help{padding:10px 11px}.lang-option{padding:7px 8px}.lang-switch{padding:3px}main{padding:3px 15px 80px}.hero{min-height:370px;padding:25px 22px;border-radius:22px;background-position:58% center}.hero h1{font-size:2.55rem;max-width:360px}.hero h1 em{font-size:.47em}.hero-stamp{display:none}.hero-bottom{align-items:flex-end}.stat-row{grid-template-columns:repeat(3,1fr);gap:7px}.stat{padding:11px;display:block;border-radius:14px}.stat-icon{width:33px;height:33px;margin-bottom:8px;border-radius:9px}.stat-icon svg{width:19px}.stat-text strong{font-size:.87rem}.stat-text small{font-size:.69rem}.section-heading{margin-top:28px}.split-feature,.day-detail,.help-layout{grid-template-columns:1fr}.quick-actions{gap:9px}.quick-action{padding:13px 11px;gap:9px}.quick-action .quick-icon{width:36px;height:36px;border-radius:10px}.quick-action b{font-size:.82rem}.quick-action small{font-size:.72rem}.info-grid{grid-template-columns:1fr}.place-grid,.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.travel-notes{grid-template-columns:1fr}.flight-card,.hotel-card{padding:18px}.safety-grid{gap:9px}.safety-action{padding:14px;flex-direction:column;gap:9px;min-height:143px}.safety-action .action-icon{width:40px;height:40px}.safety-action b{font-size:.93rem}.safety-action span:last-child{font-size:.78rem}.help-main,.side-card{padding:18px}.footer{padding:22px 18px 120px;display:block}.footer small{display:block;margin-top:9px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:80;justify-content:space-around;align-items:stretch;background:#ffffffed;border-top:1px solid #d4e4ea;box-shadow:0 -7px 26px #19455714;backdrop-filter:blur(15px);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.nav-item{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:47px;color:#7893a2;font-size:.64rem;font-weight:780}.nav-item svg{width:20px;height:20px}.nav-item.active{color:#205b79}.nav-item.active .nav-icon{background:#e4f1f5}.nav-icon{display:grid;place-items:center;width:35px;height:28px;border-radius:10px}.floating-help{bottom:calc(79px + env(safe-area-inset-bottom));right:16px;padding:12px 14px;font-size:.83rem}.toast{bottom:120px}.day-banner{min-height:145px;padding:19px}}
@media(max-width:420px){.brand-wordmark small{letter-spacing:.09em}.brand-symbol{width:33px;height:33px;font-size:20px}.brand{gap:7px}.header-help{font-size:.78rem}.hero{min-height:355px}.hero h1{font-size:2.25rem}.hero-credits{font-size:.67rem}.place-grid,.food-grid{grid-template-columns:1fr}.food-icon{height:95px}.food-body p{min-height:0}.field-grid,.phrase-choices{grid-template-columns:1fr}.flight-route .airport{font-size:1.6rem}}
@media(min-width:741px){.top-nav{display:flex;justify-content:center;gap:10px;margin:0 auto 20px;flex-wrap:wrap}.top-nav a{font-size:.84rem;font-weight:780;color:#7592a0;padding:9px 14px;border-radius:999px}.top-nav a.active{background:#dceef5;color:#255c76}}
body.large-text{font-size:118%}body.large-text .muted,body.large-text .page-intro,body.large-text p{line-height:1.75}body.large-text .bottom-nav .nav-item{font-size:.72rem}body.large-text .brand-wordmark small{font-size:.52rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{body{background:white!important;color:#000!important}.app,.overlay,.toast{display:none!important}.print-card{display:block!important;padding:2cm;max-width:19cm;margin:auto;font-family:Arial,"Microsoft YaHei",sans-serif}.print-card .print-frame{border:3px solid #254b66;padding:1.2cm;border-radius:16px}.print-card h1{font-size:26pt;margin-bottom:7mm}.print-card h2{font-size:15pt;margin:5mm 0 1mm}.print-card .print-jp{font-size:20pt;font-weight:bold;line-height:1.5}.print-card p{font-size:11pt}.print-card .print-source{font-size:9pt;color:#444}.print-card hr{border:0;border-top:1px solid #aaa;margin:5mm 0}}