@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--pink:#eb2875;--ink:#29222f;--muted:#847684;--line:#eddfE7;--bg:#fffafd;--lav:#f0eafa}body{font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--ink)}button{border-radius:8px;min-height:44px;transition:background .16s,border-color .16s}button:focus-visible,a:focus-visible{outline:3px solid #8056bb;outline-offset:3px}button.primary{background:var(--pink);border-color:var(--pink);color:#fff}button.primary:hover{background:#c92162}header{max-width:1220px;height:92px;padding:0 40px;background:#fff}.brand{font-size:20px;letter-spacing:-.5px}.brand-icon{font-size:33px;background:none;color:var(--pink);width:34px}.brand small{font-size:8px;letter-spacing:2px;margin-top:1px}.brand small:after{content:' / LIVE & JOURNEY';font-size:7px}nav button:first-child{font-weight:650}nav .primary{font-size:12px;padding:12px 20px}main{max-width:1180px;padding:0 30px}.site-crumb{display:flex;gap:10px;font-size:10px;color:#a08e9c;margin:20px 0}.site-crumb a{text-decoration:none}.hero{margin:0 0 26px;padding:0;min-height:420px;gap:0;grid-template-columns:1.05fr 1fr;border:0;border-radius:14px;background:#ffeaf2;overflow:hidden;align-items:stretch}.hero-copy{padding:50px 40px}.hero h1{font-size:43px;letter-spacing:-1.7px;line-height:1.45;margin:22px 0 17px;font-weight:900}.hero h1 em{color:var(--pink)}.hero p{font-size:13px;line-height:1.9;color:#846a78;margin:0 0 26px}.hero .primary{padding:15px 23px;display:inline-flex;gap:40px;align-items:center;font-size:13px}.hero-note{font-size:10px;margin-top:14px;color:#987b89}.eyebrow{font-size:9px;letter-spacing:2px}.travel-visual{position:relative;min-height:420px;background-image:url('assets/travel-scenes.png');background-size:300% 200%;background-position:0 0;isolation:isolate}.travel-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#29232c22,transparent 40%,#37233466);z-index:-1}.photo-caption{position:absolute;bottom:30px;left:27px;color:white;font-size:10px;letter-spacing:3px}.travel-visual>small{position:absolute;bottom:8px;right:12px;color:white;font-size:8px}.travel-sticker{position:absolute;right:24px;top:26px;background:#fff7ce;color:#5e3a43;transform:rotate(7deg);padding:16px 22px;font-size:12px;box-shadow:4px 4px 0 #f1a9cb;line-height:1.8}.travel-sticker b{font-size:16px}.steps{gap:15px;margin:0 0 46px}.feature{display:flex;align-items:center;gap:16px;border:0;border-bottom:2px solid #ef9dbd;background:#fff;padding:20px 16px;border-radius:0}.feature:nth-child(2){border-color:#baa3dc}.feature:nth-child(3){border-color:#9ed2d9}.feature b{font-size:12px;margin:3px 0 5px}.feature p{font-size:10px;line-height:1.8}.step-no{font-size:8px;letter-spacing:1.5px;font-weight:800;color:#b0879f}.icon{width:42px;height:46px;flex-shrink:0;border-radius:10px}.icon svg{width:25px;height:25px}.section-head h2{font-size:23px;margin-top:5px}.section-head{margin-top:35px}.label-tag{font-size:9px;font-weight:750;letter-spacing:2px;color:#c25891}.empty{background:#fff;padding:36px;border:1px solid var(--line);border-radius:12px}.empty-icon{display:block;width:42px;height:42px;color:#dc7da6;margin:0 auto 10px}.empty-icon svg{width:100%;height:100%}.empty h3{color:#705467;font-size:17px;margin:6px 0}.empty p{font-size:12px;line-height:1.9}.empty .primary{font-size:12px;margin-top:10px}.home-note{display:flex;gap:14px;margin:30px 0;align-items:center;color:#9a8294}.home-note>span{background:#f4eaf6;padding:9px;border-radius:9px;display:block;width:42px;height:42px}.home-note svg{width:24px;height:24px}.home-note p{font-size:11px;margin:0;line-height:1.8}.plan-card{border-radius:12px;padding:24px;gap:25px;border-color:#ecdee7;box-shadow:0 3px 12px #54234003}.plan-date{width:95px;flex-shrink:0;border-right:1px solid var(--line);padding-right:20px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.plan-date b{font-size:19px;white-space:nowrap;color:#c53475;font-weight:850}.plan-date small{font-size:9px;color:#a28898;margin-top:4px}.plan-card-content{flex:1;min-width:0}.plan-card h3{font-size:18px;margin:8px 0}.pill{background:#f9eaf3;color:#a35b7b;border:1px solid #f4dfe9;border-radius:5px;font-size:10px;padding:3px 8px}.plan-card p{font-size:11px}.plan-mini{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:12px;font-size:11px;color:#806b7d}.plan-mini small{font-size:9px;font-weight:400}.plan-mini>span:first-child{font-weight:750;color:#4a3547}.plan-actions{flex-direction:column;align-items:stretch;gap:3px}.plan-actions>div{display:flex;justify-content:flex-end;gap:4px}.plan-actions>div button{border:0;background:none;font-size:10px;color:#a1899a;padding:5px 9px;min-height:35px}.plan-actions .primary{font-size:11px;padding:10px 17px}.page-top{padding:30px 0 22px}.page-top h1{font-size:29px;letter-spacing:-.7px;overflow-wrap:anywhere}.page-top p{font-size:12px}.back{min-height:35px;font-size:11px}.layout{gap:25px;grid-template-columns:minmax(0,1fr) 300px}.card{border-radius:12px;padding:28px;margin-bottom:22px;box-shadow:0 3px 12px #54234003}.card h2{font-size:17px}.form-grid{gap:23px 20px}.field label{font-size:12px}.optional{font-size:9px;font-weight:400;color:#b6a5b2;margin-left:8px}.req{font-size:9px}.section-number{display:inline-block;background:#fff0f6;color:var(--pink);font-size:12px;padding:5px 8px;margin-right:7px;border-radius:5px}.field input,.field select{border-color:#e6d8e2;background:#fffdfE;border-radius:7px;min-height:50px}input::placeholder{color:#b6a7b2;font-size:12px}.field input:disabled{background:#f4f1f4;color:#b6a8b1;opacity:.7}.edit-guide{border-radius:12px;padding:28px;background:linear-gradient(140deg,#fce7f0,#ede7f7);position:sticky;top:25px}.edit-guide h3{font-size:23px;line-height:1.7;color:#805576}.edit-guide .hint{background:#ffffff80;margin-top:25px;color:#9a7d94}.edit-guide .help{line-height:2.2}.form-save{position:sticky;bottom:0;background:#fffaf0f2;padding:16px 0 20px;margin-top:0;z-index:4;backdrop-filter:blur(10px)}.form-save .primary{flex:1;min-height:50px}.form-save>button:last-child{font-size:12px}.help{line-height:1.9}.detail-top{position:relative;padding-right:260px}.detail-top .actions{position:absolute;right:0;bottom:28px;display:flex;gap:8px}.detail-top .actions button{font-size:11px;padding:10px 14px}.saved-indicator{font-size:10px;color:#6f998a}.tabs{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0;margin-bottom:22px;gap:8px;border-bottom:1px solid #eadde6}.tabs button{font-size:12px;min-width:105px;padding:12px 18px;border-radius:7px}.tabs button.active{background:#ed2d79;color:#fff;font-weight:750}.summary{position:sticky;top:85px;border-radius:12px;background:#fff;border:1px solid #eadce6;border-top:4px solid #ed2d79;padding:24px}.summary-heading{display:flex;justify-content:space-between;align-items:center}.summary-heading .pill{font-size:9px}.summary h3{font-size:16px;margin:13px 0 14px}.summary .money{font-size:36px;line-height:1.5;margin-top:5px;letter-spacing:-1.3px}.summary .muted{font-size:10px}.summary .line{display:flex;justify-content:space-between;gap:10px;margin:12px 0;font-size:11px}.summary .line b{font-size:13px}.summary .per-person{padding-top:13px;border-top:1px solid #f0e6ed}.summary .help{font-size:10px;margin:16px 0 0}.budget-edit{width:100%;font-size:11px;color:#c73978;background:#fff1f7;border:0;margin-top:18px}.progress{background:#f0e6ed;height:6px}.positive{color:#42866c}.negative{color:#b8324e}.itinerary-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-countdown{font-size:11px;color:#b34e7a;font-weight:700}.trip-route{display:grid;grid-template-columns:1fr 35px 1fr;gap:16px;align-items:center;margin:29px 0}.trip-route div>span{display:block;font-size:9px;letter-spacing:2px;color:#b598ad;margin-bottom:5px}.trip-route strong{font-size:24px;line-height:1.5;overflow-wrap:anywhere}.route-arrow{color:#d68eaf;font-size:26px}.event-date{display:flex;align-items:center;gap:15px;background:#fff2f7;border-radius:9px;padding:16px 20px}.event-date svg{width:30px;height:30px;color:#da5b91}.event-date b{font-size:17px}.event-date span{display:block;font-size:11px;color:#a57690;margin-top:2px}.detail-grid{margin:25px 0;gap:23px}.detail-grid dt{font-size:10px;color:#a18a9b}.detail-grid dd{font-size:13px;line-height:1.7}.text-button{border:0;padding:5px 0;color:#b6497d;font-size:11px;background:none}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.quick-actions button{text-align:left;padding:20px 19px;position:relative;border-radius:12px}.quick-icon{display:block;width:27px;height:27px;margin-bottom:12px;color:#9d69bd}.quick-icon svg{width:100%;height:100%}.quick-actions button:nth-child(2) .quick-icon{color:#60a49c}.quick-actions b{font-size:14px;display:block}.quick-actions small{display:block;font-size:10px;color:#a08a9b;margin-top:5px;font-weight:400}.quick-arrow{position:absolute;top:20px;right:20px;color:#bc9eb2}.packing-overview>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.packing-overview h2{margin:0;font-size:14px}.packing-overview>div>span{font-size:10px;color:#9c8194}.packing-overview .progress{margin-bottom:0}.hint{background:#fcf4f8;border-radius:8px;font-size:11px;line-height:1.9;color:#98738a}.expense{grid-template-columns:minmax(0,1fr) 150px 40px;gap:12px;margin-bottom:13px}.expense input{border-radius:7px;background:#fff;font-size:14px}.expense input[type=number]{font-size:18px;text-align:right;font-weight:700}.expense button{min-width:38px;min-height:44px}.expense-header{margin-top:22px}.check-row{padding:5px 0;min-height:57px;gap:13px}.check-row input{flex-shrink:0;width:22px;height:22px}.check-row label{padding:13px 0;font-size:13px}.check-row button{min-width:44px;min-height:44px}.check-row.done label{color:#a99aa6}.check-count{background:#fff0f6;padding:3px 9px;border-radius:5px}.add-row input{min-width:0}.search-heading{font-size:17px;margin:27px 0 14px}.search-heading>span{font-size:9px;letter-spacing:1.5px;color:#bc6b97;margin-right:8px}.search-link{background:#fff;border-radius:9px;padding:19px;transition:background .2s}.search-link:hover{background:#fff4f8}.search-link b{font-size:16px}.search-link small{font-size:10px;line-height:1.9}.search-link small:last-child{margin-top:10px;color:#b69eae}.callout{border-left:3px solid #d6c1df;background:#f9f5fb;font-size:11px;color:#9b8299}.lab-link{text-decoration:none;font-weight:800;font-size:13px;color:#d42e79}footer{padding:30px 0;max-width:1120px;font-size:10px;margin-top:55px}.about a{color:#bf3679}#toast{bottom:calc(24px + env(safe-area-inset-bottom));font-size:12px;width:max-content;max-width:90vw}dialog{border-radius:12px}dialog .actions button{font-size:12px}
@media(max-width:950px){.hero-copy{padding:40px 30px}.hero h1{font-size:36px}.layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.card{padding:23px}.summary{padding:20px}.feature{gap:12px;padding:17px 10px}.feature b{font-size:11px}.feature p{font-size:9px}.plan-card{gap:18px}.plan-date{width:85px;padding-right:15px}.detail-top{padding-right:220px}.detail-top .actions{flex-direction:column;gap:5px}.trip-route strong{font-size:22px}}
@media(max-width:760px){header{padding:0 18px;height:76px;gap:5px}.brand{font-size:16px;gap:7px}.brand-icon{font-size:28px;width:29px}.brand small{font-size:7px;letter-spacing:1.2px}.brand small:after{content:none}nav button:first-child{font-size:10px;padding:8px 0}main{padding:0 18px}.site-crumb{margin:15px 0;font-size:9px}.hero{grid-template-columns:1fr;border-radius:12px;min-height:0;gap:0;margin-bottom:20px}.hero-copy{padding:32px 26px}.hero h1{font-size:37px;line-height:1.4;margin:18px 0}.hero p{font-size:12px;margin-bottom:22px}.hero .primary{font-size:13px;gap:35px}.travel-visual{min-height:235px;background-size:300% 200%;background-position:0 3%}.travel-sticker{top:20px;right:22px;padding:10px 17px;font-size:10px;transform:rotate(5deg)}.travel-sticker b{font-size:13px}.photo-caption{font-size:9px;left:24px;bottom:24px}.steps{grid-template-columns:1fr;margin-bottom:30px;gap:0}.feature{padding:16px 7px;gap:16px;border-bottom:1px solid #ecdde7}.feature b{font-size:13px;margin:3px 0}.feature p{font-size:10px}.feature:nth-child(2),.feature:nth-child(3){border-bottom-color:#ecdde7}.icon{width:42px;height:42px}.step-no{font-size:8px}.section-head{margin-top:27px}.section-head h2{font-size:20px}.section-head .small{font-size:10px;padding:8px 12px}.empty{padding:30px 20px}.empty h3{font-size:16px}.home-note p{font-size:10px}.plan-card{display:grid;grid-template-columns:1fr;gap:13px;padding:21px}.plan-date{width:auto;flex-direction:row;align-items:baseline;justify-content:space-between;border:0;padding:0}.plan-date b{font-size:20px}.plan-date small{font-size:10px}.plan-card-content h3{font-size:18px}.plan-mini{gap:8px 20px}.plan-actions{flex-direction:row;align-items:center;justify-content:space-between}.plan-actions .primary{font-size:11px;padding:10px 17px}.plan-actions>div button{font-size:11px;min-height:44px}.layout{grid-template-columns:1fr;gap:20px}.detail-layout .summary{position:static;grid-row:1;padding:20px}.summary h3{display:none}.summary .money{font-size:32px;margin-top:3px;line-height:1.5}.summary .muted{margin-top:9px}.summary .budget-lines{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}.summary .line{display:flex;gap:10px;margin:0;flex-wrap:wrap;font-size:10px}.summary .line b{font-size:12px}.summary .per-person{border:0;padding:0;grid-column:1/-1;justify-content:flex-start;margin-top:2px}.summary .help{margin-top:10px}.summary .progress{margin:10px 0 13px}.budget-edit{margin-top:12px;min-height:40px}.edit-guide{position:static;padding:20px;order:2}.edit-guide h3{font-size:20px;margin:10px 0}.edit-guide h3 br{display:none}.edit-guide .hint{margin-top:15px}.edit-layout>div{min-width:0}.page-top{padding:20px 0}.page-top h1{font-size:24px}.page-top p{font-size:11px}.detail-top{padding-right:0}.detail-top .actions{position:static;flex-direction:row;margin-top:15px}.detail-top .actions button{font-size:11px;flex:1}.tabs{gap:4px;padding:8px 0;margin-bottom:18px}.tabs button{min-width:0;flex:1;font-size:12px;padding:10px 8px}.card{padding:22px 18px;border-radius:11px}.card h2{font-size:16px}.form-grid{gap:20px 13px}.field input,.field select{font-size:16px;min-width:0;width:100%;height:50px}.field label{font-size:11px}.optional,.req{font-size:8px;margin-left:4px}.form-save{padding:13px 0 calc(13px + env(safe-area-inset-bottom));gap:8px;background:#fffafdf2}.form-save .primary{font-size:12px;flex:3}.form-save>button:last-child{flex:1;font-size:11px;padding:10px 8px}.trip-route{margin:24px 0;gap:12px;grid-template-columns:1fr 22px 1fr}.trip-route strong{font-size:23px}.route-arrow{font-size:22px}.event-date{padding:14px}.event-date b{font-size:16px}.detail-grid dd{font-size:12px}.quick-actions{gap:10px}.quick-actions button{padding:18px 15px}.quick-actions b{font-size:12px}.quick-actions small{font-size:9px}.quick-arrow{right:14px;top:16px}.packing-overview>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.packing-overview h2{font-size:14px}.expense{grid-template-columns:minmax(0,1fr) 104px 32px;gap:7px}.expense input{font-size:12px;padding:10px 8px;min-width:0}.expense input[type=number]{font-size:16px}.expense button{min-width:32px;padding:5px}.search-grid{grid-template-columns:1fr 1fr;gap:10px}.search-link{padding:15px 12px}.search-link b{font-size:13px}.search-link small{font-size:9px}.search-link .arrow{font-size:11px}.check-row label{font-size:13px}.add-row input{font-size:16px}.add-row button{font-size:12px;padding:10px 13px}.help{font-size:10px}footer{margin:35px 18px 0;padding-bottom:calc(28px + env(safe-area-inset-bottom));gap:10px 16px}footer p{width:auto;font-size:10px}footer .muted{font-size:10px}dialog{padding:23px 18px}dialog h2{font-size:20px}}
@media(max-width:380px){.hero-copy{padding:28px 21px}.hero h1{font-size:32px}.brand{font-size:14px}.brand-icon{font-size:25px;width:25px}.form-grid{grid-template-columns:1fr}.trip-route strong{font-size:19px}.search-grid{grid-template-columns:1fr}.expense{grid-template-columns:minmax(0,1fr) 90px 30px}.summary .budget-lines{grid-template-columns:1fr}.summary .per-person{grid-column:auto}.tabs button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.detail-layout .summary{grid-row:auto}.detail-layout.budget-layout .summary{grid-row:1}}

.backup-panel{margin-top:35px}.backup-panel>p{font-size:14px;color:#746a77;line-height:1.9}.backup-file{font-size:13px;display:flex;flex-direction:column;gap:10px;padding:13px 16px;border:1px solid #e8dfe7;border-radius:10px}.backup-file input{max-width:100%;font-size:14px}.trust-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:12px}.travel-tips{background:#f4effa;border-radius:12px;padding:18px;margin:25px 0;font-size:13px}.travel-tips p{margin:6px 0 0;line-height:1.9}button:disabled{opacity:.5;cursor:not-allowed}