/* Two views share the same browser-local choice records. */
.mode-switch{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 17px}
.mode-switch button{min-height:44px;border:1px solid #d4ded5;border-radius:9px;background:white;color:#56695d;font-size:14px;font-weight:700;padding:10px 16px;cursor:pointer}
.mode-switch button.active{background:#315d47;border-color:#315d47;color:white}
.mode-switch button:focus-visible,.priority-option:focus-visible{outline:3px solid #91bc9e;outline-offset:2px}
.mode-switch span{font-size:12px;color:#738277;margin-left:5px}
.mode-switch button span{font-size:11px;color:inherit;margin-left:3px}
.decision-overview{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin:-8px 0 24px;padding:12px 16px;border:1px solid #e2e5de;border-radius:10px;background:#fffdf9}
.decision-overview-heading{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.decision-overview-heading b{font-size:13px;color:#425a4c}
.decision-overview-heading small{font-size:10px;color:#87948a}
.decision-counts{display:flex;flex:1;flex-wrap:wrap;gap:8px}
.decision-count{display:inline-flex;align-items:center;gap:8px;border:1px solid #e3e5dd;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:650;white-space:nowrap}
.decision-count strong{font-size:16px;font-variant-numeric:tabular-nums}
.decision-count.must{color:#a65c41;background:#fff5ee}.decision-count.want{color:#36765b;background:#f0f8f2}
.decision-count.optional{color:#57718f;background:#f3f6fa}.decision-count.no{color:#6e7675;background:#f5f5f4}
.decision-count.undecided{color:#49675e;background:#f4f8f4}
.view-tabs[hidden]{display:none}
.card-bottom{flex-direction:column;align-items:stretch;gap:12px}
.choice-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%}
.priority-option{min-width:0;min-height:43px;padding:8px 4px;border:1px solid #dce2db;border-radius:7px;background:#f8faf7;color:#61736a;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.priority-option:hover{border-color:#809b8a;background:#eff5ee}
.priority-option.active{color:#fff;border-color:transparent;box-shadow:0 2px 6px #243b2b16}
.priority-option.must.active{background:#a65c41}
.priority-option.want.active{background:#36765b}
.priority-option.optional.active{background:#57718f}
.priority-option.no.active{background:#6e7675}
.card-secondary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.day-select{max-width:none;min-height:36px}
.map-controls{border:1px solid #e0e5da;border-bottom:0;border-radius:12px 12px 0 0;background:#f8faf7;padding:12px}
.map-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.map-controls-heading>div:first-child{display:flex;flex-direction:column;gap:3px}
.map-controls-heading b{font-size:14px;color:#3f5f4d}
.map-controls-heading small{font-size:11px;color:#7b8b7f}
.map-controls-actions{display:flex;gap:7px;align-items:center}
.map-controls-actions button,.map-zoom-row button{cursor:pointer;border:1px solid #cfdbd1;border-radius:7px;background:white;color:#356049;font-size:12px;font-weight:700;min-height:34px;padding:6px 10px}
.map-controls-actions button:hover,.map-zoom-row button:hover{background:#e7f2e9}
#mapFullscreen{background:#315d47;color:white;border-color:#315d47}
#mapFullscreen:hover{background:#254b37}
.map-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;background:#f8faf7;color:#456354;font-size:12px}
.map-legend b{margin-right:4px}
.pin-key{border-radius:30px;border:1px solid;padding:7px 10px;font-weight:700;cursor:pointer;transition:opacity .12s,filter .12s,box-shadow .12s}
.pin-key strong{margin-left:4px;font-size:12px;font-variant-numeric:tabular-nums}
.pin-key.selected{box-shadow:inset 0 0 0 1px currentColor}
.pin-key:not(.selected){opacity:.45;background:#f4f5f2;border-color:#d5ded5;filter:grayscale(.45)}
.pin-key:focus-visible,.map-zoom-row button:focus-visible,.map-controls-actions button:focus-visible{outline:3px solid #96bf9b;outline-offset:2px}
.pin-key.must{color:#a65c41;background:#fff0e7;border-color:#e6b9a3}
.pin-key.want{color:#36765b;background:#e8f3eb;border-color:#a3c2b2}
.pin-key.optional{color:#57718f;background:#eff3f8;border-color:#b1c2d7}
.pin-key.no{color:#6e7675;background:#f0f1ef;border-color:#cbd1ce}
.pin-key.undecided{color:#49675e;background:#eef2ef;border-color:#cad9d0}
.map-zoom-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e0e7dd;padding-top:9px;font-size:11px;color:#66796c}
.map-zoom-row>div{display:flex;gap:5px}
#mapCanvas{height:630px;min-height:490px;width:100%;border:1px solid #dfe4db;border-radius:0 0 12px 12px;background:#e9efe9;z-index:0}
.map-fullscreen-open{overflow:hidden}
#mapPanel.map-fullscreen{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;padding:12px;background:#f8f9f4;overflow:hidden;box-sizing:border-box}
#mapPanel.map-fullscreen .map-controls{flex:0 0 auto;border-radius:10px 10px 0 0}
#mapPanel.map-fullscreen #mapCanvas{flex:1;height:auto;min-height:200px;border-radius:0 0 10px 10px}
#mapPanel.map-fullscreen .map-hint,#mapPanel.map-fullscreen .map-unlocated{display:none}
.map-hint{font-size:12px;color:#66786d;line-height:1.75;margin:11px 2px}
.tokyo-div-pin{background:none;border:0;overflow:visible}
.tokyo-div-pin>span{display:flex;align-items:center;justify-content:center;min-width:35px;height:27px;padding:1px 4px;border:2px solid #fff;border-radius:8px;background:#477a6b;color:#fff;font-size:10px;font-weight:800;box-shadow:0 2px 7px #263a3866;white-space:nowrap;transform:translate(-7px,-7px)}
.tokyo-div-pin.must>span{background:#a65c41}
.tokyo-div-pin.want>span{background:#36765b}
.tokyo-div-pin.optional>span{background:#57718f}
.tokyo-div-pin.no>span{background:#89908e;opacity:.75}
.tokyo-div-pin.undecided>span{background:#49675e}
.tokyo-cluster{background:#d8e8db;border-radius:50%;box-shadow:0 1px 7px #36544242}
.tokyo-cluster div{background:#487766;color:#fff;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:5px;width:30px;height:30px;font-size:13px}
.leaflet-popup-content-wrapper{border-radius:12px}
.leaflet-popup-content{margin:11px 12px;min-width:248px;max-height:min(62vh,520px);overflow:auto}
.map-card{font-family:inherit;color:#3a5143}
.map-card-header{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.map-card-header b{font-size:14px;line-height:1.3;flex:1}
.map-card-id{background:#e8f0e9;color:#38664c;font-weight:800;border-radius:5px;padding:5px 7px;font-size:12px}
.map-card img{display:block;width:100%;height:135px;object-fit:cover;border-radius:7px;margin:6px 0}
.map-card .photo-credit{color:#6d8174;font-size:10px;display:block;margin-bottom:6px}
.map-card p{font-size:12px;line-height:1.6;margin:7px 0}
.map-card .map-reason{color:#597062;font-size:11px;border-left:3px solid #b6cbba;padding-left:8px}
.map-card .map-precision{color:#906a46;font-size:11px}
.map-card .choice-strip{margin-top:10px}
.map-card .priority-option{font-size:11px;min-height:39px}
.map-card .map-card-actions{display:flex;gap:12px;align-items:center;margin-top:10px;font-size:12px}
.map-card .map-card-actions a,.map-card .map-card-actions button{color:#376d53;font-weight:700;border:0;background:transparent;padding:0;cursor:pointer;text-decoration:underline}
.map-unlocated{color:#6f796d;font-size:13px}
.map-unlocated details{background:#f9f9f5;border:1px solid #e1e4dc;border-radius:10px;padding:12px 14px}
.map-unlocated summary{cursor:pointer;font-weight:700}
.map-unlocated p{margin:8px 0;line-height:1.65}
.map-unlocated button{font-size:12px;margin:4px 5px 4px 0;padding:6px 8px;border:1px solid #d8ded5;background:white;border-radius:6px;color:#557363;cursor:pointer}
@media(max-width:700px){
  .decision-overview{margin:0 0 18px;padding:12px;gap:10px}
  .decision-overview-heading{white-space:normal}
  .decision-counts{gap:5px}
  .decision-count{padding:6px 8px;font-size:11px}
  .map-controls{padding:9px}
  .map-controls-heading b{font-size:13px}
  .map-controls-actions button,.map-zoom-row button{font-size:11px;padding:5px 7px;min-height:34px}
  .mode-switch button{font-size:15px;min-height:47px;flex:1}
  .mode-switch>span{flex-basis:100%;margin:3px 0 0;font-size:13px}
  .choice-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .priority-option{font-size:15px;min-height:49px}
  #mapCanvas{height:63vh;min-height:440px}
  .leaflet-popup-content{min-width:205px;max-width:270px}
  .map-card .choice-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-card .priority-option{font-size:13px;min-height:44px}
  .map-legend{gap:6px}
  .pin-key{padding:5px 8px}
  #mapPanel.map-fullscreen{padding:6px}
  #mapPanel.map-fullscreen .map-legend{gap:4px;padding:7px 0}
}
