:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif;color:#153e3c;background:#f5f8f6;font-synthesis:none;--teal:#007c75;--line:#d3dfdb;--muted:#586d69}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column}a{color:#006e68;text-underline-offset:3px}button,input,select{font:inherit;color:inherit;min-height:42px;border:1px solid #aebfbb;border-radius:5px;background:#fff;padding:8px 10px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #153e3c;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:10px;top:-80px;z-index:2000;background:white;padding:12px}.skip:focus{top:10px}.plan-header{display:flex;align-items:center;gap:32px;min-height:70px;padding:8px 24px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;gap:9px;align-items:center;text-decoration:none;color:#153e3c;font-size:23px;font-weight:750}.brand small{display:block;font-size:7px;letter-spacing:1.6px;margin-top:1px}nav{display:flex;gap:24px}nav a{font-size:14px;text-decoration:none;padding:12px 0;color:inherit}nav [aria-current]{border-bottom:3px solid var(--teal);font-weight:700}.trial{margin-left:auto;background:#fff1c4;color:#665016;font-size:11px;padding:5px 8px;border-radius:3px}#input-panel{background:white;border-bottom:1px solid var(--line);padding:0 24px}#input-panel>summary{cursor:pointer;display:flex;align-items:center;gap:16px;padding:10px 0;font-size:14px;list-style:none}#input-summary{font-size:12px;color:var(--muted)}.edit-label{margin-left:auto;color:var(--teal);font-size:12px}#plan-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px 20px;padding-bottom:12px}.place-field label,.time-fields label{display:block;font-size:12px;font-weight:650;margin-bottom:5px}.place-field>div{display:flex;gap:6px}.place-field input{min-width:0;width:100%;font-size:14px}.place-field button{white-space:nowrap;font-size:12px}.place-field button[aria-pressed=true]{background:#e2f2eb;border-color:var(--teal)}.time-fields{display:flex;align-items:end;gap:9px}.time-fields label{margin:0}.time-fields input,.time-fields select{display:block;margin-top:5px;font-size:14px}#plan-submit{background:var(--teal);border-color:var(--teal);color:white;font-size:14px;font-weight:650}.input-hint{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0}.plan-layout{display:grid;grid-template-columns:390px 1fr;flex:1;min-height:0}.results-panel{overflow:auto;background:white;padding:14px 16px}.sort-switch{display:flex;gap:4px;position:sticky;top:-14px;background:white;padding:0 0 8px;z-index:2}.sort-switch button{flex:1;font-size:13px;border:0;border-radius:0;border-bottom:3px solid transparent}.sort-switch [aria-pressed=true]{color:var(--teal);border-bottom-color:var(--teal);font-weight:750}#plan-status{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 14px}.plan-item{border-bottom:1px solid var(--line);padding:14px 0}.plan-item:first-child{padding-top:0}.plan-item>button{width:100%;text-align:left;border:0;border-left:3px solid transparent;padding:6px 8px;border-radius:0}.plan-item>button[aria-pressed=true]{background:#edf6f2;border-left-color:var(--teal)}.plan-provider{font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px}.plan-provider:before{content:'';width:4px;height:14px;background:#aa8200}.plan-provider.docomo-cycle:before{background:#bd3543}.plan-duration{display:flex;align-items:baseline;gap:8px;margin:8px 0}.plan-duration strong{font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.plan-duration span{font-size:12px;color:var(--muted)}.plan-portnames{font-size:12px;line-height:1.6;margin:5px 0}.plan-evidence{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 8px 4px;font-size:12px}.plan-evidence strong{display:block;font-size:18px;margin:3px 0}.plan-evidence small{font-size:11px;display:block;color:var(--muted);line-height:1.5}.plan-reason{font-size:12px;color:#425b53;line-height:1.6;margin:5px 8px}.hold{color:#665c42;font-size:11px;margin:4px 8px}.plan-details{margin:6px 8px;font-size:12px}.plan-details summary{cursor:pointer;color:#006e68;padding:6px 0}.plan-details ol{padding-left:20px;line-height:1.8}.plan-details p{line-height:1.6}.method{font-size:12px;line-height:1.7;margin:16px 0;color:var(--muted)}.method summary{cursor:pointer}.plan-map-region{position:relative;min-height:0}#plan-map{height:100%;background:#edf2ee}.leaflet-tile-pane{opacity:.8}#map-instruction,#route-status{position:absolute;z-index:800;left:50%;transform:translateX(-50%);top:12px;background:#fff;padding:10px 15px;border:1px solid var(--line);border-radius:5px;font-size:12px;max-width:90%;white-space:normal}#route-status:empty{display:none}.route-key{position:absolute;z-index:700;bottom:24px;left:12px;background:white;padding:6px 10px;display:flex;gap:12px;font-size:11px}.route-key i{display:inline-block;vertical-align:middle;width:24px;border-top:3px solid #007c75;margin-right:5px}.route-key i.walk-line{border-top:3px dashed #5b6d76}.point-label{background:#153e3c;border:2px solid white;border-radius:50%;color:white;text-align:center;line-height:27px;font-weight:700;font-size:13px}.port-label{background:#007c75}.plan-item details table{font-size:11px;width:100%;border-collapse:collapse}.plan-item td,.plan-item th{text-align:left;border-bottom:1px solid #eee;padding:4px}footer{display:flex;gap:18px;justify-content:flex-end;padding:7px 18px;background:#f5f8f6;border-top:1px solid var(--line)}footer a{font-size:10px;color:#526963}.no-results{line-height:1.7;font-size:14px;padding:12px 0}
@media(max-width:760px){.plan-header{padding:7px 12px;gap:12px;flex-wrap:wrap;min-height:80px}.brand{font-size:20px}.brand img{width:33px;height:33px}.trial{font-size:9px}nav{order:3;width:100%;gap:24px}nav a{font-size:12px;padding:3px 0 6px}#input-panel{padding:0 12px}#input-panel>summary{padding:8px 0;font-size:13px;gap:10px}#input-summary{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plan-form{grid-template-columns:1fr 1fr;gap:8px}.place-field>div{flex-wrap:wrap}.place-field input{font-size:16px}.place-field button{min-height:44px;font-size:11px;padding:3px 8px}.time-fields{grid-column:1/-1;justify-content:space-between}.time-fields label{font-size:11px}.time-fields input,.time-fields select{margin-top:2px;font-size:14px}.input-hint{font-size:10px;line-height:1.4}.plan-layout{grid-template-columns:1fr;grid-template-rows:minmax(130px,42%) 1fr}.plan-map-region{grid-row:1}.results-panel{grid-row:2;padding:10px 14px}.sort-switch{top:-10px}.sort-switch button{min-height:44px}.plan-item{padding:10px 0}.plan-evidence{padding-top:6px}footer{gap:12px;justify-content:center;padding:5px}footer a{font-size:9px}.route-key{bottom:18px;padding:4px 8px}.leaflet-control-attribution{font-size:8px!important}}

.more-plans{width:100%;margin:12px 0;font-size:13px;color:#006e68;border-color:#b7ccc6}

.history-note{font-size:11px;color:#586d69;line-height:1.5;margin:0 0 10px}

#provider-picks{display:flex;gap:8px;margin:4px 0 12px}#provider-picks:empty{display:none}#provider-picks button{flex:1;text-align:left;min-width:0;padding:8px;font-size:11px;border-color:#c5d6cf}#provider-picks strong{display:block;font-size:18px;margin-top:3px}#provider-picks [aria-pressed=true]{background:#eaf4ef;border-color:#007c75}

.sort-switch{gap:0}.sort-switch button{padding:6px 4px;font-size:12px;white-space:nowrap}.environment-evidence{margin:8px;font-size:12px;line-height:1.6}.environment-evidence strong,.environment-evidence small,.environment-evidence span{display:block}.environment-evidence strong{color:#884000}.environment-evidence small{font-size:10px;color:var(--muted)}#weight-panel{padding:8px 10px;margin-bottom:8px;border:1px solid var(--line);font-size:12px}#weight-panel summary{cursor:pointer;font-weight:650}#weight-panel p,#weight-panel small{font-size:11px;line-height:1.5}#weight-panel label{display:flex;justify-content:space-between;margin-top:7px}#weight-panel input{width:100%;min-height:24px;padding:0;accent-color:var(--teal)}#weight-panel button{margin:6px 0;font-size:11px}#weight-panel small{display:block}.route-key .environment-line{border-color:#b95000}.route-key{flex-wrap:wrap;max-width:calc(100% - 24px);gap:5px 10px}

.planner-stage{padding:5px 12px;text-align:center;background:#fff1c4;color:#594509;font-size:11px;flex-shrink:0}.point-choices{display:grid;gap:8px;padding:5px}.point-choices button{min-height:44px;color:#006e68}.point-label:not(.port-label){cursor:grab}.point-label:not(.port-label):active{cursor:grabbing}#search-progress{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:850;display:flex;align-items:center;gap:10px;white-space:nowrap;background:#fff;padding:12px 20px;border:1px solid #b7ccc6;border-radius:6px;box-shadow:0 2px 8px #153e3c20;font-size:14px}.search-spinner{width:18px;height:18px;border:2px solid #cee2dc;border-top-color:#007c75;border-radius:50%;animation:search-spin .9s linear infinite}@keyframes search-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.search-spinner{animation:none}}#map-search{position:absolute;right:12px;bottom:52px;z-index:800;background:#007c75;color:white;box-shadow:0 2px 6px #0002}#map-instruction{margin:0;top:12px}#route-status{top:62px}.route-key{flex-wrap:wrap;max-width:calc(100% - 24px)}

.recommendation-heading{padding:4px 0 12px;border-bottom:1px solid var(--line)}.recommendation-heading h1{font-size:18px;margin:0 0 5px}.recommendation-heading p{font-size:12px;color:var(--muted);margin:0}#comparison-options{border-bottom:1px solid var(--line);margin:0 0 12px;padding:10px 0}#comparison-options>summary{font-size:13px;color:#006e68;cursor:pointer;min-height:32px;align-content:center}#comparison-options .sort-switch{position:static;margin:8px 0}.environment-details{font-size:12px;margin:8px}.environment-details>summary{color:#006e68;cursor:pointer;padding:5px 0}#quota-notice{padding:12px;border-left:3px solid #956b00;background:#fff4cf;line-height:1.6;font-size:13px}.route-attribution{margin-right:auto;font-size:10px}footer{flex-wrap:wrap;gap:6px 14px}.plan-duration{margin:10px 0}.plan-item{padding:16px 0}.plan-evidence{margin-bottom:10px}@media(max-width:760px){.route-attribution{width:100%;text-align:center;margin:0}.recommendation-heading h1{font-size:16px}.plan-layout{grid-template-rows:minmax(150px,46%) 1fr}footer{padding:5px 8px}.results-panel{padding:10px 14px}}
/* Three independent axes, with a compact numeric alternative to the diagram. */
.plan-radar{display:flex;align-items:center;gap:12px;margin:4px 0 8px;min-height:116px}
.plan-radar svg{width:136px;height:126px;flex:none}
.plan-radar dl{display:grid;grid-template-columns:auto auto;gap:9px 14px;margin:0;font-size:12px;flex:1}
.plan-radar dt{color:#425c5d}.plan-radar dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.accident-toggle{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0;min-height:36px}
.accident-toggle input{width:18px;height:18px;accent-color:#007f73}
@media(max-width:600px){.plan-radar{min-height:100px;gap:8px}.plan-radar svg{width:118px;height:110px}.plan-radar dl{gap:7px 10px}}
.trend-summary{width:100%;border-collapse:collapse;font-size:11px;margin:6px 0 10px}.trend-summary th,.trend-summary td{padding:6px 3px;border-bottom:1px solid #d3dfdb;text-align:right}.trend-summary th:first-child{text-align:left;font-weight:400}.trend-summary small{display:block;font-size:10px;color:#586d69}

/* Location input belongs to the map; conditions contain only weekday/time. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#input-panel{position:absolute;top:68px;right:12px;z-index:850;width:300px;max-width:calc(100% - 24px);padding:0 12px;border:1px solid #b8ceca;border-radius:12px;background:#fff;box-shadow:0 3px 14px #153e3c20}
#input-panel>summary{padding:10px 0;min-height:44px;gap:10px;list-style:none}
#input-panel>summary::-webkit-details-marker{display:none}
#input-panel #plan-form{display:block;padding:0 0 12px}
#input-panel .time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#input-panel .time-fields select,#input-panel .time-fields input{width:100%;min-width:0;font-size:16px}
#input-panel #plan-submit{grid-column:1/-1;min-height:44px;font-size:14px}
.planner-location-note{position:absolute;bottom:4px;left:12px;right:12px;z-index:700;font-size:10px;line-height:1.4;margin:0;color:#425b53;background:#fffffff0;width:fit-content;max-width:calc(100% - 24px);padding:3px 6px;border-radius:4px;pointer-events:none}
#map-instruction{top:118px}
#route-status{top:166px}
@media(min-width:761px){#input-panel>summary{pointer-events:none}#input-panel .edit-label{display:none}}
.plan-map-region .leaflet-top.leaflet-left{top:64px}

/* Initial map guidance disappears after the first pin; pins remain editable. */
.plan-map-region #input-panel{top:12px}
.plan-map-region #map-instruction{top:12px;left:12px;right:auto;transform:none;max-width:calc(100% - 340px);font-size:12px;line-height:1.6;border:0;border-radius:8px;box-shadow:0 2px 8px #153e3c18;pointer-events:none}
.plan-map-region .leaflet-top.leaflet-left{top:88px}
.plan-map-region:has(#map-instruction[hidden]) .leaflet-top.leaflet-left{top:0}
