:root{--pink:#F16E83;--ink:#333;--paper:#fffdf9;--line:#ece8e4;--muted:#746f6d;font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;color:var(--ink);background:#f8f4eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 85%,#d9e6ca 0,transparent 28%),radial-gradient(ellipse at 90% 15%,#f7d8df 0,transparent 28%),#f8f4eb}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}:focus-visible{outline:3px solid #477e9c;outline-offset:3px}.phone-app{max-width:430px;min-height:100dvh;margin:auto;background:var(--paper);position:relative;box-shadow:0 0 70px #6c5e4820;overflow:clip}.app-header{height:60px;background:white;display:flex;align-items:center;padding:8px 16px;gap:12px;position:relative;z-index:5}.app-header>a{margin-right:auto;min-width:0}.app-header img{display:block;width:205px;max-width:100%;height:auto}.app-header>button{border:0;background:#f7f7f5;border-radius:12px;width:44px;height:44px;font-size:23px;flex:none}.app-header nav{position:absolute;top:56px;right:12px;left:12px;border:1px solid var(--line);box-shadow:0 8px 25px #0001;border-radius:16px;background:white;padding:12px}.app-header nav>a,.app-header nav>button{display:block;padding:12px;background:none;border:0;text-align:left;width:100%}main{outline:none}.screen{padding:20px 20px 28px;min-height:calc(100dvh - 60px)}h1{font-size:22px;line-height:1.5;letter-spacing:-.045em;margin:8px 0 20px}h2{font-size:18px;line-height:1.5;margin:18px 0 12px}h3{font-size:15px;margin:0 0 6px}p{font-size:13px;line-height:1.8}small,.note{font-size:11px;color:var(--muted);line-height:1.7}.eyebrow{color:#cb536c;letter-spacing:.1em;font-size:10px;font-weight:bold;margin:0}.page-back{display:inline-flex;align-items:center;min-height:38px;font-size:13px;color:var(--muted)}.button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1.5px solid var(--pink);border-radius:999px;padding:12px 14px;background:var(--pink);color:white;font-weight:bold;font-size:14px;width:100%;text-align:center;line-height:1.5}.button.outline{color:#d85572;background:white}.button.green{background:#10a46c;border-color:#10a46c}.arrow{margin-left:auto;flex:none;font-size:20px}.actions{display:grid;gap:10px;margin-top:20px}.sticky-actions{position:sticky;bottom:0;margin:18px -20px -28px;padding:12px 20px max(16px,env(safe-area-inset-bottom));background:#fffdf9f2;border-top:1px solid var(--line);z-index:3;backdrop-filter:blur(8px)}.empty{border:1px dashed #e5dad5;padding:22px 18px;border-radius:18px;background:white;text-align:center;margin:18px 0}.empty p{color:var(--muted)}.hero{height:580px;position:relative;background:#b8e2f6;isolation:isolate}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 48%;z-index:-1}.hero-copy{position:absolute;left:20px;top:25px;width:218px}.hero-copy img{width:100%;height:auto}.hero-copy p{font-weight:bold;line-height:1.65;font-size:14px;margin-top:12px}.hero-message{position:absolute;left:20px;top:224px;width:160px}.hero-character{position:absolute;left:16px;bottom:110px;width:132px;height:auto;object-fit:contain}.hero-cta{position:absolute;left:16px;right:16px;bottom:24px;width:auto;border:4px solid white;min-height:76px;font-size:17px;padding:10px 16px;text-align:left;justify-content:flex-start;box-shadow:0 3px 8px #c7456320}.hero-cta small{display:block;color:white;font-size:13px}.search-icon{width:25px;height:25px;flex:none}.home-links{display:grid;grid-template-columns:repeat(3,1fr);background:white;border-top:1px solid #eee}.home-links button,.home-links a{border:0;background:none;text-align:center;padding:18px 5px;font-size:11px;line-height:1.6}.home-links span{font-size:23px;display:block;margin-bottom:4px}.home-note{text-align:center;padding:15px 24px 20px;color:var(--muted);font-size:12px}.fields{display:grid;gap:20px}fieldset{border:0;padding:0;margin:0}legend,label.field-label{font-weight:bold;font-size:14px;margin-bottom:10px;display:block}.age-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option{position:relative;display:flex;align-items:center;justify-content:center;background:#f2f1ee;border:1px solid #e6e4e0;border-radius:999px;min-height:50px;font-size:12px;text-align:center;padding:10px;cursor:pointer}.option:has(input:checked){background:#fff0f4;color:#ca4562;border:2px solid var(--pink)}.option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.option:has(input:focus-visible){outline:3px solid #477e9c;outline-offset:2px}.age-grid .option{aspect-ratio:1;border-radius:50%;flex-direction:column;font-weight:bold}.age-symbol{font-size:27px;display:block}.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px}.field-row label{font-size:14px;font-weight:bold}.field-row input,.field-row select,.search-field{min-height:46px;width:100%;min-width:0;border:1px solid #e9e5e0;background:white;border-radius:12px;padding:10px;font-size:14px}.progress{height:6px;border-radius:6px;background:#ebe9e5;margin:10px 0 25px}.progress:before{content:'';display:block;width:100%;height:6px;border-radius:6px;background:var(--pink)}.subtle-button{border:0;background:none;color:#cc516e;min-height:40px;padding:5px 0;font-size:12px;text-decoration:underline}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:15px 0}.date-title{font-size:20px;color:#963d45;font-weight:bold}.badge{background:#f3f1ed;border-radius:8px;font-size:10px;padding:5px 8px}.tabs{display:flex;gap:7px;margin:12px 0 18px}.tabs button{border:0;background:#efeeeb;border-radius:999px;padding:8px 12px;min-height:38px;font-size:12px;flex:1}.tabs button[aria-pressed=true]{background:var(--pink);color:white}.timeline{list-style:none;padding:0 0 0 17px;margin:14px 0;border-left:3px solid #f7ac33}.timeline.edit{border-color:var(--pink)}.stop{position:relative;padding:0 0 22px 0}.stop:before{content:'';position:absolute;left:-24px;top:8px;background:#ffa923;border:2px solid #fffdf9;width:12px;height:12px;border-radius:50%}.edit .stop:before{background:var(--pink)}.stop-row{display:flex;gap:10px;align-items:flex-start}.stop-main{flex:1;min-width:0}.stop time{font-size:13px;font-weight:bold}.stop h3{line-height:1.5;margin:4px 0}.stop .address{font-size:10px;color:var(--muted);margin:4px 0}.stop .stop-offer{font-size:11px;color:#c04e61;background:#fff0c6;padding:4px 6px;border-radius:6px;margin:4px 0}.stop-visual{width:76px;height:66px;border-radius:10px;flex:none;object-fit:cover;background:#e8f2f2}.place-art{width:76px;height:66px;border-radius:10px;background:linear-gradient(#d8eff6,#f0f5e6);display:grid;place-items:center;font-size:25px;flex:none}.stop-links{display:flex;gap:10px;flex-wrap:wrap}.stop-links a{font-size:10px;color:#777;text-decoration:underline}.stop .between{font-size:10px;color:#777;margin-top:8px}.edit-tools{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.edit-tools button{min-width:40px;min-height:36px;background:white;border:1px solid #eee;border-radius:8px;font-size:11px}.benefit-list{display:grid;gap:12px}.benefit-card{display:flex;gap:12px;align-items:center;border:1px solid #eee9e4;border-radius:16px;background:white;padding:14px;width:100%;text-align:left}.store-logo{width:58px;height:58px;flex:none;border-radius:12px;background:#faf4eb;display:grid;place-items:center;color:#8d715a;font-size:11px;font-weight:bold;text-align:center}.benefit-card .details{flex:1;min-width:0}.benefit-card h3{font-size:14px}.benefit-card p{font-size:12px;margin:5px 0;color:#d74f6c;font-weight:bold}.benefit-card small{display:block}.benefit-add{font-size:12px;color:#cd4964;margin-top:8px;display:block}.location-label{font-size:11px;padding:10px;background:#f1f6f7;border-radius:10px;line-height:1.7}.completion-heading{text-align:center}.completion-heading h1{margin-bottom:8px}.template{--accent:#f16e83;--soft:#fff3d7;position:relative;border-radius:18px;background:var(--soft);overflow:hidden;border:1px solid #e7d9c5;padding:22px 16px;isolation:isolate}.template.rain{--accent:#67aecd;--soft:#eaf5fc}.template.sun{--accent:#e3a51c;--soft:#fff6d6}.template .art-top{height:130px;position:relative;margin:-5px 0 5px}.template .art-top svg{width:100%;height:100%}.template h2{text-align:center;font-size:21px;margin:0;color:#573b38;line-height:1.5}.template .plan-date{text-align:center;font-weight:bold;font-size:13px;margin:9px 0 12px}.template .card-schedule{background:#fffc;border-radius:14px;padding:14px 12px}.template .card-item{display:flex;gap:10px;border-left:2px solid var(--accent);padding:0 0 12px 12px;font-size:12px;line-height:1.6}.template .card-item:last-child{padding-bottom:0}.template .card-item time{flex:none;font-weight:bold}.template .card-item strong{display:block}.template .card-item small{display:block;font-size:9px;color:#746660}.template .art-bottom{height:45px;margin-top:15px}.template .art-bottom svg{height:100%;width:100%}.template .brandline{text-align:center;font-size:10px;color:#746660;margin:8px 0 0}.preview-image{display:block;width:100%;height:auto;border-radius:18px}.completion-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.completion-actions .button{border-radius:14px;font-size:12px;min-height:58px}.text-plan{margin-top:20px;border-top:1px solid var(--line);padding-top:5px}.current-card{background:white;border:1px solid #eee;border-radius:16px;padding:15px}.current-card .place-art,.current-card .stop-visual{width:105px;height:100px}.current-card h2{font-size:17px;margin:5px 0}.upcoming{list-style:none;padding:0}.upcoming li{border-bottom:1px solid #eee;padding:12px 0;display:flex;gap:10px;font-size:13px}.upcoming time{font-weight:bold;width:42px;flex:none}.saved-card{display:flex;align-items:center;gap:12px;border:1px solid #eee;border-radius:16px;background:white;padding:12px;margin:12px 0}.saved-card>img{width:68px;height:90px;object-fit:cover;object-position:top;border-radius:9px;background:#f9efd8}.saved-card>div{flex:1;min-width:0}.saved-card h3{font-size:13px}.saved-card small{display:block}.saved-tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.saved-tools button{border:1px solid #ecd9df;background:#fff7f9;border-radius:7px;min-height:30px;font-size:10px;padding:5px}.status-box{background:#fff3df;padding:12px;border-radius:12px;color:#72573d;font-size:12px;line-height:1.7;margin:15px 0}.notice{background:#f4f5f1;border-radius:12px;padding:12px;font-size:11px;line-height:1.8;margin:12px 0}dialog{border:0;border-radius:20px;padding:24px;width:calc(100% - 32px);max-width:398px;max-height:85dvh;overflow:auto;color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#332c285b}#dialog-close{float:right;border:0;background:#f4f3f0;border-radius:50%;width:36px;height:36px;font-size:24px}dialog h2{clear:both;padding-top:8px}dialog .source{color:#b34861;text-decoration:underline;font-size:12px}dialog dl{font-size:13px;line-height:1.8}dialog dt{font-weight:bold;margin-top:12px}dialog dd{margin:4px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:370px;background:#333;color:white;border-radius:12px;padding:14px;z-index:20;font-size:12px;box-shadow:0 5px 20px #0003}.picker{display:grid;gap:8px;margin:12px 0}.picker button{text-align:left;border:1px solid #eee;background:white;padding:12px;border-radius:12px;min-height:50px}.picker small{display:block}.name-input{width:100%;padding:12px;border:1px solid #e8e2da;border-radius:10px;font-size:14px}.error{color:#ae2948;font-size:12px;line-height:1.7}@media(max-width:359px){.screen{padding:16px 14px 24px}.sticky-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.hero-copy{width:195px;left:16px}.hero-copy p{font-size:12px}.hero-message{width:142px;left:16px;top:214px}.hero-character{width:118px}.hero-cta{left:12px;right:12px;font-size:15px;gap:7px;padding:10px 12px}.app-header img{width:183px}.stop-visual,.place-art{width:60px;height:58px}.button{font-size:12px}.field-row{grid-template-columns:75px 1fr}.age-grid{gap:7px}.option{font-size:11px}.store-logo{width:48px;height:48px}.benefit-card{padding:12px;gap:9px}}@media(min-width:700px){.phone-app{margin:32px auto;border:1px solid #e5dfd4;border-radius:26px;min-height:calc(100dvh - 64px)}.screen{min-height:calc(100dvh - 124px)}}

.template .card-character{position:absolute;bottom:0;left:38%;width:72px;height:95px;object-fit:contain}
/* Keep the one-page condition form within the primary mobile viewport. */
#conditions-form .fields{gap:12px}
#conditions-form .age-grid .option{aspect-ratio:auto;height:82px}
#condition-locate{display:none}
#geo-status:empty{display:none}
#conditions-form .progress{margin-bottom:18px}
#conditions-form .sticky-actions{margin-top:16px}
#conditions-form .mood-grid .option{min-height:44px;padding:8px}
@media(max-width:359px){.screen>h1{font-size:20px}#conditions-form .age-grid .option{height:74px}}
/* Adopt, change or skip: detailed controls remain in the secondary editing mode. */
.stop .reason{font-size:12px;line-height:1.7;color:#766b62;margin:6px 0 8px}
.proposal-screen .page-back{border:1px solid #d9d4cf;border-radius:12px;background:#fff;padding:8px 14px;min-height:42px;color:#655e5b;font-weight:600;margin-bottom:10px}
.proposal-screen .proposal-date-block{margin:10px 0 14px;padding:8px 10px;border-radius:12px;background:#fff7f5}
.proposal-screen .proposal-date-inline{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.proposal-screen .date-line-icon{width:16px;height:16px;flex:none;fill:none;stroke:#c67683;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.proposal-screen .date-label{display:inline;font-size:10px;color:#776c68;font-weight:700;letter-spacing:.04em;margin:0}
.proposal-screen .proposal-date{font-size:16px;font-weight:800;color:#963d45;margin:0;line-height:1.35;min-width:0}
.proposal-weather{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid #f0dfdd}
.proposal-weather .weather-icon{width:30px;height:30px;flex:none;fill:none;stroke:#e7a51e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.proposal-weather span{display:flex;flex-direction:column;gap:2px}.proposal-weather strong{font-size:14px}.proposal-weather small{font-size:10px;color:#8a817d}
.proposal-weather .weather-source{margin-left:auto;font-size:10px;color:#8b7d7a;text-decoration:underline;white-space:nowrap}
.proposal-notice{margin-top:28px;padding:13px 14px;border-radius:12px;background:#f4f2ed;color:#6d6864}
.proposal-notice strong{font-size:11px;color:#655e5b}.proposal-notice p{margin:5px 0 0;font-size:10px;line-height:1.65}
.button.change-button{width:auto;min-height:36px;min-width:68px;margin:8px 0 0 auto;padding:6px 14px;color:#ce526d;background:white;border:1px solid #f1bcc8;font-size:12px}
.button.text-button{background:transparent;border:0;color:#796d70;font-size:12px;font-weight:normal;min-height:36px;padding:7px 8px;text-decoration:underline}
.candidate-list{display:grid;gap:12px;margin:16px 0}
.candidate-card{padding:14px;border:1px solid #ece7df;border-radius:15px;background:#fffdf9}
.candidate-card .source,.photo-credit{display:inline-block;font-size:10px;color:#887d76;text-decoration:underline;margin:6px 8px 0 0}
.candidate-card .reason{color:#ab596c;font-size:12px}
.candidate-card .stop-offer,.suggestion .stop-offer{font-size:12px;color:#bd536b}
.nearby-benefits{border:1px solid #f5dbe3;border-radius:16px;padding:14px;background:#fff4f6;margin:8px 0 20px}
.nearby-benefits h2{font-size:15px;margin:0 0 8px}
.suggestion{border-top:1px solid #f1d7df;padding-top:12px;margin-top:12px}
.suggestion-actions{display:flex;gap:8px;align-items:center}
.suggestion-actions .button{width:auto;font-size:11px;min-height:38px;padding:8px 12px}
.upcoming time{width:76px}
.edit-tools select{max-width:100%;border:1px solid #e5dfd8;border-radius:8px;padding:6px;background:white;font-size:12px}
@media(max-width:359px){.stop .reason{font-size:11px}.suggestion-actions{flex-wrap:wrap}.candidate-card{padding:12px}}
.timeline.edit .stop{padding-bottom:16px}
.timeline.edit .button.change-button{min-height:32px;margin-top:4px}
/* Latest image-first flow; retain the adopted FV layers and geometry. */
.hero-cta .hero-cta-copy{font-size:15px;line-height:1.2}.hero-cta .hero-cta-copy small{font-size:10px;line-height:1.2;margin-top:3px}.optional-conditions{font-size:12px;color:#746f6d}.optional-conditions summary{padding:12px 0;cursor:pointer}.optional-conditions[open] .field-row{margin-bottom:14px}.loading-screen h1{text-align:center;white-space:pre-line;font-size:21px;color:#d94e73}.guide-scene{position:relative;width:240px;height:230px;margin:28px auto 18px}.guide-scene>img{position:absolute;left:70px;top:40px;width:110px;height:150px;object-fit:contain}.guide-prop{position:absolute;width:190px;left:25px;bottom:4px}.orbit{position:absolute;border:2px solid #eee2db;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;background:white;font-size:28px;color:#65a96b}.orbit.one{left:0;top:28px}.orbit.two{right:0;top:10px}.orbit.three{right:0;bottom:35px}.drawing .guide-prop{width:155px;left:64px}.loading-checks{list-style:none;padding:0;margin:20px 0;font-size:12px;line-height:2.4}.loading-checks li:before{content:'○';color:#f16e83;margin-right:8px}.loading-checks li.done:before{content:'✓';color:#28a661}.loading-checks li.active{font-weight:bold}.guide-bubble{background:#ffe5ed;border-radius:28px;text-align:center;padding:15px}.toyama-footer{position:relative;height:44px;overflow:hidden;background:#f7fbf5}.toyama-footer svg{width:100%;height:44px}.toyama-footer span{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:8px;color:#577251}.screen{min-height:calc(100dvh - 104px)}.completion-actions{grid-template-columns:1fr}.completion-actions .button{font-size:14px;min-height:48px}.text-plan>summary{padding:12px 0;font-size:12px;text-align:center;cursor:pointer}.preview-image{border:1px solid #efe0cf;border-radius:8px}.suggestion details{font-size:10px;margin:8px 0}.suggestion details p{font-size:11px}@media(min-width:700px){.screen{min-height:calc(100dvh - 168px)}}

/* Shared transparent artwork for mobile and desktop. */
.landscape-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.toyama-footer{background:transparent}.toyama-footer .landscape-image{height:44px}.scene-character{display:block;width:70px;height:90px;object-fit:contain;margin:0 auto 12px}.formal-character>img{left:0;top:0;width:100%;height:100%;object-fit:contain}.formal-character .guide-prop{display:none}

/* Facility cards share a 4:3 frame; missing images retain their fallback. */
.stop-visual,.place-art{aspect-ratio:4/3;height:auto;min-height:0}.current-card .stop-visual,.current-card .place-art{aspect-ratio:4/3;height:auto}

/* Fixed official introductions and condition-based reasons stay separate. */
.information-label{font-size:10px!important;font-weight:700;margin:10px 0 3px!important;color:#655a53}.place-introduction{font-size:12px!important;line-height:1.7!important;margin:0!important;overflow-wrap:anywhere}.reason-label{color:#c75270}.information-source{font-size:10px;margin:8px 0;line-height:1.6;overflow-wrap:anywhere}.information-source a{display:block;color:#656e7c}.information-source small{display:block}.verified-benefit{font-size:11px;font-weight:700;color:#bc5069}.planning-notice{font-size:11px;color:#845623;background:#fff3d7;padding:7px;border-radius:7px;line-height:1.6}.stop-main{min-width:0}

/* Latest 13-screen mock: formal transparent assets and four condition steps. */
:root{--ink:#10233e}.ui-icon{width:25px;height:25px;object-fit:contain;flex:none}.place-icon{width:34px;height:34px;object-fit:contain}.app-header>button .ui-icon{width:24px;height:24px}.page-back .ui-icon{width:14px;height:14px;margin-right:6px}.home-links .ui-icon{display:block;margin:0 auto 5px}.home-links span{font-size:11px}.toyama-footer{height:auto;min-height:44px}.toyama-footer .landscape-image{height:auto;width:100%;aspect-ratio:1600/317;object-fit:contain}.hero-character{width:148px;bottom:115px}.scene-character{width:126px;height:140px}.guide-scene{width:250px;height:250px;margin:18px auto}.guide-scene .ui-icon{width:30px;height:30px}.formal-character>img{inset:0;width:100%;height:100%}.formal-character .orbit{z-index:2;width:40px;height:40px}.wizard-screen{padding-top:18px;padding-bottom:16px}.wizard-screen .eyebrow{display:none}.wizard-screen h1{text-align:center;font-size:22px;white-space:pre-line;margin:15px 0 4px}.wizard-subtitle{text-align:center;font-size:12px;margin:0 0 16px}.wizard-progress{display:flex;justify-content:space-between;position:relative;list-style:none;padding:0;margin:6px 32px 20px}.wizard-progress:before{content:'';position:absolute;left:0;right:0;top:4px;height:3px;background:#d3d7db}.wizard-progress li{width:10px;height:10px;border-radius:50%;background:#d3d7db;z-index:1}.wizard-progress li.active{background:var(--pink)}.wizard-fields{display:grid;gap:10px}.wizard-options{display:grid;gap:9px}.wizard-option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #e6e6e4;border-radius:12px;background:#fff;min-height:61px;padding:10px 13px;text-align:left;cursor:pointer}.wizard-option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0}.wizard-option:has(input:checked){border-color:var(--pink);background:#fff0f4;box-shadow:inset 0 0 0 1px var(--pink)}.wizard-option:has(input:focus-visible){outline:3px solid #477e9c}.wizard-option .ui-icon{width:34px;height:34px}.option-copy{flex:1;min-width:0}.option-copy strong{display:block;font-size:14px;line-height:1.3}.option-copy small{display:block;font-size:10px;color:#152743;margin-top:3px}.option-next{width:12px;height:16px;object-fit:contain}.wizard-age-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.wizard-age-grid .wizard-option{min-height:94px;flex-direction:column;gap:5px;padding:8px 4px;text-align:center}.wizard-age-grid .option-copy strong{font-size:12px}.wizard-guide{display:flex;align-items:center;gap:12px;margin:18px 0 7px}.wizard-guide .scene-character{width:120px;height:126px;margin:0;flex:none}.wizard-guide .guide-bubble{font-size:12px;background:#fff;border:1px solid #bedbe9;border-radius:50%;padding:18px;flex:1}.wizard-actions{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.wizard-actions .button{min-height:42px;font-size:13px;padding:9px}.wizard-fields .field-row{margin-top:8px}.wizard-fields .optional-conditions summary{padding:5px 0}.finish-screen{text-align:center}.finish-screen .scene-character{width:220px;height:230px}.completion-actions .button{border-radius:999px}.screen{min-height:calc(100dvh - 138px)}
@media(max-width:359px){.wizard-screen h1{font-size:20px}.wizard-option{min-height:55px;gap:8px;padding:9px 11px}.option-copy strong{font-size:12px}.wizard-age-grid{gap:6px}.wizard-age-grid .wizard-option{min-height:88px}.wizard-guide .scene-character{width:100px;height:106px}.wizard-guide .guide-bubble{padding:13px;font-size:11px}.hero-character{width:126px}.wizard-screen .wizard-subtitle{font-size:11px}}@media(min-width:700px){.screen{min-height:calc(100dvh - 202px)}}

.transport-options{grid-template-columns:repeat(3,1fr)}.transport-options .wizard-option{flex-direction:column;text-align:center;gap:4px;min-height:60px;padding:8px}.transport-options .ui-icon{width:24px;height:24px}.transport-options .option-next{display:none}.transport-options .option-copy strong{font-size:12px}.wizard-screen[data-step="4"] .wizard-actions{grid-template-columns:1fr 1.4fr}.wizard-screen[data-step="4"] .wizard-actions .button{font-size:12px}

/* HOME only: start a plan, with optional search lower on the page. */
.home-screen{color:#333333;background:#fffdf9}.home-screen .hero-copy p{color:#333333}.home-welcome{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px 20px 9px}.home-welcome .scene-character{width:75px;height:87px;margin:0;flex:none}.welcome-copy{font-size:14px;font-weight:700;line-height:1.7;margin:0;padding:12px 14px;border:1px solid #eee2d6;border-radius:18px;background:white;box-shadow:0 4px 14px #b7a8970d}.home-plan-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 18px 24px;margin:0;gap:12px}.home-plan-flow li{position:relative;text-align:center;min-width:0}.home-plan-flow .ui-icon{display:block;width:28px;height:28px;margin:0 auto 7px}.home-plan-flow li span{display:block;font-size:11px;line-height:1.5}.home-plan-flow li:not(:last-child):after{content:'›';position:absolute;right:-10px;top:6px;color:#b0b3ad;font-size:18px}.home-explore{border-top:1px solid #ede9e2;margin:0 20px;padding:20px 0 14px}.home-explore h2{text-align:center;font-size:13px;font-weight:500;color:#6a655e;margin:0 0 13px}.home-explore-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.home-explore-links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:82px;padding:10px 4px;border:1px solid #eee8de;background:#fff;border-radius:14px;box-shadow:0 3px 10px #76664806;font-size:11px;line-height:1.5;text-align:center}.home-explore-links .ui-icon{width:26px;height:26px}.home-utility{display:flex;justify-content:center;gap:24px;padding:8px 16px 16px}.home-utility button{display:flex;align-items:center;gap:6px;border:0;background:transparent;font-size:11px;color:#6a655e;padding:8px 0;min-height:36px}.home-utility .ui-icon{width:16px;height:16px}.phone-app:has(.home-screen)>.toyama-footer .landscape-image{height:65px;aspect-ratio:auto;object-fit:contain;object-position:center bottom}.home-explore-links a:hover,.home-utility button:hover{color:#ba5066;background:#fffcf7}
@media(max-width:359px){.home-welcome{gap:8px;padding:17px 14px 7px}.home-welcome .scene-character{width:65px;height:76px}.welcome-copy{font-size:12px;padding:10px 11px}.home-plan-flow{padding-left:14px;padding-right:14px;gap:10px}.home-plan-flow li span{font-size:10px}.home-explore{margin:0 14px}.home-explore-links{gap:6px}.home-explore-links a{font-size:10px;min-height:76px}.home-utility{gap:18px}}

/* Condition steps only: a single primary question and a reachable next action. */
.wizard-screen{color:#333;background:#fffdf9;padding-top:16px;padding-bottom:0;display:flex;flex-direction:column;min-height:calc(100dvh - 140px)}.wizard-screen .wizard-progress{margin:5px 38px 13px}.wizard-screen .wizard-progress li[aria-current="step"]{box-shadow:0 0 0 4px #ffe5eb}.wizard-step-label{text-align:center;font-size:10px;font-weight:700;letter-spacing:.15em;color:#a86a76;margin:0 0 6px}.wizard-screen h1{font-size:24px;line-height:1.45;margin:7px 0}.wizard-screen .wizard-subtitle{font-size:12px;color:#746f6d;margin:0 0 20px}.wizard-screen #conditions-form{display:flex;flex-direction:column;flex:1}.wizard-screen .wizard-fields{gap:10px}.wizard-screen .wizard-options{gap:10px}.wizard-screen .wizard-option{border-color:#e8e5dc;border-radius:16px;min-height:65px;box-shadow:0 3px 12px #53614907;background:#fff;padding:12px 14px;gap:14px}.wizard-screen .wizard-option:has(input:checked){background:#fff0f4;border-color:#f16e83;box-shadow:inset 0 0 0 1px #f16e83,0 4px 14px #f16e8312}.wizard-screen .wizard-option .option-copy strong{font-size:15px;color:#333}.wizard-screen .wizard-option .option-copy small{color:#777268;font-size:11px}.wizard-screen .option-next{opacity:.65}.wizard-screen .choice-check{display:none;position:absolute;top:6px;right:6px;pointer-events:none}.wizard-screen .choice-check .ui-icon{width:16px;height:16px}.wizard-screen .wizard-option:has(input:checked) .choice-check{display:block}.wizard-screen .wizard-option:has(input:checked) .option-next{opacity:0}.wizard-screen .wizard-age-grid{gap:10px}.wizard-screen .wizard-age-grid .wizard-option{min-height:106px;padding:12px 5px;gap:7px}.wizard-screen .wizard-age-grid .option-copy strong{font-size:13px}.wizard-screen .wizard-age-grid .option-copy small{font-size:10px}.wizard-screen .wizard-guide{gap:16px;margin:22px 0 15px;align-items:center}.wizard-screen .wizard-guide .scene-character{width:106px;height:116px}.wizard-screen .wizard-guide .guide-bubble{border-radius:22px;border:1px solid #dbe8d5;background:#f3f8ef;color:#4f5b48;padding:16px;font-size:12px;line-height:1.75;box-shadow:0 3px 12px #5b755508}.wizard-screen .wizard-actions{position:sticky;bottom:0;z-index:3;grid-template-columns:1fr 1.45fr;gap:12px;margin:auto -20px 0;padding:12px 20px max(15px,env(safe-area-inset-bottom));background:#fffdf9f5;border-top:1px solid #eeeae3;backdrop-filter:blur(8px)}.wizard-screen .wizard-actions .button{min-height:49px;font-size:14px;padding:11px 12px;box-shadow:0 4px 14px #f16e8312}.wizard-screen .wizard-actions .button.outline{box-shadow:none;color:#7a6d70;border-color:#dfd8d1}.wizard-screen .wizard-fields>.note{font-size:10px;line-height:1.6;color:#898176;margin:0}.wizard-screen .wizard-secondary{background:#f3f7ef;border:1px solid #e3e9dd;border-radius:14px;padding:10px 12px;font-size:12px}.wizard-secondary summary{cursor:pointer;line-height:1.8}.wizard-secondary summary strong{font-size:11px;font-weight:500}.departure-summary{display:block;font-size:12px;font-weight:700;padding-left:14px;color:#56684a}.wizard-screen .wizard-secondary .field-row{margin:13px 0}.wizard-screen .transport-options .wizard-option{min-height:61px;gap:4px;padding:8px;border-radius:12px}.wizard-screen .transport-options .option-copy strong{font-size:12px}.wizard-screen .transport-options .ui-icon{width:24px;height:24px}.wizard-screen .optional-conditions{margin-top:1px}.wizard-screen .optional-conditions summary{color:#7f7873;font-size:11px}.wizard-screen .error:empty{display:none}.wizard-screen[data-step="4"] .wizard-guide{margin-top:14px}.wizard-screen[data-step="4"] .wizard-actions{grid-template-columns:1fr 1.45fr}.wizard-screen[data-step="4"] .wizard-actions .button{font-size:14px}
@media(max-width:359px){.wizard-screen{padding:14px 16px 0}.wizard-screen h1{font-size:21px;letter-spacing:-.045em}.wizard-screen .wizard-subtitle{font-size:11px;margin-bottom:16px}.wizard-screen .wizard-option{min-height:60px;padding:10px 12px;gap:11px}.wizard-screen .wizard-option .option-copy strong{font-size:13px}.wizard-screen .wizard-option .option-copy small{font-size:10px}.wizard-screen .wizard-age-grid{gap:8px}.wizard-screen .wizard-age-grid .wizard-option{min-height:101px;padding:10px 4px}.wizard-screen .wizard-age-grid .option-copy strong{font-size:12px}.wizard-screen .wizard-guide{gap:10px;margin:17px 0 13px}.wizard-screen .wizard-guide .scene-character{width:88px;height:98px}.wizard-screen .wizard-guide .guide-bubble{padding:13px;font-size:11px}.wizard-screen .wizard-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;gap:10px}.wizard-screen .wizard-actions .button,.wizard-screen[data-step="4"] .wizard-actions .button{font-size:12px;min-height:48px}.wizard-screen .wizard-secondary{padding:9px 10px}}@media(min-width:700px){.wizard-screen{min-height:calc(100dvh - 204px)}}
/* Keep the STEP4 guide fully above the thumb action area. */
.wizard-screen[data-step="4"] .wizard-options:not(.transport-options) .wizard-option{min-height:60px;padding-top:10px;padding-bottom:10px}.wizard-screen[data-step="4"] .wizard-options:not(.transport-options) .option-copy strong{font-size:14px}.wizard-screen[data-step="4"] .wizard-options:not(.transport-options) .option-copy small{font-size:10px}.wizard-screen[data-step="4"] .wizard-guide{margin-top:8px;margin-bottom:12px}.wizard-screen[data-step="4"] .wizard-guide .scene-character{width:92px;height:100px}

/* Recommended plan: presentation only, scoped to this screen. */
.proposal-screen{background:#fffdf9;padding:14px 18px 22px;color:#333}
.proposal-screen>.eyebrow{display:none}
.proposal-screen>.page-back{font-size:11px;min-height:32px}
.proposal-screen .proposal-heading{display:flex;align-items:center;gap:12px;margin:6px 0 12px}
.proposal-screen .proposal-heading>.scene-character{width:82px;height:96px;object-fit:contain;margin:0;flex:none}
.proposal-screen .proposal-heading-copy{min-width:0;flex:1}
.proposal-screen h1{font-size:24px;line-height:1.45;margin:0 0 7px;letter-spacing:-.05em}
.proposal-screen .proposal-subtitle{font-size:12px;line-height:1.6;margin:0;color:#776960}
.proposal-screen .proposal-tags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.proposal-screen .proposal-tags span{font-size:10px;line-height:1.5;border-radius:999px;background:#fff;border:1px solid #f0a6b7;color:#b85a70;padding:4px 9px}
.proposal-screen .proposal-date{font-size:12px;font-weight:bold;margin:12px 0;color:#83525a}
.proposal-screen .timeline{margin:12px 0 0;padding-left:14px;border-left:2px solid #f5c4cd}
.proposal-screen .stop{padding-bottom:16px;position:relative}
.proposal-screen .stop:before{left:-21px;top:16px;width:11px;height:11px;background:#f16e83;border:2px solid #fffdf9}
.proposal-screen .stop-row{position:relative;display:block;background:white;border:1px solid #eee8e3;box-shadow:0 3px 12px #7c654809;border-radius:17px;padding:13px 12px}
.proposal-screen .proposal-stop-heading{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding-right:64px;margin-bottom:7px;min-height:24px}
.proposal-screen .stop time{color:#d75370;font-size:13px}
.proposal-screen .proposal-category{font-size:10px;color:#80756f}
.proposal-screen .stop h3{font-size:16px;line-height:1.5;margin:0 44px 10px 0;overflow-wrap:anywhere}
.proposal-screen .stop .place-art{position:absolute;right:12px;top:47px;width:33px;height:36px;background:none;border-radius:0}
.proposal-screen .place-art .place-icon{width:30px;height:30px;object-fit:contain}
.proposal-screen .stop .stop-visual{display:block;width:100%;height:104px;margin-top:10px;object-fit:cover;border-radius:10px}
.proposal-screen .information-label{font-size:9px;letter-spacing:.02em;color:#91867e;margin:9px 0 3px;font-weight:normal}
.proposal-screen .place-introduction{font-size:12px;line-height:1.7;margin:0;color:#514b47}
.proposal-screen .reason-label{color:#a36772;margin-top:10px}
.proposal-screen .reason{font-size:11px;line-height:1.75;background:#fff5f7;color:#865560;border-radius:9px;padding:7px 8px;margin:0;overflow-wrap:anywhere}
.proposal-screen .information-source{font-size:9px;margin-top:9px;color:#96897f}
.proposal-screen .information-source summary{font-size:9px;min-height:24px}
.proposal-screen .stop .change-button{position:absolute;right:10px;top:10px;width:auto;min-height:32px;padding:5px 7px;border-radius:9px;font-size:10px;background:#faf9f7;border:1px solid #eee8e3;color:#776c64;gap:3px}
.proposal-screen .change-button .ui-icon{width:13px;height:13px}
.proposal-screen .stop .between{margin:9px 0 0 4px;font-size:10px;line-height:1.5;color:#8a817b}
.proposal-screen .verified-benefit{font-size:10px;line-height:1.6;background:#fff4d9;border-radius:7px;padding:5px 7px}
.proposal-screen .planning-notice{font-size:10px}
.proposal-screen .photo-credit{font-size:9px}
.proposal-screen .proposal-note{font-size:10px;line-height:1.7;margin:2px 0 16px}
.proposal-screen .proposal-actions{gap:5px;margin:14px 0 0}
.proposal-screen .proposal-actions>.button:not(.text-button){min-height:56px;font-size:17px;border:2px solid white;box-shadow:0 4px 14px #ed72852b;background:#f16e83}
.proposal-screen .proposal-actions>.button.outline,.sticky-actions>.button.outline{background:#fff;border:2px solid var(--pink);color:#d85572;box-shadow:none}
.benefit-cta{background:#eaf9fb;border:1px solid #78cbd0;border-radius:22px;padding:16px 16px 14px;margin:0 0 4px}.benefit-cta-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#087c84;font-size:16px;line-height:1.5;font-weight:bold}.benefit-cta-gift{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.benefit-cta-copy{margin:0 0 12px;color:#3e4c4d;font-size:12px;line-height:1.7}.benefit-cta .benefit-cta-button{margin-left:10%;width:80%;background:#0da5b0;border-color:#0da5b0;color:#fff;min-height:48px;font-size:14px;box-shadow:none}
.proposal-screen .proposal-actions>.text-button{min-height:40px;font-size:11px;color:#877a73;text-decoration:underline;background:none;border:0;padding:8px;box-shadow:none;font-weight:normal}
.proposal-screen .stop .information-label,
.proposal-screen .stop .reason-label,
.proposal-screen .stop .reason,
.proposal-screen .stop .stop-offer,
.proposal-screen .stop .planning-notice,
.proposal-screen .stop .information-source,
.proposal-screen .stop .verified-benefit,
.proposal-screen .stop .note{display:none}
.proposal-screen .place-introduction{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;line-height:1.9}
@media(max-width:350px){.proposal-screen{padding-left:14px;padding-right:14px}.proposal-screen h1{font-size:21px}.proposal-screen .proposal-heading{gap:8px}.proposal-screen .proposal-heading>.scene-character{width:66px;height:80px}.proposal-screen .proposal-subtitle{font-size:10px}.proposal-screen .stop-row{padding:12px 10px}.proposal-screen .stop h3{font-size:14px}.proposal-screen .proposal-stop-heading{gap:5px;padding-right:56px}.proposal-screen .stop time{font-size:12px}.proposal-screen .proposal-category{font-size:9px}.proposal-screen .place-introduction{font-size:11px}.proposal-screen .reason{font-size:10px}.proposal-screen .proposal-actions>.button:not(.text-button){font-size:16px}}

/* Benefits, image preparation and completed A4: screen-scoped UI. */
.benefits-screen,.complete-screen{padding:14px 18px 25px;background:#fffdf9;color:#333}
.benefits-screen>.eyebrow,.complete-screen>.eyebrow,.image-loading-screen>.eyebrow{display:none}
.benefits-screen>.page-back,.complete-screen>.page-back{min-height:32px;font-size:11px}
.benefits-heading,.complete-heading{display:flex;align-items:center;gap:12px;margin:7px 0 20px}
.benefits-heading>.scene-character,.complete-heading>.scene-character{width:76px;height:92px;object-fit:contain;margin:0;flex:none}
.benefits-heading-copy,.complete-heading-copy{min-width:0;flex:1}
.benefits-screen h1{font-size:22px;line-height:1.45;margin:0 0 9px;letter-spacing:-.04em}
.benefits-heading .note{font-size:11px;margin:0;line-height:1.6}
.benefits-screen .benefit-list{gap:14px}
.benefits-screen .benefit-choice{border:1px solid #eee6df;background:white;border-radius:18px;padding:16px;box-shadow:0 4px 15px #7c654808}
.benefits-screen .benefit-name{display:flex;align-items:center;gap:9px}
.benefits-screen .benefit-name .ui-icon{width:28px;height:28px;object-fit:contain;flex:none}
.benefits-screen .benefit-name h2{margin:0;font-size:16px;line-height:1.5}
.benefits-screen .stop-offer{font-size:14px;line-height:1.7;color:#bb536b;font-weight:bold;background:#fff4f6;border-radius:10px;padding:10px;margin:13px 0 9px}
.benefits-screen .benefit-route{font-size:11px;color:#6c7e64;background:#f1f6ec;border-radius:8px;padding:7px 9px;margin:0 0 10px}
.benefits-screen .benefit-information{font-size:10px;color:#8a7b72}
.benefits-screen .benefit-information summary{min-height:32px;display:list-item;padding-top:7px}
.benefits-screen .benefit-information .source{font-size:10px;line-height:1.7}
.benefits-screen .benefit-choice .actions{margin-top:12px}
.benefits-screen .benefit-choice .button{font-size:12px;min-height:48px;background:#f16e83}
.benefits-screen .benefit-skip{margin:20px -18px -25px;padding:12px 18px 18px}
.benefits-screen .benefit-skip .button{font-size:13px;min-height:48px;border-color:#edb7c2;color:#bc6073}
.image-loading-screen{background:#fffdf9;display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - 140px);padding:32px 22px 25px}
.image-loading-screen h1{font-size:23px;line-height:1.65;text-align:center;margin:10px auto 14px;max-width:300px;color:#cc5875}
.image-loading-screen .guide-scene{width:250px;height:260px;margin:8px auto 16px;flex:none}
.image-loading-screen .guide-scene>img{width:100%;height:100%;object-fit:contain}
.image-loading-screen .loading-checks{font-size:12px;margin:10px 0 12px;padding-left:20px;max-width:290px;line-height:1.9}
.image-loading-screen .guide-bubble{font-size:13px;background:#eff5e9;color:#657656;padding:11px 20px;border-radius:20px;margin:16px 0 0}
.complete-screen .complete-heading{justify-content:center;gap:14px;margin:5px 0 18px}
.complete-screen .complete-heading>.scene-character{width:64px;height:78px}
.complete-screen .complete-heading-copy{flex:initial}
.complete-screen h1{font-size:29px;color:#d95e7b;line-height:1.3;margin:0 0 5px;letter-spacing:.04em}
.complete-screen .complete-subtitle{font-size:15px;font-weight:bold;margin:0;color:#665950}
.complete-screen .preview-image{display:block;width:100%;height:auto;border-radius:6px;border:1px solid #e9e1d7;box-shadow:0 6px 24px #75614716;margin:0 0 21px}
.complete-screen .completion-actions{display:grid;gap:9px}
.complete-screen .completion-actions .button{min-height:48px;font-size:13px;background:white;border-color:#e4dbd2;color:#71665c}
.complete-screen .completion-actions .map-primary{min-height:56px;background:#f16e83;border:2px solid white;color:white;font-size:17px;box-shadow:0 4px 15px #ee75852b}
.complete-screen .completion-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.complete-screen .completion-secondary .button{min-width:0;font-size:11px;min-height:42px;padding:8px 5px}
.complete-screen .completion-actions .button .ui-icon{width:21px;height:21px;object-fit:contain}
.complete-screen .completion-actions .save-secondary{font-size:11px;min-height:42px;background:#f3f6ef;border-color:#e6eddc;color:#778668}
.complete-screen .text-plan{margin-top:17px;font-size:11px;color:#8a7b71}
.complete-screen .text-plan>summary{min-height:40px;padding-top:10px;text-align:center}
.complete-screen>.note{font-size:10px;margin-top:13px}
@media(max-width:350px){.benefits-screen,.complete-screen{padding-left:14px;padding-right:14px}.benefits-screen h1{font-size:20px}.benefits-heading{gap:8px}.benefits-heading>.scene-character{width:60px;height:80px}.benefits-screen .benefit-choice{padding:13px}.benefits-screen .benefit-choice .button{font-size:11px;padding-left:8px;padding-right:8px}.benefits-screen .benefit-name h2{font-size:14px}.benefits-screen .stop-offer{font-size:13px}.benefits-screen .benefit-skip{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.image-loading-screen{padding:25px 16px}.image-loading-screen h1{font-size:21px}.image-loading-screen .guide-scene{width:220px;height:235px}.image-loading-screen .loading-checks{font-size:11px}.complete-screen h1{font-size:27px}.complete-screen .complete-subtitle{font-size:13px}}

/* Final three screens: all rules scoped to preserve HOME through A4. */
.share-screen,.today-screen,.finish-screen{padding-top:12px;padding-bottom:24px}
.share-screen .eyebrow,.today-screen .eyebrow,.finish-screen .eyebrow{display:none}
.share-screen h1,.today-screen h1,.finish-screen h1{text-align:center;font-size:22px;margin:8px 0 14px;color:#10233e}
.share-hero{text-align:center}.share-hero .scene-character{display:block;width:205px;height:170px;object-fit:contain;margin:0 auto}
.closing-copy{text-align:center;margin:7px 0 12px;color:#71665c;font-size:12px}
.share-preview{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 16px;font-size:12px;color:#71665c;text-decoration:underline}
.share-preview img{width:45px;height:64px;object-fit:contain;border:1px solid #e6ded5;border-radius:4px}
.final-actions{display:grid;gap:9px;margin-top:14px}.final-actions .button{min-height:46px;font-size:14px}.final-actions .button.outline{background:white;border-color:#c6d9e5;color:#10233e}.final-actions .button:first-child{min-height:54px;font-size:16px}.share-screen .note{text-align:center;margin-bottom:0}
.navigation-heading{display:flex;justify-content:center;align-items:center;gap:14px;margin:4px 0 16px}.navigation-heading .scene-character{width:108px;height:120px;object-fit:contain;margin:0}.navigation-heading .guide-bubble{font-size:12px;background:white;border:1px solid #c6d9e5;white-space:pre-line;padding:14px 18px;border-radius:50%;margin:0}
.today-screen .current-card{border:1px solid #e4dfd7;border-radius:16px;padding:14px;background:white;box-shadow:0 3px 12px #75644b09}.today-screen .stop-row{display:flex;align-items:center;gap:12px}.today-screen .stop-visual,.today-screen .place-art{width:78px;flex:none}.destination-copy{min-width:0;flex:1}.destination-copy h2{font-size:18px;line-height:1.5;margin:3px 0;overflow-wrap:anywhere}.destination-time{color:#d85572;font-size:11px;font-weight:bold;margin:0}.destination-address{margin:8px 0}.destination-details{font-size:11px;color:#71665c;margin:8px 0 12px}.destination-details summary{cursor:pointer;padding:5px 0}.destination-map{min-height:48px;font-size:14px}.today-screen>h2{font-size:16px;margin:20px 0 10px}.today-screen .upcoming{list-style:none;padding:2px 10px 2px 18px;margin:0;border-left:2px solid #f4a5b6}.today-screen .upcoming li{display:flex;gap:10px;padding:9px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.today-screen .upcoming time{color:#d85572;font-weight:bold;flex:0 0 67px}.today-screen .upcoming span{min-width:0}.today-screen .status-box{font-size:11px}
.finish-screen>.scene-character{display:block;width:225px;height:238px;object-fit:contain;margin:24px auto 14px}.finish-screen>.guide-bubble{white-space:pre-line;background:white;border:1px solid #c6d9e5;border-radius:32px;padding:18px;margin:0 14px 24px;font-size:15px;color:#10233e}.finish-screen .final-actions{margin-top:0}
@media(max-width:350px){.share-screen h1,.today-screen h1,.finish-screen h1{font-size:19px}.share-hero .scene-character{height:148px}.final-actions .button{font-size:12px}.final-actions .button:first-child{font-size:14px}.today-screen .current-card{padding:11px}.destination-copy h2{font-size:16px}.today-screen .stop-visual,.today-screen .place-art{width:62px}.finish-screen>.scene-character{width:205px;height:216px}}
.finish-screen .page-back{display:flex;width:max-content}

/* HOME: full width landscape and compact utility links. */
.phone-app:has(.home-screen){min-height:0;padding-bottom:0}.phone-app:has(.home-screen) #app-main{padding-bottom:0;min-height:0}.phone-app:has(.home-screen)>.toyama-footer{height:auto;margin:0;padding:0;line-height:0;background:transparent}.phone-app:has(.home-screen)>.toyama-footer .landscape-image{display:block;width:100%;height:auto;max-height:none;object-fit:fill;margin:0}.home-utility{padding:22px 12px 18px}.home-utility button{font-size:12px;min-height:44px}

/* Supplied message illustrations: original ratio, no surrounding card. */
.phone-app .message-illustration-heading{display:block;width:calc(100% + 36px);max-width:none;margin:8px -18px 20px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;line-height:0;text-align:center}.message-illustration{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;margin:0 auto}.weather-information{margin:10px 0 16px}.weather-information .note{margin-bottom:4px}@media(max-width:360px){.phone-app .message-illustration-heading{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}}

/* Full formal illustrations: retain intrinsic proportions, no added card or speech bubble. */
.phone-app .message-illustration-heading{width:95%;max-width:540px;margin:8px auto 14px;background:none;border:0;border-radius:0;box-shadow:none;line-height:0}
.phone-app .message-illustration{width:100%;height:auto;max-height:none;object-fit:contain}
.phone-app .today-screen .message-illustration-heading,.phone-app .share-screen .message-illustration-heading,.phone-app .finish-screen .message-illustration-heading{max-width:360px;margin:4px auto 14px}
.illustration-fallback{display:block;font-size:22px;line-height:1.5;color:var(--ink)}
.condition-availability{margin:14px 0 0;font-size:13px}.condition-adjustments{grid-template-columns:1fr 1fr;gap:8px}.condition-adjustments .button{font-size:12px;padding:9px;min-height:42px}.wizard-actions .button:disabled{background:#e4e6e8;color:#555e69;box-shadow:none;cursor:default}
@media(max-width:360px){.phone-app .message-illustration-heading{width:95%;margin-left:auto;margin-right:auto}.phone-app .finish-screen .closing-copy{font-size:13px;margin:8px 0 14px}}

.phone-app .proposal-screen .message-illustration-heading,.phone-app .benefits-screen .message-illustration-heading{width:calc(100% + 36px);max-width:none;margin-left:-18px;margin-right:-18px}
.wizard-screen.no-plans .wizard-actions{position:static;margin-top:14px}.wizard-screen.no-plans .wizard-guide{display:none}.wizard-screen.no-plans .wizard-actions .button:disabled{opacity:1;border-color:#ccd0d5}
@media(max-width:360px){.phone-app .proposal-screen .message-illustration-heading,.phone-app .benefits-screen .message-illustration-heading{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}}

.phone-app .complete-screen .message-illustration-heading{width:95%;max-width:360px;margin:4px auto 14px}.complete-screen .preview-image{cursor:zoom-in}

.name-lunch-dialog{max-height:calc(var(--lunch-visible-height,100dvh) - 16px);padding:12px 16px;width:calc(100% - 20px);overflow:auto}.name-lunch-dialog h2{font-size:18px;margin:4px 0 8px}.name-lunch-dialog .name-input{font-size:16px;scroll-margin:12px}.name-lunch-dialog form{display:grid;gap:10px}.name-lunch-dialog form>.button{min-height:42px}.name-lunch-result:empty{display:none}.name-lunch-result p{margin:6px 0}.name-lunch-result strong{font-size:15px;line-height:1.5}.name-lunch-confirm{position:sticky;bottom:-12px;margin:0 -4px -4px;padding:8px 4px max(8px,env(safe-area-inset-bottom));background:var(--paper);z-index:2}.name-lunch-confirm .button{min-height:48px}.name-lunch-confirm .button:disabled{background:#e4e6e8;border-color:#ccd0d5;color:#555e69;opacity:1}

.name-lunch-dialog{position:fixed;top:calc(var(--lunch-visible-top,0px) + 8px);bottom:auto;margin:0 auto}.name-lunch-dialog #dialog-close{position:absolute;top:10px;right:12px;float:none}.name-lunch-dialog h2{clear:none;padding:2px 40px 0 0;min-height:34px}.name-lunch-dialog>.note{margin:4px 0}.name-lunch-result{max-height:max(52px,min(220px,calc(var(--lunch-visible-height,100dvh) - 270px)));overflow:auto;padding:2px 0}.name-lunch-confirm{position:static;margin:0;padding:4px 0 max(4px,env(safe-area-inset-bottom))}

/* Keep each search action separate, including the empty-results state. */
.name-lunch-dialog form{gap:18px}.name-lunch-dialog form>.name-input,.name-lunch-dialog form>.button{margin:0}.name-lunch-dialog .name-lunch-confirm{padding-top:0;margin:0;gap:0}.name-lunch-dialog .name-lunch-confirm .button{margin:0}.name-lunch-dialog .name-lunch-result{padding:0;max-height:max(52px,min(220px,calc(var(--lunch-visible-height,100dvh) - 310px)))}.name-lunch-dialog .name-lunch-result p{margin:10px 0}.name-lunch-dialog #dialog-content>.note{margin:8px 0 18px}

/* Optional preferences: modal on desktop, bottom sheet on phones. */
.preference-sheet{max-width:480px;padding:20px;max-height:85dvh;overflow:auto}.preference-sheet .name-input{font-size:16px;margin:8px 0 18px}.preference-sheet .mood-grid{display:grid;grid-template-columns:1fr;gap:12px}.preference-sheet .option{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px;font-size:14px}.preference-sheet input[type=checkbox]{width:20px;height:20px;flex:none}.preference-footer{position:sticky;bottom:-20px;padding:16px 0 max(16px,env(safe-area-inset-bottom));background:var(--paper);margin-top:16px}.preference-footer .button{width:100%;min-height:48px}.wizard-screen[data-step="4"] .wizard-actions{grid-template-columns:1fr;gap:10px}.wizard-screen[data-step="4"] .wizard-actions .button{width:100%}
@media(max-width:699px){dialog.preference-sheet{position:fixed;top:auto;bottom:0;margin:0 auto;width:100%;max-width:none;max-height:85dvh;border-radius:24px 24px 0 0;padding:18px 20px;animation:preference-rise .2s ease-out}.preference-sheet::before{content:'';display:block;margin:0 auto 12px;width:36px;height:4px;border-radius:4px;background:#d9d4cd}@keyframes preference-rise{from{transform:translateY(100%)}to{transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){dialog.preference-sheet{animation:none}}

/* Formal HOME image CTA: the image is the entire button. */
.home-screen .home-gacha-cta{display:block;width:calc(100% - 24px);max-width:406px;left:50%;right:auto;transform:translateX(-50%);bottom:16px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;line-height:0;overflow:visible}
.home-gacha-cta img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none}
.home-screen .home-gacha-cta:active{transform:translateX(-50%)}
.home-screen{--home-cta-height:min(calc((100vw - 24px)/2),203px)}
.home-screen .hero{height:calc(504px + var(--home-cta-height))}
.home-screen .hero-character{bottom:calc(39px + var(--home-cta-height))}

/* Basic departure first; detailed transport stays in the optional sheet. */
.basic-origin{display:grid;gap:8px;margin:16px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.basic-origin>label{font-size:17px;font-weight:bold;text-align:left}
.basic-origin select,.preference-sheet #preference-transport{width:100%;height:48px;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:16px}
.basic-origin .note{margin:0;text-align:left}
.preference-sheet #preference-transport{margin-bottom:4px}

/* HOME HERO: transparent header, service copy, compact path to gacha. */
.phone-app:has(.home-screen)>.app-header{position:absolute;inset:0 0 auto;background:transparent}
.phone-app:has(.home-screen)>.app-header>button{background:rgba(255,255,255,.82)}
.home-screen .hero{height:calc(440px + var(--home-cta-height))}
.home-screen .hero-copy{top:82px;left:20px;right:20px;width:auto}
.home-screen .hero-copy h1{width:clamp(218px,62vw,244px);max-width:100%}
.home-screen .hero-copy .hero-service-main{font-size:16px;font-weight:700;line-height:1.6;letter-spacing:-.04em;margin:14px 0 4px;color:#10233e}
.home-screen .hero-copy .hero-service-sub{font-size:11.5px;font-weight:400;line-height:1.65;letter-spacing:-.035em;margin:0;color:#10233e}
.home-screen .hero-message{top:340px;left:20px;width:120px}

.wizard-screen .range-heading{font-size:17px;margin:0 0 8px}.wizard-screen .range-heading+.note{margin:0 0 14px}

/* HOME: clear white header and a soft halo behind the title artwork only. */
.phone-app:has(.home-screen)>.app-header{background:#fff}
.home-screen .hero-copy h1{position:relative;isolation:isolate}
.home-screen .hero-copy h1::before{content:'';position:absolute;z-index:-1;inset:-12% -14%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.78) 0%,rgba(255,255,255,.6) 35%,rgba(255,255,255,.24) 60%,rgba(255,255,255,0) 75%);filter:blur(9px);pointer-events:none}

/* Zen Maru Gothic subset, SIL Open Font License 1.1.
Copyright 2021 The Zen Maru Gothic Project Authors (https://github.com/googlefonts/zen-marugothic)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
@font-face{font-family:'Toyama Copy Maru';font-style:normal;font-weight:500;font-display:swap;src:url(data:font/ttf;base64,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) format('truetype')}

.home-screen .hero-copy h1{width:clamp(190px,58vw,230px)}
.home-screen .hero-copy .hero-service-main{position:absolute;top:306px;left:0;right:0;margin:0;font-family:'Toyama Copy Maru','Hiragino Maru Gothic ProN',ui-rounded,sans-serif;font-weight:500;font-size:clamp(14px,4vw,16px);letter-spacing:0;line-height:1.7;text-align:center;text-shadow:0 0 4px rgba(255,255,255,.95),0 0 9px rgba(255,255,255,.9),0 0 17px rgba(255,255,255,.7)}
.home-screen .hero-message-wrap{position:absolute;top:98px;right:16px;width:clamp(82px,24vw,102px);isolation:isolate}
.home-screen .hero-message-wrap .hero-message{position:relative;inset:auto;width:100%;height:auto;display:block}
.home-screen .hero-message-wrap::before{content:'';position:absolute;inset:-14% -18%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.85),rgba(255,255,255,.62) 35%,rgba(255,255,255,.23) 62%,transparent 77%);filter:blur(8px);pointer-events:none}

.home-screen .hero-copy .hero-service-main{top:278px;right:auto;width:54%;text-align:left}.home-screen .hero-service-main>span{display:block;white-space:nowrap}

/* Same SIL OFL Zen Maru Gothic family (license above), bold copy subset. */
@font-face{font-family:'Toyama Copy Maru';font-style:normal;font-weight:700;font-display:swap;src:url(data:font/ttf;base64,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) format('truetype')}

/* HOME copy positions are relative to the unchanged HERO canvas. */
.home-screen .hero-copy{inset:0;width:auto;height:100%}
.home-screen .hero-copy h1{position:absolute;left:5%;top:16%;width:clamp(206px,64%,260px)}
.home-screen .hero-copy .hero-service-main{left:5%;top:42.5%;width:48%;font-weight:700}
.home-screen .hero-message-wrap{top:30%;right:4%;width:clamp(82px,24%,102px)}

/* AI explanation: 2px larger, slightly toward the upper right. */
.home-screen .hero-copy .hero-service-main{left:7%;top:42.5%;font-size:calc(clamp(14px,4vw,16px) + 1px);line-height:1.5}

/* Keep the button's hit area still; only its artwork breathes. */
.home-screen .home-gacha-cta::after{content:'';position:absolute;inset:-2%;pointer-events:auto}
.home-screen .home-gacha-cta img{transform-origin:50% 50%;filter:drop-shadow(0 5px 7px rgba(111,47,66,.22));animation:home-cta-breathe 2.8s ease-in-out infinite}
@keyframes home-cta-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){.home-screen .home-gacha-cta img{animation:none;transform:none}}
/* Same-day outing progress */
.today-progress{display:flex;list-style:none;padding:0;margin:8px 0 18px;gap:4px;justify-content:space-between}.today-progress li{flex:1;text-align:center;font-size:10px;color:#8a817c;padding:7px 2px;border-bottom:3px solid #ddd8d3}.today-progress li.active{color:#c84c67;border-color:var(--pink);font-weight:bold}.today-progress li.done{color:#10a46c;border-color:#8bd3b3}
.route-heading{font-size:15px;margin:16px 0 8px}.route-map{display:block;width:100%;height:320px;border:0;border-radius:12px;background:#eaf5f5}.destination-label{margin:0;color:#087c84;font-size:13px;font-weight:bold}.destination-duration{margin:2px 0;color:#087c84;font-size:13px;font-weight:bold}.today-screen .destination-map{background:#f16e83;border-color:#f16e83}.today-screen .final-actions>.button:first-child{background:#0da5b0;border-color:#0da5b0}.today-screen>h2{font-size:14px;color:#8a817c;margin-top:16px}
@media(max-width:350px){.route-map{height:280px}}
.destination-map .ui-icon{filter:brightness(0) invert(1)}
.nav-overlay{position:fixed;inset:0;z-index:1000;background:#f7fbfb;display:flex;flex-direction:column;height:100dvh;height:100vh;overscroll-behavior:contain}.nav-overlay-head{height:52px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#fff;border-bottom:1px solid #d5eeee;color:#123b47}.nav-overlay-head .button{margin:0;padding:6px 10px;font-size:12px}.nav-overlay-map{width:100%;flex:1;min-height:0;border:0;background:#eaf5f5}.nav-overlay-panel{flex:none;background:#fff;padding:14px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #24545a22}.nav-kicker{margin:0;color:#087c84;font-size:12px;font-weight:bold}.nav-destination{margin:2px 0;font-size:20px;color:#10233e}.nav-duration{margin:2px 0 10px;color:#087c84;font-weight:bold}.nav-overlay-panel .nav-external{display:block;text-align:center;background:#f16e83;border-color:#f16e83;color:#fff;margin-bottom:10px}.nav-overlay-panel .nav-arrived{display:block;width:100%;background:#0da5b0;border-color:#0da5b0;color:#fff;font-size:17px;min-height:50px}@media(min-width:700px){.nav-overlay{inset:2vh 12vw;border-radius:18px;overflow:hidden;box-shadow:0 10px 40px #123b4733}.nav-overlay-map{min-height:360px}}
.wizard-heading{display:flex;align-items:center;justify-content:center;gap:8px;margin:7px 0 6px;min-height:58px}.wizard-heading h1{margin:0;flex:1;text-align:left}.wizard-heading .scene-character{width:58px;height:66px;object-fit:contain;margin:0;flex:none}.wizard-heading+.wizard-subtitle{margin-top:0}
@media(max-width:359px){.wizard-heading{gap:6px;min-height:52px}.wizard-heading .scene-character{width:50px;height:58px}.wizard-heading h1{font-size:20px}}
/* Wizard heading alignment */
.wizard-heading{gap:12px;justify-content:center}
.wizard-heading h1{flex:0 1 auto;text-align:center}
.wizard-heading .scene-character{width:70px;height:76px}
@media(max-width:359px){.wizard-heading{gap:8px}.wizard-heading .scene-character{width:62px;height:68px}.wizard-heading h1{font-size:20px}}
.detail-button{margin-top:8px;padding:7px 14px;border:1px solid #b9dfe0;border-radius:999px;background:#fff;color:#087c84;font-size:13px;font-weight:700}
.facility-detail-sheet{width:min(92vw,560px);max-height:min(86dvh,760px);padding:24px 20px 18px;border:0;border-radius:24px;background:#fff;color:#193b45;overflow:auto;box-shadow:0 12px 40px #123b4733}
.facility-detail-sheet::backdrop{background:#123b4755}
.facility-detail-title{margin:0 28px 12px 0;color:#087c84;font-size:21px;line-height:1.35}
.facility-detail-sheet .dialog-close{position:absolute;top:12px;right:14px;width:34px;height:34px;margin:0;padding:0;border:0;background:#eef7f7;color:#087c84;border-radius:50%;font-size:24px;line-height:1}
.facility-detail-sheet>h3{margin:26px 0 8px;color:#087c84;font-size:15px}.facility-detail-sheet>h3:first-of-type{margin-top:12px}
.facility-detail-image{display:block;width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin:4px 0 12px}
.facility-detail-intro,.facility-detail-feature,.facility-detail-reason{margin:0;line-height:1.7;color:#42565b}
.facility-free-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#e9f7f7;color:#087c84;font-size:11px;font-weight:700;line-height:1.4;vertical-align:middle;}
.facility-detail-fun{color:#42565b}.facility-detail-fun ul{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none}.facility-detail-fun li{padding:5px 10px;border-radius:999px;background:#e9f7f7;color:#087c84;font-size:12px;font-weight:700}.facility-detail-facts{--info-label-width:65px;border:1px solid #d5eeee;border-radius:14px;padding:8px 12px;text-align:left}.facility-detail-facts p{display:grid;grid-template-columns:22px var(--info-label-width) minmax(0,1fr);align-items:start;column-gap:8px;margin:11px 0;padding:0;text-align:left;line-height:1.5}.facility-fact-row>span:first-child{display:grid;place-items:start center;width:22px;height:22px;padding-top:1px;flex:none}.facility-fact-icon{width:20px;height:20px;fill:none;stroke:#087c84;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.info-label{font-size:13px;font-weight:700;color:#087c84}.info-value{font-size:13px;font-weight:400;color:#42565b}.facility-detail-address .info-value{color:#42565b}.facility-detail-facts strong{width:auto;min-width:0;flex:none;color:#087c84;text-align:left}.facility-fact-note{display:block;margin:-4px 0 9px calc(22px + 8px + var(--info-label-width));color:#6e7d80;font-size:11px;line-height:1.6}.facility-detail-facts span{overflow-wrap:anywhere}.facility-detail-address{display:grid;grid-template-columns:22px var(--info-label-width) minmax(0,1fr);align-items:start;column-gap:8px;margin:11px 0;padding:0;color:inherit;font-size:inherit;text-align:left;line-height:1.5}.facility-detail-address>span:first-child{display:grid;place-items:start center;width:22px;height:22px;padding-top:1px}.facility-detail-address strong{width:auto}.facility-detail-address>span:last-child{overflow-wrap:anywhere}
.facility-detail-footer{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.facility-detail-footer .button{flex:1;text-align:center}.facility-detail-link{font-size:12px;color:#087c84;text-decoration:underline}
@media(max-width:600px){.facility-detail-sheet{align-self:end;width:100%;max-width:none;max-height:88dvh;margin:0;border-radius:24px 24px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.facility-detail-footer .button{min-height:46px}}



/* Formal full-width KV banners */
.phone-app .message-banner{display:block;width:100%;height:auto;max-width:none;object-fit:contain;border:0;border-radius:16px;box-shadow:none;margin:6px auto 16px}
.phone-app .proposal-screen .message-banner,.phone-app .benefits-screen .message-banner{width:100%;max-width:none;margin:6px 0 14px}
@media(max-width:360px){.phone-app .message-banner{border-radius:12px;margin-top:4px;margin-bottom:12px}}

/* Compact step 4 condition controls. Return-point UI is retained for future route support. */
.wizard-screen[data-step="4"] .basic-origin{gap:7px;margin:8px 0 12px;padding-bottom:12px}
.wizard-screen[data-step="4"] .basic-origin>label{font-size:15px}
.wizard-screen[data-step="4"] .same-return{display:flex;align-items:center;gap:7px;font-size:12px;color:#5f6c58;cursor:pointer}
.wizard-screen[data-step="4"] .same-return input{width:16px;height:16px;margin:0;accent-color:#f16e83}
.wizard-screen[data-step="4"] .return-field{display:grid;gap:6px;padding:8px 10px;background:#fff8fa;border:1px solid #f0c7cf;border-radius:12px}
.wizard-screen[data-step="4"] .return-field[hidden]{display:none}
.wizard-screen[data-step="4"] .return-field>label{font-size:12px;font-weight:700;color:#6e5c60}
.wizard-screen[data-step="4"] .range-heading{font-size:17px;font-weight:700;margin:10px 0 6px}
.wizard-screen[data-step="4"] .range-heading+.basic-origin{margin-top:0}
.wizard-screen[data-step="4"] .basic-origin:has(#condition-destination){border-bottom:0;padding-bottom:0;margin-bottom:4px}
.wizard-screen[data-step="4"] .wizard-volume-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option{min-width:0;min-height:91px;padding:9px 4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;text-align:center;border-radius:14px}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option .ui-icon{width:28px;height:28px}
.wizard-screen[data-step="4"] .wizard-volume-grid .option-copy{min-width:0;width:100%}
.wizard-screen[data-step="4"] .wizard-volume-grid .option-copy strong{font-size:12px;line-height:1.35;white-space:nowrap}
.wizard-screen[data-step="4"] .wizard-volume-grid .option-copy small{font-size:9px;line-height:1.3;margin-top:2px}
.wizard-screen[data-step="4"] .wizard-volume-grid .option-next{display:none}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option:has(input:checked){background:#fff0f4;border-color:#f16e83;color:#d85572}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option:has(input:checked) .ui-icon{filter:sepia(1) saturate(4) hue-rotate(295deg)}
.wizard-screen[data-step="4"] .wizard-volume-grid+.note{margin-top:6px}
/* Final compact pass for the step 4 mobile layout. */
.wizard-screen[data-step="4"] .wizard-progress{margin-bottom:8px}
.wizard-screen[data-step="4"] h1{margin-top:4px;margin-bottom:2px}
.wizard-screen[data-step="4"] .wizard-subtitle{margin-bottom:9px}
.wizard-screen[data-step="4"] .wizard-fields{gap:6px}
.wizard-screen[data-step="4"] .wizard-fields>.basic-origin{margin-top:4px;margin-bottom:4px;padding-bottom:4px;border-bottom:0}
.wizard-screen[data-step="4"] .basic-origin select{height:44px;min-height:44px;padding:9px 11px}
.wizard-screen[data-step="4"] .same-return{margin-top:0}
.wizard-screen[data-step="4"] .range-heading{margin-top:5px;margin-bottom:4px}
.wizard-screen[data-step="4"] .range-heading+.note{margin-bottom:5px}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option{min-height:80px;padding:7px 3px;gap:3px}
.wizard-screen[data-step="4"] .wizard-volume-grid .wizard-option .ui-icon{width:25px;height:25px}
.wizard-screen[data-step="4"] .wizard-volume-grid .option-copy small{line-height:1.2}
.return-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 16px 17px;padding:9px 11px;border:1px solid #e7ded6;border-radius:11px;background:#faf8f4;color:#655d57;font-size:11px;line-height:1.5}.return-summary strong{color:#a75467;font-size:12px;white-space:nowrap}.return-summary span{text-align:right}

/* Reviewed usual foliage information; distinct from facility availability. */
.seasonal-context{margin:12px 0;padding:12px 14px;background:#fff7ee;border:1px solid #f2dec8;border-radius:14px;color:#684a32;overflow-wrap:anywhere}
.seasonal-context strong{font-size:14px;display:block}
.seasonal-context p{font-size:14px;margin:6px 0;line-height:1.6}
.seasonal-context small{display:block;font-size:12px;line-height:1.6}
.seasonal-context a{display:inline-block;font-size:12px;margin-top:7px;color:#087c87}

/* Result cards show verified essentials directly; edit controls remain on the edit screen. */
.proposal-screen .place-introduction{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:14px;line-height:1.7}
.proposal-screen .stop .planning-notice,.proposal-screen .stop .note,.proposal-screen .stop .verified-benefit,.proposal-screen .stop .information-source{display:block}
.proposal-screen .proposal-card-fact{margin:7px 0 0;font-size:12px;line-height:1.55;color:#554e4a}
.proposal-screen .proposal-card-note{margin:3px 0 0;font-size:11px;line-height:1.5;color:#756963}
.proposal-screen .proposal-play-tags{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:10px 0 0;padding:0}
.proposal-screen .proposal-play-tags li{border-radius:999px;padding:4px 9px;background:#fff0f3;color:#bb4e6a;font-size:11px;line-height:1.4}
.proposal-screen .proposal-facility-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.proposal-screen .proposal-facility-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:11px;line-height:1.4;font-weight:700}
.proposal-screen .proposal-facility-badge .badge-icon{font-size:14px;line-height:1;font-weight:700}
.proposal-screen .badge-free{background:#fff0d1;color:#ac5c00}
.proposal-screen .badge-rain{background:#e4f3fc;color:#17648d}
.proposal-screen .proposal-card-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.proposal-screen .proposal-card-link{flex:1 1 120px;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #76b9bd;border-radius:999px;color:#087d83;background:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:12px;padding:7px 9px}
.proposal-screen .stop-row>.stop-visual{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:350px){.proposal-screen .proposal-card-link{font-size:11px}.proposal-screen .place-introduction{font-size:13px}}

/* Three-category AI image pilot; the caption is HTML, never part of the image. */
.proposal-screen .stop .ai-category-visual{display:block;width:100%;height:auto;aspect-ratio:auto;margin:10px 0 0;border-radius:0;background:none}
.proposal-screen .ai-category-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.proposal-screen .ai-category-visual figcaption{margin-top:5px;font-size:10px;line-height:1.5;color:#746f6d}

/* Full facility-image candidate: size abstract fallbacks and retain AI captions. */
.stop-row>figure.stop-visual{display:block;height:auto;min-height:0;aspect-ratio:auto;overflow:visible;background:none}
.stop-row>figure.stop-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.stop-row>figure.stop-visual figcaption{margin-top:5px;font-size:10px;line-height:1.35;color:#746f6d}
.proposal-screen .stop-row>figure.stop-visual{width:100%;margin:10px 0 0}
.today-screen .stop-row>figure.stop-visual{width:78px;flex:none;margin:0}
@media(max-width:350px){.today-screen .stop-row>figure.stop-visual{width:62px}}

/* 2026-10-09 HOME FV and linked-card candidate. Other screens keep their header. */
.phone-app:has(.home-screen)>.app-header{display:none}
.phone-app:has(.home-screen)>.app-header>a{display:none}
.phone-app:has(.home-screen)>.app-header>button{margin-left:auto;background:rgba(255,255,255,.88);box-shadow:0 2px 10px rgba(16,35,62,.12)}
.home-screen .hero{height:auto;aspect-ratio:1068/1473;min-height:0;background:#b8e2f6;overflow:hidden}
.home-screen .hero-bg{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.home-screen .hero-copy{position:absolute;inset:0;width:auto;height:100%;pointer-events:none}
.home-screen .hero-copy h1{position:absolute;top:3%;left:50%;width:74%;max-width:360px;margin:0;transform:translateX(-50%);isolation:auto}
.home-screen .hero-copy h1::before{content:none}
.home-screen .hero-copy h1 img{display:block;width:100%;height:auto;object-fit:contain}
.home-screen .hero-copy .hero-service-main{position:absolute;top:42%;left:0;right:0;width:auto;margin:0;text-align:center;font-family:'Toyama Copy Maru','Hiragino Maru Gothic ProN',ui-rounded,sans-serif;font-weight:700;font-size:clamp(16px,4.7vw,20px);line-height:1.35;letter-spacing:0;color:#222;text-shadow:0 0 4px rgba(255,255,255,.9),0 0 9px rgba(255,255,255,.72)}
.home-screen .home-gacha-cta{width:82%;max-width:352px;min-height:44px;left:50%;right:auto;bottom:2.5%;transform:translateX(-50%)}
.home-screen .home-gacha-cta:active{transform:translateX(-50%)}
.home-screen .home-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 16px 22px}
.home-screen .home-link-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:86px;width:100%;padding:12px 8px;border:1px solid #eee6e4;border-radius:16px;background:#fff;color:#333;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 3px 12px rgba(90,65,75,.08);cursor:pointer}
.home-screen .home-link-card .ui-icon{width:31px;height:31px}
.home-screen .home-link-card:focus-visible{outline:3px solid #477e9c;outline-offset:2px}
@media(max-width:350px){.home-screen .hero-copy .hero-service-main{font-size:16px}.home-screen .home-link-grid{gap:8px;padding:14px 12px 18px}.home-screen .home-link-card{font-size:12px;min-height:78px}}
.featured-spot-notice{margin:0 0 16px;padding:12px 16px;border:2px solid #ff6b91;border-radius:16px;background:#fff4f7;color:#222;font-weight:700;text-align:center;line-height:1.5}

.home-columns{position:relative;margin:16px auto 28px;padding:22px 16px 20px;width:100%;background:#fff8ec;color:#34302e}
.home-columns-heading{display:flex;align-items:center;justify-content:center;gap:7px}
.home-columns-heading img{width:38px;height:38px;object-fit:contain}
.home-columns-heading h2{margin:0;font-size:19px;line-height:1.4;color:#40312f}
.home-columns-subtitle{margin:6px 0 17px;text-align:center;font-size:12px;line-height:1.6}
.home-columns-controls{display:flex;justify-content:flex-end;gap:9px;margin:0 0 9px}
.home-columns-arrow{width:42px;height:42px;border:1px solid #e8d8cf;border-radius:50%;background:#fff;color:#a54965;font-size:29px;line-height:1;cursor:pointer}
.home-columns-arrow:disabled{opacity:.4;cursor:default}
.home-columns-arrow:focus-visible,.home-columns-card:focus-visible,.home-columns-more:focus-visible{outline:3px solid #ff6b91;outline-offset:3px}
.home-columns-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 14px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.home-columns-card{box-sizing:border-box;flex:0 0 calc((100% - 12px)/1.2);min-width:0;overflow:hidden;scroll-snap-align:start;border-radius:16px;background:#fff;color:#333;text-decoration:none;box-shadow:0 3px 12px rgba(74,48,39,.11)}
.home-columns-card img{display:block;width:100%;height:auto}
.home-columns-card-copy{display:flex;flex-direction:column;gap:6px;padding:11px 12px 14px}
.home-columns-category{align-self:flex-start;border-radius:99px;padding:3px 9px;background:#ffe5ec;color:#a33b58;font-size:11px;font-weight:700}
.home-columns-card strong{font-size:14px;line-height:1.5}
.home-columns-card time{margin-top:auto;color:#6e6662;font-size:11px}
.home-columns-status{text-align:center;font-size:12px}
.home-columns-more{display:block;width:max-content;max-width:100%;min-height:44px;margin:10px auto 0;padding:12px 16px;color:#a33b58;font-size:13px;font-weight:700;text-align:center}
@media (min-width:900px){.phone-app:has(.home-screen){overflow:visible}.home-columns{left:50%;transform:translateX(-50%);width:min(960px,calc(100vw - 40px));padding:28px 25px}.home-columns-card{flex-basis:calc((100% - 24px)/3)}.home-columns-heading h2{font-size:23px}.home-columns-subtitle{font-size:14px}}
@media (prefers-reduced-motion:reduce){.home-columns-track{scroll-behavior:auto}}

.home-gacha-pending{position:absolute;cursor:default}
.home-gacha-pending>img{opacity:.72;filter:saturate(.75)}
.home-gacha-pending>span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;border-radius:999px;background:#5d3a46;color:#fff;padding:10px 18px;font-size:15px;font-weight:700;line-height:1.3;box-shadow:0 3px 10px #0004}
.home-link-pending{cursor:default;opacity:.68}
.home-link-pending small{display:block;color:#805c68;font-size:11px;font-weight:700;margin-top:3px}
.home-link-grid .ui-icon{width:28px;height:28px;object-fit:contain}
@media(max-width:350px){.home-gacha-pending>span{font-size:13px;bottom:6px;padding:8px 12px}}

/* HOME only: a soft light field behind the brand image and lead. */
.home-screen .hero-copy h1{isolation:isolate}
.home-screen .hero-copy h1::before{content:"";position:absolute;z-index:-1;inset:-9% -13%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.94) 0%,rgba(255,255,255,.77) 34%,rgba(255,255,255,.36) 61%,rgba(255,255,255,0) 78%);filter:blur(12px);pointer-events:none}
.home-screen .hero-copy h1 img{position:relative;z-index:1}
.home-screen .hero-copy .hero-service-main{isolation:isolate;text-shadow:none}
.home-screen .hero-copy .hero-service-main::before{content:"";position:absolute;z-index:-1;inset:-28% 5%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.95) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.28) 67%,rgba(255,255,255,0) 82%);filter:blur(11px);pointer-events:none}

/* The three existing HOME destinations occupy one row on every width. */
.home-screen .home-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px 12px 20px}
.home-screen .home-link-card{min-width:0;min-height:94px;gap:6px;padding:10px 5px;text-align:center;font-size:clamp(10px,3vw,12px);line-height:1.35}
.home-screen .home-link-card .ui-icon{width:29px;height:29px;flex:none}
.home-screen .home-link-card span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:350px){.home-screen .home-link-grid{gap:6px;padding:12px 9px 17px}.home-screen .home-link-card{min-height:94px;padding:8px 3px;font-size:10px}}
