/* The light web layer (D-56 (was D-31)): header with search, recipe cards, capped rows, the /recipes/ index with filters, A-Z, the footer.
   Tokens are player.css's. Card photo 4:3; every card is one link; every target is 44 px or more. */
.inner{max-width:1216px;margin:0 auto}
/* header */
.site-top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--pl-hair)}
.site-top .inner{display:flex;align-items:center;gap:12px 24px;padding:8px clamp(16px,3vw,32px)}
.site-top .mark{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:600 19px/1 var(--display);color:var(--pl-fg);text-decoration:none;text-shadow:none;letter-spacing:-.01em;white-space:nowrap}
.site-top .mark-img{height:40px;width:auto;margin:0}
.site-top nav{display:flex;gap:4px 8px;margin-left:auto}
.site-top nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font:500 16px/1 var(--sans);color:var(--pl-fg);text-decoration:none;border-radius:8px}
.site-top nav a:hover{background:var(--pl-surf);color:var(--pl-gold)}
.search{display:flex;flex:1 1 280px;max-width:460px;margin:0}
.search input{flex:1;min-width:0;min-height:44px;padding:0 16px;border:1px solid #BDB5A6;border-right:0;border-radius:999px 0 0 999px;background:#fff;font:400 16px/1 var(--sans);color:var(--pl-fg)}
.search button{min-height:44px;padding:0 18px;border:1px solid var(--pl-gold);border-radius:0 999px 999px 0;background:var(--pl-gold);color:#fff;font:600 15px/1 var(--sans);cursor:pointer}
.search button:hover{background:var(--pl-champ)}
.search input:focus-visible{outline:3px solid var(--pl-gold);outline-offset:1px}
.search.big{max-width:620px}.search.big input{min-height:52px;font-size:18px}.search.big button{min-height:52px;padding:0 26px;font-size:16px}
@media (max-width:760px){
  .site-top .inner{flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
  .site-top .search{order:3;flex:1 1 100%;max-width:none;flex-wrap:wrap}
  .site-top .search .q-label{flex:1 1 100%;margin:0 0 4px}   /* IX-13: the visible label sits above the field at phone width, so the button never clips (seen 2026-11-03 at 390 px) */
  .site-top nav{margin-left:auto}.site-top nav a{padding:0 8px;font-size:15px}.site-top .mark{font-size:17px}.site-top .mark-img{height:34px}
  .search button{padding:0 14px}
}
/* a recipe card */
.tile{display:flex;flex-direction:column;color:var(--pl-fg);text-decoration:none;background:#fff;border:1px solid var(--pl-hair);border-radius:12px;overflow:hidden;min-width:0;transition:box-shadow .15s,border-color .15s}
.tile:hover,.tile:focus-visible{border-color:var(--pl-gold);box-shadow:0 6px 18px rgba(31,29,26,.14)}
.tile .pic{aspect-ratio:4/3;background:var(--pl-raised);overflow:hidden}
.tile .pic{position:relative}
.tile .pic img{display:block;width:100%;height:100%;object-fit:cover}
/* D-52 ribbons: the categories the refuted panel earns (nutrition.ribbons), words only, one band at the foot of the picture.
   IX-01 (gate 2026-11-03): dark text sits on the gold FILL --pl-fill, never on the bronze accent --pl-gold (3.04:1) */
.tile .ribbons{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 0;height:48px;overflow:hidden;align-content:flex-start}.tile .ribbons.empty{height:48px}
.tile .ribbon{font:600 11px/1 var(--sans);letter-spacing:.02em;color:#1F1D1A;background:var(--pl-fill);border-radius:3px;padding:4px 7px;white-space:nowrap}.tile.course .ribbon.soon{background:var(--pl-surf);color:var(--pl-mut);border:1px solid var(--pl-hair)}
/* D-52 uniform card: picture 4:3, two-line name, one meta row, one allergen row, the tag row pinned to the foot */
.tile h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.25em + 14px)}
.tile .meta{min-height:1.4em}.tile .contains{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.4em)}
.tile .pic.none{display:grid;place-items:center;color:#B8A98A;background:linear-gradient(135deg,#FAF7F2,#F0E7D5)}
.tile .pic.none svg{width:44%;max-width:84px}
.tile h3{margin:0;padding:12px 14px 2px;font:500 18px/1.25 var(--display);color:var(--pl-fg)}
.tile p{margin:0;padding:0 14px 4px;font:400 14px/1.4 var(--sans);color:var(--pl-mut)}
.tile .contains{color:var(--pl-fg);font-size:13px}
.tile .tags{display:flex;flex-wrap:wrap;gap:6px;padding:6px 14px 14px;margin-top:auto}
.tile .tags span{font:500 12px/1 var(--sans);color:var(--pl-fg);background:var(--pl-surf);border:1px solid var(--pl-hair);border-radius:999px;padding:5px 9px}
.tile .tags .lessons{color:var(--pl-champ);border-color:var(--pl-fill);background:#FBF3DC}
.tile>:last-child:not(.tags){padding-bottom:14px}
/* rows and grids: a row is capped by the builder; the CSS only trims it to the columns on screen */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.row .grid>.tile:nth-child(n+9){display:none}
@media (max-width:1023px){.grid,.grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.row .grid>.tile:nth-child(n+7){display:none}}
@media (max-width:640px){.grid,.grid.wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.row .grid>.tile:nth-child(n+5){display:none}.tile h3{font-size:16px;padding:10px 10px 2px}.tile p{padding:0 10px 4px}.tile .tags{padding:6px 10px 12px}}
.grid>.tile[hidden]{display:none!important}
.see-all{display:inline-flex;align-items:center;min-height:44px;font:600 15px/1 var(--sans);color:var(--pl-gold)}
/* find: search + category chips */
.find{background:var(--pl-surf)}
.find h2{margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.chip.all{background:var(--pl-fg);border-color:var(--pl-fg);color:#fff!important}
/* page heads, A to Z */
.page-head{border-top:0;padding-bottom:clamp(8px,2vw,20px)}
.az-jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.az-jump a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--pl-hair);border-radius:8px;font:600 16px/1 var(--sans);text-decoration:none}
.az{border-top:0;padding-top:8px}
.az-sec{scroll-margin-top:72px;margin-bottom:28px}
.az-sec h2{margin:0 0 8px;padding-bottom:6px;border-bottom:3px solid var(--pl-fill);font:500 30px/1.1 var(--display)}
.az-sec ul{list-style:none;margin:0;padding:0;column-width:260px;column-gap:32px}
.az-sec li{break-inside:avoid}.az-sec li a{display:flex;align-items:center;min-height:44px;font:400 17px/1.3 var(--sans);color:var(--pl-fg);text-decoration:none;border-bottom:1px solid var(--pl-hair)}
.az-sec li a:hover{color:var(--pl-gold)}
/* /recipes/: filter column at 1024 up, a sheet below */
.index{padding-top:8px;border-top:0}
.idx{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.filters{position:sticky;top:72px;max-height:calc(100vh - 88px);overflow:auto;padding-right:6px}
.filters .f-head h2{margin:0 0 8px;font:500 20px/1.2 var(--display)}
.f-close,.f-open{display:none}
.facet{margin:0 0 18px;padding:0 0 12px;border:0;border-bottom:1px solid var(--pl-hair);min-width:0}
.facet legend{padding:0 0 6px;font:600 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--pl-fg)}
.opt{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font:400 16px/1.3 var(--sans)}
.opt input{width:22px;height:22px;flex:none;accent-color:var(--pl-gold);margin:0}
.opt .lab{flex:1}.opt .n{font-size:13px;color:var(--pl-mut)}
.f-foot{margin:0}
.clear{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.r-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.r-bar .count{font:600 17px/1 var(--sans);color:var(--pl-fg);margin:0}
.r-bar .sort{margin-left:auto}.sort select{min-height:44px;padding:0 12px;border:1px solid #BDB5A6;border-radius:8px;background:#fff;font:400 16px var(--sans);color:var(--pl-fg)}
.more-wrap{text-align:center;margin:28px 0 0}
.more{min-height:48px;padding:0 32px;border:2px solid var(--pl-gold);border-radius:999px;background:#fff;color:var(--pl-gold);font:600 16px/1 var(--sans);cursor:pointer}
.more:hover{background:var(--pl-gold);color:#fff}
.empty{padding:40px 0;text-align:center}.empty h2{font:500 28px/1.2 var(--display)}.empty p{color:var(--pl-mut)}
@media (max-width:1023px){
  .idx{grid-template-columns:minmax(0,1fr)}
  .f-open{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:2px solid var(--pl-gold);border-radius:999px;background:#fff;color:var(--pl-gold);font:600 16px/1 var(--sans);cursor:pointer}
  .filters{position:fixed;inset:0;z-index:40;max-height:none;background:#fff;padding:16px clamp(16px,3vw,32px) 90px;transform:translateY(100%);visibility:hidden;transition:transform .2s,visibility .2s}
  .filters.open{transform:none;visibility:visible}
  .filters .f-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-16px;background:#fff;padding:8px 0;z-index:1}
  .f-close{display:inline-flex;gap:.3em;align-items:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--pl-gold);color:#fff;font:600 16px/1 var(--sans);cursor:pointer}
  body.sheet-open{overflow:hidden}
  .r-bar .sort{margin-left:auto}
}
@media (prefers-reduced-motion:reduce){.filters{transition:none}.tile{transition:none}}
/* footer */
.site-foot{border-top:1px solid var(--pl-hair);background:var(--pl-surf);padding:28px clamp(16px,3vw,32px) 40px}
.site-foot .inner{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
.site-foot .mono{margin:0;font:600 17px/1 var(--display);color:var(--pl-fg)}
.site-foot nav{display:flex;flex-wrap:wrap;gap:0 20px}
.site-foot a{display:inline-flex;align-items:center;min-height:44px;color:var(--pl-gold);font:500 15px/1.3 var(--sans)}
.site-foot .small{margin:0 0 0 auto;color:var(--pl-mut);font-size:14px}
@media (max-width:640px){.site-foot .small{margin:0}}
.tile .sodium,.card .sodium{margin:2px 0 0;font:600 13px/1.4 var(--sans);color:var(--pl-fg)}

.tile .warn{margin:2px 0 0;font:400 13px/1.4 var(--sans);color:var(--pl-fg)}.tile .warn b{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.crit{width:100%;border-collapse:collapse;font:400 15px/1.45 var(--sans)}.crit th,.crit td{text-align:left;vertical-align:top;padding:10px 8px;border-top:1px solid var(--pl-hair)}
/* D-52: the ribbon index page */
.ribbon-index{width:100%;border-collapse:collapse;margin:18px 0}.ribbon-index th,.ribbon-index td{text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid var(--pl-hair);font:400 15px/1.5 var(--sans)}
.ribbon-index th{font-weight:600}.ribbon-index .ribbon{font:600 12px/1 var(--sans);color:#1F1D1A;background:var(--pl-fill);border-radius:3px;padding:5px 8px;white-space:nowrap}
.prose{max-width:760px;padding:32px clamp(16px,3vw,32px) 48px}.prose h1{font:500 32px/1.2 var(--display);margin:0 0 14px}.prose h2{font:500 22px/1.3 var(--display);margin:28px 0 8px}.prose p{font:400 16px/1.6 var(--sans);margin:0 0 12px;max-width:60ch}.prose .small{font-size:13px;color:var(--pl-mut)}

/* IX-13 (C-37, GOV.UK/USWDS): every text input has a VISIBLE label; the placeholder is never the label. IX-03 (WCAG 2.2 SC 2.5.8): targets at least 24 px. 2026-11-03 */
.search .q-label{align-self:center;margin-right:8px;font:600 13px/1 var(--sans);color:var(--pl-mut);white-space:nowrap}.search.big{flex-wrap:wrap}.search.big .q-label{flex:1 1 100%;margin:0 0 6px}
.sort .q-label{margin-right:6px;font:600 13px/1 var(--sans);color:var(--pl-mut)}
.filters input[type=checkbox],.filters input[type=radio]{width:24px;height:24px}

/* D-56 W-6 (lane G-7): a card is a photo, a title and at most one small label; the ribbons, Contains and tags live on the page. 2026-11-03 */
.tile .meta{padding:0 14px 14px;min-height:0}.tile .meta .cat,.tile .meta .state{font:500 12px/1 var(--sans);color:var(--pl-mut);letter-spacing:.02em;text-transform:uppercase}
.tile .meta .state.live{color:var(--pl-champ)}.tile h3{min-height:0}

/* W-16 (lane G4, 2026-11-04): no paragraph past 80 characters a line; the gate's measure leg holds it on every page */
.prose li,.band .inner>p{max-width:60ch}
/* Glen 2026-11-05 12:3x — the nav carries all five slices (Eat Move Plan Share Learn fit in one row at 390 px, no menu button needed); the current slice is marked */
.site-top nav a[aria-current="page"]{background:var(--pl-surf);color:var(--pl-gold);box-shadow:inset 0 -2px 0 var(--pl-gold)}
/* the every-recipe row (hero.recipes_row): scroll-snap, keyboard-scrollable region, native prev/next buttons that never move focus */
.band.recipes-row .row-wrap{position:relative;display:flex;align-items:center;gap:8px}
.band.recipes-row .row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;flex:1 1 auto;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.band.recipes-row .row:focus-visible{outline:3px solid var(--pl-gold);outline-offset:4px;border-radius:8px}
.band.recipes-row .row .tile{flex:0 0 clamp(200px,24vw,260px);scroll-snap-align:start}
.band.recipes-row .row-btn{flex:0 0 44px;width:44px;height:44px;border-radius:999px;border:1px solid var(--pl-hair);background:var(--pl-raised,#F6EFE2);color:var(--pl-fg);font:600 22px/1 var(--sans);cursor:pointer}
.band.recipes-row .row-btn:hover,.band.recipes-row .row-btn:focus-visible{background:var(--pl-surf);color:var(--pl-gold);outline:2px solid var(--pl-gold);outline-offset:2px}
@media (max-width:760px){.band.recipes-row .row-btn{display:none}.band.recipes-row .row .tile{flex-basis:70vw}}
@media (prefers-reduced-motion: reduce){.band.recipes-row .row{scroll-behavior:auto}}
/* the footer (shelf.footer): link groups with headings — USWDS footer guidance; identical on every page — GOV.UK footer, WCAG 2.2 3.2.6 */
.site-foot .inner{display:grid;grid-template-columns:1fr;gap:20px 32px;align-items:start}
.site-foot nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 28px}
.site-foot .fgroup h2{margin:0 0 6px;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pl-mut)}
.site-foot .fgroup ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.site-foot .fgroup a{min-height:44px}
.site-foot .mono a{color:inherit;text-decoration:none}
.site-foot .small{margin:0;max-width:72ch}
@media (max-width:760px){.site-foot nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* /search/ */
.q-page{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.q-page label{flex:1 1 100%;font:500 14px/1.4 var(--sans);color:var(--pl-fg)}   /* the catalogue head is light; the ink, not the cream (gate 2026-11-05: 1.32 on cream, 2.47 muted on the old dark box) */
.q-page input{flex:1 1 240px;min-height:44px;padding:0 12px;border:1px solid var(--pl-hair);border-radius:8px;font:400 16px/1 var(--sans)}
.q-page button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:#ECC974;color:#0A0E10;font:600 15px/1 var(--sans)}   /* the hero's gold, 11:1 on near-black (gate 2026-11-05: var(--pl-gold) gave 3.5) */
#search-results .group{margin:0 0 24px}#search-results h2{margin:0 0 8px;font:600 13px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pl-mut)}
#search-results ul{list-style:none;margin:0;padding:0}#search-results li a{display:inline-flex;align-items:center;min-height:44px;font:500 17px/1.3 var(--display);color:var(--pl-fg)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.plan-for{display:none}
/* /plan/ (gap 41): the week grid, the list with "I have this", the exits; print = the week + what is left to buy */
.plan-start .tile.path{min-height:150px}
.plan-start .tile.path.coming{opacity:.85;border-style:dashed}
.plan-start .tile.path.coming a{color:var(--pl-champ);font-weight:600}
.plan-form{margin:0}
.plan-hh{display:flex;flex-direction:column;gap:6px;max-width:220px;margin:0 0 16px}
.plan-hh label,.slot-l{font:600 13px/1.3 var(--sans);color:var(--pl-fg)}
.plan-hh input,.plan-grid select{font:400 16px/1.4 var(--sans);padding:8px 10px;border:1px solid var(--pl-mut);border-radius:8px;background:#fff;color:var(--pl-fg);min-height:44px}
.plan-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.plan-grid{width:100%;border-collapse:collapse;min-width:640px}
.plan-grid th{font:600 13px/1.3 var(--sans);text-align:left;padding:8px;color:var(--pl-mut);border-bottom:1px solid var(--pl-hair)}
.plan-grid tbody th{color:var(--pl-fg);white-space:nowrap}
.plan-grid td{padding:8px;border-bottom:1px solid var(--pl-hair);vertical-align:top}
.plan-grid select{width:100%}
.slot-l{display:block;margin-bottom:4px}                                   /* IX-13 (gate 2026-11-06): a VISIBLE label on every select at every width */
.plan-grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}   /* the slot labels carry the words; the header row stays for table navigation */
.plan-how{max-width:70ch;font:400 15px/1.5 var(--sans);color:var(--pl-mut)}
.plan-lines{list-style:none;margin:0 0 18px;padding:0;columns:2 320px;column-gap:28px}
.plan-lines li{break-inside:avoid;display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--pl-hair);font:400 16px/1.45 var(--sans)}
.plan-lines input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--pl-champ)}
.plan-lines li.have label{text-decoration:line-through;color:var(--pl-mut)}
.plan-lines small{color:var(--pl-mut);font-size:13px}
.plan-lines.written li{display:list-item;list-style:disc inside}
.plan-exits{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.plan-exits button{font:600 15px/1 var(--sans);padding:12px 18px;min-height:44px;border-radius:8px;border:1px solid var(--pl-fg);background:var(--pl-fg);color:#fff;cursor:pointer}
.plan-exits button.quiet{background:#fff;color:var(--pl-fg)}
.plan-exits button:focus-visible{outline:2px solid var(--pl-gold);outline-offset:2px}
.plan-status{font:500 15px/1.4 var(--sans);color:var(--pl-champ)}
@media (max-width:700px){.plan-grid{min-width:0}.plan-grid thead{display:none}.plan-grid tr{display:block;padding:10px 0;border-bottom:1px solid var(--pl-hair)}
  .plan-grid tbody th{display:block;padding:4px 0}.plan-grid td{display:block;padding:4px 0;border:0}}
@media print{.plan-for{display:block;font:600 14px/1.4 var(--sans)}.plan-list .small{display:none}.site-top,.site-foot,.plan-starts,.plan-exits,.plan-how,.plan-hh,#plan-status,.plan-head .stat{display:none!important}
  .plan-grid select{border:0;appearance:none;-webkit-appearance:none;padding:0;min-height:0;font-size:12px}
  .plan-lines li.have{display:none}.plan-lines input{display:none}.plan-lines{columns:2}.band{padding:8px 0!important}}
/* /share/ (PLAN.md step 7, levels 0-1): the private log and the invite by link */
.share-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 18px}
.share-form{padding:16px;border:1px solid var(--pl-hair);border-radius:12px;background:#fff}
.share-form h3{margin:0 0 10px;font:500 20px/1.2 var(--display)}
.share-form .field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}   /* fields are divs: a <select> of 102 recipes inside a <p> read as one 2,261-character line to W-16 */
.share-form label,.file-in{font:600 13px/1.3 var(--sans);color:var(--pl-fg)}
.share-form input,.share-form select,.share-form textarea{font:400 16px/1.4 var(--sans);padding:9px 12px;border:1px solid var(--pl-mut);border-radius:8px;background:#fff;color:var(--pl-fg);min-height:44px}
.share-form button{font:600 15px/1 var(--sans);padding:12px 18px;min-height:44px;border-radius:8px;border:1px solid var(--pl-fg);background:var(--pl-fg);color:#fff;cursor:pointer}
.share-form.wide{max-width:640px}
.share-form .field.pair{flex-direction:row;gap:12px}.share-form .pair span{display:flex;flex-direction:column;gap:6px;flex:1}
.share-form .field-note{display:block;font:400 13px/1.4 var(--sans);color:var(--pl-mut)}
.share-week p{margin:0 0 6px;font:400 17px/1.5 var(--sans)}.share-week b{font-size:22px}
.share-guide{max-width:70ch;font:400 15px/1.5 var(--sans);color:var(--pl-mut)}
.share-run{font:600 15px/1.4 var(--sans);color:var(--pl-champ)}
.share-list{margin:0 0 16px;padding-left:22px;font:400 15px/1.6 var(--sans)}
.file-in{display:inline-flex;align-items:center;padding:12px 18px;min-height:44px;border:1px solid var(--pl-fg);border-radius:8px;cursor:pointer}
#tr-load{position:absolute;width:1px;height:1px;opacity:0}
.file-in:focus-within{outline:2px solid var(--pl-gold);outline-offset:2px}
.share-card{margin:0 0 18px;padding:18px;border:2px solid var(--pl-champ);border-radius:12px;background:var(--pl-surf)}
.share-card h3{margin:0 0 8px;font:500 22px/1.2 var(--display)}
@media (max-width:700px){.share-cols{grid-template-columns:minmax(0,1fr)}.share-form .field.pair{flex-direction:column}}
.share-track h2,.share-invite h2{margin-bottom:16px}
section.share-track p.small,section.share-invite p.small,section.plan-list p.small{max-width:58ch}   /* W-16: 80 a line at most */
.file-in{font:600 15px/1 var(--sans)!important}
