:root{--green:#284e43;--ink:#263d36;--muted:#7d877e;--paper:#f7f7f2;--line:#e3e7dd;--gold:#b78e53}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;display:inline-flex}button:disabled{opacity:.25;cursor:default}a{color:inherit;text-decoration:none}a:hover{color:#ac7f40}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #b78e53}h1,h2,h3,p{margin:0}.topbar{border-bottom:1px solid var(--line);background:#fffef9;justify-content:space-between;align-items:center;height:85px;padding:0 5%;display:flex}.brand{letter-spacing:2px;align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.brandicon{background:var(--green);color:#fff;border-radius:9px;padding:7px 10px;font-family:serif}.brand small{letter-spacing:1.8px;color:var(--muted);margin-top:4px;font-size:8px;font-weight:400;display:block}nav{align-self:stretch;gap:25px;display:flex}nav button{border-bottom:2px solid #0000;border-radius:0;padding:0 2px;font-size:13px}nav .navactive{border-color:var(--green);font-weight:700}.topactions{align-items:center;gap:9px;display:flex}.saved{color:#7f8c79;align-items:center;gap:4px;font-size:11px;display:flex}.iconbutton{border:1px solid var(--line);padding:8px}main{max-width:1390px;margin:auto;padding:0 5%}.hero{justify-content:space-between;align-items:center;min-height:300px;padding:42px 0 34px;display:flex}.eyebrow{letter-spacing:2px;color:var(--gold);font-size:10px;font-weight:600}.eyebrow span{color:#8b958b;letter-spacing:1px;margin-left:18px}h1{letter-spacing:5px;font-family:Noto Serif TC,serif;font-size:49px;font-weight:600;line-height:1.6}.hero p{color:#7c857b;margin:7px 0 22px;font-size:13px;line-height:1.9}.heroMeta{color:#647366;flex-wrap:wrap;gap:18px;font-size:11px;display:flex}.heroMeta span{align-items:center;gap:6px;display:flex}.mobilebreak{display:none}.art{width:350px;height:230px;margin-right:40px;position:relative;overflow:hidden}.sun{background:#e8d7b0;border-radius:50%;width:105px;height:105px;position:absolute;top:0;right:55px}.mountain{background:#d9e1d1;border-radius:50% 0 0;width:240px;height:180px;position:absolute;bottom:-130px;transform:rotate(40deg)}.m1{left:0}.m2{background:#e6e9db;bottom:-90px;right:-60px}.castle{width:180px;height:180px;position:absolute;top:30px;left:75px}.roof{clip-path:polygon(50% 0,90% 75%,100% 95%,0 95%,10% 75%);background:#436054;height:25px;position:absolute}.r1{width:74px;top:0;left:53px}.r2{width:118px;top:41px;left:31px}.r3{width:168px;top:91px;left:6px}.floor{background:repeating-linear-gradient(90deg,#f3ead6 0 13px,#6c7e67 13px 19px,#f3ead6 19px 28px);border:5px solid #eae2cc;position:absolute}.f1{width:50px;height:30px;top:22px;left:65px}.f2{width:84px;height:39px;top:64px;left:48px}.f3{width:128px;height:43px;top:114px;left:26px}.castlebase{clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);background:#b2b8a6;width:140px;height:27px;position:absolute;bottom:0;left:20px}.artcaption{letter-spacing:5px;color:#8d9a88;font-size:11px;position:absolute;bottom:0;left:6px}.artcaption small{letter-spacing:1px;font-size:7px}.stamp{color:#b98c68;letter-spacing:3px;border:1px solid #b98c68;padding:9px 6px;font-family:serif;position:absolute;bottom:30px;right:10px;transform:rotate(8deg)}.daystrip{border:1px solid var(--line);background:#fffefb;border-radius:12px;grid-template-columns:repeat(8,1fr);margin:0 0 35px;display:grid;overflow:hidden}.daystrip button{border-right:1px solid var(--line);border-radius:0;flex-direction:column;align-items:flex-start;gap:7px;padding:19px 15px 21px;display:flex;position:relative}.daystrip small{letter-spacing:1.3px;color:#8a958a;font-size:9px}.daystrip span{white-space:nowrap;color:#929a8e;text-overflow:ellipsis;max-width:125px;font-size:10px;overflow:hidden}.daystrip i{width:22px;height:3px;position:absolute;bottom:0;left:14px}.daystrip .selected{background:var(--green);color:#fff}.selected small,.selected span{color:#c1cfc1}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr);gap:34px;display:grid}.sectionhead{justify-content:space-between;align-items:center;margin:0 0 22px;display:flex}.sectionhead h2,.panel h2{margin:10px 0;font-family:Noto Serif TC,serif;font-size:27px;font-weight:600}.sectionhead p{color:var(--muted);font-size:12px}.soft{white-space:nowrap;border:1px solid var(--line);background:#fffefb;padding:8px;font-size:11px}.stats{border:1px solid var(--line);background:#fffefa;border-radius:10px;margin-bottom:25px;padding:17px 0;display:flex}.stats>div{border-right:1px solid var(--line);flex:1;align-items:center;gap:12px;padding:0 17px;display:flex}.stats>div:last-child{border:0}.stats svg{color:#8a9a81;flex-shrink:0}.stats small{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.stats em{color:#bd995f;letter-spacing:2px;font-size:8px;font-style:normal}.weatherrow{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.weatherrow span{align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.weatherrow button{border:1px solid var(--line);padding:7px 10px;font-size:11px}.activepill{background:#e1e9e1}.stop{gap:14px;margin-bottom:19px;display:flex}.rail{text-align:center;flex-shrink:0;width:45px;position:relative}.rail:after{content:"";border-left:1px solid #d9dfd2;position:absolute;top:57px;bottom:-15px;left:23px}.rail>span{background:#e8ede3;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;margin:13px auto;font-size:11px;display:flex}.stopbody{flex:1;min-width:0}.connection{color:#8c9589;align-items:center;gap:5px;margin:0 0 9px;font-size:10px;line-height:1.7;display:flex}.connection svg{flex-shrink:0}.stopcard{border:1px solid var(--line);background:#fffefa;border-radius:10px;padding:17px 19px}.stopheading{justify-content:space-between;align-items:center;display:flex}.badge{color:#9e864e;background:#f2eddf;border:1px solid #e8dec5;border-radius:4px;padding:3px 7px;font-size:9px;display:inline-block}.tools{gap:3px;display:flex}.tools button{color:#899586;padding:5px}.stopcard h3{margin:10px 0 7px;font-size:17px;font-weight:600;line-height:1.6}.duration{color:#879080;align-items:center;gap:5px;font-size:10px;display:flex}.duration span{border-left:1px solid #ddd;margin-left:10px;padding-left:10px}.stopcard p{color:#7d877a;margin:12px 0;font-size:12px;line-height:1.85}.stopcard details{border-top:1px solid #edf0e8;margin-top:13px;padding-top:11px}summary{cursor:pointer;color:#6f806b;align-items:center;gap:7px;font-size:10px;display:flex}details small{color:#9b9e8e;font-size:10px}.cardbottom{color:#6d8067;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:10px;display:flex}.cardbottom a{align-items:center;gap:5px;display:flex}.cardbottom button{font-size:10px}.return{background:#ebeee4;border-radius:8px;gap:14px;margin-left:60px;padding:14px;font-size:11px;display:flex}.return p{color:#7d8975;margin-top:5px;line-height:1.8}.return input{width:55px;margin:8px 0 0 5px;padding:3px}.return label{color:#7d8975;font-size:10px}.add{color:#6c8063;border:1px dashed #c6d2be;width:calc(100% - 60px);margin:18px 0 24px 60px;padding:13px;font-size:12px}.rainnote{background:#eaf0ec;border-radius:10px;gap:14px;padding:20px;display:flex}.rainnote svg{color:#829a8b;flex-shrink:0}.rainnote p{color:#7e8e82;margin-top:7px;font-size:11px;line-height:1.9}.fineprint{margin:16px 0;line-height:1.8;color:#92998c!important;font-size:10px!important}.mapcard{border:1px solid var(--line);background:#fffefa;border-radius:12px;overflow:hidden}.mapheader{justify-content:space-between;align-items:center;padding:17px;display:flex}.mapheader h3{align-items:center;gap:8px;font-size:13px;display:flex}.segmented{background:#f0f1e9;border-radius:6px;padding:3px;display:flex}.segmented button{padding:5px 12px;font-size:10px}.mapbox{background:#edf0e7;position:relative;overflow:hidden}.mapbox svg{width:100%;display:block}.zoom{background:#fff;border-radius:7px;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #0002}.zoom button{width:30px;height:29px}.maplabel{background:#fffef8e8;border:1px solid #ddd;border-radius:6px;padding:9px 11px;font-size:10px;position:absolute;bottom:24px;left:12px}.maplabel small{color:#7c897a;margin-top:4px;font-size:8px;display:block}.osm{background:#fffc;font-size:8px;position:absolute;bottom:2px;right:3px}.mapfooter{flex-wrap:wrap;gap:15px;padding:15px;font-size:10px;display:flex}.mapfooter span{align-items:center;gap:5px;display:flex}i{border-radius:50%;width:7px;height:7px;display:inline-block}.maphint{color:#919a89;padding:0 15px 16px;font-size:10px;line-height:1.8}.mapchecks{flex-wrap:wrap;gap:12px;padding:0 17px 15px;font-size:10px;display:flex}.mapchecks label{align-items:center;gap:4px;display:flex}.staycard{background:#e9ede1;border-radius:10px;margin-top:23px;padding:25px;position:relative}.staycard .eyebrow{color:#7b8c6d;font-size:8px}.staycard h3{margin:11px 0 17px;font-family:Noto Serif TC,serif;font-size:19px}.staycard p{font-size:14px;font-weight:600}.staycard div{color:#8a967f;margin:8px 0 14px;font-size:10px}.staycard small{color:#8a967f;margin-top:14px;font-size:10px;line-height:1.9;display:block}.notecard{color:#8b917d;padding:25px 5px}.notecard h3{margin-left:7px;font-size:12px;display:inline}.notecard p{margin-top:10px;font-size:11px;line-height:1.9}.panel{border:1px solid var(--line);background:#fffefa;border-radius:12px;max-width:900px;margin:15px auto 60px;padding:35px}.panel>p{color:var(--muted);line-height:1.8}.bookingday{margin-top:25px}.bookingday h3{margin-bottom:10px;font-size:14px}.bookingrow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.bookingrow small{color:#929a8d;max-width:580px;margin-top:6px;font-size:10px;line-height:1.8;display:block}.bookingrow select{flex-shrink:0;width:115px}.reminder{gap:15px;margin-top:30px;display:flex}.reminder svg{color:#a0ad8e;flex-shrink:0}.reminder h3{margin-bottom:9px;font-size:15px}.reminder p{color:#84907e;font-size:13px;line-height:1.9}footer{letter-spacing:2px;color:#99a18f;border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:45px;padding:26px 0;font-size:9px;display:flex}.modalback{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;background:#172b2699;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border-radius:15px;width:660px;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 20px 100px #0003}.modalhead{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modalhead h2{font-size:20px}.modal label,.dateedit label{color:#78856f;margin-bottom:13px;font-size:11px;display:block}input,select{color:var(--ink);background:#fffefa;border:1px solid #d7dfd1;border-radius:6px;max-width:100%;padding:9px}.modal label input,.modal label select{width:100%;margin-top:5px;display:block}.formgrid{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.modalbuttons{justify-content:space-between;margin-top:15px;display:flex}.primary{background:var(--green);color:#fff;padding:11px 20px}.delete{color:#a36e58;font-size:12px}.toast{background:var(--green);color:#fff;z-index:40;border-radius:8px;gap:20px;min-width:250px;padding:14px 20px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0002}.toast button{color:#fff}.notice,.dateedit{color:#9c8356;background:#f1ead8;border:1px solid #e6d8b7;border-radius:8px;margin-bottom:18px;padding:13px;font-size:11px;line-height:1.9}.dateedit label input{margin-left:10px}.dateedit p{font-size:10px}@media (width>=1500px){main{padding:0 50px}}@media (width<=1100px){.topbar{padding:0 3%}.saved{display:none}.heroMeta{gap:10px}.art{width:270px;margin-right:0}.workspace{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:20px}.stats>div{gap:7px;padding:0 10px}.stats b{font-size:12px}.daystrip button{padding:17px 10px}.daystrip strong{font-size:12px}.daystrip span{max-width:90px}.hero h1{font-size:42px}.heroMeta{font-size:10px}}@media (width<=760px){.topbar{flex-wrap:wrap;height:auto;min-height:75px;padding:16px 5% 0}.brand{font-size:16px}.topactions{margin-left:auto}nav{order:3;justify-content:center;gap:30px;width:100%;margin-top:13px}nav button{padding:12px 5px}.hero{min-height:270px;padding:28px 0 26px;position:relative}.hero>div:first-child{z-index:1}.hero h1{letter-spacing:3px;font-size:35px}.hero p{max-width:290px;font-size:11px}.heroMeta{gap:4px 12px;max-width:270px;line-height:1.9}.art{opacity:.45;transform-origin:100% 0;position:absolute;top:15px;right:-12px;transform:scale(.65)}.hero .eyebrow{letter-spacing:1px;font-size:8px}.eyebrow span{margin-left:5px}.daystrip{margin-bottom:25px;display:flex;overflow:auto}.daystrip button{flex-shrink:0;min-width:110px;padding:15px 12px}.workspace{flex-direction:column;display:flex}.sectionhead h2{font-size:23px}.sectionhead p{font-size:11px}.stats>div{padding:0 9px}.stats svg{width:15px}.stats b{font-size:11px}.stats small{font-size:9px}.stats em{display:none}.stop{gap:9px}.rail{width:37px}.rail:after{left:19px}.stopcard{padding:14px}.stopcard h3{font-size:15px}.connection{font-size:9px}.stopcard p{font-size:11px}.return{margin-left:46px}.add{width:calc(100% - 46px);margin-left:46px}.mapcard{margin-top:10px}.staycard{margin-top:16px}.notecard{padding:18px 0}.panel{padding:22px 17px}.bookingrow{gap:10px;font-size:12px}.bookingrow select{width:95px}.panel h2{font-size:23px}footer{letter-spacing:0;gap:10px;font-size:8px}footer span{text-align:right;max-width:140px;line-height:1.8}.modal{padding:20px}.formgrid{gap:0 10px}.mapchecks{gap:8px}.artcaption,.stamp{display:none}}:root{--green:#3e3a39;--ink:#3e3a39;--muted:#706963;--paper:#fffcf6;--line:#dcd3c7;--gold:#8c6044;--coral:#f2a497;--blue:#a8d3e6;--yellow:#f6d27a;--leaf:#b9daa5}body{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}h1,.sectionhead h2,.panel h2,.staycard h3{font-family:inherit;font-weight:800}button{border-radius:15px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #6198b2}button:hover{background:#f6dfd6}.topbar{z-index:20;border-bottom:3px solid var(--ink);background:#fffcf6;height:82px;position:sticky;top:0}.brandicon{background:var(--coral);color:var(--ink);border:3px solid var(--ink);border-radius:14px;transform:rotate(-6deg)}nav{align-self:center;gap:10px}nav button{border:2px solid #0000;border-radius:24px;padding:10px 14px;font-size:14px}nav .navactive{background:var(--coral);border-color:var(--ink)}.saved{color:#615b55}.iconbutton{border:2px solid var(--ink);background:#fff;border-radius:12px}.hero{gap:30px;min-height:330px;padding:38px 0}.hero>div:first-child{flex:1}.hero h1{letter-spacing:1px;margin:15px 0;font-size:43px;line-height:1.35}.hero p{color:#706963;font-size:14px}.heroMeta{color:#615b55;gap:8px 16px;font-size:12px;line-height:1.8}.hero .eyebrow{font-size:11px}.storybook-cover{border:3px solid var(--ink);background:var(--paper);border-radius:35px;flex:1.12;position:relative;overflow:hidden;transform:rotate(1deg);box-shadow:5px 6px #ecdfcf}.storybook-cover img{width:100%;height:auto;display:block}.cover-tag{background:var(--yellow);border:2px solid var(--ink);letter-spacing:1px;border-radius:20px;padding:6px 12px;font-size:10px;font-weight:700;position:absolute;top:14px;right:14px}.countdown{background:var(--yellow);border:2px solid var(--ink);border-radius:20px;margin:0 0 15px;padding:6px 13px;font-size:12px;font-weight:600;display:inline-flex}.daystrip{scrollbar-width:thin;background:0 0;border:0;gap:6px;padding:16px 0 12px;position:relative;overflow-x:auto}.daystrip:before{content:"";background:var(--ink);height:3px;position:absolute;top:21px;left:2%;right:2%}.daystrip button{background:0 0;border:0;border-radius:20px;flex:1;min-width:110px;padding:24px 8px 12px;position:relative}.daystrip button:before{content:"";background:var(--paper);border:3px solid var(--ink);border-radius:50%;width:13px;height:13px;position:absolute;top:0}.daystrip .selected{color:var(--ink);background:#f8dfd6}.daystrip .selected:before{background:var(--coral);outline:5px solid var(--paper)}.daystrip small,.selected small,.selected span{color:#706963}.daystrip strong{font-size:14px}.daystrip span{max-width:120px;font-size:11px}.daystrip i{display:none}.workspace{grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:30px}.sectionhead{border:3px solid var(--ink);background:#e8f1de;border-radius:24px;align-items:center;gap:15px;padding:16px}.sectionhead>div{flex:1;min-width:0}.dayart{flex-shrink:0;width:100px;height:auto}.sectionhead h2{margin:8px 0;font-size:24px}.sectionhead p{color:#625e56;font-size:12px;line-height:1.8}.soft{border:2px solid var(--ink);border-radius:20px;min-height:40px;font-size:11px}.stats{border:2px solid var(--ink);background:#fff;border-radius:20px;padding:16px 0}.stats small{color:#706963;font-size:11px}.stats svg{color:#6b7560}.stats b{font-size:14px}.weatherrow{padding:2px 3px}.weatherrow button{border:2px solid var(--ink);background:#deedf4;border-radius:20px;min-height:40px}.rail b{font-size:13px}.rail>span{border:3px solid var(--ink);background:var(--yellow);width:28px;height:28px;color:var(--ink)}.rail:after{border-left:3px dotted var(--ink);left:22px}.stop{gap:14px;margin-bottom:24px}.connection{color:#615b55;font-size:12px;line-height:1.8}.connection svg{background:var(--blue);box-sizing:content-box;border:1px solid var(--ink);border-radius:9px;padding:4px}.stopcard{border:2.5px solid var(--ink);background:#fff;border-radius:23px;padding:18px 20px;box-shadow:3px 3px #eee4d5}.stopcard h3{font-size:19px;font-weight:700}.stopcard p{color:#625e56;font-size:13px}.duration{color:#706963;font-size:12px}.duration span{color:var(--ink);border:1px solid var(--ink);background:#f8e8b7;border-radius:15px;padding:2px 9px}.badge{color:#6c5036;background:#f9e7b8;border:1px solid #aa8958;border-radius:8px;padding:4px 8px;font-size:11px}.badge.booked{color:#3f6136;background:#dceccf;border-color:#7d986f}.tools button{min-width:34px;min-height:34px;color:var(--ink);background:#f7f4ef}.tools{gap:5px}summary{color:#615b55;min-height:32px;font-size:12px}.cardbottom{gap:10px 18px;font-size:12px}.cardbottom a{color:#4d7682;text-underline-offset:4px;min-height:32px;text-decoration:underline}.optional .stopcard{background:#fcf8ed;border-style:dashed}.return{border:2px solid var(--ink);background:#f8e7bd;border-radius:18px}.return p,.return label{color:#706052;font-size:12px}.add{color:var(--ink);border:2px dashed #8c8274;border-radius:18px;min-height:48px;font-size:13px}.rainnote{border:2px solid var(--ink);background:#e4f0f3;border-radius:20px}.rainnote b{font-size:14px}.rainnote p{color:#5e6e73;font-size:12px}.mapcard{border:3px solid var(--ink);border-radius:25px}.mapheader{background:#f8e9bf}.mapheader h3{font-size:15px}.segmented{border:1px solid var(--ink);background:#ece3cd;border-radius:20px}.segmented button{font-size:12px}.segmented .on{background:var(--coral);box-shadow:none}.maphint,.fineprint{color:#776e63!important;font-size:11px!important}.staycard{border:3px solid var(--ink);background:#f6dfda;border-radius:23px}.staycard small,.staycard div{color:#70635c;font-size:12px}.staycard .eyebrow{color:#7d6254}.notecard{color:#706963}.notecard p{font-size:12px}.panel{border:3px solid var(--ink);background:#fffefa;border-radius:28px}.panel h2{font-size:27px}.bookingrow small,.reminder p{color:#706963;font-size:13px}.reminder h3{font-size:16px}.bookingday h3{background:var(--blue);border:2px solid var(--ink);border-radius:20px;padding:7px 16px;display:inline-block}.modal{border:3px solid var(--ink);border-radius:24px}.modal label{color:#615b55;font-size:13px}.modal input,.modal select{font-size:16px}.primary{background:var(--coral);color:var(--ink);border:2px solid var(--ink)}.notice,.dateedit{color:#795537;border:2px solid #a48864;border-radius:16px}.flightgrid{grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;display:grid}.flight{border:3px solid var(--ink);background:#fff;border-radius:24px;overflow:hidden}.flighttop{background:var(--blue);border-bottom:2px solid var(--ink);justify-content:space-between;gap:8px;padding:12px 16px;font-size:13px;display:flex}.returnflight{background:var(--leaf)}.flighttimes{justify-content:space-between;align-items:center;gap:12px;padding:22px 16px;display:flex}.flighttimes b{font-size:30px;display:block}.flighttimes span,.flighttimes small{margin-top:5px;font-size:12px;display:block}.flighttimes small{color:var(--muted)}.flighttimes .flightline{border-top:3px dotted var(--ink);text-align:center;flex:1;padding-top:4px;font-size:20px}.flight p{color:var(--muted);padding:0 16px 20px;font-size:12px;line-height:1.8}.hotelwide{border:3px solid var(--ink);background:#f5e2dc;border-radius:24px;align-items:center;gap:24px;padding:24px;display:flex}.hotelwide h3{margin:12px 0;font-size:23px}.hotelwide p{font-size:14px;line-height:1.9}.hotelwide a{margin-top:15px;text-decoration:underline;display:inline-block}.hotelwide .dayart{width:140px}.packing{border:2px solid var(--ink);background:#e9f1e1;border-radius:24px;margin:25px 0;padding:23px}.packing p{color:var(--muted);margin:10px 0 16px;font-size:12px}.packing label{cursor:pointer;align-items:center;gap:12px;min-height:45px;font-size:14px;display:flex}.packing input{accent-color:#6f9361;flex-shrink:0;width:22px;height:22px}.packing input:checked+span{color:#7c8475;text-decoration:line-through}.timeline{animation:.25s ease-out page-in}@keyframes page-in{0%{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}footer{color:#706963}.topbar nav{scrollbar-width:none;overflow:auto}@media (width<=1100px){.brand{font-size:15px}.topbar nav{gap:2px}.topbar nav button{padding:9px 10px;font-size:12px}.hero h1{font-size:36px}.sectionhead{flex-wrap:wrap}.sectionhead .soft{margin-left:auto}.sectionhead h2{font-size:22px}}@media (width<=760px){main{padding:0 5%}.topbar{gap:8px;height:auto;min-height:108px;padding:12px 5% 8px}.topbar nav{order:3;justify-content:space-between;gap:3px;width:100%;margin:0}.topbar nav button{white-space:nowrap;padding:8px 10px;font-size:12px}.brand small{font-size:7px}.hero{flex-direction:column;align-items:stretch;gap:23px;padding:25px 0;display:flex}.hero>div:first-child{z-index:auto}.hero h1{font-size:35px;line-height:1.35}.hero p{max-width:none;margin-bottom:14px;font-size:13px}.heroMeta{max-width:none;font-size:12px}.hero .eyebrow{font-size:10px}.storybook-cover{border-radius:26px;flex:auto;width:100%;transform:none}.cover-tag{padding:4px 9px;font-size:9px;top:9px;right:9px}.daystrip{margin-bottom:23px}.daystrip button{min-width:108px;padding:25px 8px 12px}.daystrip strong{font-size:13px}.workspace{gap:24px;display:flex}.sectionhead{gap:12px;padding:13px}.sectionhead .dayart{width:73px}.sectionhead h2{font-size:21px}.sectionhead p{font-size:12px}.sectionhead .eyebrow{letter-spacing:1px;font-size:9px}.sectionhead .soft{min-height:35px}.stats>div{gap:5px;padding:0 7px}.stats svg{display:none}.stats small{font-size:10px}.stats b{font-size:12px}.stop{gap:9px}.rail{width:39px}.rail:after{left:18px}.rail b{font-size:12px}.connection{font-size:11px}.stopcard{border-radius:20px;padding:14px 13px}.stopcard h3{font-size:17px}.stopcard p{font-size:13px;line-height:1.85}.duration{flex-wrap:wrap;font-size:11px}.tools button{min-width:32px;min-height:36px}.badge{font-size:10px}.cardbottom{font-size:11px}.return,.add{margin-left:48px}.add{width:calc(100% - 48px)}.flightgrid{grid-template-columns:1fr}.hotelwide{align-items:flex-start;gap:14px;padding:17px}.hotelwide .dayart{width:70px}.hotelwide h3{font-size:19px}.panel{padding:24px 16px}.panel h2{font-size:23px}.packing{padding:17px}.packing label{font-size:13px}.modalback{padding:10px}.modal{max-height:90dvh;padding:18px}.toast{max-width:90vw}.bookingrow small{font-size:12px}.bookingrow select{font-size:14px}.daystrip button.selected{scroll-margin-inline:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.streetmap-wrap{width:100%;min-width:0}.streetmap{background:#edf0e7;position:relative;overflow:hidden}.streetmap>svg{-webkit-user-select:none;user-select:none;display:block}.streetmap .zoom{z-index:2;border:2px solid #3e3a39;top:12px;right:12px;box-shadow:0 2px 10px #0002}.streetmap .zoom button{background:#fffcf6;width:40px;height:40px;font-size:21px}.street-attribution{color:#225b78;z-index:2;background:#ffffffed;padding:4px 7px;font:11px/1.4 sans-serif;text-decoration:underline;position:absolute;bottom:0;right:0}.street-status{color:#65615a;background:#fffefa;padding:12px 15px 6px;font-size:12px;line-height:1.7}.street-status strong{color:#3e3a39;margin-top:5px;font-size:13px;display:block}.tile-warning{color:#8b4c24}.street-links{background:#fffefa;flex-wrap:wrap;gap:12px;padding:6px 15px 14px;display:flex}.street-links a{color:#306b7b;min-height:32px;padding:5px 0;font-size:12px;text-decoration:underline}.street-links{z-index:3;touch-action:manipulation;grid-template-columns:1fr;gap:12px;display:grid;position:relative}.map-link-actions{align-items:stretch;gap:10px;display:flex}.street-links .map-open{color:#304f5c;background:#deedf4;border:2px solid #3e3a39;border-radius:14px;flex:1;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.map-link-actions button{white-space:nowrap;background:#fffcf6;border:1px solid #807970;min-height:48px;padding:8px 12px;font-size:12px}.map-copy-fallback p{color:#625e56;margin:8px 0;font-size:12px;line-height:1.7}.map-copy-fallback input{-webkit-user-select:text;user-select:text;width:100%;font-size:16px}.map-open-help{color:#706963;padding:0 15px 15px;font-size:12px;line-height:1.7}.dining{background:#fff8e9;border:2px solid #403b35;border-radius:20px;margin:20px 0;padding:20px}.dining h3{margin:6px 0 10px}.dining article{border-top:1px dashed #cbbb9d;padding:14px 0}.dining h4{margin:9px 0;font-size:16px}.dining p{font-size:13px;line-height:1.8}.dining a{font-size:12px}.dining .map-link-item{margin-top:10px}.traffic{width:100%}.traffic summary{cursor:pointer;padding:8px 0;font-size:13px;text-decoration:underline}.traffic-panel{overflow-wrap:anywhere;background:#fff8e9;border-radius:12px;gap:10px;padding:14px;display:grid}.traffic-panel p,.traffic-panel small{font-size:12px;line-height:1.7}.traffic-panel label{gap:6px;font-size:13px;display:grid}.traffic-panel select{width:100%;min-width:0;padding:8px}.cardbottom{flex-wrap:wrap}.dining-group{margin-top:18px}.dining-group h3{font-size:17px}.dining-evidence{background:#f3f4ed;border-radius:10px;padding:10px;font-size:12px}.dining{background:#fffaf0;padding:0 20px 20px;overflow:hidden;box-shadow:3px 4px #e8dfd0}.dining:not([open]){padding-bottom:0}.dining-toggle{cursor:pointer;touch-action:manipulation;background:#faf0d9;align-items:center;gap:13px;min-height:116px;margin:0 -20px;padding:20px;list-style:none;transition:background .15s;display:flex}.dining-toggle::-webkit-details-marker{display:none}.dining-toggle::marker{content:""}.dining-toggle:hover{background:#f6e8ca}.dining-toggle:focus-visible{outline-offset:-5px;border-radius:18px;outline:3px solid #668c96}.dining-toggle-icon{color:#574b43;background:#f6dcd4;border:2px solid #574b43;border-radius:17px 17px 20px 20px;flex-shrink:0;place-items:center;width:49px;height:54px;display:grid;transform:rotate(-5deg);box-shadow:2px 2px #e5c7ba}.dining-toggle-copy{flex:1;gap:7px;min-width:0;display:grid}.dining-toggle-copy strong{letter-spacing:.5px;color:#403b35;font-size:19px;line-height:1.5}.dining-toggle-hint{color:#4c6565;font-size:13px;font-weight:700}.dining-toggle-tags{color:#77695b;font-size:11px;line-height:1.6}.dining-toggle-arrow{color:#4c6565;background:#e8f1ed;border:1.5px solid #6f8587;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.dining-toggle-arrow svg{transition:transform .18s}.dining-open-label{display:none}.dining[open]>.dining-toggle{border-bottom:1.5px dashed #cbbb9d;margin-bottom:18px}.dining[open]>.dining-toggle .dining-toggle-arrow svg{transform:rotate(180deg)}.dining[open]>.dining-toggle .dining-closed-label{display:none}.dining[open]>.dining-toggle .dining-open-label{display:inline}@media (width<=400px){.dining-toggle{gap:10px;padding:17px 14px}.dining-toggle-copy strong{font-size:17px}.dining-toggle-icon{width:40px;height:47px}.dining-toggle-arrow{width:30px;height:30px}.dining-toggle-tags{font-size:10px}}@media (prefers-reduced-motion:reduce){.dining-toggle,.dining-toggle-arrow svg{transition:none}}.travel-box{color:#354b43;background:#fffdf5;border:1px solid #dfdfcf;border-radius:22px;margin:20px 0;padding:22px}.travel-box>summary{cursor:pointer;padding:8px 0;font-weight:700}.travel-box p{line-height:1.7}.travel-links,.expense-actions,.expense-filters{flex-wrap:wrap;gap:12px;margin:14px 0;display:flex}.travel-links a{color:#315d4d;background:#edf3ec;border-radius:12px;padding:10px 13px;text-decoration:none}.fare-leg,.expense-row{border-bottom:1px dashed #d5ddcf;padding:14px 0}.fare-leg p{margin:5px 0}.expense-total{color:#416b57;font-size:19px;font-weight:700}.expense-total small{font-size:13px;display:block}.fare-compare{background:#edf3ec;border-radius:14px;padding:15px}.expense-row{overflow-wrap:anywhere;justify-content:space-between;gap:16px;display:flex}.expense-row small{display:block}.expense-row button{margin:6px}.expense-form{background:#f8f4ec;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;display:grid}.expense-form h3{grid-column:1/-1}.expense-form label,.expense-filters label{flex-direction:column;gap:6px;display:flex}.travel-box input,.travel-box select{background:#fff;border:1px solid #ccd7c9;border-radius:10px;min-width:0;max-width:100%;padding:10px}.expense-actions input[type=file]{width:190px;font-size:12px;display:block}.travel-box button{min-height:42px}.travel-box .primary{border-radius:12px;padding:10px 16px}@media (width<=600px){.travel-box{padding:16px}.expense-form{grid-template-columns:1fr}.expense-row{flex-direction:column}.expense-filters label{width:100%}}.transport-fold{background:#fffcf5;padding:0;overflow:hidden}.transport-fold>summary{padding:20px;list-style:none;display:flex}.transport-fold>summary::-webkit-details-marker{display:none}.transport-fold>.dining-toggle{background:linear-gradient(110deg,#eef5ed,#fff9ec)}.transport-fold>:not(summary){margin-left:20px;margin-right:20px}.transport-fold[open] .dining-toggle-arrow{transform:rotate(180deg)}.transport-fold:not([open]) .dining-open-label,.transport-fold[open] .dining-closed-label{display:none}.fare-summary-result{color:#3f6658;margin-top:7px;font-size:13px;font-weight:700;display:block}.ticket-verdict{background:#eef3e6;border:1px solid #cfddbf;border-radius:18px;margin-top:20px;padding:20px;position:relative}.ticket-verdict:before{content:"✿";color:#c79b5d;font-size:24px;position:absolute;top:12px;right:18px}.ticket-verdict h3{margin:8px 0;padding-right:20px}.ticket-verdict strong{color:#3d634f;font-size:20px}.notebook-subtitle{margin-top:24px}.route-ticket{background:#fffefb;border:1px solid #dddcd0;border-radius:17px;margin-bottom:12px;padding:16px}.route-ticket-top{align-items:center;gap:10px;display:flex}.route-ticket-top b{align-items:center;gap:7px;display:flex}.route-number{background:#e7eee6;border-radius:50%;padding:7px;font-size:12px}.station-chain{flex-wrap:wrap;gap:7px;margin:14px 0;line-height:1.9;display:flex}.station-chain span{align-items:center;gap:7px;display:inline-flex}.station-chain b{background:#f6f2e9;border-radius:8px;padding:3px 9px;font-size:14px}.station-chain em{color:#97a794;font-style:normal}.line-badges{flex-wrap:wrap;gap:6px;display:flex}.line-badges span{background:#fff;border:1px solid #b4c4ac;border-radius:30px;align-items:center;gap:4px;padding:4px 9px;font-size:12px;display:inline-flex}.walking-ticket{background:#f2f6ed;border-style:dashed}.walking-ticket .station-chain b{background:#e6edde}.route-ticket-bottom{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:12px 0 4px;font-size:13px;display:flex}.route-ticket-bottom b{color:#557763}.bundle-note{background:#fbf4e5;border:1px dashed #ccb890;border-radius:15px;margin-top:18px;padding:16px}.bundle-note small{margin-top:8px;display:block}.meal-card{border:1px solid #e4ddd2!important;border-radius:18px!important;margin:12px 0!important;padding:18px!important}.meal-planned{background:#fff1e9!important;border-color:#e8c9ba!important}.meal-alternative{background:#eff5ed!important;border-color:#cbdcc9!important}.meal-snack{background:#f5eff8!important;border-color:#dbcee3!important}.meal-convenience{background:#faf8f2!important}.meal-card-labels{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.meal-priority{color:#536e55;font-size:12px;font-weight:700}.meal-planned .meal-priority{color:#945e46}.meal-kind{background:#fffdf7;border:1px solid #dddbcb;border-radius:20px;padding:4px 9px;font-size:12px}.dessert-kind{background:#f8ecf1;border-color:#e8cbd6}.meal-card h4{margin:10px 0;font-size:18px}.tabelog-score{background:#fffdf8;border:1px dashed #dbcfae;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.tabelog-score b{color:#9b6a22;font-size:20px}.tabelog-score small{color:#797268;width:100%}.meal-wait{margin:12px 0}.meal-wait summary{cursor:pointer;font-size:13px;font-weight:600}.booking-sticker{color:#8b6652;background:#fffcf7;border-radius:8px;padding:4px 8px;display:inline-block}.meal-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.planned-group>h3{color:#996048}.alternatives-group>h3{color:#4d7558}.snacks-group>h3{color:#876a8d}.ledger{background:repeating-linear-gradient(#fffdf7 0 31px,#eeeadd 32px);border:1px solid #dfd7c4;padding:24px;position:relative;box-shadow:0 6px #eee8db}.ledger-heading{color:#a67a66;justify-content:space-between;display:flex}.ledger-heading>span:last-child{font-size:28px}.ledger h2{color:#765a4c}.ledger-overview{margin-top:26px}.ledger-table-scroll{-webkit-overflow-scrolling:touch;background:#fffefb;border:1px solid #ded6c5;border-radius:14px;width:100%;overflow-x:auto}.ledger-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.ledger-table caption{text-align:left;color:#736453;background:#f4eddf;padding:12px;font-size:12px}.ledger-table th,.ledger-table td{text-align:left;vertical-align:middle;border-bottom:1px dashed #e1dacc;min-width:94px;padding:10px}.ledger-table thead th{color:#4d6752;white-space:nowrap;background:#eaf1e5}.ledger-table tbody th{z-index:1;background:#faf2e4;min-width:65px;position:sticky;left:0}.ledger-table tbody tr:nth-child(2n){background:#faf9f3}.ledger-table tfoot{background:#efe6d5;font-weight:700}.ledger-table td small,.ledger-table td b,.ledger-table td span{display:block}.ledger-table td small{color:#827666;margin-top:3px;font-size:11px}.ledger-table td button:not(.soft){text-align:left;cursor:pointer;color:#426251;background:0 0;border:0;border-radius:9px;min-width:76px;padding:7px}.ledger-table td button:not(.soft):hover,.ledger-table td button.selected-cell{background:#e3eddc;outline:1px solid #9db18f}.ledger-table td .cell-link{color:#567b64}.ledger-detail-heading{justify-content:space-between;align-items:center;gap:10px;margin-top:24px;scroll-margin-top:100px;display:flex}.ledger-details{min-width:480px}.ledger-details th:first-child{min-width:130px}.ledger-details td{overflow-wrap:anywhere;max-width:260px}.ledger-details .amount-cell{color:#815f45;white-space:nowrap;font-weight:700}.category-sticker{background:#eee8d9;border-radius:8px;margin-bottom:5px;padding:4px 8px;font-size:11px;display:inline-block!important}.ledger .expense-total{background:#fbf0dd;border-radius:13px;padding:15px}.ledger .expense-form{background:#fffcf4;border:1px dashed #ccb693;margin-top:20px}.ledger .soft{border:1px solid #d8cbb8}.ledger-table button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #738e70}@media (width<=600px){.transport-fold>.dining-toggle{padding:15px}.transport-fold>:not(summary){margin-left:13px;margin-right:13px}.route-ticket{padding:12px}.ledger{padding:16px}.ledger-details{min-width:450px}.ticket-verdict{padding:15px}.ticket-verdict strong{font-size:18px}.meal-card{padding:14px!important}}.transport-fold[open]>.dining-toggle .dining-open-label{display:inline}.workspace,.itinerary,.panel,.travel-box,.expense-form,.formgrid,.formgrid>label,.expense-form>label{min-width:0;max-width:100%}.expense-form input,.expense-form select,.bookings-editor input,.bookings-editor select,.modal input,.modal select,.dateedit input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0;margin-right:0;display:block}.expense-form input[type=date],.bookings-editor input[type=date]{appearance:none;min-height:45px}.expense-form>label{width:100%;display:block}.transport-fold>.dining-toggle{box-sizing:border-box;gap:14px;width:100%;margin:0}.transport-fold>.dining-toggle .dining-toggle-copy{overflow-wrap:anywhere;flex:1;min-width:0}.transport-fold>.dining-toggle .dining-toggle-icon,.transport-fold>.dining-toggle .dining-toggle-arrow{flex-shrink:0;margin:0}.transport-fold>.dining-toggle .dining-toggle-icon{transform:none}.topbar nav{min-width:0;max-width:100%;overflow-x:auto}.booking-summary,.trip-grand-total{background:#f7eddb;border:1px dashed #c9b699;border-radius:18px;margin:18px 0;padding:20px}.trip-grand-total{background:#eaf0e4}.trip-grand-total h3{overflow-wrap:anywhere;margin:10px 0}.bookings-editor .formgrid{gap:15px;margin:16px 0}.bookings-editor label{font-size:13px;display:block}.bookings-editor input,.bookings-editor select{background:#fff;border:1px solid #c9d3c3;border-radius:12px;min-height:44px;padding:12px}.bookings-editor .travel-box p,.booking-summary p{margin:10px 0}.booking-save{z-index:2;background:#fffaf0;border:1px solid #d8c9ad;border-radius:14px;flex-wrap:wrap;gap:12px;margin-top:20px;padding:14px;display:flex;position:sticky;bottom:10px}.transit-group{background:#eef3ea;border:1px solid #d2dbcd;border-radius:15px;margin:14px 0;padding:15px}.bus-group{background:#faf0df;border-color:#dfcba9}.transfer-group{background:#f3edf7;border-color:#d7c8df}.transit-group h4{margin:0 0 8px}.transit-group p{font-size:13px}.app-choice{border-bottom:1px dashed #d2c7d7;flex-wrap:wrap;gap:10px;padding:12px 0;display:flex}.app-choice b{width:100%}.app-choice a,.app-open,.story-link{background:#fffdf7;border:1px solid #c4d0bc;border-radius:10px;padding:9px 12px;font-size:13px;display:inline-block}.app-open{background:#e6efdf}.departure-plan{background:#f4f4e9;border:1px dashed #c6cdbb;border-radius:14px;margin:8px 0 12px;padding:14px}.departure-title{margin-bottom:10px;font-size:13px;font-weight:700}.departure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.departure-grid>div{background:#fffdf7;border-radius:10px;min-width:0;padding:9px}.departure-grid small,.departure-grid b{display:block}.departure-grid small{font-size:11px;line-height:1.5}.departure-grid b{margin-top:4px;font-size:18px}.timing-warning{color:#83592b;background:#fff0d5;border-radius:8px;margin-top:8px;padding:10px;font-size:12px}.timing-note{padding:10px;font-size:12px}.stories-page,.tax-guide{max-width:960px;margin:auto}.story-index{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.story-index a{background:#efe5d5;border-radius:30px;padding:10px 14px}.story-page-card{background:#fff9ec;border:1px solid #d9cbb2;border-radius:22px;margin:24px 0;padding:25px;scroll-margin-top:180px;position:relative}.story-page-card h3{margin:16px 0;font-size:23px}.story-page-card p{margin:12px 0;line-height:1.9}.story-illustration{float:right;padding:6px 12px;font-size:48px;transform:rotate(5deg)}.story-illustration span{color:#c78f7e;font-size:24px}.story-activity{background:#edf2e6;border-radius:15px;margin:18px 0;padding:15px}.story-link{margin:10px 0}.tax-step{background:#fff9ed;border:1px solid #e0d6c0;border-radius:17px;gap:16px;margin:18px 0;padding:18px;display:flex}.tax-step>span{background:#e8c8b4;border-radius:50%;flex:0 0 38px;place-items:center;height:38px;font-weight:700;display:grid}.tax-step h3{margin-bottom:10px}.tax-step p{line-height:1.8}.tax-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.tax-photos figure{background:#fff;border:1px solid #ded4c2;border-radius:15px;margin:0;padding:12px}.tax-photos img{object-fit:contain;width:100%;height:auto;display:block}.tax-photos figcaption{margin-top:10px;font-size:12px}.tax-guide .travel-links{margin:20px 0}.tax-guide>p,.tax-guide .travel-box p{margin:12px 0;line-height:1.8}.ledger-table-scroll{min-width:0}.staycard a,.staycard button{margin-top:12px;display:block}.flight-changed{margin:15px 0}@media (width<=600px){.transport-fold>.dining-toggle{gap:10px;padding:16px}.transport-fold>.dining-toggle .dining-toggle-icon{flex-basis:38px;width:38px;height:44px}.transport-fold>.dining-toggle .dining-toggle-arrow{flex-basis:30px;width:30px;height:30px}.transport-fold>.dining-toggle .dining-toggle-copy strong{font-size:21px}.transport-fold .dining-toggle-hint{font-size:12px}.expense-form{margin-left:0!important;margin-right:0!important;padding:14px!important}.formgrid{grid-template-columns:1fr}.departure-grid{gap:5px}.departure-grid>div{padding:7px}.departure-grid b{font-size:16px}.tax-photos{grid-template-columns:1fr}.story-page-card{padding:18px}.tax-step{gap:10px;padding:14px}.booking-save{bottom:8px}.topbar{max-width:100vw}.ledger-detail-heading{flex-wrap:wrap}}.expense-form .booking-inclusion{align-items:flex-start;gap:9px;line-height:1.7;display:flex}.expense-form .booking-inclusion input[type=checkbox]{width:18px;min-width:18px;max-width:18px;margin-top:4px}.booking-view-anchor{scroll-margin-top:150px}.booking-cards .flighttop{flex-wrap:wrap;align-items:center}.booking-card-tools{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 0;display:flex}.booking-card-tools small{color:var(--muted)}.cute-edit{white-space:nowrap;background:#fff7e8;border:1.5px solid #b89c85;border-radius:16px 14px 16px 12px;align-items:center;gap:5px;min-height:40px;padding:8px 12px;font-size:12px;display:inline-flex;box-shadow:2px 3px #eadccd}.cute-edit:hover{background:#f9dfd3}.booking-flight .flighttimes>div{overflow-wrap:anywhere;min-width:0;max-width:43%}.booking-flight .flighttimes{padding-top:12px}.booking-hotel{margin:22px 0;padding-top:58px;position:relative}.hotel-edit{position:absolute;top:12px;right:14px}.hotel-card-copy{flex:1;min-width:0}.hotel-card-copy h3,.hotel-address{overflow-wrap:anywhere}.booking-hotel .dayart{flex-shrink:0}.hotel-card-copy .hotel-address{color:#795f52;margin-top:10px;font-size:12px}.flight-cost-note{background:#fbf0da;border:1px dashed #c9b89c;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.flight-cost-note strong{margin-top:6px;font-size:20px;display:block}.booking-manage{margin:12px 0 20px}.bookings-editor [hidden]{display:none!important}@media (width<=600px){.booking-hotel{padding-top:60px}.booking-hotel .dayart{width:58px}.booking-card-tools{padding:12px 13px 0}.flight-cost-note{padding:15px}.booking-view-anchor{scroll-margin-top:135px}.booking-cards .flighttimes b{font-size:26px}}.transfer-sticker{background:#fff1df;border:1px dashed #cfad96;border-radius:16px;margin:12px 0;padding:12px}.transfer-sticker>b{font-size:14px;display:block}.transfer-sticker>div{flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0;display:flex}.transfer-sticker span{background:#fffdf8;border:2px solid;border-radius:16px;padding:5px 10px;font-size:12px}.transfer-sticker small{font-size:12px;line-height:1.6}.airport-ticket{background:#edf5f1;border:1px solid #bbcece;border-radius:18px;margin-top:18px;padding:18px}.airport-ticket p{margin:12px 0;font-size:13px}.transit-tools input{box-sizing:border-box;background:#fff;border:1px solid #c9c4b6;border-radius:12px;width:100%;min-width:0;padding:12px}.transit-tools label{gap:9px;display:grid}.generic-cover{background:#eee8d9;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.generic-cover>span{font-size:80px}.lock-toggle{align-items:center;gap:8px;display:flex!important}.modal .lock-toggle input{width:20px;min-width:20px}.trip-setup{scroll-margin-top:150px}.pwa-status{color:#586b5b;background:#fff8e9;border:1px dashed #cbb99b;border-radius:16px;max-width:1000px;margin:24px auto;padding:14px 18px;font-size:12px;line-height:1.8}.pwa-status p{margin:8px 0}.pwa-status summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.pwa-status button{background:#f7dfd6;border:1px solid #b9a88c;border-radius:12px;min-height:44px;padding:8px 12px}.pwa-offline,.pwa-update{background:#f7e7ce;border-radius:10px;padding:10px}body{padding-bottom:env(safe-area-inset-bottom)}.topbar{padding-top:max(8px,env(safe-area-inset-top))}.header-tool{background:#fffdfa;border:2px solid #4e4941;border-radius:14px;align-items:center;gap:5px;min-height:44px;padding:9px 12px;font-size:13px;font-weight:650;display:flex;box-shadow:0 2px #e7dfcf}.header-tool:first-of-type{background:#f9e3dd}.topactions{gap:8px!important}.cover-edit{color:#5e574b;background:#fffaf0ef;border:1px solid #b9a78c;border-radius:14px;align-items:center;gap:6px;min-height:38px;padding:9px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;right:12px}.storybook-cover>img{object-fit:contain}.cute-action{cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:44px;font-weight:600;box-shadow:0 3px #e7dfd2;color:#4c5b50!important;border:1px solid #c9b99e!important;border-radius:14px!important;padding:11px 13px!important;font-size:13px!important;text-decoration:none!important;display:inline-flex!important}.cute-action.cream{background:#fbefce}.cute-action.pink{background:#f8e0da}.cute-action.mint{background:#e5efe5}.cute-action svg{flex-shrink:0}.cute-action::-webkit-details-marker{display:none}.hours-fold{border:0!important;padding:8px 0!important}.hours-fold>summary{width:max-content;max-width:100%;list-style:none}.hours-fold[open]>summary>svg:last-child{transform:rotate(90deg)}.cardbottom{flex-wrap:wrap;border:0!important;align-items:flex-start!important;gap:12px!important;padding-top:8px!important;display:flex!important}.cardbottom>.traffic{flex:1;min-width:140px;border:0!important;padding:0!important}.traffic>summary{width:max-content;list-style:none}.traffic[open]{flex-basis:100%!important}.traffic-panel{margin-top:15px}.utility-page,.shopping-book{max-width:1000px;margin:auto}.utility-title{align-items:center;gap:18px;margin-bottom:24px;display:flex}.utility-title h2{margin:6px 0}.utility-title p{margin:0}.paper-icon{background:#f7dcd3;border:2px solid #73675a;border-radius:40% 52% 43% 48%;flex-shrink:0;place-items:center;width:60px;height:60px;display:grid;transform:rotate(-7deg);box-shadow:4px 4px #ebe2d1}.paper-icon svg{width:28px;height:28px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.tool-grid>button{text-align:left;color:#4a6053;background:#f4f2e5;border:1px solid #d4c9b3;border-radius:20px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:22px;display:grid;box-shadow:0 4px #eae1d1}.tool-grid>button:nth-child(2n){background:#fae9df}.tool-grid b{font-size:19px}.tool-grid span{color:#776c5d;grid-column:2;font-size:14px;line-height:1.7}.archive-tools{background:#faf5ea;border:1px dashed #cabb9f;border-radius:16px;margin:18px 0;padding:16px}.archive-tools>summary{cursor:pointer;align-items:center;gap:8px;min-height:30px;font-weight:600;list-style:none;display:flex}.archive-tools p{line-height:1.7}.utility-message{overflow-wrap:anywhere;background:#eef2e7;border-radius:14px;margin:18px 0;padding:14px 17px;font-size:14px;line-height:1.8}.utility-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;display:flex}.utility-toolbar button,.utility-page .primary,.shop-actions button{align-items:center;gap:7px;min-height:44px;display:inline-flex}.utility-tabs{gap:10px;margin:22px 0;display:flex}.utility-tabs button{color:#52685b;background:#f1f1e8;border:1px solid #d2ccb9;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:650;display:flex}.utility-tabs button[aria-pressed=true]{background:#f8dfd5;border:2px solid #8b7562;box-shadow:0 3px #e7dfce}.empty-paper{text-align:center;color:#6b7864;background:#fcf5e7;border:1px dashed #ccb99b;border-radius:20px;margin:20px 0;padding:35px 20px}.empty-paper svg{margin:auto}.empty-paper h3{margin:16px 0}.shop-list{gap:16px;margin:20px 0;display:grid}.shop-card{background:#fffcf6;border:1px solid #d7ccb5;border-radius:20px;align-items:flex-start;gap:18px;padding:18px;display:flex;box-shadow:0 4px #eee5d5}.shop-card>img,.shop-placeholder{object-fit:contain;background:#f0eddf;border-radius:15px;flex-shrink:0;width:90px;height:90px}.shop-placeholder{color:#ac8970;border:1px dashed #c9b79b;place-items:center;display:grid}.shop-card-body{flex:1;min-width:0}.shop-card h3{overflow-wrap:anywhere;margin:6px 0;font-size:19px}.shop-card small{color:#85755f}.shop-status{background:#f6e7c2;border-radius:20px;margin:5px 0;padding:4px 10px;font-size:12px;display:inline-block}.shop-status.bought{color:#56744d;background:#dfecd8}.shop-card summary{cursor:pointer;color:#617361;padding:12px 0;font-size:13px}.shop-card dl{font-size:14px}.shop-card dl>div{border-bottom:1px dashed #e6ddcb;padding:8px 0}.shop-card dt{color:#968369;font-size:12px}.shop-card dd{overflow-wrap:anywhere;margin:5px 0}.shop-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.shop-actions button{color:#576858;background:#f3efe3;border:1px solid #d1c4ad;border-radius:12px;padding:7px 10px;font-size:12px}.shop-actions button:disabled{opacity:.6;cursor:default}.paper-form{background:#fffaf0;border:1px dashed #c6ac89;border-radius:20px;margin:24px 0;padding:24px;scroll-margin-top:150px}.paper-form label:not(.check-row){margin:13px 0;font-size:14px;display:block}.paper-form input:not([type=checkbox]),.paper-form select,.paper-form textarea,.share-page select{box-sizing:border-box;background:#fff;border:1px solid #cad3c0;border-radius:12px;width:100%;min-width:0;max-width:100%;min-height:45px;margin:7px 0;padding:12px;font-size:16px}.paper-form textarea{resize:vertical;min-height:85px}.photo-upload{background:#edf1e4;border-radius:14px;padding:15px}.photo-upload input{font-size:13px!important}.photo-preview{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.photo-preview img{object-fit:contain;background:#fff;border-radius:12px;width:110px;height:110px}.cover-preview{object-fit:contain;max-width:100%;max-height:260px;margin:20px auto;display:block}.check-row{cursor:pointer;gap:10px;padding:10px 0;font-size:14px;line-height:1.6;align-items:flex-start!important;display:flex!important}.check-row input[type=checkbox]{accent-color:#739681;flex-shrink:0;min-width:20px;width:20px!important;height:20px!important;margin:2px 0!important}.check-row small{color:#85735e;display:block}.share-page fieldset{background:#fffdf7;border:1px solid #d8ccb6;border-radius:19px;min-width:0;margin:24px 0;padding:20px}.share-page legend{color:#546f5d;padding:0 8px;font-size:18px;font-weight:650}.option-grid,.share-dates{grid-template-columns:1fr 1fr;gap:6px 20px;display:grid}.share-cost-list{border-top:1px dashed #d6c6a6;max-height:340px;margin:12px 0;overflow:auto}.share-cost-list .check-row{border-bottom:1px dashed #e3d9c4}.pdf-pages{gap:25px;margin:24px 0;display:grid}.pdf-pages img{border:1px solid #d6c7af;width:100%;height:auto;box-shadow:0 3px 12px #7b6b5526}.ledger-archive{font-size:13px}.ledger-archive summary{cursor:pointer;padding:12px}.ledger-archive .soft{margin:5px}.generic-cover{background:radial-gradient(at 12% 20%,#f7d5c6 0 9%,#0000 10%),radial-gradient(at 87% 70%,#dce9d4 0 14%,#0000 15%),#fff4da}.generic-cover>span{border:2px dashed #c3aa81;border-radius:50%;padding:20px;font-size:50px}.generic-cover p:after{content:" ✿";color:#b98b70}.booking-inclusion input{width:20px!important;min-width:20px!important;height:20px!important}@media (width<=600px){.header-tool{gap:4px;min-height:40px;padding:8px;font-size:11px}.topactions .saved{display:none}.utility-title{gap:12px}.paper-icon{width:46px;height:46px}.utility-title .eyebrow{letter-spacing:1px;font-size:9px}.utility-title h2{font-size:25px}.tool-grid{grid-template-columns:1fr}.tool-grid>button{padding:17px}.tool-grid b{font-size:17px}.tool-grid span{font-size:13px}.shop-card{gap:11px;padding:13px}.shop-card>img,.shop-placeholder{width:62px;height:72px}.shop-card h3{font-size:17px}.shop-actions{margin-top:18px;margin-left:-73px}.shop-card-body>details{margin-top:5px}.paper-form{padding:16px}.option-grid{grid-template-columns:1fr}.share-dates{gap:0 8px}.share-page fieldset{padding:14px}.share-page .check-row{font-size:13px}.cute-action{padding:10px!important;font-size:12px!important}.cover-edit{font-size:11px;bottom:9px;right:9px}.utility-toolbar{align-items:flex-start}.topbar .brand{font-size:14px}.topbar .brandicon{width:37px;height:40px}.topbar .brand small{letter-spacing:1px}}.page-intro{max-width:1100px;margin:auto;padding:28px 0 22px}.page-intro-row{align-items:center;gap:13px;display:flex}.page-intro-row p{color:#786c5e;margin:0 0 5px;font-size:12px}.page-intro h1{color:#435b50;outline:none;margin:0;font-size:28px;line-height:1.4}.page-flower{color:#a47460;background:#f8ded5;border:1px solid #bea68d;border-radius:42% 50% 44% 51%;place-items:center;width:45px;height:45px;font-size:24px;display:grid;transform:rotate(-7deg)}.drawer-back{color:#576b5b;background:#fff7e6;border:1px solid #cbb99d;border-radius:15px;align-items:center;gap:6px;min-height:44px;margin-bottom:15px;padding:8px 13px;font-size:13px;display:inline-flex;box-shadow:0 2px #ece2cf}.page-content{min-width:0;animation:.18s ease-out page-in}.page-intro~.page-content .utility-title{margin-bottom:18px}.page-intro~.page-content>.panel{margin-top:0}.topbar nav{scroll-padding-inline:12px;position:relative}.topbar nav button{flex-shrink:0;min-height:44px}.topbar nav button:focus-visible,.drawer-back:focus-visible{outline-offset:2px;outline:3px solid #a2b9aa}@media (width<=760px){.topbar{gap:5px;min-height:0;padding:8px 5% 4px}.topbar .brandicon{width:32px;height:34px}.topbar .brand small{display:none}.topbar nav{justify-content:flex-start;gap:4px;min-height:44px;padding-right:10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 6px calc(100% - 12px),#0000)}.topbar nav button{padding:8px 12px;font-size:12px}.topbar.is-compact>.brand,.topbar.is-compact>.topactions{display:none}.topbar.is-compact{padding-top:3px;padding-bottom:3px}.page-intro{padding:20px 0 18px}.page-intro h1{font-size:25px}.page-intro-row p{font-size:11px}.drawer-back{margin-bottom:12px}.page-intro~.page-content .utility-title>.paper-icon{display:none}.page-intro~.page-content .utility-title h2{font-size:21px}.page-intro~.page-content .utility-title .eyebrow{display:none}}@media (prefers-reduced-motion:reduce){.page-content{animation:none}}.page-intro~.page-content .utility-title h2{display:none}html{overflow-anchor:none}.reminders{max-width:1000px;margin:auto}.rem-heading{align-items:center;gap:18px;display:flex}.rem-heading h2{margin:5px 0}.rem-heading p{margin:0}.rem-sticker{background:#f8dcd4;border:2px solid #675c52;border-radius:40% 55% 44% 48%;flex-shrink:0;place-items:center;width:65px;height:65px;display:grid;transform:rotate(-7deg);box-shadow:3px 4px #e9decd}.rem-tabs{gap:10px;margin:25px 0 18px;display:flex}.rem-tabs button{color:#53685e;background:#f4f2e9;border:1px solid #d8dace;border-radius:17px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:700;display:flex}.rem-tabs button[aria-pressed=true]{background:#f8dcd4;border:2px solid #866955;box-shadow:0 4px #eadfcd}.rem-progress{background:#f0f4e9;border-radius:18px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:20px;display:flex}.rem-progress progress{accent-color:#719585;width:100%;height:10px}.rem-progress small{color:#737568}.rem-now{background:#fff9e9;border:1px dashed #c5ae8a;border-radius:20px;margin:22px 0;padding:20px}.rem-now h3{align-items:center;gap:10px;margin-top:0;display:flex}.rem-task{cursor:pointer;border-bottom:1px solid #e9e3d6;padding:14px 0;align-items:flex-start!important;gap:12px!important;display:flex!important}.rem-task input,.rem-toolbar input{accent-color:#6e9583;flex-shrink:0;min-width:20px;width:20px!important;height:20px!important;margin:3px 0!important}.rem-task span{min-width:0}.rem-task strong{font-size:16px;font-weight:600}.rem-task small,.rem-copy small{color:#777369;margin-top:5px;line-height:1.7;display:block}.rem-task.is-done strong{color:#7f8c7a;text-decoration:line-through}.rem-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:22px 0;display:flex}.rem-toolbar p{max-width:420px;margin:0;font-size:13px}.rem-toolbar label{align-items:center;gap:8px;font-size:14px;display:flex}.rem-timeline{gap:14px;display:grid}.rem-group,.rem-guide{background:#fffcf5;border:1px solid #dcd5c3;border-radius:20px;overflow:hidden}.rem-group summary,.rem-guide>summary{cursor:pointer;align-items:center;gap:12px;padding:20px;list-style:none;display:flex}.rem-group summary::-webkit-details-marker{display:none}.rem-guide>summary::-webkit-details-marker{display:none}.rem-group summary>span:nth-child(2),.rem-guide>summary>span{flex:1;min-width:0}.rem-group summary small,.rem-guide summary small{color:#817762;margin-top:6px;font-size:13px;display:block}.rem-group summary>svg,.rem-guide>summary>svg{flex-shrink:0;transition:transform .2s}.rem-group[open] summary>svg,.rem-guide[open]>summary>svg{transform:rotate(180deg)}.rem-badge{background:#edf2e8;border-radius:14px;place-items:center;min-width:44px;height:44px;font-size:24px;display:grid;transform:rotate(-5deg)}.rem-group:nth-child(2n) .rem-badge{background:#fbeacd}.rem-inner{padding:0 22px 22px}.rem-guide{background:#eef4ed}.rem-guide>summary{font-weight:700}.rem-steps{gap:14px;padding:0;list-style:none;display:grid}.rem-steps li{gap:12px;line-height:1.8;display:flex}.rem-steps li>b{background:#ffe5bd;border:1px solid #bd9972;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.rem-links{flex-wrap:wrap;gap:10px;display:flex}.rem-links a{background:#fffdf7;border:1px solid #ccd7c5;border-radius:13px;padding:12px 15px}.rem-copy{overflow-wrap:anywhere;border-bottom:1px dashed #cbd2c3;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.rem-copy button{background:#fffaf2;border:1px solid #c3cfc0;border-radius:12px;flex-shrink:0;padding:10px}.rem-rule{background:#f7eed8;border-radius:12px;padding:16px;line-height:1.8}.rem-rule button{margin-top:12px;display:block}.rem-notes{background:#f8f1e8;margin-top:24px}.rem-day-card{text-align:left;color:#4d685c;background:#f6eddb;border:1px dashed #bca483;border-radius:18px;align-items:center;gap:13px;width:100%;margin:18px 0;padding:16px 20px;display:flex}.rem-day-card>svg{flex-shrink:0}.rem-day-card>span:first-of-type{flex:1}.rem-day-card small{color:#81725d;margin-top:6px;line-height:1.5;display:block}.reminders *{box-sizing:border-box}.reminders p,.reminders span{overflow-wrap:anywhere}@media (width<=600px){.reminders{padding:20px 16px!important}.rem-heading{gap:12px}.rem-heading h2{font-size:27px}.rem-sticker{width:49px;height:49px}.rem-group summary,.rem-guide>summary{gap:9px;padding:16px 12px}.rem-inner{padding:0 15px 18px}.rem-now{padding:16px}.rem-task strong{font-size:15px}.rem-progress{padding:16px}.rem-links a{width:100%}.rem-day-card{padding:15px}.rem-day-card small{font-size:12px}}.trip-setup{color:var(--ink);overflow-wrap:anywhere}.trip-setup p{line-height:1.85}.trip-intro{color:#73695f;margin:12px 0 22px}.trip-switcher{align-items:end;gap:15px;margin:20px 0;display:flex}.trip-setup label{flex-direction:column;gap:7px;min-width:0;font-size:13px;line-height:1.7;display:flex}.trip-switcher label{flex:1}.trip-setup input,.trip-setup select,.trip-setup textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:var(--ink);font:inherit;background:#fff;border:1.5px solid #c8d4c2;border-radius:13px;padding:11px 12px;font-size:16px}.trip-setup textarea{resize:vertical}.trip-overview{background:#edf3e6;border:2px solid #b9c9aa;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:15px;padding:24px;display:flex;position:relative}.trip-overview h3{margin:15px 0 10px;font-size:22px}.trip-overview .cute-edit{flex-shrink:0}.trip-sticker{color:#735b41;background:#fff0c8;border:1px solid #b7a68b;border-radius:10px 16px 11px 14px;padding:6px 12px;font-size:12px;display:inline-block;transform:rotate(-1deg)}.trip-form{background:#fffaf0;border:2px dashed #c4ab83;border-radius:22px;padding:24px}.trip-form h3{margin:0 0 20px}.trip-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.trip-preferences{margin-top:20px}.trip-preferences label{margin-top:14px}.trip-setup summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600}.trip-setup .notice{margin:20px 0;padding:14px;font-size:12px;line-height:1.8}.trip-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.trip-actions button,.trip-switcher button{min-height:44px;padding:10px 15px}.trip-ai{background:#f6e8e1;border:2px solid #bda799;border-radius:24px;margin-top:32px;padding:26px}.trip-ai h3{margin:18px 0 12px;font-size:23px}.trip-flow{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.trip-flow span{background:#fffcf6;border:1px solid #c4b7a1;border-radius:18px;padding:8px 13px;font-size:12px}.trip-import{border-top:1px dashed #bda799;margin-top:20px;padding-top:10px}.trip-import summary{align-items:center;gap:8px;display:flex}.trip-import summary:after{content:"⌄";margin-left:auto}.trip-import[open] summary:after{content:"⌃"}.trip-import label{margin:16px 0}.trip-import>button{padding:10px 15px}.trip-preview{background:#fffdf7;border:1.5px solid #cabb9e;border-radius:18px;margin-top:20px;padding:20px}.trip-preview h4{margin-top:0}.trip-preview ol{padding-left:24px}.trip-preview li{border-bottom:1px dashed #d5cbb9;padding:12px 0}.trip-preview li span{color:#79705f;margin-top:6px;font-size:12px;display:block}.trip-preview li p{margin-top:6px;font-size:12px}.trip-preview>button{margin-top:15px;padding:12px 16px}.trip-setup input[type=file]{padding:10px;font-size:13px}.trip-setup .fineprint{margin:12px 0}@media (width<=600px){.trip-switcher{flex-direction:column;align-items:stretch}.trip-switcher button{align-self:flex-start}.trip-overview{flex-direction:column;padding:20px 16px 16px}.trip-overview h3{font-size:19px}.trip-overview .cute-edit{align-self:flex-end}.trip-form,.trip-ai{padding:18px 14px}.trip-form .formgrid{grid-template-columns:minmax(0,1fr)}.trip-flow{gap:6px}.trip-flow span{padding:7px 8px;font-size:11px}.trip-preview{padding:16px 12px}.trip-ai h3{font-size:21px}}
