.shiori{--ink:#1a1d21;--muted:#5d646d;--line:#e4e2dc;--paper:#faf8f3;--card:#fff;--accent:#e0603c;--accent-deep:#b9482a;--soft:#f2efe8;--focus:#2563eb;background:var(--paper);color:var(--ink);min-height:100vh;padding:0 16px 96px;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,sans-serif;font-size:15px;line-height:1.6}.shiori *,.shiori :before,.shiori :after{box-sizing:border-box}.shiori button,.shiori input,.shiori select{font:inherit}.shiori button{cursor:pointer}.shiori a{color:inherit}.shiori :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shiori h1,.shiori h2,.shiori h3,.shiori p{margin:0}.shiori-icon{vertical-align:-3px;flex:none}.shiori-quiet{color:var(--muted);font-size:13px}.shiori-warn{color:#7a4a00;background:#fff4e5;border-radius:10px;padding:8px 10px;font-size:13px}.shiori-top{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:14px 0;display:flex}.shiori-brand{color:var(--ink);background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:flex}.shiori-brand b{letter-spacing:-.01em;font-size:18px}.shiori-brand small{color:var(--muted);font-size:12px}.shiori-lang{gap:2px;display:flex}.shiori-lang a{color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none}.shiori-lang a[aria-current]{background:var(--ink);color:#fff}.shiori-hero{max-width:760px;margin:0 auto;padding:20px 0 8px}.shiori-hero h1{letter-spacing:-.02em;white-space:pre-line;font-size:clamp(26px,6.4vw,44px);font-weight:800;line-height:1.25}.shiori-hero>p{color:var(--muted);max-width:34em;margin-top:12px}.shiori-search{margin-top:22px;display:block}.shiori-search span{margin-bottom:6px;font-size:13px;font-weight:800;display:block}.shiori-search input{background:var(--card);border:2px solid var(--ink);border-radius:16px;width:100%;min-height:56px;padding:0 18px;font-size:17px}.shiori-resume{background:var(--soft);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:12px;width:100%;min-height:44px;margin-top:12px;padding:0 14px;font-size:13px;font-weight:700}.shiori-cities{max-width:1180px;margin:26px auto 0}.shiori-cities h2{margin-bottom:10px;font-size:14px}.shiori-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shiori-city{background:var(--soft);color:#fff;aspect-ratio:4/3;border:0;border-radius:16px;padding:0;position:relative;overflow:hidden}.shiori-city .shiori-photo{object-fit:cover;width:100%;height:100%}.shiori-city:after{content:"";background:linear-gradient(#0000 40%,#0000009e);position:absolute;inset:0}.shiori-city span:last-child{text-shadow:0 1px 2px #00000080;z-index:1;font-size:17px;font-weight:800;position:absolute;bottom:10px;left:12px}.shiori-photo{background:var(--soft);display:block}.shiori-photo.is-empty{color:#b6b0a3;justify-content:center;align-items:center;display:flex}.shiori-city .shiori-photo.is-empty{width:100%;height:100%}.shiori-pick{max-width:1180px;margin:0 auto}.shiori-back{color:var(--muted);background:0 0;border:0;padding:6px 0;font-size:13px;font-weight:700}.shiori-pick h1{letter-spacing:-.01em;font-size:clamp(22px,5vw,30px);font-weight:800;line-height:1.3}.shiori-controls{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0;display:flex}.shiori-controls label{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.shiori-controls select,.shiori-stop-edit select{background:var(--card);border:1px solid #9aa0a8;border-radius:10px;min-height:40px;padding:0 8px}.shiori-pace{background:var(--soft);border-radius:12px;padding:3px;display:flex}.shiori-pace button{color:var(--muted);background:0 0;border:0;border-radius:9px;min-height:36px;padding:0 12px;font-size:13px;font-weight:700}.shiori-pace button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000024}.shiori-sights{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shiori-sight{background:var(--card);color:var(--ink);text-align:left;border:2px solid #0000;border-radius:16px;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000014}.shiori-sight .shiori-photo{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.shiori-sight.is-chosen{border-color:var(--accent)}.shiori-sight-check{color:var(--ink);background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:8px;right:8px}.shiori-sight.is-chosen .shiori-sight-check{background:var(--accent);color:#fff}.shiori-sight-text{padding:8px 10px 10px;display:block}.shiori-sight-text b{font-size:14px;line-height:1.35;display:block}.shiori-sight-text small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.shiori-more{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;min-height:44px;margin:12px auto 0;font-weight:700;text-decoration:underline;display:block}.shiori-other{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:12px}.shiori-other label{margin-bottom:6px;font-size:13px;font-weight:800;display:block}.shiori-other>div{gap:8px;display:flex}.shiori-other input{background:var(--soft);border:1px solid #0000;border-radius:10px;flex:auto;min-width:0;min-height:44px;padding:0 12px;font-size:16px}.shiori-other button[type=submit]{background:var(--ink);color:#fff;border:0;border-radius:10px;min-height:44px;padding:0 16px;font-weight:700}.shiori-other button:disabled{opacity:.45}.shiori-chips{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.shiori-chips button{background:var(--card);color:var(--ink);border:1px solid #9aa0a8;border-radius:999px;min-height:36px;padding:0 12px;font-size:13px}.shiori-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:20;background:#faf8f3f0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.shiori-bar span{font-size:13px;font-weight:700}.shiori-bar button{background:var(--accent);color:#fff;border:0;border-radius:14px;min-height:50px;padding:0 22px;font-size:16px;font-weight:800}.shiori-bar button:disabled{background:#c9c5bb}.shiori.is-plan{padding-bottom:32px}.shiori-plan{flex-direction:column-reverse;gap:14px;max-width:1180px;margin:0 auto;display:flex}.shiori-plan-map{z-index:5;border-radius:16px;height:38vh;min-height:240px;position:sticky;top:0;overflow:hidden}.shiori-map,.shiori-map-canvas{width:100%;height:100%}.shiori-map{background:#e9e6df;position:relative}.shiori-map-legend{background:#ffffffeb;border-radius:10px;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 20px);margin:0;padding:6px 10px;font-size:11px;list-style:none;display:flex;position:absolute;top:10px;left:10px}.shiori-map-legend:empty{display:none}.shiori-map-legend li{color:var(--ink);align-items:center;gap:6px;display:flex}.shiori-map-legend i{border-top:3px solid var(--ink);width:22px;display:inline-block}.shiori-map-legend i.is-rail{border-top-width:5px}.shiori-map-legend i.is-straight{border-top:2px dashed #7b8089}.shiori-map-note{background:#ffffffeb;border-radius:10px;padding:6px 10px;font-size:12px;position:absolute;bottom:10px;left:10px}.shiori-pin{background:var(--pin,#2f6fed);color:#fff;cursor:pointer;opacity:.55;border:2px solid #fff;border-radius:999px;width:14px;height:14px;padding:0;font-size:0;box-shadow:0 1px 4px #00000059}.shiori-pin.is-selected{opacity:1;text-align:center;width:30px;height:30px;font-size:13px;font-weight:800;line-height:26px}.shiori-pin.is-hotel{background:var(--ink);cursor:default;opacity:1;text-align:center;width:28px;height:28px;font-size:12px;font-weight:800;line-height:24px}.shiori-plan-head h1{letter-spacing:-.01em;font-size:clamp(20px,4.6vw,28px);font-weight:800;line-height:1.3}.shiori-plan-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.shiori-plan-actions button{background:var(--card);color:var(--ink);border:1px solid #9aa0a8;border-radius:10px;min-height:40px;padding:0 12px;font-size:13px;font-weight:700}.shiori-tabs{gap:6px;margin:4px 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.shiori-tabs button{background:var(--card);border:2px solid var(--line);color:var(--ink);border-radius:12px;flex:none;min-height:44px;padding:0 16px;font-weight:800}.shiori-tabs button[aria-selected=true]{background:var(--day);border-color:var(--day);color:#fff}.shiori-tab-free{border:2px dashed var(--line);color:var(--muted);border-radius:12px;flex:none;align-items:center;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.shiori-day>header h2{font-size:18px;font-weight:800}.shiori-day>header h2 span{color:var(--muted);margin-left:6px;font-size:14px;font-weight:600}.shiori-day>header p{color:var(--muted);margin-top:2px;font-size:13px}.shiori-timeline{margin:12px 0 0;padding:0;list-style:none}.shiori-timeline>li{margin:0}.shiori-stop{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.shiori-stop-main{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px;display:flex}.shiori-stop-number{background:var(--day);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.shiori-stop-text{flex:auto;min-width:0}.shiori-stop-text b{font-size:16px;line-height:1.35;display:block}.shiori-stop-text small{color:var(--muted);font-size:12px;display:block}.shiori-stop-text small:first-child{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.shiori-stop .shiori-photo{object-fit:cover;border-radius:10px;flex:none;width:64px;height:64px}.shiori-stop-edit{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px;font-size:13px;display:flex}.shiori-stop-edit>div{align-items:center;gap:8px;display:flex}.shiori-stop-edit label{align-items:center;gap:6px;display:flex}.shiori-stop-edit button{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:10px;min-height:40px;padding:0 10px}.shiori-stop-edit button.is-danger{color:#b42318}.shiori-stop-edit a{color:var(--muted);font-size:12px}.shiori-leg{color:var(--muted);border-left:3px dotted #c9c5bb;margin:0 0 0 24px;padding:10px 0 10px 18px;font-size:13px}.shiori-leg.is-rail{border-left:3px solid var(--day)}.shiori-leg-head{color:var(--ink);align-items:center;gap:8px;font-weight:700;display:flex}.shiori-leg-head small{color:var(--muted);font-weight:500}.shiori-rail{margin:8px 0 0;padding:0;list-style:none}.shiori-rail li{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:12px;margin-top:6px;padding:8px 10px}.shiori-rail li.is-walk{color:var(--muted);background:0 0;border:0;padding:2px}.shiori-rail li b{color:var(--day);font-size:13px;display:block}.shiori-rail li span{font-size:15px;font-weight:700;display:block}.shiori-rail li small{color:var(--muted);font-size:12px;display:block}.shiori-rail li em{background:var(--soft);color:var(--muted);border-radius:6px;margin-bottom:4px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700;display:inline-block}.shiori-leg-link{color:var(--muted);margin-top:6px;font-size:12px;display:inline-block}.shiori-timeline>li.is-leg .shiori-leg{margin-left:24px}.shiori-meal{background:#fff7ec;border:1px solid #f1dfc2;border-radius:14px;margin:8px 0 0 24px;padding:8px 10px}.shiori-meal-head{align-items:center;gap:8px;display:flex}.shiori-meal-head>span{flex:auto;min-width:0;font-size:14px}.shiori-meal-head small{color:var(--muted)}.shiori-meal-head button{background:var(--card);color:var(--ink);border:1px solid #d9c9a8;border-radius:10px;flex:none;min-height:36px;padding:0 10px;font-size:12px;font-weight:700}.shiori-food{margin:8px 0 4px;padding:0;list-style:none}.shiori-food li+li{border-top:1px solid #f1dfc2}.shiori-food a{padding:8px 2px;text-decoration:none;display:block}.shiori-food b{font-size:14px;display:block}.shiori-food small{color:var(--muted);font-size:12px}.shiori-ideas{background:var(--soft);border-radius:14px;margin-top:14px;padding:12px}.shiori-ideas h3{font-size:13px;font-weight:800}.shiori-section{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:16px;padding:14px}.shiori-section h2{align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.shiori-hotels{margin:10px 0 0;padding:0;list-style:none}.shiori-hotels li{border-top:1px solid var(--line);padding:10px 0}.shiori-hotels li.is-using b:after{color:var(--accent-deep);content:" ✓"}.shiori-hotels b{font-size:15px;display:block}.shiori-hotels small{color:var(--muted);font-size:12px}.shiori-hotel-actions{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;display:flex}.shiori-hotel-actions button{background:var(--card);color:var(--ink);border:1px solid #9aa0a8;border-radius:10px;min-height:40px;padding:0 12px;font-size:13px;font-weight:700}.shiori-hotel-actions button.is-primary{background:var(--ink);border-color:var(--ink);color:#fff}.shiori-hotel-actions a{color:var(--muted);font-size:12px}.shiori-foot{color:var(--muted);max-width:1180px;margin:22px auto 0;font-size:12px}.shiori-foot p+p{margin-top:6px}.shiori-link{color:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (min-width:720px){.shiori-city-grid,.shiori-sights{grid-template-columns:repeat(4,minmax(0,1fr))}.shiori-bar{justify-content:center}}@media (min-width:960px){.shiori{padding:0 28px 96px}.shiori-plan{flex-direction:row;align-items:flex-start;gap:24px}.shiori-plan-main{flex:0 0 480px;min-width:0}.shiori-plan-map{flex:auto;height:calc(100vh - 32px);top:16px}}@media print{.shiori{background:#fff;padding:0}.shiori-top,.shiori-plan-actions,.shiori-controls,.shiori-plan-map,.shiori-meal-head button,.shiori-stop-edit,.shiori-leg-link,.shiori-ideas,.shiori-hotel-actions,.shiori-tabs{display:none!important}.shiori-plan{display:block}}
