/* A quiet field guide: personal tools live behind Nearby and Spotted. */
.kit-tools,.kit-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.kit-button{min-height:44px;border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:var(--panel-2);color:#005d8b;font-size:14px;font-weight:600}
.kit-button:hover,.kit-button[aria-pressed=true]{background:#e3f3fb;border-color:#99c9df}
.kit-dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:20px;width:calc(100% - 24px);max-width:460px;max-height:85dvh;padding:22px;overflow-y:auto;box-shadow:0 20px 70px #17344b40}
.kit-dialog::backdrop{background:#17344b66}
.kit-dialog-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.kit-dialog h2,.kit-collection h2{font:650 22px/1.2 var(--sans);letter-spacing:-.025em;margin:0}
.kit-dialog p,.kit-small{font-size:14px;line-height:1.55;color:var(--muted)}
.kit-dialog label:not(.kit-check){display:block;font-size:14px;font-weight:600;margin:18px 0 7px}
.kit-dialog input:not([type=checkbox]),.kit-dialog select,.kit-dialog textarea,#collectionSearch{width:100%;min-height:46px;border:1px solid #9eb9cd;background:#fff;color:var(--text);border-radius:10px;padding:11px;font:inherit;box-sizing:border-box}
.kit-dialog textarea{resize:vertical}
.kit-check{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;margin:15px 0;min-height:44px}
.kit-check input{width:20px;height:20px;accent-color:#006a9f;flex:none}
.kit-error{color:#a22432!important}
.kit-spot{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:9px 0;align-items:center}
.kit-spot-use{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:5px;min-height:48px;text-align:left}
.kit-spot-use strong{overflow-wrap:anywhere}
.kit-spot-use small{color:var(--muted)}
.kit-badges{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}
.kit-badge{background:#f0f4f7;color:#566c7d;border:1px solid #d5e0e9;border-radius:20px;padding:6px 10px;font-size:12px}
.kit-badge.earned{background:#e0f3e9;color:#155e41;border-color:#9dcdb8}
.kit-collection{padding-top:10px}
.kit-section-head p{color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0}
.kit-entry{padding:16px 0;border-top:1px solid var(--line);font-size:14px}
.kit-entry>div{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.kit-entry strong{font-size:16px;overflow-wrap:anywhere}
.kit-entry p{margin:7px 0;line-height:1.5}
.kit-entry small{color:var(--muted);line-height:1.5}
.kit-record{font-size:11px;background:#edf3f7;color:#52697e;border-radius:6px;padding:4px 7px;white-space:nowrap}
.kit-record.observed{background:#e0f3e9;color:#155e41}
.kit-note{border-left:3px solid #99c9df;padding-left:10px;overflow-wrap:anywhere}
.kit-text-button{min-height:44px;color:#006a9f;text-decoration:underline;text-underline-offset:3px;padding:8px 0}
.kit-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kit-legend{position:absolute;left:12px;bottom:34px;z-index:904;font-size:12px;background:#fffffff2;color:#254459;border:1px solid #b9cddc;border-radius:10px;max-width:235px;box-shadow:0 3px 14px #17344b18}
.kit-legend summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 12px;font-weight:600}
.kit-legend>div{padding:0 12px 10px;line-height:1.5}
.kit-legend p{margin:0 0 10px}
.kit-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 8px;border:1px solid #3b5363}
.kit-legend i:first-child{margin-left:0}
.kit-legend .kit-check{margin:0;font-size:12px}
.view-list .kit-legend,.picking-location .kit-legend{display:none}
.detail{display:flex!important;flex-direction:column;gap:12px}
#v-detail .detail .back{order:0}
#v-detail .detail .dh{order:1;margin:0}
#v-detail .detail .pass{order:2;margin:0;padding:15px;background:#edf7fc;border-color:#b3d6e8;border-radius:14px}
#v-detail .detail .kit-detail-actions{order:3;margin:0}
.kit-detail-actions .kit-button{flex:1}
#v-detail .detail .route{order:4;margin:0}
#v-detail .detail .detail-more{order:5;display:flex!important;justify-content:center;align-items:center;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:11px;color:#006a9f;background:var(--panel-2)}
#v-detail .detail .photo-wrap{order:6;margin:0}
#v-detail .detail .mini3d{order:7}
#v-detail .detail .btn3d{order:8}
#v-detail .detail .share-btn{order:9}
#v-detail .detail .stats{order:10}
#v-detail .detail .links{order:11}
#v-detail .detail>.credit{order:12}
#v-detail .detail:not(.more-open) .photo-wrap,#v-detail .detail:not(.more-open) .mini3d,#v-detail .detail:not(.more-open) .btn3d,#v-detail .detail:not(.more-open) .stats,#v-detail .detail:not(.more-open) .share-btn,#v-detail .detail:not(.more-open) .links,#v-detail .detail:not(.more-open)>.credit,#v-detail .detail:not(.more-open) .pass-extras{display:none!important}
.look-now{font-size:17px;font-weight:650;line-height:1.5;margin:4px 0 12px;color:#153e58}
.pass .prediction-note{font-size:12px;font-weight:600;color:#52697e;margin-top:9px}
.model-caption{font-size:12px;color:var(--muted);text-align:center;margin:8px 0 0}
#v-detail .detail .model-caption{order:7}
#v-detail .detail:not(.more-open) .model-caption{display:none}
.kit-recovery{background:#fff7e7;border:1px solid #e9d4a4;border-radius:12px;padding:14px;margin-bottom:16px;font-size:14px;line-height:1.5}
.detail .dh .fl{font-size:27px;letter-spacing:-.025em}
.detail .photo{max-height:200px;object-fit:cover}
.detail .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.kit-legend{bottom:32px}.view-list .kit-legend{display:block}.detail{padding-bottom:24px}}
@media(max-width:420px){.kit-dialog{padding:18px}.kit-button{padding:9px 10px;font-size:13px}.kit-entry>div{flex-wrap:wrap}.kit-dialog-top h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.kit-dialog,.kit-button{scroll-behavior:auto;transition:none}}

/* ---- Queue closeout 2026-10-07 (PC-D04, PC-D07, PC-D09, toast, phone detail photo). Appended only; nothing above is changed. ---- */
/* A new-plane notice is a short strip, not a banner over the map. */
.toast{padding:9px 12px;border-radius:12px;top:8px;box-shadow:0 6px 18px rgba(15,35,60,.22)}
.toast .big{font-size:15px;line-height:1.2;letter-spacing:0}
.toast .toast-body{font-size:12px!important;margin-top:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 60px)}
/* PC-D04: on the home map the planes due over you and the one you picked lead; the rest is context. */
#app.view-list .plane-icon:not(.soon):not(.sel):not(.tagged) .pl{opacity:.55}
.plane-icon.tagged,.plane-icon.sel{z-index:900!important}
/* PC-D09: the two tool rows read as one group. */
.kit-tools{margin:2px 0 6px}
.row .r1 .ty{font-weight:500}
@media(max-width:899px){
  /* Phone detail: the answer stays first (PC-D02); the photo follows it without a tap so the page is not half empty. */
  #v-detail .detail .photo-wrap{order:5}
  #v-detail .detail .detail-more{order:6}
  #v-detail .detail:not(.more-open) .photo-wrap:not([hidden]){display:block!important}
}
@media(min-width:900px){
  /* PC-D07: the desktop home panel is as tall as its answer, so the map keeps the rest of the screen. */
  #app.view-list[data-tab="soon"]:not(.plane-detail):not(.picking-location) .sheet{bottom:auto;height:auto;max-height:calc(100% - 24px);overflow-y:auto}
}
/* Away from the home map the notice sits at the bottom so it never covers Back, the plane's name or the tabs. */
@media(max-width:899px){
  #app.plane-detail .toast,#app.view-list:not([data-tab="soon"]) .toast{top:auto;bottom:14px}
}
/* ---- Closeout round 2, 2026-10-07 (PC-D04 tuning, PC-D07 padding, PC-D08 first step). Appended only. ---- */
/* The fade is for the small phone map only; on a desktop the map is the whole view and every plane stays full strength. */
#app.view-list .plane-icon:not(.soon):not(.sel):not(.tagged) .pl{opacity:1}
@media(max-width:899px){#app.view-list[data-tab="soon"]:not(.plane-detail) .plane-icon:not(.soon):not(.sel):not(.tagged) .pl{opacity:.7}}
@media(min-width:900px){#app.view-list[data-tab="soon"]:not(.plane-detail) .sheet .pane{padding-top:14px}}
/* PC-D08: the stock gray map takes the same cool sky tone as the panels, so map and interface read as one surface. */
#map .leaflet-tile-pane{filter:sepia(.22) hue-rotate(168deg) saturate(1.5) brightness(1.02)}
/* The notice uses the interface's deep sky blue, keeping amber for timing only. */
.toast{background:#0b4f71;color:#fff}
